1. var x,y:integer; begin write('x = '); readln(x); if x>0 then y:=1 else if x=0 then y:=0 else y:=-1; writeln('y = ',y); end.
Пример: x = -5 y = -1
2. var a,b,c,x1,x2,d:real; begin writeln('Введите a, b, c:'); readln(a,b,c); d:=b*b-4*a*c; if d>0 then begin x1:=(-b+sqrt(d))/(2*a); x2:=(-b-sqrt(d))/(2*a); writeln('x1 = ',x1,' x2 = ',x2); end else if d=0 then begin x1:=-b/(2*a); writeln('x = ',x1); end else writeln('Корней нет'); end.
Пример: Введите a, b, c: 2 5 -3 x1 = 0.5 x2 = -3
3. var a,b,c:real; begin writeln('Введите a, b, c:'); readln(a,b,c); if (a<=b)and(b<=c) then begin b:=a; c:=a; end else begin a:=-a; b:=-b; c:=-c; end; writeln('a = ',a,' b = ',b,' c = ',c); end.
Пример 1: Введите a, b, c: 2 5 9 a = 2 b = 2 c = 2
Пример 2: Введите a, b, c: 2 9 5 a = -2 b = -9 c = -5
Код Pascal1 2 3 4 5 6 7 8 9 10 11 12 begin var Size := ReadLnInteger('Размер массива ='); var A : array of Integer; SetLength(A, Size); for var i := 0 to pred(Size) do A[i] := ReadLnInteger('A[' + (i+1).ToString + '] ='); WriteLn('Введён массив A = ', A); var count := 0; for var i := 0 to pred(Size) do if Not odd(A[i]) then count += 1; WriteLn('В массиве чётных элементов: ', count); var max := 0; for var i := 1 to pred(Size) do if A[max] < A[i] then max := i; var k := ReadLnInteger('k = '); A[max] *= k; WriteLn('Массив A = ', A); end.
Перевод из 10-ричной в 2-ную осуществляется с деления в столбик:
A = 23_{10} = 10111_2A=2310=101112
* Расчеты на прикрепленной картинке
Для перевода из 8-ричной в 2-ную необходимо каждую цифру 8-ричного числа представить в виде двоичной триады:
\begin{gathered}B = 23_8 = 010\,\,011_2\\\end{gathered}B=238=0100112
Для перевода из 16-ричной в 2-ную необходимо каждую цифру 16-ричного числа представить в виде двоичной тетрады:
\begin{gathered}C = 1A_{16} = 0001\,1010_2\\\end{gathered}C=1A16=000110102
\begin{gathered}A \lor B\\\end{gathered}A∨B
10111_2 \lor 10011_2 = 10 1010_2101112∨100112=1010102
\begin{gathered}\begin{array}{r}\\\begin{array}{r}\cdot\cdot\cdot~~\\\end{array} \\+\begin{array}{r}10111\\10011\\\end{array} \\\begin{array}{r}10 1010\\\end{array}\end{array}\\\end{gathered}⋅⋅⋅ +1011110011101010
Примечание: 1 + 1 = 0, и единицу запоминаем и переносим на следующий разряд; 1 + 0 = 1; 0 + 0 = 0;
(A \lor B) \,\& \,C(A∨B)&C
101010_2 \& 011010_2 = 100 0100 0100_21010102&0110102=100010001002
\begin{gathered}\begin{array}{r}*\begin{array}{r}101010\\011010\\\end{array} \\\begin{array}{r}000000\\101010\enspace\\000000\enspace\enspace\\101010\enspace\enspace\enspace\\101010\enspace\enspace\enspace\enspace\\000000\enspace\enspace\enspace\enspace\enspace\\100 0100 0100\end{array}\end{array}\end{gathered}∗10101001101000000010101000000010101010101000000010001000100
Переводим в 10-ную:
100 0100 0100_2 = 1*2^{10} + 1*2^{6} + 1*2^{2} = 1 024 + 64 + 4 = 1 092_{10}100010001002=1∗210+1∗26+1∗22=1024+64+4=109210
ответ: 1092