Дано трехзначное число. определить, какая из его цифр больше: а) первая или последняя; б) первая или вторая; в) вторая или последняя. решить на visual studio
Program Digit; Var a, a1, a2, a3: Integer; Label Start; Begin Start: WriteLn('Введите трехзначное число'); ReadLn(a); If (a < 100) Or (a > 999) Then Begin WriteLn('Вы ввели не трехзначное число'); Goto Start; End; a1 := a div 100; a2 := (a - a1 * 100) div 10; a3 := a - a1 * 100 - a2 * 10; If a1 > a3 ThenWriteLn('Первая цифра больше последней') Else Writeln('Последняя цифра больше первой'); If a1 > a2 Then WriteLn('Первая цифра больше второй') Else Writeln('Вторая цифра больше первой'); If a2 > a3 Then WriteLn('Вторая цифра больше последней') Else Writeln('Последняя цифра больше второй'); ReadLn; End.
дешифровки: Const sh = '_.,'; Var St : String; i : Integer; Function DeCode(S : String; Tabl : String; k : Integer) : String; Var j,n : Integer; Begin For j:=1 to Length(S) do Begin n:=Pos(S[j],sh); If n>0 then Begin n:=n+k; While n>Length(sh) do n:=n-Length(sh); While n<=0 do n:=n+Length(sh); S[j]:=sh[n]; end end; DeCode:=S; end; Begin St:='ЗЫФЙГФШРЦ . ШД'; Writeln(Decode(St,sh,-6)); //For i:=-10 to 10 do Writeln(Decode(St,sh,i)); end.
Расстояние от точки до начала координат находится как длина гипотенузы прямоугольного треугольника, катетами которого являются координаты точки. Поскольку нам нужны не сами расстояния, а лишь сравнить их, то можно сравнивать квадраты, чтобы не извлекать корня.
// PascalABC.NET 3.0, сборка 1088 var x1,x2,y1,y2,r1,r2:real; begin Write('Введите координаты первой точки: '); Read(x1,y1); Write('Введите координаты второй точки: '); Read(x2,y2); r1:=sqr(x1)+sqr(y1); r2:=sqr(x2)+sqr(y2); if r1>r2 then Writeln('Ближе вторая точка') else if r1<r2 then Writeln('Ближе первая точка') else Writeln('Точки равноудалены') end.
Тестовое решение: Введите координаты первой точки: 16.3 -11.7 Введите координаты второй точки: 15.8 12 Ближе вторая точка
Var a, a1, a2, a3: Integer;
Label Start;
Begin
Start:
WriteLn('Введите трехзначное число');
ReadLn(a);
If (a < 100) Or (a > 999) Then
Begin
WriteLn('Вы ввели не трехзначное число');
Goto Start;
End;
a1 := a div 100;
a2 := (a - a1 * 100) div 10;
a3 := a - a1 * 100 - a2 * 10;
If a1 > a3 ThenWriteLn('Первая цифра больше последней')
Else
Writeln('Последняя цифра больше первой');
If a1 > a2 Then
WriteLn('Первая цифра больше второй')
Else
Writeln('Вторая цифра больше первой');
If a2 > a3 Then
WriteLn('Вторая цифра больше последней')
Else
Writeln('Последняя цифра больше второй');
ReadLn;
End.