При обучении программированию используется графическое описание алгоритма решения задачи в виде блок — схемы. Такое представление алгоритма достаточно удобно и наглядно показывает последовательность выполнения операторов программы.
В соответствии с используемыми в программе операторами различают следующие типы алгоритмов: линейный, ветвящийся, циклический, комбинированный. Приведем пример блок — схемы комбинированного алгоритма для расчета суммы положительных S1 и отрицательных S2 чисел из N случайных чисел от -100 до 100.
Соответствующие алгоритму операторы имеют вид:
Begin Randomize;
Writeln ('Введите количество случайных чисел'); Readln (N);
S1:=0; S2:=0;
For i:=1 to N do begin x:=Random (201)-100;
if x<0 Then S2:=S2+x else S1:=S1+x end;
Writeln ('S1= ', S1, ' S2= ', S2); Readln.
End.
Составление диалоговых программ
Диалоговый режим работы программы заключается в диалоге пользователя с программой в соответствии с запрограммированной схемой возможных вариантов. Во время выполнения программы происходит запрос к пользователю ввести дополнительные данные, определяющие дальнейшую работу программы. Приведем пример программы угадывания случайно выбранного числа в интервале от 5 до 16 с пяти попыток.
PROGRAM NUMBER; { угадать случайное число }.
Var I, N, N1: integer;
BEGIN.
Randomize; N1:= Random (12) + 5;
for i:= 1 to 5 do begin.
Write ('угадайте число от 5 до 16 N='); readln (N);
IF NN1 then begin Writeln ('не угадал');
Writeln ('осталось ', 5-i, ' попыток') end.
else begin Writeln ('угадал'); Writeln ('Нажмите Enter');
readln; Halt end.
end; Writeln ('Нажмите Enter'); readln;
END.
Определение формулы для «N1» производится по следующему алгоритму. Пусть дано N_Min и N_Max — интервал изменения N1, тогда случайное значение.
N1:= Random (A) + B; где B:= N_Min; A:= N_Max — N_Min + 1;