Turbo Pascal

Β 

Β 

Β 

Β 

Β 

Β 

Β 

Β 

Β 

Β 

Β 

Β 

Β 

Β 

Β 

Π’Π˜Π’Π£Π›Π¬ΠΠ«Π™ Π›Π˜Π‘Π’

TURBO PASCAL

Β 

Β 

Π—Π°Π΄Π°Π½ΠΈΠ΅ 1

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΒ Ρ‚Π°Π±Π»ΠΈΡ†ΡƒΒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΒ  Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅ с шагом 0,1.

Π Π•Π¨Π•ΠΠ˜Π•.

Для получСния значСний Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΒ  Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅Β ΠΎΡ€Π³Π°Π½ΠΈΠ·ΡƒΠ΅ΠΌ Ρ†ΠΈΠΊΠ» с постусловиСм. Π‘Π»ΠΎΠΊ-схСма Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° прСдставлСна Π½ΠΈΠΆΠ΅.

Β 

Рис. 1. Π‘Π»ΠΎΠΊ-схСма алгоритма.

Β 

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌΒ Π½ΠΈΠΆΠ΅ тСкст программы, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅ΠΉΒ Π΄Π°Π½Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ.

PROGRAM z1;Β Β Β Β 

VAR x, y: Real; Β Β {ОбъявлСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…}

BeginΒ Β Β Β {Начало ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹}

Β  x:=-pi/2;Β Β Β {ΠΠ°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ числа Ρ…}

Β  repeatΒ Β Β {Π¦ΠΈΠΊΠ» с постусловиСм}

Β Β Β  y:=sin(x)+cos(x);Β {ВычислСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ}

Β Β Β  x:=x+0.1;Β Β {ВычислСниС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ значСния Ρ…}

Β Β Β  writeln('Π΅=',x:5:3,'Β Β  y=',y:5:3);{Π’Ρ‹Π²ΠΎΠ΄ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²}

Β  until x>pi/2;Β Β {ΠŸΠΎΡΡ‚ΡƒΡΠ»ΠΎΠ²ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Π°}

end.Β Β Β Β {ΠšΠΎΠ½Π΅Ρ† ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹}

Π—Π°Π΄Π°Π½ΠΈΠ΅ 4

Π’ Π΄Π°Π½Π½ΠΎΠΌ массивС чисСл  , , …, Π½Π°ΠΉΡ‚ΠΈ наимСньшСС срСди ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл.

Π Π•Π¨Π•ΠΠ˜Π•.

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΒ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΡƒΠ΅ΠΌ Ρ†ΠΈΠΊΠ» for, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π·Π½Π°ΠΊ числа ΠΈ, Ссли ΠΎΠ½ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π½Π° минимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π‘Π»ΠΎΠΊ-схСма Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° прСдставлСна Π½ΠΈΠΆΠ΅.

Β 

Рис. 2. Π‘Π»ΠΎΠΊ-схСма Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.

Β 

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌΒ Π½ΠΈΠΆΠ΅ тСкст программы, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅ΠΉ Π΄Π°Π½Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ.

PROGRAM z4;

Var i: integer;

    x: Array[0..17] of Real; {ОбъявлСниС массива}

begin

x[0]:=1.7e38; {НаибольшСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° real}

for i:=1 to 17 do begin

Β  write('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Ρ…[',i,']=');

Β  readln(x[i]);Β  {Π’Π²ΠΎΠ΄ i-Π³ΠΎ значСния массива x}

Β  if x[i]>0 then {ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π·Π½Π°ΠΊΠ°}

Β Β Β  if x[i]<x[0] then x[0]:=x[i]; {ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° минимального

 значСния}

end;

if x[0]<1.7e38 then writeln('НаимСньшСС ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ массива Ρ… Ρ€Π°Π²Π½ΠΎ ',x[0])

Β Β Β Β Β Β Β Β Β Β Β Β Β Β  else writeln('ΠŸΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ…Β Π·Π½Π°Ρ‡Π½ΠΈΠΉΒ Π²Β  массивС нСт');

end.

Β 

Β 

Π—Π°Π΄Π°Π½ΠΈΠ΅ 5

Π”Π°Π½Π°Β ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°Β  . ΠŸΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами 2-ю ΠΈ 4-ю строки.

Π Π•Π¨Π•ΠΠ˜Π•.

Для выполнСния данного задания при вводС  исходных Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π²Π°Β Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ…Β Ρ†ΠΈΠΊΠ»Π°: ΠΎΠ΄ΠΈΠ½ для  ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° строк, Π΄Ρ€ΡƒΠ³ΠΎΠΉ для пСрСбора столбцов.

ВСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅ΠΉΒ Π·Π°Π΄Π°Π½ΠΈΠ΅ 5, прСдставлСн  Π½ΠΈΠΆΠ΅.

PROGRAM Z5;

var fi, fo: text; {ОбъявлСниС тСкстовых Ρ„Π°ΠΉΠ»ΠΎΠ²}

Β Β Β  name: string; {ОбъявлСниС строковой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ}

Β Β Β  x: real; {ОбъявлСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ для ΠΎΠ±ΠΌΠ΅Π½Π° ячССк массива}

Β Β Β  i, j: integer; {ОбъявлСниС Ρ†Π΅Π»Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… для Ρ†ΠΈΠΊΠ»ΠΎΠ²}

Β Β Β  A: Array[1..5,1..5] of real; {ОбъявлСниС массива Π΄Π°Π½Π½Ρ‹Ρ…}

begin

write('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ имя Ρ„Π°ΠΉΠ»Π° Π΄Π°Π½Π½Ρ‹Ρ…: ');

readln(name);

assign(fi,name); {УстановлСниС связи ΠΌ/Ρƒ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β  ΠΈΒ ΠΈΠΌΠ΅Π½Π΅ΠΌΒ Ρ„Π°ΠΉΠ»Π°}

reset(fi); {ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° для чтСния}

for i:=1 to 5 do

Β  for j:=1 to 5 do read(fi,A[i,j]); {ΠŸΠΎΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π½ΠΎΠ΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅}

close(fi); {Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°}

for j:=1 to 5 do begin

Β  x:=A[2,j]; A[2,j]:=A[4,j]; A[4,j]:=x

end;

write('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ имя Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°: ');

readln(name);

assign(fo,name);

rewrite(fo); {ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° для записи}

for i:=1 to 5 do

Β  for j:=1 to 5 do write(fo,A[i,j]:6:2); {ΠŸΠΎΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄}

close(fo) {Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°}

end.

Β 

Π—Π°Π΄Π°Π½ΠΈΠ΅ 6

Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ .

Π Π•Π¨Π•ΠΠ˜Π•.

Для выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ задания Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ pro(a,n), Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ массив с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ Π΅Π³ΠΎ Π΄Π»ΠΈΠ½Ρƒ. Ѐункция выполняСт ΠΏΠ΅Ρ€Π΅ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ элСмСнтов ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ массива.

Π‘Π»ΠΎΠΊ-схСма данного алгоритма  проста, поэтому нС приводится.

ВСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹Β ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅.

PROGRAM Z6;

var x: Array[1..10] of Integer; {ОбъявлСниС }

    y: Array[1..15] of Integer; {массивов }

    i: integer;  {ОбъявлСниС }

Β Β Β  z: longint; {ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Ρ‹Ρ… }

Β 

{ОбъявлСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ}

function pro(a: Array of Integer; n: integer): longint;

Β  var j: integer; {ОбъявлСниС Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ…}

Β Β Β Β Β  p: longint; {ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… }

Β  begin

Β  p:=a[0]; {ΠΠ°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ произвСдСния}

Β  for j:=1 to n-1 do p:=p*a[j]; {ВычислСниС произвСдСния}

Β  pro:=p; {ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ значСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ}

Β  end;

begin

Β  writeln('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ массив Ρ….');

Β  for i:=1 to 10 do begin

Β Β Β  write('x[',i,']=');

Β Β Β  readln(x[i]) {Π’Π²ΠΎΠ΄ Π² Ρ†ΠΈΠΊΠ»Π΅ массива Ρ…}

Β  end;

Β  writeln('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ массив y.');

Β  for i:=1 to 15 do begin

Β Β Β  write('y[',i,']=');

Β Β Β  readln(y[i])Β  {Π’Π²ΠΎΠ΄ Π² Ρ†ΠΈΠΊΠ»Π΅ массива Ρƒ}

Β  end;

z:=pro(x,10)+pro(y,15); {ВычислСниС Z}

write('Z=',z); {Π’Ρ‹Π²ΠΎΠ΄ значСния Z}

end.




Turbo Pascal