Базовая структура «Ветвление»
Базовая структура «ветвление» обеспечивает выбор одного из альтернативных путей работы алгоритма в зависимости от результата проверки условия (да или нет).
Пример ветвления с проверкой условия: найти максимальное из двух чисел. На рис. 1.5 приведен алгоритм с использованием как полной, так и неполной формы ветвления.
Как видно из рисунка, полная форма ветвления предусматривает присваивание значения переменной max как при выполнении условия, так и при его невыполнении. Неполная же формапредусматривает изменение значения max только при выполнении условия.
a > b |
max := b |
max := a |
нет |
начало |
да |
конец |
a > b |
max := b |
max := a |
нет |
да |
конец |
начало |
Рис. 1.5. Полная и неполная формы ветвления с проверкой условия
Пример: Дано вещественное число x. Для функции, график которой приведён на рис. 1.6а, вычислить y = f(x).
Рис. 1.6. График функции (а) и блок-схема алгоритма (б)
Аналитически представленную на рисунке функцию можно представить так:
Блок-схема алгоритма приведена на рис. 1.6б
Циклы
Пример цикла с предусловием
Найти среднее из нескольких введенных положительных чисел. Окончание ввода – число 0.
Упрощенная блок-схема алгоритма приведена на рис. 1.7.
x > 0 |
начало |
ввод x |
S = 0 N = 0 a = 0 |
S = S + x N = N + 1 |
a = S / N |
вывод a |
конец |
нет |
да |
Рис. 1.7. Пример цикла с предусловием
Пример цикла с параметром
Вычислить сумму
Блок-схема приведена на рисунке 1.8. Для наглядности блоки ввода данных не показаны.
начало |
S:=0 |
i:=1; N (1) |
S=S+1./i |
вывод S |
конец |
Рис. 1.8. Пример цикла с параметром
Пример: Алгоритм вычисления наибольшего общего делителя
Записать алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел. Используем алгоритм Эвклида и представим алгоритм как в словесной форме, так и в виде блок-схемы. Словесное представление алгоритма имеет вид: 1. задать два числа; 2. если числа равны, то взять любое из них в качестве ответа и остановиться, в противном случае продолжить выполнение алгоритма; 3. определить большее из чисел; 4. заменить большее из чисел разностью большего и меньшего из чисел; 5. повторить алгоритм с шага 2. | Рис. 1.9. |
Блок-схема алгоритма приведена на рисунке 1.9. Описанный алгоритм применим к любым натуральным числам и должен приводить к решению поставленной задачи. Убедитесь в этом самостоятельно, определив с помощью алгоритма наибольший общий делитель чисел 125 и 75.
Базовые понятия языка программирования Pascal
Простейшие программы
Вычисление площади трапеции
Пример демонстрирует структуру простейшей программы на языке Pascal. Как известно, площадь трапеции равна произведению полусуммы оснований на высоту трапеции.
В разделе описаний объявлено 4 переменных: длины оснований, высота трапеции и переменная S, в которой будет храниться рассчитанная площадь. В разделе операторов выполняется расчет и вывод результата на экран.
program ex02_1;
{ составить программу расчета площади трапеции }
var
a, b: real; { основания трапеции }
h: real; { высота }
S: real; { площадь }
begin
write('введите через пробел основания трапеции: ');
readln(a, b);
write('введите высоту трапеции: ');
readln(h);
S:=(a+b)*h/2;
writeln('Площадь трапеции равна ',S:8:4);
writeln('нажмите Enter...');
readln;
end.