Напишите 2 программы в abc pascal 1.с клавиатуры вводится число вывести его модуль. 2.дана точка с координатами x1,y1 и точка с координатами x2,y2. как располагается отрезок относительно осей координат
1. program z1; var q,w:real; begin writeln('введите число'); readln(q); w:=abs(q); writeln('модуль, введенного вами числа = ',w); end.
2. program z1; var x1,x2,y1,y2:real; begin writeln('введите координаты 1-й точки'); readln(x1,y1); writeln('введите координаты 2-й точки'); readln(x2,y2); if x1=x2 then writeln('отрезок перпендикулярен оси ОХ и параллелен оси ОY') else if y1=y2 then writeln('отрезок перпендикулярен оси ОY и параллелен оси ОX') else writeln('отрезок располагается под углом к осям'); end.
Program yeah; var a,b,c,d,n:integer; begin writeln('введите число.(0-юноша,1-девушка).'); readln(n); if n=0 then begin writeln('введите вес'); readln(a); writeln('введите рост'); readln(b); if b=110 then begin if a<=b then writeln('юноша принят.'); end; if a>b then writeln('не подходит по весу.'); if b<>110 then writeln('не подходит по росту.'); end; if n=1 then begin writeln('введите вес'); readln(a); writeln('введите рост'); readln(b); if b=115 then begin if a<=b then writeln('девушка принята.'); end; if a>b then writeln('не подходит по весу.'); if b<>115 then writeln('не подходит по росту.'); end; end.
Будем считать, что числа n, m заранее известны. Делать в Паскале динамические массивы - это очень большой геморрой. 1. PROGRAM Even var i, j, P: integer; var array A[1..n, 1..m] of integer; BEGIN for i:=1 to n do for j:=1 to m do readln (A[i, j]); // цикл ввода начального массива for i:=1 to n do // цикл по строкам begin P:=1; // произведение четных чисел for j:=1 to m do // цикл по столбцам begin if (A[i, j] mod 2 = 0) then P:= P*A[i, j]; // умножаем очередное четное число end; A[i, m] := P; // вместо последнего числа записываем произведение четных end; for i:=1 to n do for j:=1 to m do writeln (A[i, j]); // цикл вывода конечного массива END.
2. PROGRAM MinMax var i, j, Q, min, nmin, max, nmax: integer; var array A[1..n, 1..m] of integer; BEGIN for i:=1 to n do for j:=1 to m do readln (A[i, j]); // цикл ввода начального массива for i:=1 to n do // цикл по строкам begin min:=A[i, 1]; nmin:=1; max:=A[i, 1]; nmax:=1; // начальные значения for j:=1 to m do // цикл по столбцам begin if (A[i, j] > max) then max:= A[i, j]; nmax = j;// устанавливаем максимум if (A[i, j] < min) then min:= A[i, j]; nmin = j;// устанавливаем максимум end; Q:=A[i, nmin]; A[i, nmin]:=A[i, nmax]; A[i, nmax]:=Q; // меняем их местами end; for i:=1 to n do for j:=1 to m do writeln (A[i, j]); // цикл вывода конечного массива END.
3. PROGRAM Povorot var i, j, k, Q: integer; var array A[1..n, 1..m], B[1..m, 1..n] of integer; BEGIN for i:=1 to n do for j:=1 to m do readln (A[i, j]); // цикл ввода начального массива for i=1 to m do // цикл по m строкам нового массива (их m, как столбцов в А) begin for j:=1 to n do // цикл по n столбцам нового массива (как строк в А) B[i, j]:=A[j, n-i+1]; // формируем новый массив end; for i:=1 to m do for j:=1 to n do writeln (B[i, j]); // цикл вывода конечного массива END.
program z1;
var q,w:real;
begin
writeln('введите число');
readln(q);
w:=abs(q);
writeln('модуль, введенного вами числа = ',w);
end.
2.
program z1;
var x1,x2,y1,y2:real;
begin
writeln('введите координаты 1-й точки');
readln(x1,y1);
writeln('введите координаты 2-й точки');
readln(x2,y2);
if x1=x2 then
writeln('отрезок перпендикулярен оси ОХ и параллелен оси ОY')
else
if y1=y2 then
writeln('отрезок перпендикулярен оси ОY и параллелен оси ОX')
else
writeln('отрезок располагается под углом к осям');
end.