Содержание
-
Разветвленный алгоритм
Лекция №4
-
План лекции
Разветвленный алгоритм Примеры разветвленных алгоритмов Условный оператор Составной оператор Вложенные условные операторы Оператор выбора Решение задач
-
Разветвленный алгоритм
Разветвленным алгоритмом называется такой алгоритм, в котором выбирается один из нескольких возможных путей (вариантов) вычислительного процесса. Ветвью алгоритма называется каждый подобный путь.
-
Полная разветвленная алгоритмическая структура
Действие 1 Действие 2 . . . условие . . . да нет
-
Неполная разветвленная алгоритмическая структура
Действие 1 . . . условие . . . да нет
-
Условный оператор
Оператор if выбирает между двумя вариантами развития событий: if (если) then (тогда) [else ]; (иначе) Обратите внимание, что перед словом else (когда оно присутствует, конечно же) символ ";" не ставится - ведь это разорвало бы оператор на две части.
-
Условный оператор ifработает следующим образом: Сначала вычисляется значение - это может быть любое выражение, возвращающее значение типа boolean. Затем, если в результате получена "истина" (true), то выполняется оператор, стоящий после ключевого слова then, а если "ложь" (false) - без дополнительных проверок выполняется оператор, стоящий после ключевого слова else. Если же else-ветвь отсутствует, то не выполняется ничего.
-
Составной оператор
Составной оператор - объединение нескольких операторов в одну группу. Группа операторов внутри составного оператора заключается в операторные скобки (begin-end). begin оператор 1; оператор 2;end;
-
Составной условный оператор
Если в качестве оператора должна выполниться серия операторов, то они заключаются в операторные скобки begin-end. Конструкция Begin ... Endназывается составным оператором. if then begin оператор 1; оператор 2; ... end else begin оператор 1; оператор 2; ... end;
-
Пример разветвленного алгоритма
Задача 1. Вычислить отношение двух целых чисел. Var a,b : integer; ratio : real; Begin writeln(‘Введите два числа: ‘); read (a,b); ratio:= a / b; writeln (‘Отношение = ‘,ratio:6:2); End. Когда вы введете 0 для второго значения, программа напечатает сообщение об ошибке (Dividebyzero - Деление на ноль) и остановится.
-
Ввод a,b Вывод ratio b=0 да нет Делить на 0 нельзя. ratio=a/b Program z1 (input, output); Var a,b: integer; ratio :real; Begin writeln (‘Введите a, b’); read (a, b); if b=0 then writeln (‘Делить на 0 нельзя ‘) else begin ratio:=a/b; write (ratio) end End. начало конец
-
Полная разветвленная структура
Задача 2. Вывести на экран большее из двух данных чисел. Programz2;Var x, y : integer; {вводимые числа}Begin writeln(‘Введите 2 числа ‘); {вводим два целых числа через пробел} readln(x,y); ifx>y then writeln (x) {если х больше y, то выводим х} else writeln (y) {иначе выводим y} readln;End.
-
Неполная разветвленная структура
Задача 3. Составить программу, которая, если введенное число отрицательное меняет его на противоположное. ProgramChisla;Var x : integer; {вводимое число}Begin writeln(‘Введите число ‘); {вводим целое число} readln(x); ifx
-
Вложенные условные операторы
Program z4;Var a, b, c : integer; Begin writeln(‘Введите числа a, b, c’); readln(a,b,c); if (ab) and (b>c) then begin b:=a; c:=a; end else begin a:=-a; b:=-b; c:=-c; end writeln(a,b,c); readln;End. Задача 4. Даны целые числа a, b, c. Если a ≤ b ≤ c, то все числа заменить их квадратами, если a>b>c, то каждое число заменить наибольшим из них, в противном случае сменить знак каждого числа.
-
Оператор выбора
Оператор case позволяет сделать выбор между несколькими вариантами: case of : ; [ : ;] [ : ;] [else ;] end;
-
Существуют дополнительные правила, относящиеся к структуре этого оператора: Переключатель должен относиться только к порядковому типу данных, но не к типу longint. Переключатель может быть переменной или выражением. Список констант может задаваться как явным перечислением, так и интервалом или их объединением. Повторение констант не допускается. Тип переключателя и типы всех констант должны быть совместимыми
-
Пример оператора выбора: casesymbolof 'a'..'z', 'A'..'Z' : writeln('Это латинская буква'); 'а'..'я', 'А'..'Я' : writeln('Это русская буква'); '0'..'9' : writeln('Это цифра'); ' ',#10,#13,#26 : writeln('Это пробельный символ'); elsewriteln('Это служебный символ'); end;
-
Задача 5. Написать программу преобразования цифр в слова. Programz5;Var a, b, c : integer; Begin writeln(‘Введите цифру ‘); readln(a); caseaof 0 : writeln (‘ноль‘); 1 : writeln (‘один‘); 2 : writeln (‘два‘); 3 : writeln (‘три‘); 4 : writeln (‘четыре‘); 5 : writeln (‘пять‘); 6 : writeln (‘шесть‘); 7 : writeln (‘семь‘); 8 : writeln (‘восемь‘); 9 : writeln (‘девять‘) elsewriteln (‘Это число не является цифрой‘); end; readln;End.
-
Решение задач
Задача 6. Чтобы получить одну молекулу серной кислоты H2SO4 нужно 2 атома водорода (Н), 1 атом серы (S) и 4 атома кислорода (О).В химическом реакторе имеется А атомов водорода, В атомов кислорода и С атомов серы. Составьте алгоритм или напишите программу, вычисляющую, сколько молекул серной кислоты может получится из такого количества атомов?
-
Алгоритм решения этой задачи может быть записан следующим образом: Переменные: тип - целый A,B,C,M1,M2,K; Ввести A,D,C; Вычислить целую часть от деления А на 2 М1=цел.часть (А/2); Вычислить целую часть от деления B на 4 М2=цел.часть (B/4); Найти минимальное из трех чисел С, М1, М2 K=min(C,M1,M2); Выдать на печать: В редакторе образуется К молекул кислоты.
-
Задача 7. Определить принадлежит ли точка А(X0,Y0) данной фигуре.
-
Задача 8. Напишите программу, которая вычисляет стоимость междугородного телефонного разговора (цена одной минуты определяется расстоянием до города, в котором находится абонент). Исходными данными для программы являются код города и длительность разговора. Ниже приведены коды некоторых городов.
-
Нет комментариев для данной презентации
Помогите другим пользователям — будьте первым, кто поделится своим мнением об этой презентации.