по типу данных
- числовые (целочисленные и с плавающей запятой)
- логические - истина / ложь
- символьные - один символ
- строковые - последовательность символов
по области видимости
- глобальные - видны из любого места программы
- локальные - видны только из процедуры в которой объявлены
по продолжительности действия
- автоматические - действуют внутри программного блока
- статические - сохраняют свое значение после выхода из блока
по времени создания
- статические - создаются в момент запуска программы
- динамические - создаются в процессе выполнения программы
по наличию внутренней структуры
- простые (число, строка)
- сложные (массив, запись)
<u>Задание 1.</u>
var
A, B, C, F: boolean;
i, j, k: integer;
begin
for i := 0 to 1 do
for j := 0 to 1 do
for k := 0 to 1 do
begin
A := (i = 1); B := (j = 1); C := (k = 1);
F := ((A and B) and C) = (A and (B and C));
Writeln('A=', A, ', B=', B, ', C=', C, ', результат сравнения:', F)
end
end.
<u>Результат выполнения программы:</u>
A=False, B=False, C=False, результат сравнения:True
A=False, B=False, C=True, результат сравнения:True
A=False, B=True, C=False, результат сравнения:True
A=False, B=True, C=True, результат сравнения:True
A=True, B=False, C=False, результат сравнения:True
A=True, B=False, C=True, результат сравнения:True
A=True, B=True, C=False, результат сравнения:True
A=True, B=True, C=True, результат сравнения:True
<u>Задание 2.</u>
var
a, b, c: integer;
begin
for a := 1 to 9 do
for b := 0 to 9 do
for c := 0 to 9 do
if sqr(10 * a + b) - sqr(c) = 100 * a + 10 * b + c then Writeln(a, b, c)
end.
<u>Результат выполнения программы:</u>
100
147
16000000*5*60=4800000000 (бит);
4800000000/(8*1024*1024*1024)=4800000000/8589934592≈0,56 (гигабайт);
0,56<1;
Ответ: 1) ≈0,56 гигабайт;
2) 0 рублей.
Program Project2;
{$APPTYPE CONSOLE}
uses SysUtils,windows;constnMin=1;nMax=20;typemas=array[nMin..Nmax] of integer;
Vara:mas; i:integer;s:real;begin setconsoleCP(1251); setconsoleOutPutCp(1251); randomize;
for i:=1 to nMax doa[i]:=random(1000)-500;writeln ('Ìàññèâ:'); for i:=1 to nMax do beginwrite ('');write (a[i]:2);writeln ('');end;s:=0;for i:=1 to Nmax dobeginIf a[i]<0 thens:=s+a[i];end;writeln ('Ñóììà îòðèöàòåëüíûõ ýëåìåíòîâ ìàññèâà = ',s:2:2);readln;end.<span>
</span>