Составить алгоритм и написать решение на паскале: две точки заданны своими координатами. найти диагональ, периметр и площадь квадрата со стороной, образованной этими точками.
Var x1,x2,y1,y2:integer; a:real; begin readln(x1,y1,x2,y2); a:=sqrt(sqr(x2-x1)+sqr(y2-y1)); writeln('d=',a*sqrt(2)); writeln('P=',a*4); writeln('S=',sqr(a)); end.
Пример ввода: 2 2 2 3 Пример вывода: d=1.4142135623731 P=4 S=1
program Znanija; var Ax, Ay, Bx, By : integer; C, D, P : real; begin Writeln('Введите через пробел координаты точки А и нажмите Enter'); Readln(Ax, Ay); Writeln('Введите через пробел координаты точки В и нажмите Enter'); Readln(Bx, By); C:=sqrt(sqr(Bx-Ax)+ sqr(By-Ay)); Writeln('Площадь квадрата', sqr(C):10:2); P:=C*4; Writeln('Периметр квадрата', P:10:2); D:=sqrt(sqr(C)*2); Writeln('Диагональ квадрата', D:10:2); Readln end.
ОК, всё это циклы. 1) Цикл for (цикл с счётчиком), при этом при каждом шаге цикла счётчик увеличивается на 1. Пример: for a:=1 to 10 do //Цикл будет выполнен 10 раз 2) Цикл for (цикл с счётчиком), при этом при каждом шаге цикла счётчик уменьшается на 1. Пример: for a:=10 to 1 do //Цикл будет выполнен 10 раз 3)Цикл с постусолвием. Если условие не выполняется, выполняется цикл. Его особенность заключается в том, что цикл выполнится хотя бы один раз вне зависимости от условия. Пример: k:=0; repeat inc(k); until k<9 //10 раз 4)Цикл с предусловием. Пока условие выполняется, выполняется и цикл. Пример: k:=0; while k<>10 do inc(k); //10 раз
{Данная программа переводит любое сочетание символов ASCII в систему счисления заданную пользователем.}
//Pascal ABC.NET v3.0 сборка 1111
var a,i,b,r,n,j,bug:integer; s,se,slo,slof:string;
procedure preob(var a,b,n:integer; var se:string); begin repeat b:=a mod n; a:=a div n; str(b,se); s+=se; until (a<=n-1); end;
beginreadln(slo); readln(n); for j:=1 to length(slo) do begin; a:=ord(slo[j]); preob(a,b,n,se); str(a,se); s+=se; for i:=1 to length(s) div 2 do begin; se:=s[i]; s[i]:=s[length(s)-i+1]; s[length(s)-i+1]:=se[1]; end; write(s,'-'); slof:=slof+s; delete(s,1,length(s)); end; end.
Пример ввода: Домашняя работа на завтра. 2 Пример вывода: 11000100-11101110-11101100-11100000-11111000-11101101-11111111-11111111-100000-11110000-11100000-11100001-11101110-11110010-11100000-100000-11101101-11100000-100000-11100111-11100000-11100010-11110010-11110000-11100000-101110-
{Таким образом, фразу "Домашняя работа на завтра." можно закодировать как "11000100-11101110-11101100-11100000-11111000-11101101-11111111-11111111-100000-11110000-11100000-11100001-11101110-11110010-11100000-100000-11101101-11100000-100000-11100111-11100000-11100010-11110010-11110000-11100000-101110-".}
Var
x1,x2,y1,y2:integer;
a:real;
begin
readln(x1,y1,x2,y2);
a:=sqrt(sqr(x2-x1)+sqr(y2-y1));
writeln('d=',a*sqrt(2));
writeln('P=',a*4);
writeln('S=',sqr(a));
end.
Пример ввода:
2 2
2 3
Пример вывода:
d=1.4142135623731
P=4
S=1