Это б)
uses crt;
var S,b,h:real;
begin
writeln('Введите b,h':);
readln(b,h);
S:=1/2*b*h;
writeln('S=',S);
readln;
end.
а)
uses crt;
var a,b,c,P:integer;
begin
writeln('Введите a,b,c':);
readln(a,b,c);
P:=a+b+c;
writeln('P=',P);
readln;
end.
в)
uses crt;
var a,b,c,S,R1,R:real;
begin
writeln('Введите a,b,c,S':);
readln(a,b,c,S);
R1:=a*b*c;
R:=R1/4*s;
writeln('R-',R);
readln;
end.
Var
s, s1: string;
i: integer;
begin
writeln('введите предложение ');
readln(s);
repeat
i := pos(' ', s);
delete(s, i, 1);
until i = 0;
s1 := '';
for i := length(s) downto 1 do
s1 := s1 + s[i];
if s = s1 then
writeln('это палиндром')
else
writeln('не палиндром');
end.
Ввод данных
Для ввода исходных данных чаще всего используется процедура ReadLn:
ReadLn(A1,A2,...AK);
Процедура производит чтение К значений исходных данных и присваивает эти значения переменным А1, А2, ..., АК.
При вводе исходных данных происходит преобразование из внешней формы представления во внутреннюю, определяемую типом переменных. Переменные, образующие список ввода, могут принадлежать либо к целому, либо к действительному, либо к символьному типам. Чтение исходных данных логического типа в языке Паскаль недопустимо.
Значения исходных данных могут отделяться друг от друга пробелами и нажатием клавиш табуляции и Enter.
Не допускается разделение вводимых чисел запятыми!
Вывод данных
Для вывода результатов работы программы на экран используются процедуры:
Write(A1,A2,...AK);
WriteLn(A1,A2,...AK);
Первый из этих операторов производит вывод значений переменных А1, А2,...,АК в строку экрана. Второй оператор, в отличие от первого, не только производит вывод данных на экран, но и производит переход к началу следующей экранной строки. Если процедура writeln используется без параметров, то она просто производит пропуск строки и переход к началу следующей строки.
Переменные, составляющие список вывода, могут относиться к целому, действительному, символьному или булевскому типам. В качестве элемента списка вывода кроме имен переменных могут использоваться выражения и строки.
Форма представления значений в поле вывода соответствует типу переменных и выражений: величины целого типа выводятся как целые десятичные числа, действительного типа - как действительные десятичные числа с десятичным порядком, символьного типа и строки - в виде символов, логического типа - в виде логических констант TRUE и FALSE.
Оператор вывода позволяет задать ширину поля вывода для каждого элемента списка вывода. В этом случае элемент списка вывода имеет вид А:К, где А - выражение или строка, К - выражение либо константа целого типа. Если выводимое значение занимает в поле вывода меньше позиций, чем К, то перед этим значением располагаются пробелы. Если выводимое значение не помещается в ширину поля К, то для этого значения будет отведено необходимое количество позиций.
Для величин действительного типа элемент списка вывода может иметь вид А:К:М, где А - переменная или выражение действительного типа, К - ширина поля вывода, М - число цифр дробной части выводимого значения. К и М - выражения или константы целого типа. В этом случае действительные значения выводятся в форме десятичного числа с фиксированной точкой.
Пример записи операторов вывода:
var rA, rB: Real;
iP,iQ:Integer;
bR, bS: Boolean;
chT, chV, chU, chW: Char;
begin
. . .
WriteLn(rA, rB:10:2);
WriteLn(iP, iQ:8);
WriteLn(bR, bS:8);
WriteLn(chT, chV, chU, chW);
end.
//Новая версия с "Поехавшей анимацией..."
uses GraphABC;
var
x, y, i, j, k, p, a: integer;
begin
x := 400;
y := 150;
Window.Init(0, 0, 1280, 720, clwhite);
Window.IsFixedSize := true;
Pen.Width := 4;
Pen.Color := clSaddleBrown;
for a := 1 to 5 do
begin
x := x + 80;
line(x, y, x, y + 400);
line(x + 75, y, x + 75, y + 400);
line(x, y + 400, x + 75, y + 400);
for i := 3 to 72 do
begin
for j := 2 to 397 do
begin
setpixel(x + i, y + j, clBurlyWood);
end;
end;
p := 1;
for i := 3 to 36 do
begin
for j := 1 to 50 do
begin
if(j <= p) then setpixel(x + i, y - j + 2, clBurlyWood);
end;
p := p + 1;
end;
p := 38;
for i := 36 to 72 do
begin
for j := 1 to 50 do
begin
if(j <= p) then setpixel(x + i, y - j + 2, clBurlyWood);
end;
p := p - 1;
if(j mod 15 = 0) then p := p - 1;
end;
Pen.Width := 5;
line(x, y, x + 38, y - 38);
line(x + 75, y, x + 38, y - 38);
Pen.Width := 4;
end;
end.