Домашние задания: Информатика

Помогите с дз по информатике

Надо написать программы на языке pascal. Задания ниже на фотографии
1)
Program P1;
uses crt;
var a, b, s: real;
begin
clrscr;
write ('Введите 1-ое число: ');
readln (a);
write ('Введите 2-ое число: ');
readln (b);
if a<b then begin
writeln ('2-ое число больше.');
a:=sqr (a);
b:=b/2;
writeln (a);
writeln (b);
end else if a>b then begin
writeln ('1-ое число больше');
a:=a/2;
b:=sqr (b);
writeln (a);
writeln (b);
end else begin
writeln ('Введенные числа равны.');
s:=a+b;
writeln ('Их сумма: ', s);
end;
write ('Программа завершена. Для выхода нажмите клавишу Enter.');
readkey;
end.

2)
Program P2;
uses crt;
var a, b, c, d, min, max, s, s2: real;
begin
clrscr;
write ('Введите 1-ое число: ');
readln (a);
write ('Введите 2-ое число: ');
readln (b);
write ('Введите 3-е число: ');
readln (c);
write ('Введите 4-ое число: ');
readln (d);
if (a<b) and (a<c) and (a<d) then min:=a;
if (b<a) and (b<c) and (b<d) then min:=b;
if (c<a) and (c<b) and (c<d) then min:=c;
if (d<a) and (d<b) and (d<c) then min:=d;
if (a>b) and (a>c) and (a>d) then max:=a;
if (b>a) and (b>c) and (b>d) then max:=b;
if (c>a) and (c>b) and (c>d) then max:=c;
if (d>a) and (d>b) and (d>c) then max:=d;
s:=min+max;
s2:=sqr (s);
writeln ('Ответ: ', s2);
write ('Программа завершена. Для выхода нажмите клавишу Enter.');
readkey;
end.

Остальные см. в комментариях к этому ответу.
Дарья Рогачёва
Дарья Рогачёва
43 559
Лучший ответ
Дарья Рогачёва 3) Тут не понял: проверить на четность и двузначность по отдельности или нет, т.е. сперва проверить на четность и написать, является ли оно четным, а затем проверить на двузначность и аналогично записать или нужно проверить сразу 2 условия?

Ладно, напишу оба варианта:

1-ый вариант:

Program P3;
uses crt;
var a: real;
a1: integer;
begin
clrscr;
write ('Введите число: ');
readln (a);
a1:=trunc (a);
if a1 mod 2=0 then writeln ('Да, введенное число четное.') else writeln ('Нет, введенное число не является четным.');
if (a1>=10) and (a1<=99) then writeln ('Да, введенное число двузначное.') else writeln ('Нет, введенное число не является двузначным.');
write ('Программа завершена. Для выхода нажмите клавишу Enter.');
readkey;
end.
Дарья Рогачёва 3) 2-ой вариант:

Program P3;
uses crt;
var a: real;
a1: integer;
begin
clrscr;
write ('Введите число: ');
readln (a);
a1:=trunc (a);
if (a1 mod 2=0) and (a1>=10) and (a1<=99) then writeln ('Да, введенное число является четным и двузначным.') else writeln ('Нет, введенное число не является четным и/или двузначным.');
write ('Программа завершена. Для выхода нажмите клавишу Enter.');
readkey;
end.
Дарья Рогачёва 4)
Program P4;
uses crt;
var a, b, c: real;
begin
clrscr;
write ('Введите 1-ую сторону треугольника: ');
readln (a);
write ('Введите 2-ую сторону треугольника: ');
readln (b);
write ('Введите 3-ю сторону треугольника: ');
readln (c);
if (c=sqrt (sqr (a+b))) or (a=sqrt (sqr (b+c))) or (b=sqrt (sqr (a+c))) then writeln ('Треугольник прямоугольный.') else writeln ('Треугольник не является прямоугольным.');
write ('Программа завершена. Для выхода нажмите клавишу Enter.');
readkey;
end.
Дарья Рогачёва Program P5;
uses crt;
var a, b, c, min, max, sr: real;
begin
clrscr;
write ('Введите 1-ое число: ');
readln (a);
write ('Введите 2-ое число: ');
readln (b);
write ('Введите 3-е число: ');
readln (c);
if (a<b) and (a<c) then min:=a;
if (b<a) and (b<c) then min:=b;
if (c<a) and (c<b) then min:=c;
if (a>b) and (a>c) then max:=a;
if (b>a) and (b>c) then max:=b;
if (c>a) and (c>b) then max:=c;
sr:=(min+max)/2;
writeln ('Среднее арифметическое минимального и максимального: ', sr);
write ('Программа завершена. Для выхода нажмите клавишу Enter.');
readkey;
end.