Примеры программ на языке ПАСКАЛЬ ⇐ ПредыдущаяСтр 4 из 4
{Программа № 1 - меняет местами строку с минимальным элементом и строку с максимальным} program matr; uses Crt; type mas=array[0..15,0..15] of real; var mtr :mas; i,j,iMax,iMin,n,m :integer; ff :char; max,min,prom ,x :real; begin TextBackGround(9);TextColor(14);ClrScr;GotoXY(10,5); write('Введите размер матрицы (через пробел) ');read(n,m); writeln;writeln(' Исходная матрица ');writeln; for i:=1 to n do begin for j:=1 to m do begin mtr[i,j]:=i*j*sin(0.5*i*j); write(mtr[i,j]:6:2); end; writeln; end; max:=mtr[1,1];min:=mtr[1,1];{Выделяем максимальный и минимальный элементы} iMax:=1;iMin:=1; for i:=1 to n do begin for j:=1 to m do begin if max<mtr[i,j] then begin max:=mtr[i,j];iMax:=i; end; if min>mtr[i,j] then begin min:=mtr[i,j];iMin:=i; end; end; end; { Меняем местами строки} for j:=1 to m do begin prom:=mtr[iMax,j]; mtr[iMax,j]:=mtr[iMin,j]; mtr[iMin,j]:=prom; end; writeln;writeln(' Измененная матрица ');writeln; for i:=1 to n do begin for j:=1 to m do begin write(mtr[i,j]:6:2); end; writeln; end; gotoXY(50,6); write('iMax = ',iMax,' iMin = ',iMin); ff:= readKey; end.
{Программа № 2 - создает функцию возведения в степень, процедуру для преобразования матриц и показывает как они используются в главной программе. Также демонстрируется работа с текстовыми файлами последовательного доступа }
program primer; uses Crt;
function POWER(y,x:real):real; {vozvedenie y v stepen x} begin {POWER} if y>0 then POWER:=exp(x*ln(y)) else if y<0 then POWER:=exp(x*ln(abs(y))) else if x=0 then POWER:=1 else POWER:=0; end;{POWER}
const maxind=15; type Matriza2=array[1..maxind,1..maxind] of real;
procedure ZAMENA(n:integer; {peredaetca kak znahenie} var B :Matriza2); {to zto zdes, budet menatca i v glavnoi} var i,j :integer; begin for i:=1 to n do B[i,1]:=0; for j:=1 to n do B[1,j]:=0; end; {********** glavnay programma ********************} var i,j,n :integer; x,y,z :real; A :Matriza2; f1 :text; s :string[11]; begin textBackground(9);textColor(15);clrScr;gotoXY(10,10); write('Vvedite y, x: ');readln(y,x); z:=POWER(y,x);writeln;writeln(' rezultat = ',z:8:2);writeln;
write('Vvedite n ');read(n);writeln; for i:=1 to n do begin for j:=1 to n do begin A[i,j]:=1; write(A[i,j]:3:0); end; writeln; end; readkey;writeln;writeln; ZAMENA(n,A); for i:=1 to n do begin for j:=1 to n do begin write(A[i,j]:3:0); end; writeln; end; readkey; {*** rabota s failami ***} write('Vvedite name file:'); readln(s);{ bez nego ne rabotaet} readln(s); writeln; assign(f1,s); {svazivanie file s peremennoy f1} {$I-} {otkl kontrol za operaziymi vvod/vivoda.Esli ne sdelat, to otsutstvie file dast osibku i ostanov progi} rewrite(f1); {otkrili file dla zapisi} {$I+} if IORESULT<>0 then begin writeln('file error');readkey;exit;end; for i:=1 to n do for j:=1 to n do write(f1,A[i,j]:3:0); {zapis v file} close(f1); {zakrili file}
assign(f1,s); {$I-} reset(f1); {otkrili dla ztenia} {$I+} if IORESULT<>0 then begin writeln('Takogo file net');readkey;exit;end; writeln('---- rezultat iz file ---- ');writeln; while not EOF(f1) do begin for i:=1 to n do begin for j:=1 to n do begin read(f1,x); {ztenie iz file} write(x:5:1); end; writeln; end; end; close(f1); readkey; end.
©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|