Структура программы в Pascal
Итак, на предыдущей странице мы определились со следующими понятиями: program, integer, real, const, var, begin, end, write, writeln, read, readln. Давайте напишем программы на Паскале с их использованием. Но сначала выясним, из каких частей состоит программа на Паскале.
Любая программа на языке программирования Pascal имеет три составляющие: 1) заголовок; 2) раздел описаний; 3) тело программы.
✎ 1) Заголовок – это слово Program , после которого идет название программы латиницей и точка с запятой в конце. Название не может начинаться с цифры, не должно совпадать с зарезервированными словами (begin, end, integer и т.п.) или с названиями переменных из раздела описаний (см. ниже), а также недопустимо использование каких бы то ни было символов (‘@’, ‘%’, ‘&’ и т.п.), кроме подчеркивания. Название желательно давать со смыслом, которое отображало бы суть самой программы. Но заголовок писать не обязательно.
✎ 2) Раздел описаний – Поскольку сначала мы будем рассматривать задачи, то у нас во втором разделе будет находиться или описание констант, или переменных (см. пп. 4 и 5 статьи Введение в Pascal).
✎ 3) Тело программы – блок операторов, в котором записываются команды для выполнения. Начинается этот блок словом begin («начало»), а заканчивается словом end. («конец») с точкой в конце(пп. 6, 7 той же статьи).
Таким образом, в общем случае программа на Паскале выглядит следующим образом:
Код Pascal
1
2
3
4
5
6
7
8
9
10
Program <название программы>;
<раздел описаний>
begin
<оператор 1>;
<оператор 2>;
. . . . . . .
<оператор N>;
end.
При решении задач ограничимся сначала целыми числами. Перед тем как начать программировать, укажем действия над числами в Паскале: «+» − сложение, «-» − вычитание, «*» − умножение, «/» − деление. Как видим, в программировании и математике элементарные действия над числами обозначаются одинаково. Решим следующую задачу:
Объяснение:
//PascalABC.NET
uses GraphABC;
var c: integer;
begin
window.IsFixedSize := true;//запрет изменения размера экрана
window.Clear(cllightblue);//очистка экрана синим цветом
pen.Color := clred;//меняем цвет пера на красный
for var i := 0 to 19 do//цикл для отрисовки линий
begin
c := (window.Height div 19) * i;//сдвиг линнии по y
line(0, 0 + c, window.Width, window.Height - c);//рисуем линию
end;
end.
Объяснение:
uses graphabc;
begin
circle(50,50,50);
circle(50,50,20);
circle(150,50,50);
circle(150,50,20);
circle(250,50,50);
circle(250,50,20);
circle(350,50,50);
circle(350,50,20);
circle(450,50,50);
circle(450,50,20);
circle(550,50,50);
circle(550,50,20);
end.
R,A:real;
S:string;
i,z,L:integer;
Begin
Read(S);
S:=' '+S;
L:=Length(S);
i:=1;
R:=0;
Repeat
Case S[i] of
'0'..'9':
Begin
A:=0;
if S[i-1]='-' then z:=1
else z:=0;
While (S[i]in['0'..'9'])and(i<L) do
Begin
A:=A*10+StrToInt(S[i]);
i:=i+1
End;
if (i=L)and(S[i]in['0'..'9']) then A:=A*10+StrToInt(S[i]);
if z=0 then R:=R+A
else R:=R-A;
End;
End;
i:=i+1
Until i>L;
WriteLn('Сумма чисел в строке: ',R)
End.