ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° языкС Паскаль Π² срСдС Π’ΡƒΡ€Π±ΠΎ Паскаль

ΠžΡ‚Ρ‡Ρ‘Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΡΠΊΡ€Π°Π½ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΡˆΠ°Ρ…ΠΌΠ°Ρ‚Π½ΠΎΠΉ доски. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΆΠ΅Π»Ρ‚Ρ‹ΠΉ ΠΈ ΠΊΠΎΡ€ΠΈΡ‡Π½Π΅Π²Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚Π° для Π·Π°ΠΊΡ€Π°ΡˆΠΈΠ²Π°Π½ΠΈΡ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠ². ΠŸΡ€ΠΎΡ€ΠΈΡΠΎΠ²ΠΊΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π΄Π΅Ρ‚Π°Π»ΠΈ выполняСтся с Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ 1000 ΠΌΡ. ПослС ΠΏΠΎΠ»Π½ΠΎΠΉ прорисовки ΡΡ‚ΠΈΡ€Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΡƒΠ·ΠΎΡ€ Π΄ΠΎ Π½Π°ΠΆΠ°Ρ‚ия Esc. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ связанный список ΠΈΠ· Π·Π°ΠΏΠΈΡΠ΅ΠΉ, содСрТащих свСдСния ΠΎ Ρ‚ΠΎΠ²Π°Ρ€Π΅ (ΠΊΠΎΠ΄ Ρ‚ΠΎΠ²Π°Ρ€Π°, Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠ²Π°Ρ€Π°, Ρ†Π΅Π½Π°… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° языкС Паскаль Π² срСдС Π’ΡƒΡ€Π±ΠΎ Паскаль (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ЧастноС ΡƒΡ‡Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ образования КоллСдТ бизнСса ΠΈ ΠΏΡ€Π°Π²Π° ΠžΠ’Π§Π•Π’ ΠΏΠΎ ΡƒΡ‡Π΅Π±Π½ΠΎΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠžΠŸ Π’.117 013.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ» (Н.И. Π‘Π°Π²Ρ‡Π΅Π½ΠΊΠΎΠ²Π°) Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ» (Π’.А. ΠœΠ°ΠΊΡ€Π°ΠΊ).

  • 1. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Паскаль Π² ΡΡ€Π΅Π΄Π΅ Π’ΡƒΡ€Π±ΠΎ Паскаль
  • 1.1 Π›ΠΈΠ½Π΅ΠΉΠ½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹
  • 1.2 ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
  • 1.3 Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ…: массивы
  • 1.4 Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ…: строки.
  • 1.4 Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ…: записи
  • 1.5 ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅
  • 1.6 ΠŸΡ€ΡΠΌΠ°Ρ ΠΈ ΠΊΠΎΡΠ²Π΅Π½Π½Π°Ρ рСкурсия
  • 1.7 РСкурсивныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹
  • 1.8 Π‘ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ поиск
  • 1.9 Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Π²Π»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ
  • 1.10 ОбмСнная сортировка
  • 1.11 Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ
  • 1.12 БтатичСскоС ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠ°Ρ распрСдСлСниС памяти
  • 1.13 ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ списков
  • 1.14 ΠœΠΎΠ΄ΡƒΠ»ΡŒ Graph

1. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Паскаль Π² ΡΡ€Π΅Π΄Π΅ Π’ΡƒΡ€Π±ΠΎ Паскаль

1.1 Π›ΠΈΠ½Π΅ΠΉΠ½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹

УсловиС Π·Π°Π΄Π°Ρ‡ΠΈ

Π‘ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ словСсноС (матСматичСскоС) описаниС ΠΈ Π±Π»ΠΎΠΊ-схСму ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π·Π°Π΄Π°Ρ‡Π΅: Π½Π°ΠΉΡ‚ΠΈ ΠΏΠ΅Ρ€ΠΈΠΌΠ΅Ρ‚Ρ€ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° АВБ, Ссли Π΅Π³ΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ A (x1,y1), B (x2,y2), C (x3,y3,) вводятся с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. ΠŸΡ€ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ Π²Π²ΠΎΠ΄Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, вывСсти Π½Π° ΡΠΊΡ€Π°Π½ сообщСниС ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ΅ ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ввСсти ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π½Π° ΡΠΊΡ€Π°Π½Π΅.

P=AB+BC+AC

Для тСстирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ использовались Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹Π΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 1. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Ρ‚Π°ΠΌ ΠΆΠ΅.

Π’Π°Π±Π»ΠΈΡ†Π° 1 — Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ выполнСния Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

A.

B.

C.

S.

3,5.

— 4,7.

— 5,-1.

25.34.

Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ — Π›ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ

program perimetr;

uses crt;

var ab, bc, ac, x1, x2,x3,y1,y2,y3: real;

p: real;

begin

clrscr;

repeat

writeln ('vvesti koordinati verhin A');

readln (x1,y1);

writeln ('vvedite koordinati verhin B');

readln (x2,y2);

writeln ('vvedite koordinati verhin C');

readln (x3,y3);

AB: =sqrt ((sqr (x1-x2)) + (sqr (y1-y2)));

BC: =sqrt ((sqr (x2-x3)) + (sqr (y2-y3)));

AC: =sqrt ((sqr (x1-x3)) + (sqr (y1-y3)));

if (AB>=BC+AC) or (AC>=AB+BC) or (BC>=AB+AC) then writeln ('eto ne treygolnik, povtorite vvod');

until (AB<BC+AC) and (AC<AB+BC) and (BC<AB+AC);

P: =AB+BC+AC;

writeln ('perimetr treygolnika raven=', p: 0: 2);

readln;

end.

ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ‚ΡƒΡ€Π±ΠΎ паскаль Рисунок 1 — Π‘Π»ΠΎΠΊ-схСма Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ прСдставлСн Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 1.

Рисунок 1 — Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² TurboPascal.

1.2 ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π‘ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ словСсноС (матСматичСскоС) описаниС ΠΈ Π±Π»ΠΎΠΊ-схСму ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π·Π°Π΄Π°Ρ‡Π΅: Π½Π°ΠΉΡ‚ΠΈ ΠΏΠ΅Ρ€ΠΈΠΌΠ΅Ρ‚Ρ€ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° АВБ, Ссли Π΅Π³ΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ A (x1,y1), B (x2,y2), C (x3,y3,) вводятся с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. ΠŸΡ€ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ Π²Π²ΠΎΠ΄Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, вывСсти Π½Π° ΡΠΊΡ€Π°Π½ сообщСниС ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ΅ ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ввСсти ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π½Π° ΡΠΊΡ€Π°Π½Π΅.

P=AB+BC+AC

Для тСстирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ использовались Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹Π΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 2. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Ρ‚Π°ΠΌ ΠΆΠ΅.

Π’Π°Π±Π»ΠΈΡ†Π° 2 — Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ выполнСния ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

A.

B.

C.

P.

3,5.

— 4,7.

— 5,-1.

25.34.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ прСдставлСн Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 2.

Рисунок 2 — Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² TurboPascal.

Листинг — ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹.

program perimet_procedure;

uses crt;

var ab, bc, ac, x1, x2,x3,y1,y2,y3: real;

p: real;

procedure perimetr (x1,y1,x2,y2: real);

begin.

clrscr;

repeat.

writeln ('vvesti koordinati verhin A');

readln (x1,y1);

writeln ('vvedite koordinati verhin B');

readln (x2,y2);

writeln ('vvedite koordinati verhin C');

readln (x3,y3);

AB: =sqrt ((sqr (x1-x2)) + (sqr (y1-y2)));

BC: =sqrt ((sqr (x2-x3)) + (sqr (y2-y3)));

AC: =sqrt ((sqr (x1-x3)) + (sqr (y1-y3)));

if (AB>=BC+AC) or (AC>=AB+BC) or (BC>=AB+AC) then writeln ('eto ne treygolnik, povtorite vvod');

until (AB<BC+AC) and (AC<AB+BC) and (BC<AB+AC);

P: =AB+BC+AC;

end;

begin.

clrscr;

perimetr (x1,y1,x2,y2);

writeln ('perimetr treygolnika raven=', p: 0: 2);

readln;

end.

Рисунок 2 — Π‘Π»ΠΎΠΊ-схСма ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Листинг — Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Program perimetr_function;

Uses crt;

Var x1, x2,x3,y1,y2,y3: real; {объявлСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… }.

p: real;

Function stor (ab, bc, ac: real): real; {функция }.

Begin.

Repeat.

writeln ('Vvesti Koordinati Verhin |A|'); {Π²Π²ΠΎΠ΄ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ А}.

readln (x1,y1);

writeln ('Vvedite Koordinati Verhin |B|'); {Π²Π²ΠΎΠ΄ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ B}.

readln (x2,y2);

writeln ('Vvedite Koordinati Verhin |C|'); {Π²Π²ΠΎΠ΄ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ C}.

readln (x3,y3);

AB: =sqrt ((sqr (x1-x2)) + (sqr (y1-y2)));

BC: =sqrt ((sqr (x2-x3)) + (sqr (y2-y3)));

AC: =sqrt ((sqr (x1-x3)) + (sqr (y1-y3)));

if (AB>=BC+AC) or (AC>=AB+BC) or (BC>=AB+AC) then writeln ('Eto ne treygolnik, Povtorite Vvod');

until (AB<BC+AC) and (AC<AB+BC) and (BC<AB+AC);

P: =AB+BC+AC; {вычислСниС ΠΏΠ΅Ρ€ΠΈΠΌΠ΅Ρ‚Ρ€Π° }.

End;

{основная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°}.

Var ab, bc, ac: real; {объявлСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…}.

Begin.

clrscr; stor (ab, bc, ac.

);

writeln ('|Perimetr Treygolnika Raven|=', p: 0: 0,' (cm) '); {Π²Ρ‹Π²ΠΎΠ΄ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°}.

readln;

End. {ΠΊΠΎΠ½Π΅Ρ† }.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ прСдставлСн Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 3.

Рисунок 3 — Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² TurboPascal.

Рисунок 3 — Π‘Π»ΠΎΠΊ-схСма Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

1.3 Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ…: массивы

Π”Π°Π½ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив 5×5. Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½ΡƒΠ»Π΅ΠΌ элСмСнты, располоТСнныС Π½Π°Π΄ ΠΏΠΎΠ±ΠΎΡ‡Π½ΠΎΠΉ диагональю.

Листинг — Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…: массивы

program massiv;

Uses CRT;

Const n=5;

var a: array [1. n, 1. n] of integer;

i, j: integer;

Begin

randomize;

FOR i: = 1 to n DO

begin

FOR j: = 1 to n DO

begin

A [i, j]: =random (10) — 3;

write (a [i, j]: 3);

end;

writeln;

end;

writeln;

FOR i: = 1 to n DO

begin

FOR j: = 1 to n DO

begin

if j<=n-i+1 then

a [i, j]: =0;

write (a [i, j]: 3);

end;

writeln;

end;

Readln

End.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ прСдставлСн Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 3.

Рисунок 4 — Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² TurboPascal

1.4 Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ…: строки.

Π”Π°Π½Ρ‹ строки S1, S2 ΠΈ ΡΠΈΠΌΠ²ΠΎΠ» C. ΠŸΠ΅Ρ€Π΅Π΄ (послС) ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ вхоТдСния символа C Π² ΡΡ‚Ρ€ΠΎΠΊΡƒ S1 Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ строку S2.

Листинг — Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…: строки

uses crt;

var s1, s2,s: string;

c, w: char;

i: byte;

begin

clrscr;

writeln (`ВвСсти строку Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π±ΡƒΠ΄Π΅ΠΌ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ: ');

readln (s1);

writeln ('ВвСсти строку ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π±ΡƒΠ΄Π΅ΠΌ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ: ');

readln (s2);

repeat

write (');

readln (c);

if pos (c, s1) =0 then writeln ();

until pos (c, s1) >0;

repeat

clrscr;

writeln (? ');

writeln ();

writeln ();

writeln ();

readln (w);

case w of

'1': begin

s: =s1;

for i: =length (s) downto 1 do

if s1 [i] =c then insert (s2,s, i);

write (s);

readln;

end;

'2': begin

s: =s1;

for i: =length (s) downto 1 do

if s1 [i] =c then insert (s2,s, i+1);

write (s);

readln;

end;

else exit;

end;

until not (w in ['1'. '2']);

end.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ прСдставлСн Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 4.

Рисунок 4 — Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² TurboPascal

1.4 Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ…: записи

Π—Π°ΠΏΠΈΡΡŒ содСрТит Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²Π΅Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Ρ… Ρ‚ΠΎΠ²Π°Ρ€Π°Ρ… со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌΠΈ: Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠ²Π°Ρ€Π° (Ρ‚ΠΈΠΏ string), Ρ‚ΠΈΠΏ Ρ‚ΠΎΠ²Π°Ρ€Π° (Ρ‚ΠΈΠΏ string), количСство (Ρ‚ΠΈΠΏ integer), Ρ†Π΅Π½Π° Π·Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ (Ρ‚ΠΈΠΏ integer). Π‘ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΡƒΡŽ поиск ΠΏΠΎ Ρ‚ΠΈΠΏΡƒ Ρ‚ΠΎΠ²Π°Ρ€Π° ΠΈ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²Ρƒ Ρ‚ΠΎΠ²Π°Ρ€Π°.

Листинг — Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…: записи

uses crt;

type tov=record

t: string;

k: integer;

n: string;

c: char;

end;

const

Nmax=10;

var

i: integer;

c: char;

m: array [1. Nmax] of tov;

k: integer;

o: boolean;

procedure enter;

var

c: string;

begin

clrscr;

i: =1;

while c<>'Π½' do begin

clrscr;

i: =i+1;

writeln ();

readln (m [i]. n);

writeln () ');

readln (m [i]. t);

writeln ();

readln (m [i]. k);

writeln ();

readln (m [i]. c);

writeln (');

readln (c);

end;

end;

procedure find;

var

tip: string;

kol, k: integer;

begin

i: =2;

while c<>'Π½' do begin

i: =i+1;

write (? ');

readln (tip);

write (: ');

readln (kol);

for i: =2 to Nmax do begin

if (m [i]. t=tip) and (m [i]. k=kol) then begin

writeln (c);

o: =true;

end;

end;

if o=false then writeln ();

writeln (? ');

readln (c);

end;

end;

begin

while c<>'3' do begin

writeln (: ');

writeln ('1.);

writeln ('2.);

writeln ('3. ');

readln (c);

case c of

'1': enter;

'2': find;

end;

end;

end.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ прСдставлСн Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 5.

Рисунок 5 — Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² TurboPascal

1.5 ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π’ Π·Π°Π΄Π°Π½Π½ΠΎΠΌ массивС К (N) Π½Π°ΠΉΡ‚ΠΈ индСксы элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΡ€Π°Ρ‚Π½Ρ‹ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ элСмСнта массива.

Листинг — ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

programpract6;

usescrt; {ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ}

functionRec (k: integer): longint; {описаниСфункции}

begin

ifk<4 then Rec: =1{Π½Π°Ρ‡Π°Π»ΠΎΡ†ΠΈΠΊΠ»Π°}

else Rec: =Rec (k-3) +Rec (k-2) +Rec (k-1);

end; {ΠΊΠΎΠ½Π΅Ρ†Ρ†ΠΈΠΊΠ»Π°}

varn: integer; {описаниСпСрСмСнных}

beginclrscr; {очисткаэкрана}

repeat{Ρ†ΠΈΠΊΠ»}

write ('vvedite nomer chlena posledovatelnosti, nat chislo n=');

readln (n);

until n>0;

write ('znachenie=', Rec (n));

readln;

readkey; {Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° экрана}

end.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ прСдставлСн Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 6.

Рисунок 6 — Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

1.6 ΠŸΡ€ΡΠΌΠ°Ρ ΠΈ ΠΊΠΎΡΠ²Π΅Π½Π½Π°Ρ рСкурсия

ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ с Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΠ²Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ, Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‰Π΅ΠΉ:

.

Листинг — ΠŸΡ€ΡΠΌΠ°Ρ ΠΈ ΠΊΠΎΡΠ²Π΅Π½Π½Π°Ρ рСкурсия

Programpr7;

uses crt;

var n: integer;

function Koren (n: integer): real;

begin

if n=1 then Koren: =sqrt (3)

else Koren: =sqrt (3+Koren (n-1));

end;

begin

clrscr;

write ('n=');

readln (n);

write (Koren (n): 0: 5);

readln

end.

Π’Π°Π±Π»ΠΈΡ†Π° 6 — Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ выполнСния прямой ΠΈ ΠΊΠΎΡΠ²Π΅Π½Π½ΠΎΠΉ рСкурсии

Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

2.27 493.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ прСдставлСн Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 7.

Рисунок 7 — Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² TurboPascal.

1.7 РСкурсивныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹

ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΠ²Π½ΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ, ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΡΡ‰ΡƒΡŽ Ρ†Π΅Π»ΠΎΠ΅ число ΠΈΠ· Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½ΠΎΠΉ систСмы счислСния Π² Π΄Π΅ΡΡΡ‚ΠΈΡ‡Π½ΡƒΡŽ.

Для тСстирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ использовались Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹Π΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 7. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Ρ‚Π°ΠΌ ΠΆΠ΅.

Π’Π°Π±Π»ΠΈΡ†Π° 7 — Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ выполнСния Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

Листинг — РСкурсивныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹.

programProject1;

function Oct2Num (const aSOct: String; const aWeight, aI: Integer): Integer;

var.

Num: Integer;

begin.

Num: = 0;

case aSOct [aI] of.

'0': Num: = 0 * aWeight;

'1': Num: = 1 * aWeight;

'2': Num: = 2 * aWeight;

'3': Num: = 3 * aWeight;

'4': Num: = 4 * aWeight;

'5': Num: = 5 * aWeight;

'6': Num: = 6 * aWeight;

'7': Num: = 7 * aWeight;

end;

if aI > 1 then begin.

Num: = Num + Oct2Num (aSOct, aWeight * 8, aI — 1);

end;

Oct2Num: = Num;

end;

var.

SOct, S: String;

Num: Integer;

Begin.

repeat.

Writeln ('zadaite celoe neotricatelnoe chislo: ');

Readln (SOct);

Num: = Oct2Num (SOct, 1, Length (SOct));

Writeln ('Chislo v 10oi sisteme: ');

Writeln (Num);

Readln (S);

until S <> '';

End.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ прСдставлСн Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 8.

Рисунок 8 — Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² TurboPascal.

1.8 Π‘ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ поиск

Π—Π°Π΄Π°Π½ массив AX (N). Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ массив Π‘ (К). Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ сортировку Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ. Π’ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΌ массивС ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚Π΅ Π²Π΄Π²ΠΎΠ΅, Π° ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ ΠΈΡ… ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ².

Для тСстирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ использовались Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹Π΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 8. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Ρ‚Π°ΠΌ ΠΆΠ΅.

Π’Π°Π±Π»ΠΈΡ†Π° 8 — Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ выполнСния Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

1element.

2element.

3element.

4element.

5element.

Листинг — Π‘ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ поиск.

Programpr7;

usescrt; {ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ}.

Constn = 5; {постоянная}.

Var{описаниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…}.

i, min: integer;

k: array [1. n] of integer; {описаниСмассива}.

Begin clrscr; {очисткаэкрана}.

For i: = 1 To n Do {заполнСниСмассива}.

Begin.

Writeln ('Vvedite ', i,' element: ');

Readln (K [i]).

End;

min: = k [1];

For i: = 2 To n Do {поискминимального}.

if k [i] < min Then min: = k [i];

For i: = 1 To n Do {ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠ²}.

If (k [i] mod min) = 0 Then Writeln (i);

readkey;

End.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ прСдставлСн Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 9.

Рисунок 9 — Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² TurboPascal.

1.9 Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Π²Π»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ

Π—Π°Π΄Π°Π½ массив AX (N). Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ массив Π‘ (К). Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ сортировку Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ. Π’ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΌ массивС ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚Π΅ Π²Π΄Π²ΠΎΠ΅, Π° ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ ΠΈΡ… ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ².

Листинг — Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ

programl;

type mas=array [0.100] of integer;

var i, min, n, m, imn: integer; a, c: mas;

Procedure Straight_Insertion (n: integer; Var a: mas);

Var

i, j: integer;

x: integer;

Begin

For i: =2 To n Do

begin

x: =a [i]; a [0]: =x; j: =i-1;

While x<a [j] Do

begin

a [j+1]: =a [j]; j: =j-1;

end;

a [j+1]: =x

end;

End; {Straight_Insertion}

begin

randomize;

writeln (');

readln (n);

for i: =1 to n do begin

a [i]: =random (10) +random (5);

end;

writeln (');

for i: =1 to n do begin

write (a [i],' ');

end;

writeln;

writeln (');

readln (m);

for i: =1 to m do begin

c [i]: =random (15) +random (5);

end;

writeln;

writeln ();

for i: =1 to n do begin

write (c [i],' ')

end;

writeln;

writeln;

for i: =1 to m do begin

n: =n+1;

a [n]: =c [i];

end;

writeln (');

for i: =1 to n do

write (a [i],' ');

writeln;

writeln;

Straight_Insertion (n, a);

writeln (');

for i: =1 to n do

write (a [i],' ');

writeln;

writeln;

min: =a [1];

for i: =1 to n do begin

if a [i] <min then min: =a [i];

end;

write (=', min);

writeln;

imn: =0;

for i: =1 to n do begin

if a [i] mod a [min] =0 then

imn: =i;

end;

begin

min: =a [1];

writeln (');

for i: =1 to n do

if (a [i] mod min = 0) then

write (i: 3);

writeln;

end;

end.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ прСдставлСн Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 10.

Рисунок 10 — Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² TurboPascal

1.10 ОбмСнная сортировка

Π—Π°Π΄Π°Π½ массив AX (N). Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ массив Π‘ (К). Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ сортировку Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ. Π’ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΌ массивС ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚Π΅ Π²Π΄Π²ΠΎΠ΅, Π° ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ ΠΈΡ… ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ².

Листинг — Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° обмСнная

type mas=array [0.100] of integer;

var i, min, n, m, imn: integer; a, c: mas;

Procedure Shaker_Sort (n: word; Var a: mas);

Var j, k, l, r: integer;

x: integer;

Begin

l: =2; r: =n; k: =n;

Repeat

For j: =r DownTo l Do

If a [j-1] >a [j] Then

begin

x: =a [j-1];

a [j-1]: =a [j];

a [j]: =x;

k: =j;

end;

l: =k+1;

For j: =l To r Do

If a [j-1] >a [j] Then

begin

x: =a [j-1];

a [j-1]: =a [j];

a [j]: =x;

k: =j;

end;

r: =k-1;

Until l>r

End; {Shaker_Sort}

begin

randomize;

writeln (');

readln (n);

for i: =1 to n do begin

a [i]: =random (10) +random (5);

end;

writeln (');

for i: =1 to n do begin

write (a [i],' ');

end;

writeln;

writeln (');

readln (m);

for i: =1 to m do begin

c [i]: =random (15) +random (5);

end;

writeln;

writeln (');

for i: =1 to n do begin

write (c [i],' ')

end;

writeln;

writeln;

for i: =1 to m do begin

n: =n+1;

a [n]: =c [i];

end;

writeln (');

for i: =1 to n do

write (a [i],' ');

writeln;

writeln;

Shaker_Sort (n, a);

writeln (');

for i: =1 to n do

write (a [i],' ');

writeln;

writeln;

min: =a [1];

for i: =1 to n do begin

if a [i] <min then min: =a [i];

end;

write (= ', min);

writeln;

imn: =0;

for i: =1 to n do begin

if a [i] mod a [min] =0 then

imn: =i;

end;

begin

min: =a [1];

writeln (');

for i: =1 to n do

if (a [i] mod min = 0) then

write (i: 3);

writeln;

end;

end.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ прСдставлСн Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 11.

Рисунок 11 — Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² TurboPascal

1.11 Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ

Π—Π°Π΄Π°Π½ массив К (N). Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ массив Π‘ (Π’). Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ сортировку Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ. Π’ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΌ массивС Π½Π°ΠΉΡ‚ΠΈ индСксы элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΡ€Π°Ρ‚Π½Ρ‹ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ элСмСнта массива.

Листинг — Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ

type mas=array [1.20] of integer;

var i, min, n, m, imn: integer; a, c: mas;

procedure sort (l, r: integer);

var

i, j, x1,y1,m: integer;

begin

i: =l;

j: =r;

m: =round ((l+r) /2);

x1: =a [m];

repeat

while a [i] <x1 do inc (i);

while a [j] >x1 do dec (j);

if i<=j then

begin

y1: =a [i];

a [i]: =a [j];

a [j]: =y1;

inc (i);

dec (j);

end;

until i>j;

if l<j then sort (l, j);

if i<r then sort (i, r);

end;

begin

randomize;

writeln (');

readln (n);

for i: =1 to n do begin

a [i]: =random (10) +random (5);

end;

writeln (');

for i: =1 to n do begin

write (a [i],' ');

end;

writeln;

writeln ('');

readln (m);

for i: =1 to m do begin

c [i]: =random (15) +random (5);

end;

writeln;

writeln (');

for i: =1 to n do begin

write (c [i],' ')

end;

writeln;

writeln;

for i: =1 to m do begin

n: =n+1;

a [n]: =c [i];

end;

writeln (');

for i: =1 to n do

write (a [i],' ');

writeln;

writeln;

sort (1,n);

writeln (');

for i: =1 to n do

write (a [i],' ');

writeln;

writeln;

min: =a [1];

for i: =1 to n do begin

if a [i] <min then min: =a [i];

end;

write (= ', min);

writeln;

imn: =0;

for i: =1 to n do begin

if a [i] mod a [min] =0 then

imn: =i;

end;

begin

min: =a [1];

writeln (');

for i: =1 to n do

if (a [i] mod min = 0) then

write (i: 3);

writeln;

end;

end.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ прСдставлСн Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 12.

Рисунок 12 — Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² TurboPascal

1.12 БтатичСскоС ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠ°Ρ распрСдСлСниС памяти

1. Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ массив Π’ (10) случайными значСниями. ΠžΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ Π½Π° ΡΠΊΡ€Π°Π½. ΠŸΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŽ адрСс Π½Π°Ρ‡Π°Π»Π° размСщСния массива Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ. ΠΠ°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ значСния Ρ‡Π΅Ρ‚Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ элСмСнтов массива. ΠŸΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŽ адрСс 10-Π³ΠΎ элСмСнта, Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ адрСс сСгмСнта ΠΈ ΡΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ с ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ. Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ содСрТимоС Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ элСмСнта. ΠΠ°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Для тСстирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ использовались Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹Π΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 12. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Ρ‚Π°ΠΌ ΠΆΠ΅.

Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

— 5.

— 6.

— 9.

— 4.

— 8.

— 6.

ΠŸΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ числа.

4 элСмСнт ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Π½Π° 2.

Листинг — БтатичСскоС ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти.

program yp14; {Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹}.

uses crt; {ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ}.

type {описаниС Ρ‚ΠΈΠΏΠΎΠ²}.

massiv=array [1.10] of integer; {описаниС массива}.

var {Ρ€Π°Π·Π΄Π΅Π» описания ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…}.

i, z: integer;

a: massiv;

PtrMas: ^massiv; {ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΌΠ°ΡΡΠΈΠ²}.

begin clrscr; {очистка экрана}.

writeln ('Vvedite elementy massiva: '); {выводнаэкран}.

for i: =1 to 10 do {выводэлСмСнтовмассива}.

begin.

read (a [i]);

end;

writeln ('Vveden massiv: ');

for i: =1 to 10 do {выводэлСмСнтамассива}.

begin.

write (a [i]: 3);

end;

writeln;

PtrMas: =@a; {присвоСниС ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŽ адрСс Π½Π°Ρ‡Π°Π»Π° массива Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ}.

writeln ('—————————————————————-');

writeln ('Polozitelnie 4isla: ');

for i: =1 to 10 do.

begin.

if PtrMas^ [i] mod 2 =0 then.

writeln (PtrMas^ [i]);

end;

PtrMas: =Ptr (Seg (a [9]), Ofs (a [9]) +SizeOf (integer)); {присвоСниСадрСса 4 элСмСнта}.

writeln ('—————————————————————-');

write ('10 element: ');

writeln (PtrMas^ [1]); {Π²Ρ‹Π²ΠΎΠ΄ значСния 4 Π»Π΅ΠΌΠ΅Π½Ρ‚Π°}.

write ('novoe zna4enie 10: ');

writeln (ptrmas^ [1]); {Π²Ρ‹Π²ΠΎΠ΄ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ массива}.

ptrMas^ [1]: =a [3];

write ('novoe zna4enie 10: ');

writeln (ptrmas^ [1]);

readkey; {задСрТкаэкрана}.

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

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ прСдставлСн Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 13.

Рисунок 13 — Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² TurboPascal.

1.13 ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ списков

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ связанный список ΠΈΠ· Π·Π°ΠΏΠΈΡΠ΅ΠΉ, содСрТащих свСдСния ΠΎ Ρ‚ΠΎΠ²Π°Ρ€Π΅ (ΠΊΠΎΠ΄ Ρ‚ΠΎΠ²Π°Ρ€Π°, Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠ²Π°Ρ€Π°, Ρ†Π΅Π½Π°), Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ со ΡΠ²ΡΠ·Π°Π½Π½Ρ‹ΠΌ списком: запись ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π² ΡΠΏΠΈΡΠΎΠΊ, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, просмотр всСго списка, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π·Π° ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ.

Листинг — ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡΡΠΏΠΈΡΠΊΠΎΠ²

Programyp15;

UsesCrt;

Type

NameStr = String [20];

SNameStr = string [20];

Link = ^Auto;

Auto = record

Name: NameStr; {Π½Π°Π·Π²Π°Π½ΠΈΠ΅Ρ‚ΠΎΠ²Π°Ρ€Π°}

Kod: integer; {ΠΊΠΎΠ΄Ρ‚ΠΎΠ²Π°Ρ€Π°}

cena: integer; {Ρ†Π΅Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π°}

Next: Link; {ΡΠ²ΡΠ·ΡŒΡΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ}

end;

VarP, First: Link; {ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽΠ·Π°ΠΏΠΈΡΡŒ}

NamFind: NameStr; {поискпоназванию}

V: 0.4; {мСню}

EndMenu: boolean; {Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ΠΌΠ΅Π½ΡŽ}

FunctionFindName (FN: NameStr): Link; {поискпофамилии}

VarCurr: Link;

begin

Curr: =First; {установканапСрвый}

whileCurr<>Nildo{доконцасписка}

if Curr^. Name=FN then {нашли}

begin

FindName: =Curr; {Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ}

Exit; {Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ}

end

elseCurr: =Curr^. Next; {ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ}

FindName: =Nil; {СслинСнашло}

end; {end FindName}

procedure AddFirst (A: Link); {добавлСниС 1 записи}

begin

A^. Next: =First; {Π½ΠΎΠ²Ρ‹ΠΉΠΎΠ±ΡŠΠ΅ΠΊΡ‚ 1}

First: =A; {ΡΡΡ‹Π»ΠΊΠ°Π½Π°Π½ΠΎΠ²Ρ‹ΠΉΠΎΠ±ΡŠΠ΅ΠΊΡ‚}

end; {ΠΊΠΎΠ½Π΅Ρ†ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹}

procedure DelFirst (var A: Link); {ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ 1 }

begin

A: =First;

First: =First^. Next;

end; {end DelFirst}

procedure DelAfter (Old: Link; var A: Link); {ΡƒΠ΄Π°Π»Π΅Π½ΠΈΡΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Π·Π°ΡΡ‚Π°Ρ€Ρ‹ΠΉ}

begin

A: =Old^. Next; {присвоСнияуказатСля}

Old^. Next: =Old^. Next^. Next;

end; {ΠΊΠΎΠ½Π΅Ρ†ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹}

procedure InpAvto; {Π²Π²ΠΎΠ΄}

begin

P: =New (Link); {Π½ΠΎΠ²Ρ‹ΠΉΠΎΠ±ΡŠΠ΅ΠΊΡ‚}

Write ('Ha3BaHuE: ');

Readln (P^. Name);

Write ('Kog: ');

Readln (P^. kod);

write ('Cena: ');

readln (P^. cena);

AddFirst (P); {Π²Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ добавлСния }

end; {ΠΊΠΎΠ½Π΅Ρ† ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹}

procedureMyList; {Π²Ρ‹Π²ΠΎΠ΄ записСй}

varCurr: Link; {ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΡΠ»Π΅Π΄. запись}

begin

Curr: =First; {установка Π½Π° 1ΡƒΡŽ запись}

whileCurr<>Nildo

begin

Writeln ('Na3BaToBapa: ', Curr^. Name,' Kod ToBaPa: ', Curr^. kod,' Kol-vo: ', Curr^. cena: 3);

Curr: =Curr^. Next; {ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ}

end;

readkey;

Readln;

end; {end MyList}

{********************************}

Begin {Osnova}

New (P); {новаядинамичСскаяпСрСмСнная}

EndMenu: =False;

repeat

clrscr;

Writeln ('Vi6irite punktick: ');

Writeln ('1. Zapisat pervblm');

Writeln ('2. Ydalit pervyl0 zapis');

WriteLn ('3. Prosmotr vsego spiska');

Writeln ('4. ydalenie ');

WriteLn ('0. EXIT');

Readln (V);

Case V of {Π²Ρ‹Π·ΠΎΠ²Π½ΡƒΠΆΠ½Π΅Π³ΠΎ}

1: InpAvto; {Π²Ρ‹Π²ΠΎΠ΄Π΄Π°Π½Π½Ρ‹Ρ…}

2: DelFirst (P); {ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ 1}

3: MyList; {Π²Ρ‹Π²ΠΎΠ΄}

4: begin{ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ}

Write ('VvodHa3BaHu9 poslekotorogodelete: ');

Readln (NamFind);

DelAfter (Findname (NamFind), P); {вызовудалСния}

end

elseEndMenu: =True; {ΠΊΠΎΠ½Π΅Ρ†ΠΌΠ΅Π½ΡŽ}

end;

until EndMenu;

Dispose (P); {освобоТдСниСкучи}

end.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ прСдставлСн Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 14.

Рисунок 14 — Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² TurboPascal

Рисунок 15 — Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² TurboPascal

Рисунок 16 — Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² TurboPascal

1.14 ΠœΠΎΠ΄ΡƒΠ»ΡŒ Graph

ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΡΠΊΡ€Π°Π½ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΡˆΠ°Ρ…ΠΌΠ°Ρ‚Π½ΠΎΠΉ доски. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΆΠ΅Π»Ρ‚Ρ‹ΠΉ ΠΈ ΠΊΠΎΡ€ΠΈΡ‡Π½Π΅Π²Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚Π° для Π·Π°ΠΊΡ€Π°ΡˆΠΈΠ²Π°Π½ΠΈΡ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠ². ΠŸΡ€ΠΎΡ€ΠΈΡΠΎΠ²ΠΊΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π΄Π΅Ρ‚Π°Π»ΠΈ выполняСтся с Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ 1000 ΠΌΡ. ПослС ΠΏΠΎΠ»Π½ΠΎΠΉ прорисовки ΡΡ‚ΠΈΡ€Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΡƒΠ·ΠΎΡ€ Π΄ΠΎ Π½Π°ΠΆΠ°Ρ‚ия Esc.

Листинг — ΠœΠΎΠ΄ΡƒΠ»ΡŒGraph

uses crt, graph;

procedure Kletka (x1,y1,c: integer; d: integer);

begin

Setcolor (c);

rectangle (x1,y1,x1+d, y1+d);

Setfillstyle (1,c);

Bar (x1,y1,x1+d, y1+d);

end;

var gd, gm, x1, y1,x2,y2,d1, i, j: integer;

c: char;

begin

initgraph (gd, gm,'');

d1: =round ((getmaxY-60) /8);

x1: =100; y1: =50;

outtextXY (getmaxX div 2−40, 20,'Vyhod-Esc');

repeat

for i: =0 to 7 do

begin

for j: =0 to 7 do

begin

if odd (i+j) then Kletka (x1+d1*i, y1+d1*j, 14, d1)

else Kletka (x1+d1*i, y1+d1*j, 6, d1);

delay (1000);

end;

end;

delay (1000);

setfillstyle (1,0);

bar (x1,y1,x1+d1*8,y1+d1*8);

if keypressed then c: =readkey;

if c=#27 then exit;

until c=#27;

end.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ прСдставлСн Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 17.

Рисунок 17 — Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² TurboPascal

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ