1. Ввести первое число.
2. Пока нет признака конца последовательности выполнять
2.1. Положить число простое
2.2. Для делителя от 2 до ]число/2[ выполнять
если число делится на делитель, то
а) вывести делитель и
б) изменить предположение – «не простое».
2.3. Если число простое, то вывести: " простое число"
2.4. Прочитать следующее число.
3. Закончить.
Программа для этого алгоритма будет иметь вид
Program Dividers;
Const
d=2;
Var
Num, Del, P: Integer;
Begin
Writeln ('Введите число'); { п.1 }
Readln(Num);
{ п.2 }
While Num < > 0 Do
Begin
P: = 0; { п.2.1 – число простое }
For Del: = d To Num Div d Do
Begin
If Num Mod Del=0 Then
Begin
Write(Del);
P: = 1; { число не простое }
End;
End;
If P=0 Then{ п.2.3 }
Writeln('Число ', Num, ' - простое');
Writeln('Введите число'); { п.2.4 }
Read(Num);
End;
End.
В программе использован оператор While, так как уже первое число может быть нулем и цикл выполнять не нужно.
Сведем основные операторы языка Паскаль и описатели данных в табл. 2 и 3 соответственно.
Основные операторы языка Паскаль Таблица 2
Название
| Общий вид
| Действие
| Пример записи
|
1. Присваивания
| Переменная = выражение;
| Значение выражения записывается на место переменной
| X: = 0;
Y: =A/B+C*D;
|
2. Ввода
| Read(список);
Readln(список);
| Перепись данных с устройства ввода в ОП. Readln – переход на новую строку
| Read (X, Y, A);
|
3. Вывода
| Write(список);
Writeln(список);
| Перепись данных из ОП на устройство вывода. Writeln - переход на новую строку
| Write ('X=', X: 8: 5.);
|
4. Условный
| If Условие Then
Оператор1
Else
Оператор2;
| Ветвление (выполнение оператора1 или оператора2)
| If X> 0 Then
Y: = Sqrt(X)
Else
Y: =Sqr(X);
|
5. Выбора
| Case Выражение Of
Значение1: Оператор1;
......
ЗначениеN: ОператорN;
End;
| Ветвление по N направленям
| Case Month Of
3..5: Writeln(' Весна');
6..8: Writeln(' Лето');
End;
|
6. Цикла со счечиком (For)
| For Пар.: = Н.З. To К.З. Do
Оператор 1;
For Пар.: = Н.З.Downto К.З. Do
Оператор 1;
| Выполнение оператора1 n раз:
n = кон.знач. – нач.знач.+1
Выполнение оператора1 n раз:
n = нач.знач. – кон.знач.+1
| S: = 0;
For I: = 1 To 20 Do
S: = S+I;
|
7. Цикла с постусловием
| Repeat
Операторы
Until Условие;
| Выполнение операторов пока условие " ложно". Выполняется не менее 1 раза.
| Num: = 1;
Repeat
Num: = Num*2;
Until Num> 1000;
|
8. Цикла с предусловием
| While Условие Do
Оператор1;
| Выполнение оператора 1 пока условие " истинно".
| Num: = 1;
While Num< 1000 Do
Num: = Num*2;
|
9. Заголовок программы
| Program Имя;
| Начало программы
| Program Pr1;
|
10. Начало блока операторов
| Begin
| Обозначение начала блока
| Begin
|
11. Конец блока, программы
| End;
End.
| Обозначение конца блока или программы
| End;
End.
|
Таблица 3.