Π”ΠΈΠΏΠ»ΠΎΠΌΡ‹, курсовыС, Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚Ρ‹, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅...
Брочная ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π² ΡƒΡ‡Ρ‘Π±Π΅

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ элСктронной записной ΠΊΠ½ΠΈΠΆΠΊΠΈ

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ПослС этого с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ «writeln» Π²Ρ‹Π²Π΅Π΄Π΅ΠΌ Π½Π° ΡΠΊΡ€Π°Π½ надпись (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° «ΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ся» с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ). Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ успСл Π΅Ρ‘ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ «readln». Π’ΠΎΠ³Π΄Π° Π²Ρ‹Ρ…ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ послС наТатия клавиши «Enter». ПослС Π²Π²ΠΎΠ΄Π° Π½ΠΎΠΌΠ΅Ρ€Π° записи Π·Π°Π΄Π°Π΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «new» рСдактирования Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ записи. Для этого Π·Π°Π΄Π°Π΄ΠΈΠΌ условиС, Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ…… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ элСктронной записной ΠΊΠ½ΠΈΠΆΠΊΠΈ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

— 1 ;

1. ОписаниС Ρ‚ΠΈΠΏΠΎΠ². ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

2. Π’Π΅Π»ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

2.1 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ привСтствия

2.2 Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ записи

2.3 Π’Ρ‹Π²ΠΎΠ΄ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ записи. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для Π²Ρ‹Π·ΠΎΠ²Π° справки.

2.4 Π’Ρ‹Π²ΠΎΠ΄ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ. Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

2.5 Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Бписок Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

1. ОписаниС Ρ‚ΠΈΠΏΠΎΠ². ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

ОписаниС Ρ‚ΠΈΠΏΠΎΠ² Π½Π°Ρ‡Π½Π΅ΠΌ с Ρ‚ΠΈΠΏΠ° «Π·Π°ΠΏΠΈΡΡŒ»: присвоим Π΅ΠΉ ΠΈΠΌΡ «TSt». Π”Π°Π»Π΅Π΅ опишСм ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ (поля) записи. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ 3 поля записи с Π½Π°Π·Π²Π°Π½ΠΈΡΠΌΠΈ: Name, Group, Subject ΠΈ Mark. Они ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ поля записной ΠΊΠ½ΠΈΠΆΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΌΠ°ΡΡΠΈΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ опрСдСляСм Π² Ρ‚ΠΈΠΏΠ°Ρ….

type TSt=record

Name: string[13];

Group: string[13];

Subject:string[13];

Mark:string[13];

end;

TASt=array[1.10] of TSt;

Π”Π°Π»Π΅Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΡΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Нам понадобятся ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° для ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ… Π² Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹Π΅ поля ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°, которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΡƒΠΆΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Π΅ поля Π½Π° ΡΠΊΡ€Π°Π½.

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΏΠΎ Π²Π²ΠΎΠ΄Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΈΠΌΠ΅Π½Π΅ΠΌ «WriteSt» Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

procedure WriteSt (var A: TSt);

begin

write ('group: ');

readln (A.Group);

write ('Name: ');

readln (A.Name);

write ('Subject: ');

readln (A.Subject);

write ('Mark: ');

readln (A.Mark);

writeln;

end;

БоотвСтствСнно, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° «OutputSt», ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π°Ρ Π·Π° Π²Ρ‹Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΡΠΊΡ€Π°Π½, Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ:

procedure OutputSt (A:TSt);

begin

writeln ('Group: ', A. Group);

writeln ('Name: ', A.Name);

write ('Subject: ', A. Subject);

write (':');

writeln (A.Mark,' ballov');

end;

НСобходимыС Π² Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ Ρ‚ΠΈΠΏΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π·Π°Π΄Π°Π½Ρ‹. Π”Π°Π»Π΅Π΅ рассмотрим нСпосрСдствСнно Ρ‚Π΅Π»ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

2.Π’Π΅Π»ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ΠŸΠ΅Ρ€Π΅Π΄ написаниСм самого Ρ‚Π΅Π»Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ для дальнСйшСй Ρ€Π°Π±ΠΎΡ‚Ρ‹. Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π·Π°Π΄Π°Π΄ΠΈΠΌ массив «B», ΡΡ‚Ρ€ΠΎΡ‡Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ «a» ΠΈ Ρ†Π΅Π»ΠΎΡ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ «p». Массив Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для сохранСния записСй ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ, опрСдСляСмыС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ «p», Π° ΡΡ‚рочная пСрСмСнная «a» опрСдСляСт Π²Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

var B: TASt;

a:string;p:integer;

2.1 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ привСтствия

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, Π½Π΅Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΉ с Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ, ΠΌΠΎΠ³ Π² Π½Π΅ΠΉ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ, создадим привСтствиС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ:

1) Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹;

2) имя создатСля;

3) доступныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

writeln ('Vas privetstvuet NoteBook v.1.0b Sozdateli: studenty gruppy 520 361: Konova Elena, Pivovarov Nikolay, Kharlamov Alexey');

writeln;

writeln ('Command «new» -redaktirovanie zapisi," w" -vyvod tekuschey zapisi, " «-vvod nomera zapisi,» help" -vyzov spravki, «all» -pokazat' vse zapisi, «name» -pokazat' imena, «group» -pokazat' nomera grupp, «mark» -pokazat' ocenki, «sub» —pokazat' predmety, " q" -vyhod');

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ привСтствия ΠΎΠΊΠΎΠ½Ρ‡Π΅Π½ΠΎ.

2.2 Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ записи

ПослС написания привСтствия Π·Π°Π΄Π°Π΄ΠΈΠΌ Ρ†ΠΈΠΊΠ», Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒΡΡ основныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹: Π²Ρ‹Π±ΠΎΡ€ записи, Π΅Ρ‘ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π²Ρ‹Π²ΠΎΠ΄ записи с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ, Π²Ρ‹Π²ΠΎΠ΄ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ поля, Π²Ρ‹Π²ΠΎΠ΄ всСх Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ.

Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° рассчитана Π½Π° 10 записСй. Π—Π°Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠΌΠ΅Ρ€Π° записи Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

if (a='1') or (a='2') or (a='3') or (a='4') or (a='5') or (a='6') or (a='7') or (a='8')

or (a='9') or (a='10') then

begin

p:=strtoint (a);

writeln ('current record ', p);

end;

ПослС Π²Π²ΠΎΠ΄Π° Π½ΠΎΠΌΠ΅Ρ€Π° записи Π·Π°Π΄Π°Π΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «new» рСдактирования Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ записи. Для этого Π·Π°Π΄Π°Π΄ΠΈΠΌ условиС, Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ….

if a='new' then

if (p>0) and (p<11) then

begin

WriteSt (B[p]);

writeln ('zapis ', p,' sohranena');

writeln;

writeln ('Vvedite novuyu komandu');

end

else writeln ('choose the record');

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΡ‹ Π²Π½ΠΎΡΠΈΠΌ всС измСнСния Π² ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ массива B, состоящСго ΠΈΠ· 10 элСмСнтов, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΡ‹ ΡΠΌΠΎΠΆΠ΅ΠΌ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡΡ‚Π²ΠΈΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ.

2.3 Π’Ρ‹Π²ΠΎΠ΄ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ записи. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для Π²Ρ‹Π·ΠΎΠ²Π° справки

Π’Ρ‹ΡˆΠ΅ ΠΌΡ‹ Π·Π°Π΄Π°Π»ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ для Π²Ρ‹Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ…. Боставим условиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ записи: ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ «a» Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ присвоСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «out» (это ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π²Ρ‹Π²ΠΎΠ΄Π°), Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ «p» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π΅Π½ Ρ†Π΅Π»ΠΎΠΌΡƒ числу ΠΎΡ‚ 1 ΠΈ Π΄ΠΎ 10 Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹Π²ΠΎΠ΄ элСмСнта массива «B» (Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ записи Π±Π»ΠΎΠΊΠ½ΠΎΡ‚Π°) Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

if a='out' then

if (p>0) and (p<11) then

begin

OutputSt (B[p]);

writeln;

writeln ('Vvedite novuyu komandu');

end

else writeln ('choose the record');

Для просмотра доступных ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, создадим ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «help». Π’Ρ‹Π²ΠΎΠ΄ справки осущСствим с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ отобраТСния тСкста:

if a='help' then

write ('command «new» -redaktirovanie zapisi," out" -vyvod tekuschey zapisi," «-vvod nomera zapisi, «all» -pokazat vse zapisi, «name» -pokazat imena, «group» -pokazat nomera grupp, «mark» -pokazat ocenki, «sub» -pokazat predmety, «q» -vyhod');

2.4 Π’Ρ‹Π²ΠΎΠ΄ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ. Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ возмоТностСй Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, создадим ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΎ Π²Ρ‹Π²ΠΎΠ΄Ρƒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ. Но ΠΏΡ€ΠΈ этом ΡƒΡ‡Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Π΅ поля Π² ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ записях Π½Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ. Π­Ρ‚ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ, Π·Π°Π΄Π°Π² Ρ†ΠΈΠΊΠ», ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‚ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ всС Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ поля элСмСнтов массива «B» ΠΈ ΡƒΡΠ»ΠΎΠ²ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΠΎΠ»Π΅. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ запись «TSt» состоит ΠΈΠ· 4-Ρ… ΠΏΠΎΠ»Π΅ΠΉ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ 4 условия для ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° «a», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ‹Π²ΠΎΠ΄Π°. Π˜Ρ… Π²ΠΈΠ΄ ΡƒΠΊΠ°Π·Π°Π½ Π½ΠΈΠΆΠ΅:

if a='name' then

begin

for p:=1 to 10 do

begin

if B[p]. Name<>'' then

writeln ('zapis ', p,' ', B[p]. Name);

end;

end;

if a='group' then

begin

for p:=1 to 10 do

begin

if B[p]. Group<>'' then

writeln ('zapis ', p,' ', B[p]. Group);

end;

end;

if a='mark' then

begin

for p:=1 to 10 do

begin

if B[p]. Mark<>'' then

writeln ('zapis ', p,' ', B[p]. Mark);

end;

end;

if a='sub' then

begin

for p:=1 to 10 do

begin

if B[p]. Subject<>'' then

writeln ('zapis ', p,' ', B[p]. Subject);

end;

end;

НаконСц ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΏΠΎ Π²Ρ‹Π²ΠΎΠ΄Ρƒ всСх Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ записСй Π² Π²ΠΈΠ΄Π΅ нСбольшой Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Для равСнства ячССк ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠΌ количСство символов Π² ΠΏΠΎΠ»ΡΡ… Π΄ΠΎ 13, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ «setlength». Π’ΠΎΠ³Π΄Π° Π·Π° Π²Ρ‹Π²ΠΎΠ΄ ΠΏΠΎΠ»Π΅ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΡ‚Ρ€Ρ‹Π²ΠΎΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

if a='all' then

begin

writeln ('Zapis ','Group ','Name ','Subject ','Mark ');

for p:=1 to 10 do

begin

setlength (B[p]. Subject, 13);setlength (B[p].Mark, 13);setlength (B[p].Group, 13);setlength (B[p].Name, 13);

if (B[p]. Subject<>'') or (B[p]. Mark<>'') or (B[p]. Group<>'') or (B[p]. Name<>'') then

writeln ('Zapis ', p,' ', B[p]. Group, B[p].Name, B[p].Subject, B[p].Mark);

end;

end;

2.5 Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π’ ΠΏΡƒΠ½ΠΊΡ‚Π΅ 2.2 ΠΌΡ‹ Π·Π°Π΄Π°Π»ΠΈ Ρ†ΠΈΠΊΠ» «repeat until». Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ достаточно Π·Π°Π΄Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ «a» ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΡƒΡŽ, Π΄ΠΎ ΠΊΠ°ΠΊΠΈΡ… ΠΏΠΎΡ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Ρ†ΠΈΠΊΠ»:

repeat

<οΏ½…>

until a='q';

ПослС этого с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ «writeln» Π²Ρ‹Π²Π΅Π΄Π΅ΠΌ Π½Π° ΡΠΊΡ€Π°Π½ надпись (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° «ΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ся» с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ). Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ успСл Π΅Ρ‘ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ «readln». Π’ΠΎΠ³Π΄Π° Π²Ρ‹Ρ…ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ послС наТатия клавиши «Enter».

writeln ('Chto zh vy nadelali…');

readln;

end.

ПослС запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

1) Π½Π° ΡΠΊΡ€Π°Π½ выводится привСтствиС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ выводится Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, имя создатСля ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠ°Π½Π΄;

2) вводится Π½ΠΎΠΌΠ΅Ρ€ записи. ΠŸΡ€ΠΈ этом ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²ΠΈΠ΄ΠΈΡ‚ появившСюся надпись «current record <οΏ½β„– записи>»;

3) послС Π²Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «new» ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ открываСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ заполнСния ΠΏΠΎΠ»Π΅ΠΉ записи. Если Π½ΠΎΠΌΠ΅Ρ€ записи Π½Π΅ Π²Ρ‹Π±Ρ€Π°Π½, Ρ‚ΠΎ Π½Π° ΡΠΊΡ€Π°Π½ выводится сообщСниС «choose the record». ПослС окончания рСдактирования Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ записи, появляСтся сообщСниС «Vvedite novuyu komandu»;

4) для просмотра ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ записи, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ввСсти Π½ΠΎΠΌΠ΅Ρ€ этой записи ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «out», послС Ρ‡Π΅Π³ΠΎ информация ΠΎΠ± ΡΡ‚ΠΎΠΉ записи Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½Π° Π½Π° ΡΠΊΡ€Π°Π½;

5) Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ поля (Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Π΅) ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… записСй, вводится ΠΎΠ΄Π½Π° ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄: «name» (Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ поля с ΠΈΠΌΠ΅Π½Π΅ΠΌ «Name»), «group» (Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ поля с ΠΈΠΌΠ΅Π½Π΅ΠΌ «Group»), «mark» (Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ поля с ΠΈΠΌΠ΅Π½Π΅ΠΌ «Mark»), «sub» (Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ поля с ΠΈΠΌΠ΅Π½Π΅ΠΌ «Subject»);

6) просмотр всС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… записСй осущСствляСтся ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ «all». Π’ ΡΡ‚ΠΎΠΌ случаС Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ выводится всС Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Π΅ поля с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π½ΠΎΠΌΠ΅Ρ€Π° записи, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ΠΈ относятся;

7) Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ доступныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, достаточно ввСсти «help»;

8) Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ производится с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «q». ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ.

Бписок Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

1. АмСлина Н. Π—Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. — Πœ .: Вузовская ΠΊΠ½ΠΈΠ³Π°, 2000. — 104 с.

2. Π₯ΠΎΠΌΠΎΠ½Π΅Π½ΠΊΠΎ А. Delphi 7. — Π‘Пб.: Π‘Π₯Π’-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³, 2007. — 1200 с.

3. Бобровский Π‘. Delphi 7: Π£Ρ‡Π΅Π±Π½Ρ‹ΠΉ курс. — Π‘Пб.: ΠŸΠΈΡ‚Π΅Ρ€, 2006. — 735 с.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

program notebook;

uses

SysUtils;

type TSt=record

Name: string[13];

Group: string[13];

Subject:string[13];

Mark:string[13];

end;

TASt=array[1.10] of TSt;

procedure InputSt (var A: TSt;n:string;g:string;m:string;s:string);

begin

A.Subject:=s;

A.Group:=g;

A.Name:=n;

A.Mark:=m;

end;

procedure OutputSt (A:TSt);

begin

writeln ('Group: ', A. Group);

writeln ('Name: ', A.Name);

write ('Subject: ', A. Subject);

write (':');

writeln (A.Mark,' ballov');

end;

procedure WriteSt (var A: TSt);

begin

write ('group: ');

readln (A.Group);

write ('Name: ');

readln (A.Name);

write ('Subject: ');

readln (A.Subject);

write ('Mark: ');

readln (A.Mark);

writeln;

end;

var B: TASt;

a:string;p:integer;

begin

writeln ('Vas privetstvuet NoteBook v.1.0b Sozdateli: studenty gruppy 520 361: Konova Elena, Pivovarov Nikolay, Kharlamov Alexey');

writeln;

writeln ('Command «new» -redaktirovanie zapisi," out" -vyvod tekuschey zapisi, «» -vvod nomera zapisi," help" -vyzov spravki, «all» -pokazat vse zapisi, «name» -pokazat imena, «group» -pokazat nomera grupp, «mark» -pokazat ocenki, «sub» -pokazat predmety, «q» -vyhod');

p:=0;

repeat

readln (a);

if a='new' then

if (p>0) and (p<11) then

begin

WriteSt (B[p]);

writeln ('zapis ', p,' sohranena');

writeln;

writeln ('Vvedite novuyu komandu');

end

else writeln ('choose the record');

if a='out' then

if (p>0) and (p<11) then

begin

OutputSt (B[p]);

writeln;

writeln ('Vvedite novuyu komandu');

end

else writeln ('choose the record');

if (a='1') or (a='2') or (a='3') or (a='4') or (a='5') or (a='6') or (a='7') or (a='8')

or (a='9') or (a='10') then

begin

p:=strtoint (a);

writeln ('current record ', p);

end;

if a='help' then

write ('command «new» -redaktirovanie zapisi," out" -vyvod tekuschey zapisi," «-vvod nomera zapisi, «all» -pokazat vse zapisi, «name» -pokazat imena, «group» -pokazat nomera grupp, «mark» -pokazat ocenki, «sub» -pokazat predmety, «q» -vyhod');

if a='name' then

begin

for p:=1 to 10 do

begin

if B[p]. Name<>'' then

writeln ('zapis ', p,' ', B[p]. Name);

end;

end;

if a='group' then

begin

for p:=1 to 10 do

begin

if B[p]. Group<>'' then

writeln ('zapis ', p,' ', B[p]. Group);

end;

end;

if a='mark' then

begin

for p:=1 to 10 do

begin

if B[p]. Mark<>'' then

writeln ('zapis ', p,' ', B[p]. Mark);

end;

end;

if a='sub' then

begin

for p:=1 to 10 do

begin

if B[p]. Subject<>'' then

writeln ('zapis ', p,' ', B[p]. Subject);

end;

end;

if a='all' then

begin

writeln ('Zapis ','Group ','Name ','Subject ','Mark ');

for p:=1 to 10 do

begin

setlength (B[p]. Subject, 13);setlength (B[p].Mark, 13);setlength (B[p].Group, 13);setlength (B[p].Name, 13);

if (B[p]. Subject<>'') or (B[p]. Mark<>'') or (B[p]. Group<>'') or (B[p]. Name<>'') then

writeln ('Zapis ', p,' ', B[p]. Group, B[p].Name, B[p].Subject, B[p].Mark);

end;

end;

until a='q';

writeln ('Chto zh vy nadelali…');

readln;

end.

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