SlideShare uma empresa Scribd logo
1 de 13
ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ
НАЧАЛА ПРОГРАММИРОВАНИЯ
Ключевые слова
•условный оператор
•сокращённая форма условного
оператора
•составной оператор
•вложенные ветвления
Общий вид условного оператора
Перед elseelse знак «;» не ставится.
Полная форма условного оператора:
ifif <условие> thenthen <оператор_1>
elseelse <оператор_2>;
Сокращённая форма условного оператора:
ifif <условие> thenthen <оператор>;
Операции
отношений
Операции
отношений
Логические
операции
Логические
операции
ПростыеПростые СложныеСложные
Условия - логические выраженияУсловия - логические выражения
!
Условный оператор
program n_9;
var x, a, b: real;
begin
writeln ('Определение принадлежности
точки отрезку');
write ('Введите а, b>>');
readln (a, b);
write ('Введите x>>');
readln (x);
if (x>=a) and (x<=b) then
writeln ('Точка принадлежит отрезку')
else writeln ('Точка не принадлежит отрезку')
end.
a, b, x
(x>=a) and (x<=b)
ДА НЕТ
да нет
Сокращённая форма условного оператора
program n_10;
var y, a, b, c: integer;
begin
writeln ('Нахождение наибольшей из трёх величин');
write ('Введите а, b, с>>');
readln (a, b, c);
y:=a;
if (b>y) then y:=b;
if (c>y) then y:=c;
writeln ('y=', y)
end.
Y:=A
B>Y
Y:=B
Y:=C
C>Y
да нет
да нет
Составной оператор
В условном операторе и после thenthen, и после elseelse
можно использовать только один оператор.
Если в условном операторе после thenthen или после elseelse
нужно выполнить несколько операторов, то
используют составной оператор – конструкцию вида:
beginbegin <последовательность операторов> endend
Блок-схема решения КВУР
Конец
Вывод
«Корни уравнения:
х1=», х1, «х2=», х2
х1:=(-b+sqrt(d))/2/a
да
Начало
Введите коэффициенты a, b, c
d:=b*b-4*a*c
d < 0
да
Вывод
«Корней нет»
нет
d:= 0
да
x:=-b/2/a
Вывод
«Корень уравнения х=», х
нет
х2:=(-b-sqrt(d))/2/a
begin
x1:=(-b+sqrt(d))/2/a;
x2:=(-b-sqrt(d))/2/a;
writeln ('Корни уравнения:');
writeln ('x1=', x1:9:3);
writeln ('x2=', x2:9:3)
end;
begin
x1:=(-b+sqrt(d))/2/a;
x2:=(-b-sqrt(d))/2/a;
writeln ('Корни уравнения:');
writeln ('x1=', x1:9:3);
writeln ('x2=', x2:9:3)
end;
begin
x:=-b/2/a;
writeln ('Корень уравнения x=', x:9:3)
end;
begin
x:=-b/2/a;
writeln ('Корень уравнения x=', x:9:3)
end;
program n_11;
var a, b, c: real;
var d: real;
var x, x1, x2: real;
begin
writeln ('Решение квадратного уравнения');
write ('Введите коэффициенты a, b, c >>');
readln (a, b, c);
d:=b*b-4*a*c;
if d<0 then writeln ('Корней нет');
if d=0 then
if d>0 then
end.
Вложенные ветвления
Возможна следующая конструкция:
ifif <условие1> thenthen
ifif <условие2> thenthen <оператор1>
elseelse <оператор2>
elseelse <оператор3>
elseelse всегда относится к ближайшему оператору ifif!
Решение линейного уравнения
program n_12;
var a, b, x: real;
begin
writeln ('Решение линейного уравнения');
write ('Введите коэффициенты a , b>>');
readln (a, b);
if a<>0 then
begin
x:=-b/a;
writeln ('Корень уравнения x=', x:9:3)
end
else if b<>0 then writeln ('Корней нет')
else writeln ('x – любое число');
end.
Корней нет
Список данных
a, b, x - вещ
a, b
a<>0
x:=-b/a b<>0
Любое число
нет
да
да
нет
Самое главное
При записи на языке Паскаль разветвляющихся
алгоритмов используют условный оператор:
if <условие> then <оператор_1> else <оператор_2>
Для записи неполных ветвлений используется
сокращённый условный оператор:
if <условие> then <оператор>
Если при некотором условии требуется выполнить
определённую последовательных операторов, то их
объединяют в один составной оператор, имеющий вид:
begin <последовательность операторов> end.
Вопросы и задания
Как на языке Паскаль записывается полное и неполное
ветвление?
Является ли условным оператором
последовательность символов?
а) if x<y then x:=0 else read (y)
б) if x>=y then x:=0; y:=0 else write (z)
в) if x<y <z then a:=a+1
Что такое составной оператор?
Для чего он используется в условном операторе?
Используя составной оператор, упростите следующий
фрагмент программы:
if a>b then c:=1;
if a>b then d:=2;
if a<=b then c:=3;
if a<=b then d:=4
Дано трёхзначное число.
Напишите программу, которая определяет:
есть ли среди цифр заданного целого трёхзначного
числа одинаковые;
Пример входных данных Пример выходных данных
123 Нет
121 Да
222 Да
является ли число «перевёртышем», т. е. числом,
десятичная запись которого читается одинаково слева
направо и справа налево.
Пример входных данных Пример выходных данных
123 Нет
121 Перевёртыш
222 Перевёртыш
Даны две точки в плоской прямоугольной системе
координат. Напишите программу, определяющую,
которая из точек находится ближе к началу координат.
Пример входных данных Пример выходных данных
Координаты 1-й точки>>1, 2
Координаты 2-й точки>>3, 4
Первая точка ближе
Пример входных данных Пример выходных данных
a b c>> 1 2 1 Не существует
a b c>> 2 2 2 Равносторонний
a b c>> 20 20 30 Равнобедренный
a b c>> 3 4 5 Разносторонний
Даны три натуральных числа. Напишите программу,
определяющую, существует ли треугольник с такими
длинами сторон.
Если такой треугольник существует, то определите его
тип (равносторонний, равнобедренный, разносторонний).
Имеются данные о количестве полных лет трёх
призёров спартакиады.
Напишите программу, выбирающую и выводящую
возраст самого младшего призёра.
Пример входных данных Пример выходных данных
k, 1>>-1 5
xa, ya >>1 2
Точка лежит под прямой
k, 1>>-1 5
xa, ya >>1 10
Точка лежит над прямой
k, 1>>-1 5
xa, ya >>1 4
Точка лежит на прямой
Напишите программу, определяющую, лежит ли точка
А(ха, ya):
а) на прямой y = kx + 1, над ней или под ней;
б) на окружности x2
+ y2
= r2
, над ней или под ней.
Примеры входных данных и соответствующих им
выходных данных разработайте самостоятельно.
Пример входных данных Пример выходных данных
x >> 5
y >> 6
x = 5
y = 6
x >> 6
y >> 5
x = 5
y = 6
Напишите программу, которая производит обмен
значений переменных x и y, если x больше y.
Дан условный оператор:
If a<5 then c:=1
else if a>5 then c:=2
else c:=3
Какое значение имеет переменная а, если в
результате выполнения условного оператора
переменной с присваивается значение 3?Пример входных данных Пример выходных данных
-5 y = - 1
0 y = 0
5 y = 1
Напишите программу, вычисляющую значение
функции:
-1 при x<0
0 при x=0
1 при x>0
y =
Составьте программу для решения задачи:
Известно, что 31 января 2011 года приходится на
понедельник. Какие значения должны быть присвоены
литерной переменной y в алгоритме, определяющем
день недели для любого числа (chislo) января 2011 года?
chislo:= chislo mod 7
если chislo=3 то у:='…‘
если chislo=4 то у:='…‘
если chislo=5 то у:='…‘
если chislo=6 то у:='…‘
если chislo=0 то у:='…‘
если chislo=1 то у:='…‘
если chislo=2 то у:='…‘
Пример входных данных Пример выходных данных
Координаты 1 – го поля >> 2 2
Координаты 2 – го поля >> 3 3
Поля одного цвета
Координаты 1 – го поля >> 2 3
Координаты 2 – го поля >> 3 3
Поля разного цвета
Координаты 1 – го поля >> 2 7
Координаты 2 – го поля >> 5 4
Поля одного цвета
Поле шахматной доски определяется парой
натуральных чисел, каждое из которых не превосходит 8.
Напишите программу, которая по введённым
координатам двух полей (k, l) и (m, n) определяет,
являются ли эти поля полями одного цвета.
Напишите программу, в которой пользователю
предлагается дополнить до 100 некоторое целое число а
(а - случайное число, меньшее 100).
Ответ пользователя проверяется и комментируется.
Опорный конспект
Условный операторУсловный оператор
if <условие> then <оператор_1> else <оператор_2>
if <условие> then <оператор>
begin <последовательность операторов> end
Полная формаПолная форма
Неполная формаНеполная форма
Составной операторСоставной оператор

Mais conteúdo relacionado

Mais procurados

Конструирование алгоритмов
Конструирование алгоритмовКонструирование алгоритмов
Конструирование алгоритмовAndrey Dolinin
 
Программирование циклических алгоритмов
Программирование циклических алгоритмовПрограммирование циклических алгоритмов
Программирование циклических алгоритмовAndrey Dolinin
 
Алгоритмическая конструкция Повторение
Алгоритмическая конструкция ПовторениеАлгоритмическая конструкция Повторение
Алгоритмическая конструкция ПовторениеAndrey Dolinin
 
19 pascal urok_3
19 pascal urok_319 pascal urok_3
19 pascal urok_3Ann Eres
 
Алгоритмическая конструкция следование
Алгоритмическая конструкция следованиеАлгоритмическая конструкция следование
Алгоритмическая конструкция следованиеAndrey Dolinin
 
Способы записи алгоритмов
Способы записи алгоритмовСпособы записи алгоритмов
Способы записи алгоритмовAndrey Dolinin
 
Презентация на тему: Методика подготовки учащихся к итоговой аттестации по ин...
Презентация на тему: Методика подготовки учащихся к итоговой аттестации по ин...Презентация на тему: Методика подготовки учащихся к итоговой аттестации по ин...
Презентация на тему: Методика подготовки учащихся к итоговой аттестации по ин...2berkas
 
Презентация на тему: ЕГЭ информатика
Презентация на тему: ЕГЭ информатикаПрезентация на тему: ЕГЭ информатика
Презентация на тему: ЕГЭ информатика2berkas
 
паскаль. часть1
паскаль. часть1паскаль. часть1
паскаль. часть1igorm9so
 
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...Iosif Itkin
 
Основы программирования на ruby
Основы программирования на rubyОсновы программирования на ruby
Основы программирования на rubyEvgeny Smirnov
 
Probabilistic Verification in Computational Systems Design
Probabilistic Verification in Computational Systems DesignProbabilistic Verification in Computational Systems Design
Probabilistic Verification in Computational Systems DesignIosif Itkin
 

Mais procurados (20)

Конструирование алгоритмов
Конструирование алгоритмовКонструирование алгоритмов
Конструирование алгоритмов
 
8 3-5
8 3-58 3-5
8 3-5
 
Программирование циклических алгоритмов
Программирование циклических алгоритмовПрограммирование циклических алгоритмов
Программирование циклических алгоритмов
 
Алгоритмическая конструкция Повторение
Алгоритмическая конструкция ПовторениеАлгоритмическая конструкция Повторение
Алгоритмическая конструкция Повторение
 
19 pascal urok_3
19 pascal urok_319 pascal urok_3
19 pascal urok_3
 
Алгоритмическая конструкция следование
Алгоритмическая конструкция следованиеАлгоритмическая конструкция следование
Алгоритмическая конструкция следование
 
Python
PythonPython
Python
 
Способы записи алгоритмов
Способы записи алгоритмовСпособы записи алгоритмов
Способы записи алгоритмов
 
777
777777
777
 
Презентация на тему: Методика подготовки учащихся к итоговой аттестации по ин...
Презентация на тему: Методика подготовки учащихся к итоговой аттестации по ин...Презентация на тему: Методика подготовки учащихся к итоговой аттестации по ин...
Презентация на тему: Методика подготовки учащихся к итоговой аттестации по ин...
 
Урок 8. Введение в редукцию графов
Урок 8. Введение в редукцию графовУрок 8. Введение в редукцию графов
Урок 8. Введение в редукцию графов
 
Презентация на тему: ЕГЭ информатика
Презентация на тему: ЕГЭ информатикаПрезентация на тему: ЕГЭ информатика
Презентация на тему: ЕГЭ информатика
 
паскаль. часть1
паскаль. часть1паскаль. часть1
паскаль. часть1
 
Ruby строки
Ruby строкиRuby строки
Ruby строки
 
условия, подпрограммы
условия, подпрограммыусловия, подпрограммы
условия, подпрограммы
 
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
 
Урок 4. "Завязывание узлов". Классы
Урок 4. "Завязывание узлов". КлассыУрок 4. "Завязывание узлов". Классы
Урок 4. "Завязывание узлов". Классы
 
Основы программирования на ruby
Основы программирования на rubyОсновы программирования на ruby
Основы программирования на ruby
 
87
8787
87
 
Probabilistic Verification in Computational Systems Design
Probabilistic Verification in Computational Systems DesignProbabilistic Verification in Computational Systems Design
Probabilistic Verification in Computational Systems Design
 

Semelhante a Программирование разветвляющихся алгоритмов

лекция 3. программирование циклов
лекция 3. программирование цикловлекция 3. программирование циклов
лекция 3. программирование цикловstudent_kai
 
Условный оператор
Условный операторУсловный оператор
Условный операторOlgaDask
 
1 вводное занятие
1 вводное занятие1 вводное занятие
1 вводное занятиеluis_blanco_rau
 
практикум по выполнению блока с (с1)
практикум по выполнению блока с (с1)практикум по выполнению блока с (с1)
практикум по выполнению блока с (с1)Екатерина Луговова
 
Теория. Сложные условия в операторе сравнения
Теория. Сложные условия в операторе сравненияТеория. Сложные условия в операторе сравнения
Теория. Сложные условия в операторе сравненияAlexandr Grigorenko
 
введение в паскаль
введение в паскальвведение в паскаль
введение в паскальisva69
 
331 информатика. 8кл. миняйлова, вербовиков и др-минск, 2010 -189с
331  информатика. 8кл. миняйлова, вербовиков и др-минск, 2010 -189с331  информатика. 8кл. миняйлова, вербовиков и др-минск, 2010 -189с
331 информатика. 8кл. миняйлова, вербовиков и др-минск, 2010 -189сdfdkfjs
 
Back to the future: Функциональное программирование вчера и сегодня
Back to the future: Функциональное программирование вчера и сегодняBack to the future: Функциональное программирование вчера и сегодня
Back to the future: Функциональное программирование вчера и сегодняAlexander Granin
 
Переменные: тип, имя, значение
Переменные: тип, имя, значениеПеременные: тип, имя, значение
Переменные: тип, имя, значениеЕлена Никонова
 
СИМПЛЕКС-МЕТОД
СИМПЛЕКС-МЕТОДСИМПЛЕКС-МЕТОД
СИМПЛЕКС-МЕТОДIT_1315
 
Tech Talks @NSU: Как приручить дракона: введение в LLVM
Tech Talks @NSU: Как приручить дракона: введение в LLVMTech Talks @NSU: Как приручить дракона: введение в LLVM
Tech Talks @NSU: Как приручить дракона: введение в LLVMTech Talks @NSU
 
Как приручить дракона: введение в LLVM
Как приручить дракона: введение в LLVMКак приручить дракона: введение в LLVM
Как приручить дракона: введение в LLVMTech Talks @NSU
 

Semelhante a Программирование разветвляющихся алгоритмов (20)

лекция 3. программирование циклов
лекция 3. программирование цикловлекция 3. программирование циклов
лекция 3. программирование циклов
 
Условный оператор
Условный операторУсловный оператор
Условный оператор
 
паскаль
паскальпаскаль
паскаль
 
Programming c++ (begin-if-else)
Programming c++ (begin-if-else)Programming c++ (begin-if-else)
Programming c++ (begin-if-else)
 
1 вводное занятие
1 вводное занятие1 вводное занятие
1 вводное занятие
 
практикум по выполнению блока с (с1)
практикум по выполнению блока с (с1)практикум по выполнению блока с (с1)
практикум по выполнению блока с (с1)
 
Теория. Сложные условия в операторе сравнения
Теория. Сложные условия в операторе сравненияТеория. Сложные условия в операторе сравнения
Теория. Сложные условия в операторе сравнения
 
введение в паскаль
введение в паскальвведение в паскаль
введение в паскаль
 
331 информатика. 8кл. миняйлова, вербовиков и др-минск, 2010 -189с
331  информатика. 8кл. миняйлова, вербовиков и др-минск, 2010 -189с331  информатика. 8кл. миняйлова, вербовиков и др-минск, 2010 -189с
331 информатика. 8кл. миняйлова, вербовиков и др-минск, 2010 -189с
 
лекция 1
лекция 1лекция 1
лекция 1
 
Pri3
Pri3Pri3
Pri3
 
Back to the future: Функциональное программирование вчера и сегодня
Back to the future: Функциональное программирование вчера и сегодняBack to the future: Функциональное программирование вчера и сегодня
Back to the future: Функциональное программирование вчера и сегодня
 
Step cpp022
Step cpp022Step cpp022
Step cpp022
 
Переменные: тип, имя, значение
Переменные: тип, имя, значениеПеременные: тип, имя, значение
Переменные: тип, имя, значение
 
СИМПЛЕКС-МЕТОД
СИМПЛЕКС-МЕТОДСИМПЛЕКС-МЕТОД
СИМПЛЕКС-МЕТОД
 
Tech Talks @NSU: Как приручить дракона: введение в LLVM
Tech Talks @NSU: Как приручить дракона: введение в LLVMTech Talks @NSU: Как приручить дракона: введение в LLVM
Tech Talks @NSU: Как приручить дракона: введение в LLVM
 
Как приручить дракона: введение в LLVM
Как приручить дракона: введение в LLVMКак приручить дракона: введение в LLVM
Как приручить дракона: введение в LLVM
 
Transpile it.pdf
Transpile it.pdfTranspile it.pdf
Transpile it.pdf
 
Rgsu04
Rgsu04Rgsu04
Rgsu04
 
Rgsu04
Rgsu04Rgsu04
Rgsu04
 

Mais de Andrey Dolinin

правила сетевого этикета
правила сетевого этикетаправила сетевого этикета
правила сетевого этикетаAndrey Dolinin
 
история вычислительной техники
история вычислительной техникиистория вычислительной техники
история вычислительной техникиAndrey Dolinin
 
информационная культура
информационная культураинформационная культура
информационная культураAndrey Dolinin
 
информационная безопасность
информационная безопасностьинформационная безопасность
информационная безопасностьAndrey Dolinin
 
логика к.поляков
логика к.поляковлогика к.поляков
логика к.поляковAndrey Dolinin
 
история логики и основные логические операции
история логики и основные логические операцииистория логики и основные логические операции
история логики и основные логические операцииAndrey Dolinin
 
представление чисел в памяти компьютера
представление чисел в памяти компьютерапредставление чисел в памяти компьютера
представление чисел в памяти компьютераAndrey Dolinin
 
правила перевода чисел в позиционных системах счисления
правила перевода чисел в  позиционных системах  счисленияправила перевода чисел в  позиционных системах  счисления
правила перевода чисел в позиционных системах счисленияAndrey Dolinin
 
12. задача о напитках
12. задача о напитках12. задача о напитках
12. задача о напиткахAndrey Dolinin
 
12. планируем работу в графическом редакторе
12. планируем работу в графическом редакторе12. планируем работу в графическом редакторе
12. планируем работу в графическом редактореAndrey Dolinin
 
12. обработка информации
12. обработка информации12. обработка информации
12. обработка информацииAndrey Dolinin
 
11. компьютерная графика
11. компьютерная графика11. компьютерная графика
11. компьютерная графикаAndrey Dolinin
 

Mais de Andrey Dolinin (20)

23 24-211220132336
23 24-21122013233623 24-211220132336
23 24-211220132336
 
правила сетевого этикета
правила сетевого этикетаправила сетевого этикета
правила сетевого этикета
 
история вычислительной техники
история вычислительной техникиистория вычислительной техники
история вычислительной техники
 
информационная культура
информационная культураинформационная культура
информационная культура
 
информационная безопасность
информационная безопасностьинформационная безопасность
информационная безопасность
 
Javascript 1
Javascript 1Javascript 1
Javascript 1
 
Css
CssCss
Css
 
логика к.поляков
логика к.поляковлогика к.поляков
логика к.поляков
 
история логики и основные логические операции
история логики и основные логические операцииистория логики и основные логические операции
история логики и основные логические операции
 
представление чисел в памяти компьютера
представление чисел в памяти компьютерапредставление чисел в памяти компьютера
представление чисел в памяти компьютера
 
правила перевода чисел в позиционных системах счисления
правила перевода чисел в  позиционных системах  счисленияправила перевода чисел в  позиционных системах  счисления
правила перевода чисел в позиционных системах счисления
 
Microsoft access 2007
Microsoft access 2007Microsoft access 2007
Microsoft access 2007
 
Microsoft excel 2007
Microsoft excel 2007Microsoft excel 2007
Microsoft excel 2007
 
Word
WordWord
Word
 
Microsoft word 2007
Microsoft word 2007Microsoft word 2007
Microsoft word 2007
 
Microsoft access 2007
Microsoft access 2007Microsoft access 2007
Microsoft access 2007
 
12. задача о напитках
12. задача о напитках12. задача о напитках
12. задача о напитках
 
12. планируем работу в графическом редакторе
12. планируем работу в графическом редакторе12. планируем работу в графическом редакторе
12. планируем работу в графическом редакторе
 
12. обработка информации
12. обработка информации12. обработка информации
12. обработка информации
 
11. компьютерная графика
11. компьютерная графика11. компьютерная графика
11. компьютерная графика
 

Программирование разветвляющихся алгоритмов

  • 2. Ключевые слова •условный оператор •сокращённая форма условного оператора •составной оператор •вложенные ветвления
  • 3. Общий вид условного оператора Перед elseelse знак «;» не ставится. Полная форма условного оператора: ifif <условие> thenthen <оператор_1> elseelse <оператор_2>; Сокращённая форма условного оператора: ifif <условие> thenthen <оператор>; Операции отношений Операции отношений Логические операции Логические операции ПростыеПростые СложныеСложные Условия - логические выраженияУсловия - логические выражения !
  • 4. Условный оператор program n_9; var x, a, b: real; begin writeln ('Определение принадлежности точки отрезку'); write ('Введите а, b>>'); readln (a, b); write ('Введите x>>'); readln (x); if (x>=a) and (x<=b) then writeln ('Точка принадлежит отрезку') else writeln ('Точка не принадлежит отрезку') end. a, b, x (x>=a) and (x<=b) ДА НЕТ да нет
  • 5. Сокращённая форма условного оператора program n_10; var y, a, b, c: integer; begin writeln ('Нахождение наибольшей из трёх величин'); write ('Введите а, b, с>>'); readln (a, b, c); y:=a; if (b>y) then y:=b; if (c>y) then y:=c; writeln ('y=', y) end. Y:=A B>Y Y:=B Y:=C C>Y да нет да нет
  • 6. Составной оператор В условном операторе и после thenthen, и после elseelse можно использовать только один оператор. Если в условном операторе после thenthen или после elseelse нужно выполнить несколько операторов, то используют составной оператор – конструкцию вида: beginbegin <последовательность операторов> endend
  • 7. Блок-схема решения КВУР Конец Вывод «Корни уравнения: х1=», х1, «х2=», х2 х1:=(-b+sqrt(d))/2/a да Начало Введите коэффициенты a, b, c d:=b*b-4*a*c d < 0 да Вывод «Корней нет» нет d:= 0 да x:=-b/2/a Вывод «Корень уравнения х=», х нет х2:=(-b-sqrt(d))/2/a
  • 8. begin x1:=(-b+sqrt(d))/2/a; x2:=(-b-sqrt(d))/2/a; writeln ('Корни уравнения:'); writeln ('x1=', x1:9:3); writeln ('x2=', x2:9:3) end; begin x1:=(-b+sqrt(d))/2/a; x2:=(-b-sqrt(d))/2/a; writeln ('Корни уравнения:'); writeln ('x1=', x1:9:3); writeln ('x2=', x2:9:3) end; begin x:=-b/2/a; writeln ('Корень уравнения x=', x:9:3) end; begin x:=-b/2/a; writeln ('Корень уравнения x=', x:9:3) end; program n_11; var a, b, c: real; var d: real; var x, x1, x2: real; begin writeln ('Решение квадратного уравнения'); write ('Введите коэффициенты a, b, c >>'); readln (a, b, c); d:=b*b-4*a*c; if d<0 then writeln ('Корней нет'); if d=0 then if d>0 then end.
  • 9. Вложенные ветвления Возможна следующая конструкция: ifif <условие1> thenthen ifif <условие2> thenthen <оператор1> elseelse <оператор2> elseelse <оператор3> elseelse всегда относится к ближайшему оператору ifif!
  • 10. Решение линейного уравнения program n_12; var a, b, x: real; begin writeln ('Решение линейного уравнения'); write ('Введите коэффициенты a , b>>'); readln (a, b); if a<>0 then begin x:=-b/a; writeln ('Корень уравнения x=', x:9:3) end else if b<>0 then writeln ('Корней нет') else writeln ('x – любое число'); end. Корней нет Список данных a, b, x - вещ a, b a<>0 x:=-b/a b<>0 Любое число нет да да нет
  • 11. Самое главное При записи на языке Паскаль разветвляющихся алгоритмов используют условный оператор: if <условие> then <оператор_1> else <оператор_2> Для записи неполных ветвлений используется сокращённый условный оператор: if <условие> then <оператор> Если при некотором условии требуется выполнить определённую последовательных операторов, то их объединяют в один составной оператор, имеющий вид: begin <последовательность операторов> end.
  • 12. Вопросы и задания Как на языке Паскаль записывается полное и неполное ветвление? Является ли условным оператором последовательность символов? а) if x<y then x:=0 else read (y) б) if x>=y then x:=0; y:=0 else write (z) в) if x<y <z then a:=a+1 Что такое составной оператор? Для чего он используется в условном операторе? Используя составной оператор, упростите следующий фрагмент программы: if a>b then c:=1; if a>b then d:=2; if a<=b then c:=3; if a<=b then d:=4 Дано трёхзначное число. Напишите программу, которая определяет: есть ли среди цифр заданного целого трёхзначного числа одинаковые; Пример входных данных Пример выходных данных 123 Нет 121 Да 222 Да является ли число «перевёртышем», т. е. числом, десятичная запись которого читается одинаково слева направо и справа налево. Пример входных данных Пример выходных данных 123 Нет 121 Перевёртыш 222 Перевёртыш Даны две точки в плоской прямоугольной системе координат. Напишите программу, определяющую, которая из точек находится ближе к началу координат. Пример входных данных Пример выходных данных Координаты 1-й точки>>1, 2 Координаты 2-й точки>>3, 4 Первая точка ближе Пример входных данных Пример выходных данных a b c>> 1 2 1 Не существует a b c>> 2 2 2 Равносторонний a b c>> 20 20 30 Равнобедренный a b c>> 3 4 5 Разносторонний Даны три натуральных числа. Напишите программу, определяющую, существует ли треугольник с такими длинами сторон. Если такой треугольник существует, то определите его тип (равносторонний, равнобедренный, разносторонний). Имеются данные о количестве полных лет трёх призёров спартакиады. Напишите программу, выбирающую и выводящую возраст самого младшего призёра. Пример входных данных Пример выходных данных k, 1>>-1 5 xa, ya >>1 2 Точка лежит под прямой k, 1>>-1 5 xa, ya >>1 10 Точка лежит над прямой k, 1>>-1 5 xa, ya >>1 4 Точка лежит на прямой Напишите программу, определяющую, лежит ли точка А(ха, ya): а) на прямой y = kx + 1, над ней или под ней; б) на окружности x2 + y2 = r2 , над ней или под ней. Примеры входных данных и соответствующих им выходных данных разработайте самостоятельно. Пример входных данных Пример выходных данных x >> 5 y >> 6 x = 5 y = 6 x >> 6 y >> 5 x = 5 y = 6 Напишите программу, которая производит обмен значений переменных x и y, если x больше y. Дан условный оператор: If a<5 then c:=1 else if a>5 then c:=2 else c:=3 Какое значение имеет переменная а, если в результате выполнения условного оператора переменной с присваивается значение 3?Пример входных данных Пример выходных данных -5 y = - 1 0 y = 0 5 y = 1 Напишите программу, вычисляющую значение функции: -1 при x<0 0 при x=0 1 при x>0 y = Составьте программу для решения задачи: Известно, что 31 января 2011 года приходится на понедельник. Какие значения должны быть присвоены литерной переменной y в алгоритме, определяющем день недели для любого числа (chislo) января 2011 года? chislo:= chislo mod 7 если chislo=3 то у:='…‘ если chislo=4 то у:='…‘ если chislo=5 то у:='…‘ если chislo=6 то у:='…‘ если chislo=0 то у:='…‘ если chislo=1 то у:='…‘ если chislo=2 то у:='…‘ Пример входных данных Пример выходных данных Координаты 1 – го поля >> 2 2 Координаты 2 – го поля >> 3 3 Поля одного цвета Координаты 1 – го поля >> 2 3 Координаты 2 – го поля >> 3 3 Поля разного цвета Координаты 1 – го поля >> 2 7 Координаты 2 – го поля >> 5 4 Поля одного цвета Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит 8. Напишите программу, которая по введённым координатам двух полей (k, l) и (m, n) определяет, являются ли эти поля полями одного цвета. Напишите программу, в которой пользователю предлагается дополнить до 100 некоторое целое число а (а - случайное число, меньшее 100). Ответ пользователя проверяется и комментируется.
  • 13. Опорный конспект Условный операторУсловный оператор if <условие> then <оператор_1> else <оператор_2> if <условие> then <оператор> begin <последовательность операторов> end Полная формаПолная форма Неполная формаНеполная форма Составной операторСоставной оператор