Структура программы в 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.
Поделитесь своими знаниями, ответьте на вопрос:
Ii. дано условие и ее решение, содержащее пропуски. заполнить пропуски. дан линейный массив. изменить массив, вычеркнув из него все четные трехзначные элементы, которые кратны своему индексу. type linmass = array [1..1000] of integer; var a : linmass; n, i, j : integer; begin write('количество элементов массива: '); ; for i : = 1 to do begin write('введите a[', i, '] '); readln(a[i]); end; i: =1; while i < = n do if then begin for j: =i+1 to n do a[j-1]: =a[j]; n: =n-1 end else i: = i+1; for i : = 1 to n do write(a[i]: 6); end.
LinMass = array [1..1000] of Integer;
var
A: LinMass;
N, i, j: Integer;
begin
Write('Количество элементов массива: ');
ReadLn(N);
for I := 1 To N Do
begin
Write('Введите A[', I, '] ');ReadLn(A[i]);
end;
i := 1;
while (i <= n) do
if (A[i] >= 100) and (A[i] <= 999) and (A[i] mod 2 = 0) and (A[i] mod i = 0) then begin
for j := i + 1 to n do
A[j - 1] := A[j];
n := n - 1
end
else i := i + 1;
for I := 1 To N Do
write(a[i]:6);
end.