⦁ Опишите типы данных у следующих переменных (Integer, String, Boolean, Real, Char)
⦁ S:=56
⦁ D:= ‘разница’
⦁ W:= 6/c+9
⦁ Rz:=* ⦁ K:=#
⦁ B:= A>55
⦁ C:= 2.369
⦁ Rez:= ‘лига’
⦁ Перевести из двоичной СС в десятичную число 1110112
⦁ Чему будет равна переменная а после выполнения алгоритма:
а:=8
b:=3
b:=64-a*b
a:=b*a/10
⦁ Что позволяет выполнить оператор Writeln? привести пример части кода с использованием оператора Writeln.
⦁ Исправь ошибки в программе. Наберите в Паскале без ошибок https://www.onlinegdb.com/online_pascal_compiler или перепишите в тетрадь без ошибок
n=8;
var
aNam, aFam, aDat: array[1..n] of string;
i: integer;
begin
aNam[1]:='Олег'; aFam[1]:='Бубенков'; aDat[1]:='1993';
aNam[2]:='Игорь'; aFam[2]:='Бросов'; aDat[2]:='1991';
aNam[3]:='Тимур'; aFam[3]:='Наружный'; aDat[3]:='1961';
aNam[4]:='Анастасия'; aFam[4]:='Боброва'; aDat[4]:='1985';
aNam[5]:='Михаил'; aFam[5]:='Тапаров'; aDat[5]:='1957';
aNam[6]:='Евгений'; aFam[6]:='Костарева'; aDat[6]:='1992';
aNam[7]:='Мария'; aFam[7]:='Никитин'; aDat[7]:='1977';
aNam[8]:='Ксения'; aFam[8]:='Бабенкова'; aDat[8]:='1978';
writeln('Лица, чьи фамилии начинаются на букву "Б"');
for i := 1 to n do
if aFam[i][1] = 'Б' then
writeln(aNam[i],' ',aFam[i], ' (', aDat[i], ')')
end.
тестовый прогон:
Лица, чьи фамилии начинаются на букву "Б"
Олег Бубенков (1993)
Игорь Бросов (1991)
Анастасия Боброва (1985)
Ксения Бабенкова (1978)
Возможна также более "современная" запись программы
const
n = 8;
type
tP = record
Nam: string;
Fam: string;
Dat: string
end;
var
M: array[1..n] of tP;
i: integer;
begin
with M[1] do begin Nam := 'Олег'; Fam := 'Бубенков'; Dat := '1993' end;
with M[2] do begin Nam := 'Игорь'; Fam := 'Бросов'; Dat := '1991' end;
with M[3] do begin Nam := 'Тимур'; Fam := 'Наружный'; Dat := '1961' end;
with M[4] do begin Nam := 'Анастасия'; Fam := 'Боброва'; Dat := '1985' end;
with M[5] do begin Nam := 'Михаил'; Fam := 'Тапаров'; Dat := '1957' end;
with M[6] do begin Nam := 'Евгений'; Fam := 'Костарева'; Dat := '1992' end;
with M[7] do begin Nam := 'Мария'; Fam := 'Никитин'; Dat := '1977' end;
with M[8] do begin Nam := 'Ксения'; Fam := 'Бабенкова'; Dat := '1978' end;
writeln('Лица, чьи фамилии начинаются на букву "Б"');
for i := 1 to n do
With M[i] do begin
if Fam[1] = 'Б' then
writeln(Nam, ' ', Fam, ' (', Dat, ')')
end
end.
const
n = 2;
type
student = record
f: string;
p1, p2, p3: integer;
end;
var
a: array[1..n] of student;
m: array[1..n]of real;
i: integer;
s: real;
begin
s := 0;
for i := 1 to n do
begin
writeln('Введите фамилию ', i, ' ученика ');
readln(a[i].f);
writeln('оценки по 3 предметам ');
readln(a[i].p1, a[i].p2, a[i].p3);
if (a[i].p1 + a[i].p2 + a[i].p3) / 3 >= s then begin
s := (a[i].p1 + a[i].p2 + a[i].p3) / 3;
m[i] := s;
end;
end;
if m[1] = m[2] then writeln('Средний учащихся одинаков')
else if m[1] > m[2] then
writeln(a[1].f, ' учится лучше')
else writeln(a[2].f, ' учится лучше')
end.
Тест №1
Введите фамилию 1 ученика
Иванов
оценки по 3 предметам
3 4 5
Введите фамилию 2 ученика
Петров
оценки по 3 предметам
4 4 4
Средний учащихся одинаков
Тест №2
Введите фамилию 1 ученика
Иванов
оценки по 3 предметам
3 4 4
Введите фамилию 2 ученика
Петров
оценки по 3 предметам
5 5 5
Петров учится лучше
//Задание 34
var a,b,c,min,max:integer;
begin
readln(a,b,c);
min:=a; max:=a;
if b<min then min:=b;
if b>max then max:=b;
if c<min then min:=c;
if c>max then max:=c;
writeln(max-min);
end.