ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL

Page 1

ıƮ ƵƵƧ ƳƴƲıƴƧƯƯƧƶƬƵƯƲƷ PASCAL

ƮƭƧƷƳ 2003 ƪȺLjµƿNJİLjĮ: Ƨ. ƮǎǑIJıǎnjLjljǗNJĮǐ



īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal -1-

1. ǻȅȂǾ īȁȍȈȈǹȈ 1.1. ǼȚıĮȖȦȖȒ īȜȫııĮ ʌȡȠȖȡĮµµĮIJȚıµȠȪ İȓȞĮȚ ȑȞĮ ıȪȞȠȜȠ țĮȞȩȞȦȞ ıȣµȕȩȜȦȞ țĮȚ İȚįȚțȫȞ ȜȑȟİȦȞ ʌȠȣ ȤȡȘıȚµȠʌȠȚȠȪȞIJĮȚ ȖȚĮ IJȘ įȘµȚȠȣȡȖȓĮ İȞȩȢ ʌȡȠȖȡȐµµĮIJȠȢ. Ǿ ȖȜȫııĮ PASCAL įȘµȚȠȣȡȖȒșȘțİ Įʌȩ IJȠȞ Nicklaus Wirth IJȠ 1970 ʌȡȠțİȚµȑȞȠȣ ȞĮ ȟİʌİȡĮıIJȠȪȞ IJĮ µİȚȠȞİțIJȒµĮIJĮ IJȦȞ ȖȜȦııȫȞ ʌȡȠȖȡĮµµĮIJȚıµȠȪ IJȘȢ İʌȠȤȒȢ İțİȓȞȘȢ. ȆȒȡİ IJȠ ȩȞȠµȐ IJȘȢ ʌȡȠȢ IJȚµȒ IJȠȣ µĮșȘµĮIJȚțȠȪ țĮȚ ijȚȜȠıȩijȠȣ Blaise Pascal. ǻȚĮțȡȓȞİIJĮȚ IJȩıȠ ȖȚĮ IJȘȞ ʌȜȘȡȩIJȘIJȐ IJȘȢ ȩıȠ țĮȚ ȖȚĮ IJȘȞ ĮʌȜȩIJȘIJĮ țĮȚ İȣțȠȜȓĮ ıIJȘȞ İțµȐșȘıȒ IJȘȢ. Ǿ PASCAL İȓȞĮȚ ȖȜȫııĮ ȖİȞȚțȒȢ ȤȡȒıȘȢ țĮȚ ıȤİįȚȐıșȘțİ ȖȚĮ ȞĮ ȣʌȠıIJȘȡȓȟİȚ IJȚȢ ĮȡȤȑȢ IJȠȣ įȠµȘµȑȞȠȣ țĮȚ IJȠȣ IJµȘµĮIJȚțȠȪ ʌȡȠȖȡĮµµĮIJȚıµȠȪ. ȂİȡȚțȐ Įʌȩ IJĮ ȚįȚĮȓIJİȡĮ ȤĮȡĮțIJȘȡȚıIJȚțȐ IJȘȢ İȓȞĮȚ: x

Ǿ įȣȞĮIJȩIJȘIJĮ ʌȠȣ įȓįİIJĮȚ ıIJȠȞ ʌȡȠȖȡĮµµĮIJȚıIJȒ ȞĮ įȘµȚȠȣȡȖİȓ įȚțȠȪȢ IJȠȣ IJȪʌȠȣȢ įİįȠµȑȞȦȞ.

x

Ǿ ȤȡȒıȘ µİIJĮȕȜȘIJȫȞ IJȪʌȠȣ įİȓțIJȘ (pointer) țĮȚ Ș įȣȞĮIJȩIJȘIJĮ IJȘȢ įȣȞĮµȚțȒȢ įȚĮȤİȓȡȚıȘȢ IJȘȢ țİȞIJȡȚțȒȢ µȞȒµȘȢ.

x

Ǿ ıȪȞșİIJȘ İȞIJȠȜȒ (compound statement), įȘȜĮįȒ Ș ȤȡȒıȘ µȚĮȢ ıİȚȡȐȢ İȞIJȠȜȫȞ ȦȢ µȓĮ İȞIJȠȜȒ.

ǵʌȦȢ ȠȚ ʌİȡȚııȩIJİȡİȢ ȖȜȫııİȢ, ȑIJıȚ țĮȚ ĮȣIJȒ, ʌȑȡĮıİ Įʌȩ ʌȠȜȜȑȢ İțįȩıİȚȢ įȚĮijȩȡȦȞ țĮIJĮıțİȣĮıIJȫȞ ʌȠȣ țȐșİ µȚĮ ݵʌȜȠȣIJȚȗȩIJĮȞ µİ ʌİȡȚııȩIJİȡİȢ įȣȞĮIJȩIJȘIJİȢ. ǹȡȤȚțȐ İȓȤİ µȓĮ ĮįȣȞĮµȓĮ ıIJȠȞ ĮʌȠIJİȜİıµĮIJȚțȩ ȤİȚȡȚıµȩ IJȦȞ ĮȡȤİȓȦȞ țĮȚ IJȦȞ ĮȜijĮȡȚșµȘIJȚțȫȞ įİįȠµȑȞȦȞ Ȓ ıȣµȕȠȜȠıİȚȡȫȞ (strings) ʌȠȣ ȩµȦȢ ȑȤİȚ ȒįȘ ȟİʌİȡĮıIJİȓ ıİ ȞİȩIJİȡİȢ İțįȩıİȚȢ. Ǿ ȑțįȠıȒ IJȘȢ ȖȚĮ ʌİȡȚȕȐȜȜȠȞ Windows șİȦȡİȓIJĮȚ ȦȢ ʌȡȩIJȣʌȠ ıIJȠ ȤȫȡȠ IJȦȞ µȚțȡȠȨʌȠȜȠȖȚıIJȫȞ.

1.2. īȡĮµµĮIJȚțȒ țĮȚ ȈȣȞIJĮțIJȚțȩ IJȘȢ Pascal ȉȠ ĮȜijȐȕȘIJȠ IJȘȢ ȖȜȫııĮȢ Pascal, ĮʌȠIJİȜİȓIJĮȚ Įʌȩ ȕĮıȚțȐ ıȪµȕȠȜĮ, ȩʌȦȢ ȖȡȐµµĮIJĮ IJȠȣ ǼȜȜȘȞȠȜĮIJȚȞȚțȠȪ ĮȜijĮȕȒIJȠȣ, IJĮ ĮȡȚșµȘIJȚțȐ ȥȘijȓĮ (0 - 9) țĮȚ IJĮ İȚįȚțȐ ıȪµȕȠȜĮ, ȩʌȦȢ +, -, *, /, \, ., ;, țȜʌ. ȈȣȞIJĮțIJȚțȩ İȓȞĮȚ ȑȞĮ ıȪȞȠȜȠ IJȣʌȚțȫȞ țĮȞȩȞȦȞ ȠȚ ȠʌȠȓȠȚ ʌȡȠıįȚȠȡȓȗȠȣȞ ʌȫȢ ȖȡȐijȠȞIJĮȚ ȑȖțȣȡİȢ İȞIJȠȜȑȢ ıİ µȓĮ ȖȜȫııĮ ʌȡȠȖȡĮµµĮIJȚıµȠȪ. ȈȘµĮıȚȠȜȠȖȓĮ (Semantics) İȓȞĮȚ ȑȞĮ ıȪȞȠȜȠ țĮȞȩȞȦȞ ȠȚ ȠʌȠȓȠȚ ʌȡȠıįȚȠȡȓȗȠȣȞ IJȘ ıȘµĮıȓĮ IJȦȞ İȞIJȠȜȫȞ ʌȠȣ ȖȡȐijȠȞIJĮȚ ıİ µȓĮ ȖȜȫııĮ ʌȡȠȖȡĮµµĮIJȚıµȠȪ. Ǿ Pascal µĮȢ İʌȚIJȡȑʌİȚ ȞĮ įȓȞȠȣµİ IJĮȣIJȩIJȘIJİȢ Ȓ ȠȞȩµĮIJĮ (identifiers) IJĮ ȠʌȠȓĮ ĮȞĮijȑȡȠȞIJĮȚ ıİ ıIJĮșİȡȑȢ, µİIJĮȕȜȘIJȑȢ, IJȪʌȠȣȢ įİįȠµȑȞȦȞ, įȚĮįȚțĮıȓİȢ, ıȣȞĮȡIJȒıİȚȢ țȜʌ. DzȞĮ ȩȞȠµĮ ĮʌȠIJİȜİȓIJĮȚ Įʌȩ µȚĮ ıİȚȡȐ ȤĮȡĮțIJȒȡȦȞ (ȖȡȐµµĮIJĮ IJȠȣ ȜĮIJȚȞȚțȠȪ ĮȜijĮȕȒIJȠȣ., ĮȡȚșµȠȓ Ȓ _ ), ʌȡȑʌİȚ ȞĮ ĮȡȤȓȗİȚ ʌȐȞIJȠIJİ µİ ȖȡȐµµĮ țĮȚ įİȞ ʌȡȑʌİȚ ȞĮ ʌİȡȚȑȤİȚ țİȞȐ. ȆȡȠțİȚµȑȞȠȣ ȞĮ ȑȤȠȣµİ ȑȞĮ İȣĮȞȐȖȞȦıIJȠ ʌȡȩȖȡĮµµĮ įȓȞȠȣµİ ȠȞȩµĮIJĮ µİ IJȠȞ ȤĮȡĮțIJȒȡĮ "_". ȅ ȤĮȡĮțIJȒȡĮȢ ĮȣIJȩȢ įİȞ µʌȠȡİȓ ȞĮ İȓȞĮȚ Ƞ IJİȜİȣIJĮȓȠȢ IJȠȣ ȠȞȩµĮIJȠȢ. ȆȤ. basikos_mistos, kratiseis, pl_poso, İȓȞĮȚ ıȦıIJȐ ȠȞȩµĮIJĮ. ȆȠȜȜȑȢ ijȠȡȑȢ ȖȚĮ ȜȩȖȠȣȢ IJİțµȘȡȓȦıȘȢ ȤȡİȚȐȗİIJĮȚ ȞĮ ȖȡȐijȠȣµİ ıȤȩȜȚĮ ıIJȠ ʌȡȩȖȡĮµµĮ. ȉĮ ıȤȩȜȚĮ µʌȠȡİȓ ȞĮ țĮIJĮȜĮµȕȐȞȠȣȞ ȩıİȢ ȖȡĮµµȑȢ șȑȜȠȣµİ Ȓ ȞĮ ݵijĮȞȓȗȠȞIJĮȚ µİIJĮȟȪ IJȦȞ ıIJȠȚȤİȓȦȞ µȚĮȢ İȞIJȠȜȒȢ. ȉĮ ıȤȩȜȚĮ ʌİȡȚȑȤȠȞIJĮȚ µİIJĮȟȪ įȪȠ ʌĮȡİȞșȑıİȦȞ IJȘȢ µȠȡijȒȢ {...} Ȓ (*...*). ȀȐșİ ıȤȩȜȚȠ șİȦȡİȓIJĮȚ ȦȢ ȑȞĮ țİȞȩ.

1.3. ǺĮıȚțȠȓ ȉȪʌȠȚ ǻİįȠµȑȞȦȞ ȉȪʌȠȢ ǻİįȠµȑȞȦȞ (Data Type) İȓȞĮȚ µȚĮ țĮIJȘȖȠȡȓĮ įİįȠµȑȞȦȞ µİ ȠȡȚıµȑȞȘ ĮʌİȚțȩȞȚıȘ țĮȚ ȑȞĮ ıȪȞȠȜȠ ȜİȚIJȠȣȡȖȚȫȞ ʌȠȣ µʌȠȡȠȪȞ ȞĮ İijĮȡµȠıIJȠȪȞ ıIJȠ ıȪȞȠȜȠ IJȦȞ IJȚµȫȞ IJȠȣȢ. ȅȚ IJȪʌȠȚ įİįȠµȑȞȦȞ ȤȡȘıȚµȠʌȠȚȠȪȞIJĮȚ ȖȚĮ IJȠȞ ȠȡȚıµȩ IJȦȞ µİIJĮȕȜȘIJȫȞ Ȓ IJȦȞ ıȣȞĮȡIJȒıİȦȞ ʌȠȣ ȠȡȓȗİȚ Ƞ ȤȡȒıIJȘȢ. ȂȓĮ µİIJĮȕȜȘIJȒ șĮ İȓȞĮȚ ʌȐȞIJȠIJİ İȞȩȢ ıȣȖțİțȡȚµȑȞȠȣ IJȪʌȠȣ. ǼȐȞ ʌȡȠıʌĮșȒıȠȣµİ ȞĮ įȫıȠȣµİ IJȚµȒ İțIJȩȢ IJȦȞ ȠȡȓȦȞ IJȠȣ IJȪʌȠȣ IJȘȢ IJȩIJİ IJĮ ĮʌȠIJİȜȑıµĮIJĮ İȓȞĮȚ ĮʌȡȩȕȜİʌIJĮ. ȊʌȐȡȤȠȣȞ ĮʌȜȠȓ Ȓ ıIJȠȚȤİȚȫįİȚȢ țĮȚ ıȪȞșİIJȠȚ IJȪʌȠȚ įİįȠµȑȞȦȞ. ǹʌȜȠȓ Ȓ ıIJȠȚȤİȚȫįİȚȢ IJȪʌȠȚ įİįȠµȑȞȦȞ İȓȞĮȚ ȠȚ: x

ȅ ĮțȑȡĮȚȠȢ IJȪʌȠȢ.

x

ȅ ʌȡĮȖµĮIJȚțȩȢ IJȪʌȠȢ.

x

ȅ ȜȠȖȚțȩȢ IJȪʌȠȢ.

x

ȅ ȤĮȡĮțIJȒȡĮȢ.


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal -2-

ȈȪȞșİIJȠȚ IJȪʌȠȚ įİįȠµȑȞȦȞ İȓȞĮȚ ĮȣIJȠȓ ʌȠȣ ȠȡȓȗȠȞIJĮȚ Įʌȩ ĮʌȜȠȪȢ IJȪʌȠȣȢ Ȓ țĮȚ Įʌȩ ȐȜȜȠȣȢ ıȪȞșİIJȠȣȢ ʌȠȣ ȠȡȓıIJȘțĮȞ ʌȡȠȘȖȠȪµİȞĮ. ȈIJȘȞ İȞȩIJȘIJĮ ĮȣIJȒ șĮ ĮȞĮijİȡșİȓ Ƞ ĮȜijĮȡȚșµȘIJȚțȩȢ IJȪʌȠȢ (string). ¾

ǹțȑȡĮȚȠȢ

ȅȚ ĮțȑȡĮȚȠȚ (integer) IJȘȢ Pascal, ȩʌȦȢ țĮȚ ıIJȚȢ ʌİȡȚııȩIJİȡİȢ ȖȜȫııİȢ ʌȡȠȖȡĮµµĮIJȚıµȠȪ, İȓȞĮȚ ȑȞĮ ȣʌȠıȪȞȠȜȠ IJȦȞ ĮțİȡĮȓȦȞ, ʌȠȣ ȖȞȦȡȓȗȠȣµİ Įʌȩ IJĮ ȂĮșȘµĮIJȚțȐ. ȈIJȚȢ ʌİȡȚııȩIJİȡİȢ İțįȩıİȚȢ IJȘȢ Pascal ʌĮȓȡȞȠȣȞ IJȚµȑȢ ıIJȠ įȚȐıIJȘµĮ [-32768, 32767]. Ȃİ IJȠȣȢ ĮțİȡĮȓȠȣȢ ȖȓȞȠȞIJĮȚ ȩȜİȢ ȠȚ ȖȞȦıIJȑȢ Įʌȩ IJĮ ȂĮșȘµĮIJȚțȐ ʌȡȐȟİȚȢ ĮȜȜȐ IJĮ ĮʌȠIJİȜȑıµĮIJĮ ʌȡȑʌİȚ ȞĮ ȕȡȓıțȠȞIJĮȚ ıIJȠ ıȪȞȠȜȠ IJȚµȫȞ IJȠȣ ĮțȑȡĮȚȠȣ IJȪʌȠȣ. ȂİȡȚțȑȢ İțįȩıİȚȢ IJȘȢ Pascal, ȩʌȦȢ Ș Turbo Pascal, ȣʌȠıIJȘȡȓȗİȚ įȚȐijȠȡȠȣȢ IJȪʌȠȣȢ ĮțİȡĮȓȦȞ. ȀȐșİ IJȑIJȠȚȠȢ IJȪʌȠȢ țĮșȠȡȓȗİIJĮȚ Įʌȩ IJȠ ʌİįȓȠ IJȚµȫȞ IJȠȣ, IJȘȞ ȪʌĮȡȟȘ Ȓ µȘ ʌȡȩıȘµȠȣ țĮȚ IJȠ ʌȜȒșȠȢ IJȦȞ bytes (8bits=1byte) ʌȠȣ țĮIJĮȜĮµȕȐȞİȚ ıIJȘȞ țİȞIJȡȚțȒ µȞȒµȘ (ȕȜȑʌİ ȆȓȞĮțĮ 1). ǵȞȠµĮ IJȪʌȠȣ

ǻȚȐıIJȘµĮ IJȚµȫȞ

ȆȡȩıȘµȠ

ȆȜȒșȠȢ bytes

shortint

-128 .. 127

NAI

1

integer

-32768 .. 32767

NAI

2

longint

-2148483648 .. 2147483647

NAI

4

byte

0 .. 255

OXI

1

word

0 .. 65535

OXI

2

ȆȓȞĮțĮȢ 1: ǹțȑȡĮȚȠȚ IJȪʌȠȚ ȅȚ İʌȚIJȡİʌIJȑȢ ʌȡȐȟİȚȢ ĮțİȡĮȓȦȞ İȓȞĮȚ: +

ʌȡȩıșİıȘ

-

ĮijĮȓȡİıȘ

*

ʌȠȜȜĮʌȜĮıȚĮıµȩȢ

/

įȚĮȓȡİıȘ

div

ĮțȑȡĮȚĮ įȚĮȓȡİıȘ (ʌȘȜȓțȠ)

mod

ȣʌȩȜȠȚʌȠ įȚĮȓȡİıȘȢ

ȆĮȡĮįİȓȖµĮIJĮ:

27 div 6

=4

16 div 17

=0

36 div 6

=6

27 mod 6 = 3 16 mod 17 = 16 36 mod 6 = 0

¾

ȆȡĮȖµĮIJȚțȩȢ

ȅ ʌȡĮȖµĮIJȚțȩȢ (real) IJȪʌȠȢ ȤȡȘıȚµȠʌȠȚİȓIJĮȚ İțİȓ ʌȠȣ ȠȚ ĮȡȚșµȘIJȚțȑȢ IJȚµȑȢ įİȞ İȓȞĮȚ ĮțȑȡĮȚȠȚ ĮȡȚșµȠȓ Ȓ ȠȚ ĮȞĮµİȞȩµİȞİȢ IJȚµȑȢ IJȠȣȢ İȓȞĮȚ İțIJȩȢ ȠȡȓȦȞ IJȠȣ ĮțİȡĮȓȠȣ IJȪʌȠȣ. ǼʌİȚįȒ ȠȚ ĮȡȚșµȠȓ ĮȣIJȠȓ ĮʌȠșȘțİȪȠȞIJĮȚ µİ įȚĮijȠȡİIJȚțȩ IJȡȩʌȠ Įʌȩ IJȠȣȢ ĮțȑȡĮȚȠȣȢ, įȓȞȠȣȞ µİȖĮȜȪIJİȡȠ İȪȡȠȢ IJȚµȫȞ țĮȚ µʌȠȡİȓ ȞĮ ȤȡȘıȚµȠʌȠȚȘșȠȪȞ ȖȚĮ ʌȠȜȪ µİȖȐȜȠȣȢ Ȓ ʌȠȜȪ µȚțȡȠȪȢ ĮȡȚșµȠȪȢ (ĮțȑȡĮȚȠȣȢ Ȓ įİțĮįȚțȠȪȢ). ȅȚ ʌȡĮȖµĮIJȚțȠȓ ĮȡȚșµȠȓ IJȘȢ Pascal ȠȡȓȗȠȞIJĮȚ ȦȢ ȑȞĮ ȣʌȠıȪȞȠȜȠ IJȦȞ ʌȡĮȖµĮIJȚțȫȞ ĮȡȚșµȫȞ, ʌȠȣ ȟȑȡȠȣµİ Įʌȩ IJĮ ȂĮșȘµĮIJȚțȐ. ȆİȡȚȑȤȠȞIJĮȚ ıIJȠ įȚȐıIJȘµĮ Įʌȩ 10-38 µȑȤȡȚ 10+38 ʌİȡȓʌȠȣ țĮȚ ȑȤȠȣȞ Įʌȩ 6 µȑȤȡȚ țĮȚ 20 ıȘµĮȞIJȚțȐ ȥȘijȓĮ, ĮȞȐȜȠȖĮ µİ IJȘȞ ȑțįȠıȒ IJȘȢ Pascal țĮȚ IJȘȞ İʌȚµȑȡȠȣȢ İʌȚȜȠȖȒ IJȠȣ ʌȡĮȖµĮIJȚțȠȪ IJȪʌȠȣ. ȉĮ ıȘµĮȞIJȚțȐ ȥȘijȓĮ İțijȡȐȗȠȞIJĮȚ µİ IJȘ µȠȡijȒ țȚȞȘIJȒȢ ȣʌȠįȚĮıIJȠȜȒȢ ʌȠȣ įȚĮșȑIJİȚ Ƞ ȣʌȠȜȠȖȚıIJȒȢ. ȉĮ ĮʌȠIJİȜȑıµĮIJĮ ĮȡȚșµȘIJȚțȫȞ ʌȡȐȟİȦȞ ʌȡȠıİȖȖȓȗȠȞIJĮȚ µİ IJȠ ʌȜȒșȠȢ IJȦȞ ıȘµĮȞIJȚțȫȞ ȥȘijȓȦȞ ʌȠȣ įȚĮșȑIJİȚ Ș ȑțįȠıȘ IJȘȢ Pascal. Ȇ.Ȥ. Ƞ ĮȡȚșµȩȢ 4.934456Ǽ+04 ĮȞIJȚıIJȠȚȤİȓ ıIJȠ įİțĮįȚțȩ ĮȡȚșµȩ 49344,56 (4.934456 x 10+4). ȂİȡȚțȑȢ İțįȩıİȚȢ Pascal ȩʌȦȢ Ș Turbo Pascal ȣʌȠıIJȘȡȓȗİȚ įȚȐijȠȡȠȣȢ IJȪʌȠȣȢ ʌȡĮȖµĮIJȚțȫȞ. ȀȐșİ IJȑIJȠȚȠȢ IJȪʌȠȢ țĮșȠȡȓȗİIJĮȚ Įʌȩ IJȠ ʌİįȓȠ IJȚµȫȞ IJȠȣ, IJȠ ʌȜȒșȠȢ IJȦȞ ıȘµĮȞIJȚțȫȞ ȥȘijȓȦȞ IJȠȣ țĮȚ IJȠ ʌȜȒșȠȢ IJȦȞ bytes ʌȠȣ țĮIJĮȜĮµȕȐȞİȚ ıIJȘȞ țİȞIJȡȚțȒ µȞȒµȘ (ȕȜȑʌİ ȆȓȞĮțĮ 2). ǼʌİȚįȒ Ș µȠȡijȒ ĮȞĮʌĮȡȐıIJĮıȘȢ IJȦȞ ʌȡĮȖµĮIJȚțȫȞ ĮȡȚșµȫȞ İȓȞĮȚ ʌİȡȓʌȜȠțȘ, ʌȡȐȟİȚȢ ʌȠȣ ʌİȡȚȜĮµȕȐȞȠȣȞ ʌȡĮȖµĮIJȚțȠȪȢ ĮȡȚșµȠȪȢ ĮʌĮȚIJȠȪȞ ʌİȡȚııȩIJİȡȠ ȤȡȩȞȠ ȖȚĮ İțIJȑȜİıȘ Įʌȩ ĮȣIJȑȢ IJȦȞ ĮțİȡĮȓȦȞ, ȠȚ ȠʌȠȓȠȚ ĮʌȠșȘțİȪȠȞIJĮȚ ĮʌȜȐ ıİ ȚıȠįȪȞĮµȘ įȣĮįȚțȒ µȠȡijȒ.


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal -3-

ǵȞȠµĮ IJȪʌȠȣ

ǻȚȐıIJȘµĮ IJȚµȫȞ -2.9 x 10-39 .. 1.7 x 1038

real single

-1.5 x 10

-45

.. 3.4 x 10

38

-5.0 x 10-324 .. 1.7 x 10308

double extended

-3.4 x 10

-4932

.. 1.1 x 10

63

comp

4932

63

-2 +1 .. 2 -1

ȈȘµĮȞIJȚțȐ ȥȘijȓĮ

ȆȜȒșȠȢ bytes

11-12

6

7-8

4

15-16

8

19-20

10

19-20

8

ȆȓȞĮțĮȢ 2: ȉȪʌȠȚ ʌȡĮȖµĮIJȚțȫȞ ĮȡȚșµȫȞ ȅȚ İʌȚIJȡİʌIJȑȢ ʌȡȐȟİȚȢ ʌȡĮȖµĮIJȚțȫȞ ĮȡȚșµȫȞ İȓȞĮȚ: +

ʌȡȩıșİıȘ

-

ĮijĮȓȡİıȘ

*

ʌȠȜȜĮʌȜĮıȚĮıµȩȢ

/

įȚĮȓȡİıȘ

ǹȡȚșµȘIJȚțȑȢ İțijȡȐıİȚȢ İȓȞĮȚ ĮʌİȚțȠȞȓıİȚȢ ĮȡȚșµȘIJȚțȫȞ ʌĮȡĮıIJȐıİȦȞ ʌȠȣ µʌȠȡİȓ ȞĮ ʌİȡȚȑȤȠȣȞ ıIJĮșİȡȑȢ, µİIJĮȕȜȘIJȑȢ, ıȣȞĮȡIJȒıİȚȢ, ĮȡȚșµȘIJȚțȐ ıȪµȕȠȜĮ țĮȚ ʌĮȡİȞșȑıİȚȢ. ȀĮIJȐ IJȘȞ İțIJȑȜİıȘ IJȦȞ ʌȡȐȟİȦȞ ʌȡȠIJİȡĮȚȩIJȘIJĮ ȑȤİȚ Ƞ ʌȠȜȜĮʌȜĮıȚĮıµȩȢ țĮȚ Ș įȚĮȓȡİıȘ (įȘȜ. IJĮ ıȪµȕȠȜĮ * / div mod) ıİ ıȤȑıȘ µİ IJȘȞ ʌȡȩıșİıȘ țĮȚ IJȘȞ ĮijĮȓȡİıȘ. ǹȣIJȩ ıȘµĮȓȞİȚ ȩIJȚ țȐșİ ʌȡȐȟȘ, µİ IJĮ ʌȡȫIJĮ ıȪµȕȠȜĮ, įȘȜĮįȒ ʌȠȜȜĮʌȜĮıȚĮıµȩ, įȚĮȓȡİıȘ (ĮțȑȡĮȚĮ Ȓ µȘ) țĮȚ ȣʌȩȜȠȚʌȠ įȚĮȓȡİıȘȢ İțIJİȜİȓIJĮȚ ʌȡȫIJȘ, İțIJȩȢ ĮȞ ȣʌȐȡȤİȚ ʌĮȡȑȞșİıȘ, ȠʌȩIJİ İțIJİȜİȓIJĮȚ ʌȡȫIJĮ Ș ʌȡȐȟȘ ʌȠȣ ȣʌȐȡȤİȚ µȑıĮ ıIJȘȞ ʌĮȡȑȞșİıȘ. Ǿ ʌȡȐȟȘ IJȠȣ ʌȠȜȜĮʌȜĮıȚĮıµȠȪ, ıİ ıȤȑıȘ µİ IJȘ įȚĮȓȡİıȘ, ȑȤİȚ IJȘȞ ȓįȚĮ ʌȡȠIJİȡĮȚȩIJȘIJĮ. Ǿ ʌȡȩıșİıȘ İʌȓıȘȢ ȑȤİȚ IJȘȞ ȓįȚĮ ʌȡȠIJİȡĮȚȩIJȘIJĮ µİ IJȘȞ ĮijĮȓȡİıȘ. ǵIJĮȞ IJĮ ıȪµȕȠȜĮ ȑȤȠȣȞ IJȘȞ ȓįȚĮ ʌȡȠIJİȡĮȚȩIJȘIJĮ ȠȚ ʌȡȐȟİȚȢ İțIJİȜȠȪȞIJĮȚ Įʌȩ ĮȡȚıIJİȡȐ ʌȡȠȢ IJĮ įİȟȚȐ. ¾

ȁȠȖȚțȩȢ

ȅ ȜȠȖȚțȩȢ (Boolean) IJȪʌȠȢ ȑȤİȚ įȪȠ µȩȞȠ IJȚµȑȢ ǹȜȘșȒȢ (true) țĮȚ ȌİȣįȒȢ (false). ȆȠȜȜȑȢ ijȠȡȑȢ Ƞ ıțȠʌȩȢ µȚĮȢ µİIJĮȕȜȘIJȒȢ ȜȠȖȚțȠȪ IJȪʌȠȣ İȓȞĮȚ Ș țĮIJĮȖȡĮijȒ IJȠȣ ĮʌȠIJİȜȑıµĮIJȠȢ İȞȩȢ İȜȑȖȤȠȣ. ǼȐȞ ıİ țȐʌȠȚȠ ıȘµİȓȠ IJȠȣ ʌȡȠȖȡȐµµĮIJȠȢ ȤȡİȚĮıIJİȓ ȞĮ İȟİIJȐıȠȣµİ IJȠ ĮʌȠIJȑȜİıµĮ İȞȩȢ İȜȑȖȤȠȣ, Įȡțİȓ ȞĮ İȟİIJȐıȠȣµİ ĮȞ Ș IJȚµȒ IJȘȢ ȜȠȖȚțȒȢ µİIJĮȕȜȘIJȒȢ İȓȞĮȚ ǹȜȘșȒȢ (true) Ȓ ȥİȣįȒȢ (false). ȅȚ ʌȡȐȟİȚȢ ʌȠȣ µʌȠȡȠȪȞ ȞĮ ȖȓȞȠȣȞ µİ µİIJĮȕȜȘIJȑȢ Ȓ İțijȡȐıİȚȢ ȜȠȖȚțȠȪ IJȪʌȠȣ İȓȞĮȚ Ș ıȪȗİȣȟȘ, Ș įȚȐȗİȣȟȘ, Ș ĮʌȠțȜİȚıIJȚțȒ įȚȐȗİȣȟȘ țĮȚ Ș ȐȡȞȘıȘ țĮȚ ȖȓȞȠȞIJĮȚ µȑıȦ IJȦȞ ȜȠȖȚțȫȞ IJİȜİıIJȫȞ and, or, xor țĮȚ not ĮȞIJȓıIJȠȚȤĮ. ȈIJȠȞ ȆȓȞĮțĮ 3 ʌĮȡȠȣıȚȐȗİIJĮȚ IJĮ ĮʌȠIJİȜȑıµĮIJĮ IJȦȞ ʌĮȡĮʌȐȞȦ ʌȡȐȟİȦȞ µİIJĮȟȪ įȪȠ ȜȠȖȚțȫȞ µİIJĮȕȜȘIJȫȞ µİ ȩȜȠȣȢ IJȠȣ ıȣȞįȣĮıµȠȪȢ IJȦȞ IJȚµȫȞ IJȠȣȢ. P

Q

P and Q

P or Q

P xor Q

not P

True

True

True

True

False

False

True

False

False

True

True

False

False

True

True

True

True

True

False

False

False

False

False

True

ȆȓȞĮțĮȢ 3: Ǿ ıȪȗİȣȟȘ, Ș įȚȐȗİȣȟȘ, Ș ĮʌȠțȜİȚıIJȚțȒ įȚȐȗİȣȟȘ țĮȚ Ș ȐȡȞȘıȘ ȁȠȖȚțȑȢ İțijȡȐıİȚȢ İȓȞĮȚ ĮʌİȚțȠȞȓıİȚȢ ʌĮȡĮıIJȐıİȦȞ ʌȠȣ µʌȠȡİȓ ȞĮ ʌİȡȚȑȤȠȣȞ ıIJĮșİȡȑȢ, µİIJĮȕȜȘIJȑȢ, ıȣȞĮȡIJȒıİȚȢ, ĮȡȚșµȘIJȚțȐ ıȪµȕȠȜĮ țĮȚ ʌĮȡİȞșȑıİȚȢ țĮȚ µʌȠȡȠȪȞ ȞĮ ʌȐȡȠȣȞ µȚĮ ȜȠȖȚțȒ IJȚµȒ (true Ȓ false). ȂȓĮ ȜȠȖȚțȒ ȑțijȡĮıȘ ʌĮȡȐȖİIJĮȚ Įʌȩ įȪȠ µİIJĮȕȜȘIJȑȢ Ȓ ıIJĮșİȡȑȢ µȑıȦ IJȦȞ ıȤİıȚĮțȫȞ IJİȜİıIJȫȞ (ȕȜȑʌİ ȆȓȞĮțĮ 4). ȅ ȁȠȖȚțȩȢ IJİȜİıIJȒȢ and įȑȤİIJĮȚ įȪȠ ȜȠȖȚțȑȢ İțijȡȐıİȚȢ țĮȚ įȓȞİȚ IJȚµȒ true, µȩȞȠ ȩIJĮȞ țĮȚ ȠȚ įȪȠ ȜȠȖȚțȑȢ İțijȡȐıİȚȢ ȑȤȠȣȞ IJȚµȒ true. O IJİȜİıIJȒȢ and ȑȤİȚ ȤĮȡĮțIJȘȡȚıIJİȓ ȦȢ IJİȜİıIJȒȢ ȜȠȖȚțȠȪ ʌȠȜȜĮʌȜĮıȚĮıµȠȪ. Ǿ ȑțijȡĮıȘ (x>1) and (x<10) ȑȤİȚ IJȚµȒ true, µȩȞȠ ȩIJĮȞ Ƞ x ʌĮȓȡȞİȚ IJȚµȑȢ Įʌȩ 2 µȑȤȡȚ țĮȚ 9. ȅ IJİȜİıIJȒȢ and ȑȤİȚ ʌȡȠIJİȡĮȚȩIJȘIJĮ ıİ ıȤȑıȘ µİ IJȠȣȢ <, >, ȖȚ' ĮȣIJȩ ȠȚ ʌĮȡİȞșȑıİȚȢ İȓȞĮȚ ĮʌĮȡĮȓIJȘIJİȢ. ǹȞ ıIJȘȞ ʌȡȠȘȖȠȪµİȞȘ ıȤȑıȘ ȖȡȐȥȠȣµİ x>1 and x<9, ĮȣIJȒ İȓȞĮȚ ȚıȠįȪȞĮµȘ µİ IJȘȞ x>(1 and x)<9, Ș ȠʌȠȓĮ ıIJİȡİȓIJĮȚ ȞȠȒµĮIJȠȢ.


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal -4-

ȅ ȁȠȖȚțȩȢ IJİȜİıIJȒȢ or įȑȤİIJĮȚ įȪȠ ȜȠȖȚțȑȢ İțijȡȐıİȚȢ țĮȚ įȓȞİȚ IJȚµȒ true, ȩIJĮȞ IJȠȣȜȐȤȚıIJȠȞ µȓĮ Įʌȩ IJȚȢ įȪȠ ȜȠȖȚțȑȢ İțijȡȐıİȚȢ ȑȤİȚ IJȚµȒ true. ȅ IJİȜİıIJȒȢ or ȑȤİȚ ȤĮȡĮțIJȘȡȚıIJİȓ ȦȢ IJİȜİıIJȒȢ ȜȠȖȚțȒȢ ʌȡȩıșİıȘȢ țĮȚ İʌȠµȑȞȦȢ ȑȤİȚ µȚțȡȩIJİȡȘ ʌȡȠIJİȡĮȚȩIJȘIJĮ Įʌȩ IJȠȞ IJİȜİıIJȒ and. DzIJıȚ Ș ıȤȑıȘ: if ((x>=0) and (x<=10)) or (x=20) then... İȓȞĮȚ ȚıȠįȪȞĮµȘ µİ IJȘ ıȤȑıȘ if (x>=0) and (x<=10) or (x=20) then... ȅ ȁȠȖȚțȩȢ IJİȜİıIJȒȢ xor įȑȤİIJĮȚ įȪȠ ȜȠȖȚțȑȢ İțijȡȐıİȚȢ țĮȚ įȓȞİȚ IJȚµȒ true, ȩIJĮȞ µȩȞȠ µȓĮ Įʌȩ IJȚȢ įȪȠ ȜȠȖȚțȑȢ İțijȡȐıİȚȢ ȑȤİȚ IJȚµȒ true. ȅ IJİȜİıIJȒȢ xor ȑȤİȚ IJȘȞ ȓįȚĮ ʌȡȠIJİȡĮȚȩIJȘIJĮ µİ IJȠȞ IJİȜİıIJȒ or. ȅ IJİȜİıIJȒȢ not İȓȞĮȚ Ƞ ȜȠȖȚțȩȢ IJİȜİıIJȒȢ ʌȠȣ įȑȤİIJĮȚ ȦȢ ʌĮȡȐµİIJȡȠ µȓĮ µȩȞȠ ȜȠȖȚțȒ µİIJĮȕȜȘIJȒ Ȓ ȑțijȡĮıȘ țĮȚ İʌȚıIJȡȑijİȚ IJȘȞ ĮȞIJȓșİIJȘ IJȚµȒ IJȘȢ įȘȜĮįȒ įȓȞİȚ IJȚµȒ true, ĮȞ Ș ʌĮȡȐµİIJȡȠȢ ȑȤİȚ IJȚµȒ false, Ȓ įȓȞİȚ false, ĮȞ Ș ʌĮȡȐµİIJȡȠȢ ȑȤİȚ IJȚµȒ true. ȂĮșȘµĮIJȚțȐ

Pascal

ȂİȖĮȜȪIJİȡȠ Įʌȩ

>

>

ȂȚțȡȩIJİȡȠ Įʌȩ

<

<

ȂİȖĮȜȪIJİȡȠ Ȓ ȓıȠ

t

>=

ȂȚțȡȩIJİȡȠ Ȓ ȓıȠ

d

<=

ǻȚȐijȠȡȠ

<>

ǹȞȒțİȚ

in

ȆİȡȚȖȡĮijȒ

ȆȓȞĮțĮȢ 4: ȈȤİıȚĮțȠȓ IJİȜİıIJȑȢ ¾

ȋĮȡĮțIJȒȡĮȢ

ȅ IJȪʌȠȢ (char) ʌİȡȚȖȡȐijİȚ įİįȠµȑȞĮ İȞȩȢ ȤĮȡĮțIJȒȡĮ µȑıĮ Įʌȩ IJȠ ıȪȞȠȜȠ ȤĮȡĮțIJȒȡȦȞ IJȠȣ ȣʌȠȜȠȖȚıIJȒ. Ȉİ ȑȞĮ ʌȡȩȖȡĮµµĮ Pascal µȚĮ IJȚµȒ İȞȩȢ įİįȠµȑȞȠȣ ĮȣIJȠȪ IJȠȣ IJȪʌȠȣ ȖȡȐijİIJĮȚ: 'A','B','$','&' țȜʌ. O IJȪʌȠȢ ȤĮȡĮțIJȒȡĮȢ Char İȓȞĮȚ ȑȞĮȢ įȚĮIJİIJĮȖµȑȞȠȢ IJȪʌȠȢ Ƞ ȠʌȠȓȠȢ ʌİȡȚȜĮµȕȐȞİȚ IJȠ ıȪȞȠȜȠ IJȦȞ ȤĮȡĮțIJȒȡȦȞ ʌȠȣ įȚĮșȑIJİȚ Ƞ ȣʌȠȜȠȖȚıIJȒȢ µĮȢ. Ǿ įȚȐIJĮȟȘ IJȠȣ ıȣȞȩȜȠȣ IJȦȞ ȤĮȡĮțIJȒȡȦȞ įȚĮijȑȡİȚ Įʌȩ ȣʌȠȜȠȖȚıIJȒ ıİ ȣʌȠȜȠȖȚıIJȒ. īİȞȚțȐ ʌȐȞIJȦȢ IJĮ ȥȘijȓĮ 0,1,2,...9 İȓȞĮȚ ıȣȞİȤȩµİȞĮ. ȉȠ ȓįȚȠ IJĮ ȖȡȐµµĮIJĮ ǹ,Ǻ,C,D,...Z, a,b,c,d,...,z țĮȚ ĮțȠȜȠȣșȠȪȞ ȠȚ ǼȜȜȘȞȚțȠȓ ȤĮȡĮțIJȒȡİȢ ǹ,Ǻ,...,ȍ, Į,ȕ,...,Ȧ. ¾

ǹȜijĮȡȚșµȘIJȚțȩȢ IJȪʌȠȢ

ȅ ĮȜijĮȡȚșµȘIJȚțȩȢ (String) IJȪʌȠȢ įİȞ ıȣȞĮȞIJȐIJĮȚ ıIJȘȞ Standard Pascal. ȅ ĮȜijĮȡȚșµȘIJȚțȩȢ IJȪʌȠȢ İȓȞĮȚ µȓĮ ıİȚȡȐ Įʌȩ 255 IJȠ ʌȠȜȪ ȤĮȡĮțIJȒȡİȢ. ǼȐȞ ıIJȘ įȒȜȦıȘ ĮȣIJȠȪ IJȠȣ IJȪʌȠȣ įİȞ ȑȤİȚ ĮȞĮijİȡșİȓ IJȠ µȒțȠȢ, IJȩIJİ ȜĮµȕȐȞİIJĮȚ IJȠ µȑȖȚıIJȠ µȒțȠȢ, įȘȜĮįȒ 255 ȤĮȡĮțIJȒȡİȢ. ȉȠ ʌİȡȚİȤȩµİȞȠ µȚĮȢ µİIJĮȕȜȘIJȒȢ ĮȣIJȠȪ IJȠȣ IJȪʌȠȣ µʌȠȡİȓ ȞĮ İȓȞĮȚ µȓĮ ȜȑȟȘ Ȓ µȓĮ ijȡȐıȘ, ȩʌȦȢ ȠȞȠµĮIJİʌȫȞȣµȠ, įȚİȪșȣȞıȘ țĮIJȠȚțȓĮȢ țȜʌ.

1.4. ǻȠµȒ ȆȡȠȖȡȐµµĮIJȠȢ Pascal ȆȡȩȖȡĮµµĮ Pascal: program ȩȞȠµĮ ʌȡȠȖȡȐµµĮIJȠȢ; įȘȜȫıİȚȢ begin İțIJİȜȑıȚµİȢ İȞIJȠȜȑȢ end. ¾ ǼʌȚțİijĮȜȓįĮ DzȞĮ ʌȡȩȖȡĮµµĮ Pascal ĮȡȤȓȗİȚ µİ IJȘ ȜȑȟȘ program ʌȠȣ ĮțȠȜȠȣșİȓIJĮȚ Įʌȩ IJȠ ȩȞȠµĮ IJȠȣ ʌȡȠȖȡȐµµĮIJȠȢ țĮȚ µȓĮ ȜȓıIJĮ µİ ȠȞȩµĮIJĮ ĮȡȤİȓȦȞ IJĮ ȠʌȠȓĮ µʌȠȡİȓ ȞĮ İȓȞĮȚ ʌȡȠĮȚȡİIJȚțȐ µȠȞȐįİȢ İȚıȩįȠȣ / İȟȩįȠȣ Ȓ IJĮ ĮȡȤİȓĮ ʌȠȣ șĮ ȤȡȘıȚµȠʌȠȚȒıİȚ țĮIJȐ IJȘȞ İțIJȑȜİıȒ IJȠȣ. Ǿ ʌȡȫIJȘ ȖȡĮµµȒ İȓȞĮȚ Ș İʌȚțİijĮȜȓįĮ (heading) IJȠȣ ʌȡȠȖȡȐµµĮIJȠȢ. Ǿ µȠȡijȒ IJȘȢ İʌȚțİijĮȜȓįĮȢ İȓȞĮȚ: program <ȩȞȠµĮ ʌȡȠȖȡȐµµĮIJȠȢ>[(<ȩȞȠµĮ ĮȡȤİȓȠȣ-1>...<ȩȞȠµĮ ĮȡȤİȓȠȣ-Ȟ>)]; ȆĮȡĮįİȓȖµĮIJĮ: program test_1 (input,output); program test_2;


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal -5-

¾

ǻȘȜȫıİȚȢ

Ǿ İʌȚțİijĮȜȓįĮ ĮțȠȜȠȣșİȓIJĮȚ Įʌȩ ʌȡȠIJȐıİȚȢ įȘȜȫıİȦȞ (declarations) ʌȠȣ ĮȞĮijȑȡȠȞIJĮȚ ıIJȠȣȢ ȩȡȠȣȢ ʌȠȣ ȤȡȘıȚµȠʌȠȚȠȪȞIJĮȚ ıIJȠ ʌȡȩȖȡĮµµĮ. ȅȚ ʌȡȠIJȐıİȚȢ įȘȜȫıİȦȞ țĮIJĮȜȒȖȠȣȞ ıİ İȡȦIJȘµĮIJȚțȩ (;). țĮȚ ĮțȠȜȠȣșȠȪȞ IJȘȞ İȟȒȢ ıİȚȡȐ: x

ǻȘȜȫıİȚȢ ıIJĮșİȡȫȞ (constants), ȤȡȘıȚµȠʌȠȚȠȪȞIJĮȚ ȖȚĮ IJȠȞ ȠȡȚıµȩ ȠȞȠµȐIJȦȞ įİįȠµȑȞȦȞ IJĮ ȠʌȠȓĮ ʌĮȡĮµȑȞȠȣȞ ıIJĮșİȡȐ. ȆȡȚȞ Įʌȩ IJȠȞ ȠȡȚıµȩ IJȦȞ ıIJĮșİȡȫȞ ĮȞĮȖȡȐijİIJĮȚ Ș ȜȑȟȘ const. ȆĮȡĮįİȓȖµĮIJĮ: const pososto=18; nomos='ǹĬǾȃȍȃ';

x

ǻȘȜȫıİȚȢ IJȪʌȦȞ (type), İijȩıȠȞ ȠȡȓȗȠȞIJĮȚ ȞȑȠȚ IJȪʌȠȚ.

x

ǻȘȜȫıİȚȢ µİIJĮȕȜȘIJȫȞ (variables), ȤȡȘıȚµȠʌȠȚȠȪȞIJĮȚ ȖȚĮ IJȠȞ ȠȡȚıµȩ ȠȞȠµȐIJȦȞ įİįȠµȑȞȦȞ IJĮ ȠʌȠȓĮ µİIJĮȕȐȜȜȠȞIJĮȚ ȖȚĮ IJĮ ȠʌȠȓĮ ĮȞĮijȑȡİIJĮȚ Ƞ IJȪʌȠȢ IJȠȣȢ. ǻȪȠ Ȓ ʌİȡȚııȩIJİȡİȢ µİIJĮȕȜȘIJȑȢ µʌȠȡİȓ ȞĮ İȓȞĮȚ IJȠȣ ȚįȓȠȣ IJȪʌȠȣ ȠʌȩIJİ įȚĮȤȦȡȓȗȠȞIJĮȚ µİ ȑȞĮ țȩµµĮ. ȅ IJȪʌȠȢ ĮȞĮijȑȡİIJĮȚ ıIJȠ IJȑȜȠȢ IJȘȢ ȖȡĮµµȒȢ µİIJȐ IJȠ ıȪµȕȠȜȠ (:). ȆȡȚȞ Įʌȩ IJȠȞ ȠȡȚıµȩ IJȦȞ µİIJĮȕȜȘIJȫȞ ĮȞĮȖȡȐijİIJĮȚ Ș ȜȑȟȘ var. ȆĮȡĮįİȓȖµĮIJĮ: var pososto_forou,mistos,kath_apodoxes:real; epȠnymo, onoma : string[25];

x

ǻȘȜȫıİȚȢ IJȦȞ ȣʌȠʌȡȠȖȡĮµµȐIJȦȞ ʌȠȣ ȠȡȓȗİȚ Ƞ ȤȡȒıIJȘȢ ȈȣȞĮȡIJȒıİȚȢ (functions) țĮȚ ǻȚĮįȚțĮıȓİȢ (procedures) İijȩıȠȞ ȣʌȐȡȤȠȣȞ.

¾

ȀȪȡȚȠ ȆȡȩȖȡĮµµĮ

Ǿ ȜȑȟȘ begin (ĮȡȤȒ) įȘȜȫȞİȚ IJȘȞ ĮȡȤȒ IJȦȞ İȞIJȠȜȫȞ IJȠȣ ʌȡȠȖȡȐµµĮIJȠȢ ʌȠȣ İțIJİȜİȓ Ƞ ȣʌȠȜȠȖȚıIJȒȢ, țȪȡȚȠ ʌȡȩȖȡĮµµĮ, İȞȫ Ș ȜȑȟȘ end (IJȑȜȠȢ) įȘȜȫȞİȚ IJȠ IJȑȜȠȢ IJȠȣ ʌȡȠȖȡȐµµĮIJȠȢ. ȉȠ țȪȡȚȠ ʌȡȩȖȡĮµµĮ ĮʌȠIJİȜİȓIJĮȚ Įʌȩ µȚĮ ıİȚȡȐ İȞIJȠȜȫȞ, ıȪµijȦȞĮ µİ IJȠȞ ĮȜȖȩȡȚșµȠ IJȠȣ ʌȡȠȕȜȒµĮIJȠȢ. ȀȐșİ İȞIJȠȜȒ ʌȠȣ ȖȡȐijİIJĮȚ IJİȜİȚȫȞİȚ ȣʌȠȤȡİȦIJȚțȐ µİ ȑȞĮ İȡȦIJȘµĮIJȚțȩ (;). ȉȠ ıȪµȕȠȜȠ ĮȣIJȩ İȓȞĮȚ įȚĮȤȦȡȚıIJȚțȩ İȞIJȠȜȫȞ. ǻİȞ İȓȞĮȚ ȣʌȠȤȡİȦIJȚțȩ ȞĮ ȖȡĮijİȓ µȩȞȠ ȩIJĮȞ Ș İʌȩµİȞȘ ȖȡĮµµȒ ĮȡȤȓȗİȚ µİ end (IJȑȜȠȢ ʌȡȠȖȡȐµµĮIJȠȢ Ȓ ıȪȞșİIJȘȢ İȞIJȠȜȒȢ Ȓ ȣʌȠʌȡȠȖȡȐµµĮIJȠȢ Ȓ ʌȡȠȖȡȐµµĮIJȠȢ). ȈȪȞșİIJȘ ǼȞIJȠȜȒ (Compound statement) İȓȞĮȚ µȓĮ ȠµĮįȠʌȠȓȘıȘ İȞIJȠȜȫȞ ȠȚ ȠʌȠȓİȢ ȤȡȘıȚµȠʌȠȚȠȪȞIJĮȚ ȩʌȦȢ µȓĮ ĮʌȜȒ İȞIJȠȜȒ țĮȚ ʌİȡȚțȜİȓȠȞIJĮȚ µİIJĮȟȪ IJȦȞ ȜȑȟİȦȞ begin țĮȚ end. ȆȡȑʌİȚ ȞĮ ıȘµİȚȦșİȓ ȩIJȚ µİIJȐ IJȠ end IJȠȣ ʌȡȠȖȡȐµµĮIJȠȢ ʌȡȑʌİȚ ȞĮ ȖȡĮijİȓ µȓĮ IJİȜİȓĮ (.) Ș ȠʌȠȓĮ įȘȜȫȞİȚ țĮȚ IJȠ IJȑȜȠȢ IJȠȣ ʌȡȠȖȡȐµµĮIJȠȢ ȆĮȡȐįİȚȖµĮ ʌȡȠȖȡȐµµĮIJȠȢ:

program mistos; uses wincrt; const {įȘȜȫıİȚȢ ıIJĮșİȡȫȞ} orio=2000000; {ȩȡȚȠ ȣʌȠȜȠȖȚıµȠȪ ijȩȡȠȣ} pos_forou=0.20; {ʌȠıȠıIJȩ ȣʌȠȜȠȖȚıµȠȪ ijȩȡȠȣ} wrom=1500; {ʌȠıȩ ĮȞȐ ȣʌİȡȦȡȚĮțȒ ȫȡĮ} var {įȘȜȫıİȚȢ µİIJĮȕȜȘIJȫȞ} bm,yper,foros,akath,plir:real; {bm=ȕĮıȚțȩȢ µȚıșȩȢ, yper=ȫȡİȢ ȣʌİȡȦȡȓĮȢ, foros=ijȩȡȠȢ akath=ĮțĮșȐȡȚıIJİȢ ĮʌȠįȠȤȑȢ, plir=ʌȜȘȡȦIJȑȠ ʌȠıȩ} yp_yper:real; {ĮʌȠįȠȤȑȢ Įʌȩ ȣʌİȡȦȡȓİȢ} function ypol_ap(basikos,yp:real):real; {ıȣȞȐȡIJȘıȘ ȣʌȠȜȠȖȚıµȠȪ ĮʌȠįȠȤȫȞ} begin yp_yper:=yp*wrom; {ȣʌȠȜ. ȣʌİȡȦȡȚȫȞ} ypol_ap:=yp_yper+basikos; {ȣʌȠȜ. ĮʌȠįȠȤȫȞ} end; function ypol_forou(synolo:real):real; {ıȣȞȐȡIJȘıȘ ȣʌȠȜȠȖȚıµȠȪ ijȩȡȠȣ} begin


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal -6-

if synolo<=orio {ıȣȞșȒțȘ ȣʌȠȜȠȖȚıµȠȪ ijȩȡȠȣ} then ypol_forou:=0 else ypol_forou:=synolo*pos_forou; end; procedure ektyposi; {įȚĮįȚțĮıȓĮ İțIJȪʌȦıȘȢ ĮʌȠIJİȜİıµȐIJȦȞ} begin writeln(bm:6:0,' ',yp_yper:6:0,' ',akath:6:0,' ',foros:6:0,' ', plir:6:0); end; {țȪȡȚȠ ʌȡȩȖȡĮµµĮ} begin writeln('įȫıİ ȕĮıȚțȩ µȚıșȩ, ȫȡİȢ ȣʌİȡȦȡȓĮȢ '); readln(bm,yper); akath:=ypol_ap(bm,yper); {ĮțĮșȐȡȚıIJİȢ ĮʌȠįȠȤȑȢ] foros:=ypol_forou(akath);{ijȩȡȠȢ} plir:=akath-foros; {ʌȜȘȡȦIJȑȠ - țĮșĮȡȐ} ektyposi; {İțIJȪʌȦıȘ ĮʌȠIJİȜİıµȐIJȦȞ} end.

2. ǼȃȉȅȁǼȈ ǼǿȈȅǻȅȊ / ǼȄȅǻȅȊ ȉĮ įİįȠµȑȞĮ IJȦȞ ʌȡȠȖȡĮµµȐIJȦȞ ȜĮµȕȐȞȠȞIJĮȚ Įʌȩ µȚĮ µȠȞȐįĮ İȚıȩįȠȣ, ȩʌȦȢ ȖȚĮ ʌĮȡȐįİȚȖµĮ IJȠ ʌȜȘțIJȡȠȜȩȖȚȠ. īȚĮ IJȘȞ İȚıĮȖȦȖȒ IJȦȞ įİįȠµȑȞȦȞ Ș Pascal ȤȡȘıȚµȠʌȠȚİȓ IJȚȢ įȚĮįȚțĮıȓİȢ (procedures) read Ȓ readln. īȚĮ IJȘȞ ݵijȐȞȚıȘ IJȦȞ ʌİȡȚİȤȠµȑȞȦȞ µİIJĮȕȜȘIJȫȞ Ȓ ıIJĮșİȡȫȞ ıIJȘȞ ȠșȩȞȘ, ıIJȠȞ İțIJȣʌȦIJȒ Ȓ ı' ȑȞĮ ĮȡȤİȓȠ ȤȡȘıȚµȠʌȠȚȠȪȞIJĮȚ ȠȚ įȚĮįȚțĮıȓİȢ write Ȓ writeln. īȚĮ ʌȡĮțIJȚțȠȪȢ ȜȩȖȠȣȢ ĮȞIJȓ įȚĮįȚțĮıȓİȢ İȚıȩįȠȣ / İȟȩįȠȣ ȠȞȠµȐȗȠȞIJĮȚ țĮȚ İȞIJȠȜȑȢ İȚıȩįȠȣ / İȟȩįȠȣ. ȅȚ İȞIJȠȜȑȢ read, readln, write, writeln ȤȡȘıȚµȠʌȠȚȠȪȞIJĮȚ țĮȚ ȖȚĮ ĮȞȐȖȞȦıȘ / İȖȖȡĮijȒ Įʌȩ ĮȡȤİȓĮ IJĮ ȠʌȠȓĮ İȓȞĮȚ țĮIJĮȤȦȡȘµȑȞĮ ıIJȠ įȓıțȠ. ȈIJȘȞ ʌĮȡȠȪıĮ İȞȩIJȘIJĮ, șĮ ĮȞĮijİȡșİȓ Ș ȤȡȒıȘ IJȦȞ ʌĮȡĮʌȐȞȦ İȞIJȠȜȫȞ ȖȚĮ ĮȞȐȖȞȦıȘ Įʌȩ IJȠ ʌȜȘțIJȡȠȜȩȖȚȠ țĮȚ İȖȖȡĮijȒ ıIJȘȞ ȠșȩȞȘ. ǵIJĮȞ ȠȚ İȞIJȠȜȑȢ İȚıȩįȠȣ / İȟȩįȠȣ ȤȡȘıȚµȠʌȠȚȠȪȞIJĮȚ ıIJȘȞ Turbo Pascal ȖȚĮ Windows șĮ ʌȡȑʌİȚ ȞĮ ȖȡĮijİȓ ĮµȑıȦȢ µİIJȐ IJȘ įȒȜȦıȘ IJȠȣ ʌȡȠȖȡȐµµĮIJȠȢ Ș įȒȜȦıȘ uses wincrt. Ǿ ȤȡȒıȘ IJȦȞ İȞIJȠȜȫȞ İȚıȩįȠȣ / İȟȩįȠȣ ıİ ĮȡȤİȓĮ șĮ ȖȓȞİȚ ıİ ȟİȤȦȡȚıIJȒ İȞȩIJȘIJĮ.

2.1. read, readln ȂȠȡijȒ: read (v1 [, v2,…,vn]) ǼȞȑȡȖİȚĮ: H įȚĮįȚțĮıȓĮ read ĮțȠȜȠȣșİȓIJĮȚ Įʌȩ µȓĮ Ȓ ʌİȡȚııȩIJİȡİȢ µİIJĮȕȜȘIJȑȢ ʌȠȣ ȤȦȡȓȗȠȞIJĮȚ µİ ',' (țȩµµĮ) țĮȚ ʌİȡȚȑȤȠȞIJĮȚ ıİ µȓĮ ʌĮȡȑȞșİıȘ. ǵIJĮȞ İțIJİȜİȓIJĮȚ Ș įȚĮįȚțĮıȓĮ, IJĮ įİįȠµȑȞĮ įȚĮȕȐȗȠȞIJĮȚ țĮȚ ĮʌȠįȓįȠȞIJĮȚ, țĮIJȐ IJȘ ıİȚȡȐ ʌȠȣ İȓȞĮȚ ȖȡĮµµȑȞĮ, ıIJȚȢ µİIJĮȕȜȘIJȑȢ ȩʌȦȢ ĮȣIJȑȢ ݵijĮȞȓȗȠȞIJĮȚ ıIJȘ įȚĮįȚțĮıȓĮ read. ǵIJĮȞ ȖȓȞİIJĮȚ İȚıĮȖȦȖȒ įİįȠµȑȞȦȞ, țĮȚ İijȩıȠȞ ĮȣIJȐ İȓȞĮȚ ĮȡȚșµȘIJȚțȐ țĮȚ ݵijĮȞȓȗȠȞIJĮȚ ʌİȡȚııȩIJİȡĮ Įʌȩ ȑȞĮ ĮȞȐ ȖȡĮµµȒ, ʌȡȑʌİȚ ȞĮ ȤȦȡȓȗȠȞIJĮȚ µİ ȑȞĮ IJȠȣȜȐȤȚıIJȠȞ țİȞȩ. ȉĮ įİįȠµȑȞĮ IJȪʌȠȣ char įİȞ ʌȡȑʌİȚ ȞĮ ȤȦȡȓȗȠȞIJĮȚ µİ țİȞȐ, ȖȚĮIJȓ IJȠ țİȞȩ, İȓȞĮȚ țȚ ĮȣIJȩ ȑȞĮȢ ȤĮȡĮțIJȒȡĮȢ Ƞ ȠʌȠȓȠȢ șĮ įȚĮȕĮıIJİȓ. ȂȠȡijȒ: readln(v1 [, v2,…,vn]) ǼȞȑȡȖİȚĮ: Ǿ įȚĮįȚțĮıȓĮ readln, ĮȞ ĮțȠȜȠȣșİȓIJĮȚ Įʌȩ ʌĮȡĮµȑIJȡȠȣȢ, İȓȞĮȚ ȚıȠįȪȞĮµȘ IJȦȞ read țĮȚ readln, įȘȜĮįȒ įȚĮȕȐȗȠȞIJĮȚ IJĮ ȗȘIJȠȪµİȞĮ Įʌȩ IJȘȞ IJȡȑȤȠȣıĮ ȖȡĮµµȒ țĮȚ ıIJȘ ıȣȞȑȤİȚĮ Ƞ ȑȜİȖȤȠȢ ʌİȡȞȐİȚ ıIJȘȞ İʌȩµİȞȘ ȖȡĮµµȒ. Ǿ įȚĮįȚțĮıȓĮ readln, ȩIJĮȞ ݵijĮȞȓȗİIJĮȚ ȤȦȡȓȢ ʌĮȡĮµȑIJȡȠȣȢ, ȑȤİȚ ȦȢ ĮʌȠIJȑȜİıµĮ Ƞ ȑȜİȖȤȠȢ ȞĮ ʌİȡȞȐİȚ ıIJȘȞ İʌȩµİȞȘ ȖȡĮµµȒ.

2.2. write, writeln ȂȠȡijȒ: write (v1 [, v2,…,vn]) ǼȞȑȡȖİȚĮ: H IJȚµȒ țȐșİ µȚĮȢ ʌĮȡĮµȑIJȡȠȣ țĮIJȐ ıİȚȡȐ, IJȣʌȫȞİIJĮȚ ıIJȘ ȖȡĮµµȒ Įʌȩ ĮȡȚıIJİȡȐ ʌȡȠȢ IJĮ įİȟȚȐ țĮȚ ıIJȘ ıȣȞȑȤİȚĮ Ș İʌȩµİȞȘ İȞIJȠȜȒ İȚıȩįȠȣ / İȟȩįȠȣ İțIJİȜİȓIJĮȚ ıIJȘȞ ĮȡȤȒ ȞȑĮȢ ȖȡĮµµȒȢ. ȈIJȘȞ ĮʌȜȠȪıIJİȡȘ ʌİȡȓʌIJȦıȘ ȠȚ ʌĮȡȐµİIJȡȠȚ µʌȠȡİȓ ȞĮ İȓȞĮȚ ĮȡȚșµȠȓ, ȤĮȡĮțIJȒȡİȢ Ȓ ĮȜijĮȡȚșµȘIJȚțȐ ıIJȠȚȤİȓĮ (strings). ǼȐȞ ʌȡȩțİȚIJĮȚ ȞĮ ȖȡĮijȠȪȞ ıȣµȕȠȜȠıİȚȡȑȢ ıIJĮșİȡȫȞ, ĮȣIJȑȢ șĮ ʌȡȑʌİȚ ȞĮ ʌİȡȚȑȤȠȞIJĮȚ µİIJĮȟȪ ĮʌȜȫȞ İȚıĮȖȦȖȚțȫȞ.


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal -7-

ȆĮȡȐįİȚȖµĮ: write (‘ĮȣIJȒ İȓȞĮȚ µȓĮ ıȣµȕȠȜȠıİȚȡȐ’) ȂȠȡijȒ: writeln(v1 [, v2,…,vn]) ǼȞȑȡȖİȚĮ: Ǿ įȚĮįȚțĮıȓĮ writeln, ĮȞ ĮțȠȜȠȣșİȓIJĮȚ Įʌȩ ʌĮȡĮµȑIJȡȠȣȢ, İȓȞĮȚ ȚıȠįȪȞĮµȘ IJȦȞ write țĮȚ writeln. H IJȚµȒ țȐșİ µȚĮȢ ʌĮȡĮµȑIJȡȠȣ țĮIJȐ ıİȚȡȐ, IJȣʌȫȞİIJĮȚ ıIJȘȞ ȖȡĮµµȒ Įʌȩ ĮȡȚıIJİȡȐ ʌȡȠȢ IJĮ įİȟȚȐ țĮȚ ıIJȘ ıȣȞȑȤİȚĮ Ș İʌȩµİȞȘ İȞIJȠȜȒ İȚıȩįȠȣ / İȟȩįȠȣ İțIJİȜİȓIJĮȚ ıIJȘȞ ĮȡȤȒ IJȘȢ İʌȩµİȞȘȢ ȖȡĮµµȒȢ Ǿ įȚĮįȚțĮıȓĮ writeln, ȩIJĮȞ ݵijĮȞȓȗİIJĮȚ ȤȦȡȓȢ ʌĮȡĮµȑIJȡȠȣȢ, ȑȤİȚ ȦȢ ĮʌȠIJȑȜİıµĮ Ƞ ȑȜİȖȤȠȢ ȞĮ ʌİȡȞȐİȚ ıIJȘȞ ĮȡȤȒ IJȘȢ İʌȩµİȞȘȢ ȖȡĮµµȒȢ. ȀĮIJȐ IJȘȞ İȚıĮȖȦȖȒ IJȦȞ įİįȠµȑȞȦȞ ıIJȠȞ ȣʌȠȜȠȖȚıIJȒ, Ș İȞIJȠȜȒ write ȤȡȘıȚµȠʌȠȚİȓIJĮȚ ıİ ıȣȞİȡȖĮıȓĮ µİ IJȘȞ read. Ǿ İȚıĮȖȦȖȒ ĮʌȜȠʌȠȚİȓIJĮȚ, ȩIJĮȞ µİ IJȘ įȚĮįȚțĮıȓĮ write IJȠ ȓįȚȠ IJȠ ʌȡȩȖȡĮµµĮ ݵijĮȞȓȗİȚ ıIJȘȞ ȠșȩȞȘ ʌȠȚĮ İȓȞĮȚ IJĮ ȗȘIJȠȪµİȞĮ įİįȠµȑȞĮ. ȆĮȡȐįİȚȖµĮ:

write('ǻȫıİ ȕĮıȚțȩ µȚıșȩ: '); readln(mistos);

ȂȠȡijȠʌȠȚȘµȑȞȘ İțIJȪʌȦıȘ O ȑȜİȖȤȠȢ IJȘȢ µȠȡijȒȢ IJȦȞ ĮʌȠIJİȜİıµȐIJȦȞ ıIJȘ ȖȡĮµµȒ İțIJȪʌȦıȘȢ ȖȓȞİIJĮȚ µİ ʌȜȘȡȠijȠȡȓĮ ʌȠȣ ĮțȠȜȠȣșİȓ IJȘ µİIJĮȕȜȘIJȒ Ȓ IJȘ ıIJĮșİȡȐ ıIJȘ įȚĮįȚțĮıȓĮ write Ȓ writeln. Ǿ ʌȜȘȡȠijȠȡȓĮ ĮȣIJȒ įȓȞİȚ IJȠ İʌȚșȣµȘIJȩ İȪȡȠȢ IJȠȣ ʌİįȓȠȣ. īȚĮ ıIJĮșİȡȑȢ / µİIJĮȕȜȘIJȑȢ ǹțȑȡĮȚȠȣ Ȓ ǹȜijĮȡȚșµȘIJȚțȠȪ IJȪʌȠȣ Ș µȠȡijȒ İțIJȪʌȦıȘȢ İȓȞĮȚ write(x:m). ǵʌȠȣ: x m

Ș µİIJĮȕȜȘIJȒ ʌȠȣ șĮ IJȣʌȦșİȓ, IJȠ ıȣȞȠȜȚțȩ ʌȜȒșȠȢ IJȦȞ șȑıİȦȞ İțIJȪʌȦıȘȢ.

Ǿ įȚĮįȚțĮıȓĮ write(x:m), ȩʌȠȣ x İȓȞĮȚ ĮțȑȡĮȚĮ ȑțijȡĮıȘ, IJȣʌȫȞİȚ IJȘȞ IJȚµȒ IJȘȢ µİIJĮȕȜȘIJȒȢ x ĮȡȤȓȗȠȞIJĮȢ Įʌȩ IJĮ įİȟȚȐ İȞȩȢ ʌİįȓȠȣ İȪȡȠȣȢ m. ǹȞ IJȠ İȪȡȠȢ İȓȞĮȚ µİȖĮȜȪIJİȡȠ Įʌȩ IJȠ µȒțȠȢ IJȠȣ ʌİįȓȠȣ ʌȠȣ ʌȡȩțİȚIJĮȚ ȞĮ IJȣʌȦșİȓ, ݵijĮȞȓȗȠȞIJĮȚ țİȞȐ ıIJĮ ĮȡȚıIJİȡȐ IJȘȢ IJȚµȒȢ. ǹȞ IJȠ İȪȡȠȢ İȓȞĮȚ µȚțȡȩIJİȡȠ Įʌȩ IJȠ µȒțȠȢ IJȠȣ ʌİįȓȠȣ ʌȠȣ ʌȡȩțİȚIJĮȚ ȞĮ IJȣʌȦșİȓ, ĮȖȞȠİȓIJĮȚ Ș ȠįȘȖȓĮ µȠȡijȠʌȠȓȘıȘȢ țĮȚ ȤȡȘıȚµȠʌȠȚİȓIJĮȚ IJȠ İȜȐȤȚıIJȠ ĮʌĮȚIJȠȪµİȞȠ İȪȡȠȢ. Ǿ µȠȡijȠʌȠȚȘµȑȞȘ İțIJȪʌȦıȘ µʌȠȡİȓ ȞĮ ȤȡȘıȚµȠʌȠȚȘșİȓ țĮȚ ȖȚĮ ıIJĮșİȡȑȢ Ȓ µİIJĮȕȜȘIJȑȢ ĮȜijĮȡȚșµȘIJȚțȠȪ IJȪʌȠȣ (string). Ǿ ȤȡȒıȘ ȖȓȞİIJĮȚ ȩʌȦȢ țĮȚ ıIJȠȣȢ ĮțİȡĮȓȠȣȢ, įȘȜĮįȒ įȓįİIJĮȚ IJȠ ʌȜȒșȠȢ IJȦȞ șȑıİȦȞ İțIJȪʌȦıȘȢ IJȘȢ µİIJĮȕȜȘIJȒȢ Ȓ ıIJĮșİȡȐȢ. Ǿ ıIJȠȓȤȚıȘ ȖȓȞİIJĮȚ Įʌȩ įİȟȚȐ. Ȇ.Ȥ. Ǿ İȞIJȠȜȒ writeln ('ǹȡȚșµȩȢ µȘIJȡȫȠȣ.':20); șĮ ȑȤİȚ ȦȢ ĮʌȠIJȑȜİıµĮ ȞĮ ĮijȒıİȚ 4 țİȞȑȢ șȑıİȚȢ İțIJȪʌȦıȘȢ Įʌȩ IJȘȞ ĮȡȤȒ IJȘȢ ȖȡĮµµȒȢ Ȓ Įʌȩ IJȘȞ IJİȜİȣIJĮȓĮ șȑıȘ İțIJȪʌȦıȘȢ țĮȚ µİIJȐ ȞĮ ȖȡȐȥİȚ IJȠ ʌİȡȚİȤȩµİȞȠ IJȘȢ ıIJĮșİȡȐȢ įȘȜĮįȒ: ǹȡȚșµȩȢ µȘIJȡȫȠȣ. īȚĮ ıIJĮșİȡȑȢ / µİIJĮȕȜȘIJȑȢ ȆȡĮȖµĮIJȚțȠȪ IJȪʌȠȣ Ș µȠȡijȒ İțIJȪʌȦıȘȢ İȓȞĮȚ write(x:m:n). ǵʌȠȣ: x

Ș µİIJĮȕȜȘIJȒ ʌȡĮȖµĮIJȚțȠȪ IJȪʌȠȣ ʌȠȣ șĮ IJȣʌȦșİȓ,

m

IJȠ ıȣȞȠȜȚțȩ ʌȜȒșȠȢ IJȦȞ șȑıİȦȞ İțIJȪʌȦıȘȢ, ıȣµʌİȡȚȜĮµȕĮȞȠµȑȞȘȢ IJȘȢ ȣʌȠįȚĮıIJȠȜȒȢ țĮȚ

n

IJȠ ʌȜȒșȠȢ IJȦȞ įİțĮįȚțȫȞ ȥȘijȓȦȞ.

Ȃİ IJȠȞ IJȡȩʌȠ ĮȣIJȩ ȖȓȞİIJĮȚ ıIJȡȠȖȖȣȜȠʌȠȓȘıȘ țĮȚ Ƞ ĮȡȚșµȩȢ ݵijĮȞȓȗİIJĮȚ µİ IJȘ ȖȞȦıIJȒ Įʌȩ IJĮ ȂĮșȘµĮIJȚțȐ µȠȡijȒ ıIJĮșİȡȒȢ ȣʌȠįȚĮıIJȠȜȒȢ. Ȇ.Ȥ. write(3.14159265:10:4) șĮ įȫıİȚ ȦȢ ĮʌȠIJȑȜİıµĮ 3.1416. ǻȘȜĮįȒ ȖȓȞİIJĮȚ ıIJȡȠȖȖȣȜȠʌȠȓȘıȘ ıIJȠ IJȑIJĮȡIJȠ įİțĮįȚțȩ ȥȘijȓȠ țĮȚ ݵijĮȞȓȗȠȞIJĮȚ țĮȚ 4 țİȞȐ ʌȡȚȞ Įʌȩ IJȠȞ ĮȡȚșµȩ, ȖȚĮ ȞĮ ıȣµʌȜȘȡȦșİȓ IJȠ ʌȜȒșȠȢ IJȦȞ 10 șȑıİȦȞ.

3. ǼȃȉȅȁǼȈ ǹȃȉǿȀǹȉǹȈȉǹȈǾȈ ȂȠȡijȒ: <µİIJĮȕȜȘIJȒ>:= <[ıIJĮșİȡȐ]/[µİIJĮȕȜȘIJȒ]/[ȑțijȡĮıȘ]> ǼȞȑȡȖİȚĮ: ȉȠ ʌİȡȚİȤȩµİȞȠ IJȘȢ µȞȒµȘȢ ʌȠȣ ȠȡȓȗİIJĮȚ µİ IJȠ ȩȞȠµĮ IJȘȢ µİIJĮȕȜȘIJȒȢ ʌȠȣ ȕȡȓıțİIJĮȚ ĮȡȚıIJİȡȐ IJȠȣ := ĮȞIJȚțĮșȓıIJĮIJĮȚ Įʌȩ IJȘȞ IJȚµȒ ʌȠȣ ȠȡȓȗİIJĮȚ Įʌȩ IJȘ ıIJĮșİȡȐ Ȓ IJȘ µİIJĮȕȜȘIJȒ Ȓ IJȘȞ ȑțijȡĮıȘ ʌȠȣ ȕȡȓıțİIJĮȚ įİȟȚȐ IJȠȣ := (ıȣµȕȩȜȠȣ ĮȞIJȚțĮIJȐıIJĮıȘȢ). ȅ ıȣµȕȠȜȚıµȩȢ := șĮ ʌȡȑʌİȚ ȞĮ șİȦȡİȓIJĮȚ ȦȢ ȑȞĮ µȩȞȠ ıȪµȕȠȜȠ țĮȚ ȖȚĮ IJȠ ȜȩȖȠ ĮȣIJȩ įİȞ İʌȚIJȡȑʌȠȞIJĮȚ țİȞȐ. ȆĮȡĮįİȓȖµĮIJĮ:

x:=1; x:=x+1;

{Ș µİIJĮȕȜȘIJȒ x ȜĮµȕȐȞİȚ IJȘȞ IJȚµȒ 1} {IJȠ ʌİȡȚİȤȩµİȞȠ IJȘȢ µİIJĮȕȜȘIJȒȢ x ĮȣȟȐȞİȚ țĮIJȐ 1 țĮȚ IJȠ ĮʌȠIJȑȜİıµĮ țĮIJĮȤȦȡİȓIJĮȚ ıIJȘ µİIJĮȕȜȘIJȒ x} y:=(3*x+5)/(x+3); {IJȠ ʌİȡȚİȤȩµİȞȠ IJȘȢ µİIJĮȕȜȘIJȒȢ y ĮȞIJȚțĮșȓıIJĮIJĮȚ


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal -8-

onoma:='ǹȇǾȈ'; star := '*' ;

Įʌȩ IJȘȞ IJȚµȒ IJȘȢ ĮȜȖİȕȡȚțȒȢ ʌĮȡȐıIJĮıȘȢ (3x+5)/(x+3)} {Ǿ µİIJĮȕȜȘIJȒ onoma, Ș ȠʌȠȓĮ ʌȡȑʌİȚ ȞĮ ȑȤİȚ ȠȡȚıșİȓ ȦȢ string, ȜĮµȕȐȞİȚ IJȘȞ IJȚµȒ ǹȇǾȈ} {Ǿ µİIJĮȕȜȘIJȒ star, Ș ȠʌȠȓĮ ʌȡȑʌİȚ ȞĮ ȑȤİȚ ȠȡȚıșİȓ ȦȢ string Ȓ char ȜĮµȕȐȞİȚ IJȘȞ IJȚµȒ *}

4. ǼȃȉȅȁǼȈ ǼȁǼīȋȅȊ Ȁǹǿ ǼȆǿȁȅīǾȈ ǵʌȦȢ İȓȞĮȚ ȖȞȦıIJȩ, ȠȚ İȞIJȠȜȑȢ İȞȩȢ ʌȡȠȖȡȐµµĮIJȠȢ İțIJİȜȠȪȞIJĮȚ įȚĮįȠȤȚțȐ, Ș µȓĮ µİIJȐ IJȘȞ ȐȜȜȘ. ǹȣIJȩ įİȞ İȓȞĮȚ ʌȐȞIJȠIJİ İʌȚșȣµȘIJȩ. Ǿ ıİȚȡȐ İțIJȑȜİıȘȢ IJȦȞ İȞIJȠȜȫȞ µʌȠȡİȓ ȞĮ ĮȜȜȐȟİȚ µİ IJȘ ȤȡȒıȘ IJȦȞ İȞIJȠȜȫȞ İȜȑȖȤȠȣ țĮȚ İʌȚȜȠȖȒȢ. Ȃİ IJȚȢ İȞIJȠȜȑȢ ĮȣIJȑȢ İʌȚIJȣȖȤȐȞİIJĮȚ Ș İțIJȑȜİıȘ ȠȡȚıµȑȞȦȞ İȞIJȠȜȫȞ ȣʌȩ ıȣȞșȒțİȢ.

4.1. if ȂȠȡijȒ: if <ıȣȞșȒțȘ> then <İȞIJȠȜȒ> ǼȞȑȡȖİȚĮ: ǹȞ Ȓ ıȣȞșȒțȘ İȓȞĮȚ ĮȜȘșȒȢ, IJȩIJİ İțIJİȜİȓIJĮȚ Ȓ İȞIJȠȜȒ ʌȠȣ ĮțȠȜȠȣșİȓ IJȠ then. ȂȠȡijȒ: if <ıȣȞșȒțȘ> then <İȞIJȠȜȒ_1> else <İȞIJȠȜȒ_2> ǼȞȑȡȖİȚĮ: ǹȞ Ȓ ıȣȞșȒțȘ İȓȞĮȚ ĮȜȘșȒȢ, IJȩIJİ İțIJİȜİȓIJĮȚ Ȓ İȞIJȠȜȒ_1 ʌȠȣ ĮțȠȜȠȣșİȓ IJȠ then, ĮȜȜȚȫȢ İțIJİȜİȓIJĮȚ Ș İȞIJȠȜȒ_2 ʌȠȣ ĮțȠȜȠȣșİȓ IJȠ else. H İȞIJȠȜȒ Ș ȠʌȠȓĮ ĮțȠȜȠȣșİȓ IJȠ then Ȓ IJȠ else µʌȠȡİȓ ȞĮ İȓȞĮȚ µȚĮ ȐȜȜȘ İȞIJȠȜȒ İʌȚȜȠȖȒȢ (ȑȞĮ ȐȜȜȠ if). ȉȩIJİ Ȝȑµİ ȩIJȚ ȑȤȠȣµİ ݵijȦȜİȣµȑȞİȢ (nested) İʌȚȜȠȖȑȢ. ȆĮȡĮįİȓȖµĮIJĮ: Į.

if a1 then a2 else if a3 then a4 else a5 ȕ.

if a=b then write ('a=b') else if a>b then writeln('a>b') else writeln('a<=b'); Ȗ.

program exisosi_a_bathmou; var a,b,x:real; begin write('įȫıİ IJo a: '); readln(a); write('įȫıİ IJo b: '); readln(b); if a<>0 then begin x:= a/b; writeln('x =', x:8:2); end else if b<>0 then writeln('ĮįȪȞĮIJȘ İȟȓıȦıȘ')


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal -9-

else writeln('ĮȩȡȚıIJȘ İȟȓıȦıȘ'); end. 4.2. case ȂȠȡijȒ: case <ȑțijȡĮıȘ> of <IJȚµȒ_1> : İȞIJȠȜȒ_1; <IJȚµȒ_2> : İȞIJȠȜȒ_2; ................. <IJȚµȒ_Ȟ> : İȞIJȠȜȒ_Ȟ; [else İȞIJȠȜȒ_Ȝ] end; ǼȞȑȡȖİȚĮ: Ǿ İȞIJȠȜȒ case ʌȡȠıijȑȡİȚ įȣȞĮIJȩIJȘIJĮ ʌȠȜȜĮʌȜȒȢ İʌȚȜȠȖȒȢ. ǼʌȚȜȑȖİIJĮȚ ȖȚĮ İțIJȑȜİıȘ Ș İȞIJȠȜȒ-ț, ȩIJĮȞ Ș ȑțijȡĮıȘ ʌȐȡİȚ IJȘȞ IJȚµȒ-ț. ǹȞ Ș ȑțijȡĮıȘ įİȞ ʌȐȡİȚ țĮµȚȐ Įʌȩ IJȚȢ ĮȞĮijİȡȩµİȞİȢ IJȚµȑȢ, IJȩIJİ İțIJİȜİȓIJĮȚ Ș İȞIJȠȜȒ-Ȝ, İijȩıȠȞ ȑȤİȚ įȘȜȦșİȓ µȑıȦ IJȘȢ else. ǹȞ ıİ µȓĮ İʌȚȜȠȖȒ ʌȡȑʌİȚ ȞĮ İțIJİȜİıIJȠȪȞ ʌİȡȚııȩIJİȡİȢ İȞIJȠȜȑȢ IJȩIJİ ȤȡȘıȚµȠʌȠȚȠȪµİ IJȘ ıȪȞșİIJȘ İȞIJȠȜȒ µȑıȦ IJȦȞ begin-end. ȂȓĮ ʌȡȩIJĮıȘ case µʌȠȡİȓ ȞĮ İȓȞĮȚ IJȘȢ µȠȡijȒȢ:

case boolean ȑțijȡĮıȘ of true: İȞIJȠȜȒ1 false: İȞIJȠȜȒ2 end {case} ȂȓĮ IJȑIJȠȚĮ µȠȡijȒ ʌȠȣ İȜȑȖȤİIJĮȚ Įʌȩ µȓĮ ȜȠȖȚțȒ ȑțijȡĮıȘ µʌȠȡİȓ ȕȑȕĮȚĮ ȞĮ ȑȤİȚ IJȠ ʌȠȜȪ įȪȠ İʌȚȜȠȖȑȢ. H µȠȡijȒ ĮȣIJȒ İȓȞĮȚ ȚıȠįȪȞĮµȘ IJȘȢ İȞIJȠȜȒȢ if. ȆĮȡĮįİȓȖµĮIJĮ: Į.

var arxika_epilogis:char; ......... case arxika_epilogis of 'Ǽ': begin writeln('ǼǿȈǹīȍīǾ'); ......... end; 'Ȃ': begin writeln('ȂǼȉǹǺȅȁǾ'); ......... end; 'ǻ': begin writeln('ǻǿǹīȇǹĭǾ'); ......... end; 'ȉ': writeln('ȉǼȁȅȈ ǼȇīǹȈǿǹȈ - ǼȄȅǻȅȈ'); else writeln('ȁȐșȠȢ ĮȡȤȚțȩ İʌȚȜȠȖȒȢ'); end{case} ȕ.

var i:integer; ......... case i of 1: a:=a+1; 2: b:=b+1; 3: c:=c+1; end {case}


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal - 10 -

ȈIJĮ ʌĮȡĮʌȐȞȦ įȪȠ ʌĮȡĮįİȓȖµĮIJĮ ȣʌȐȡȤİȚ µȓĮ ȜȓıIJĮ Įʌȩ ıIJĮșİȡȑȢ ȓįȚȠȣ IJȪʌȠȣ (‘Ǽ’, ‘Ȃ’, ‘ǻ’, ‘ȉ’ Ȓ 1,2,3). Ǿ İȞIJȠȜȒ case İʌȚIJȡȑʌİȚ ĮʌĮȡȓșµȘıȘ įȚĮijȩȡȦȞ İȞĮȜȜĮțIJȚțȫȞ ȜȪıİȦȞ țĮȚ IJȘȞ İʌȚȜȠȖȒ µȓĮȢ İȟ ĮȣIJȫȞ ȖȚĮ İțIJȑȜİıȘ.

5. ǼȃȉȅȁǼȈ ǼȆǹȃǹȁǾȌǾȈ ȈȣȤȞȐ, ȠȡȚıµȑȞȠȚ ȣʌȠȜȠȖȚıµȠȓ ıİ ȑȞĮ ʌȡȩȖȡĮµµĮ ĮʌĮȚIJİȓIJĮȚ ȞĮ İʌĮȞĮȜĮµȕȐȞȠȞIJĮȚ ʌİȡȚııȩIJİȡİȢ Įʌȩ µȓĮ ijȠȡȑȢ. ȊʌȐȡȤȠȣȞ įȪȠ IJȪʌȠȚ İʌĮȞĮȜȒȥİȦȞ: x

ȅȚ ʌȡȠțĮșoȡȚıµȑȞȠȚ, ȩʌȠȣ IJȠ ʌȜȒșȠȢ IJȦȞ İʌĮȞĮȜȒȥİȦȞ İȓȞĮȚ įİįȠµȑȞȠ ʌȡȚȞ ĮȡȤȓıȠȣȞ ȠȚ İʌĮȞĮȜȒȥİȚȢ.

x

ȅȚ µȘ ʌȡȠțĮșȠȡȚıµȑȞȠȚ Ȓ ĮʌȡȠıįȚȩȡȚıIJoȚ, ȩʌȠȣ IJȠ ʌȜȒșȠȢ IJȦȞ İʌĮȞĮȜȒȥİȦȞ țĮșȠȡȓȗİIJĮȚ țĮIJȐ IJȘ įȚȐȡțİȚĮ IJȘȢ İțIJȑȜİıȘȢ IJȦȞ İȞIJȠȜȫȞ IJȠȣ ıȫµĮIJȠȢ İʌĮȞȐȜȘȥȘȢ.

5.1. while Ǿ İȞIJȠȜȒ while ȤȡȘıȚµȠʌȠȚİȓIJĮȚ ȖȚĮ µȘ ʌȡȠțĮșȠȡȚıµȑȞȠ ĮȡȚșµȩ İʌĮȞĮȜȒȥİȦȞ, ȩʌȠȣ ȣʌȐȡȤİȚ ʌİȡȓʌIJȦıȘ ȞĮ µȘȞ İțIJİȜİıIJȠȪȞ ȠȚ İʌĮȞĮȜȒȥİȚȢ țĮȚ ȩʌȠȣ Ƞ ȑȜİȖȤȠȢ ȖȓȞİIJĮȚ ʌȡȚȞ Įʌȩ IJȘȞ İțIJȑȜİıȘ IJȦȞ İȞIJȠȜȫȞ İʌĮȞȐȜȘȥȘȢ. ȂȠȡijȒ:

while <boolean expression> do statement İijȩıȠȞ <ıȣȞșȒțȘ ĮȜȘșȒȢ> İțIJȑȜİıİ İȞIJȠȜȒ

ǼȞȑȡȖİȚĮ: ȆȡȚȞ ȞĮ İțIJİȜİıIJİȓ Ș İȞIJȠȜȒ ʌȠȣ ĮʌȠIJİȜİȓ IJȠ ıȫµĮ IJȘȢ İʌĮȞȐȜȘȥȘȢ (IJȠ statement µİIJȐ IJȠ do), İȟİIJȐȗİIJĮȚ Ș ȜȠȖȚțȒ ȑțijȡĮıȘ Ș ȠʌȠȓĮ ĮțȠȜȠȣșİȓ IJȘ ȜȑȟȘ while țĮȚ, µȩȞȠ ıİ ʌİȡȓʌIJȦıȘ ʌȠȣ įȓȞİȚ IJȚµȒ true, İțIJİȜİȓIJĮȚ Ș ʌȡȠȢ İʌĮȞȐȜȘȥȘ İȞIJȠȜȒ. ǹȞ įȫıİȚ IJȚµȒ false, Ș İȞIJȠȜȒ ʌȠȣ ĮʌȠIJİȜİȓ IJȠ ıȫµĮ IJȘȢ İʌĮȞȐȜȘȥȘȢ įİȞ İțIJİȜİȓIJĮȚ țĮȚ Ƞ ȑȜİȖȤȠȢ Įʌȩ IJȠ while ʌİȡȞȐİȚ ıIJȘȞ İʌȩµİȞȘ İȞIJȠȜȒ. ȉȠ ıȫµĮ IJȘȢ İʌĮȞȐȜȘȥȘȢ İȓȞĮȚ µȓĮ İȞIJȠȜȒ. Ȉİ ʌİȡȓʌIJȦıȘ ʌȠȣ șȑȜȠȣµİ ȞĮ İțIJİȜȑıȠȣµİ ʌİȡȚııȩIJİȡİȢ Įʌȩ µȓĮ İȞIJȠȜȑȢ IJȩIJİ ĮȣIJȑȢ șĮ ʌȡȑʌİȚ ȞĮ ĮʌȠIJİȜȑıȠȣȞ µȓĮ ıȪȞșİIJȘ İȞIJȠȜȒ µİ IJȘ ȤȡȒıȘ IJȦȞ begin - end. ȆĮȡȐįİȚȖµĮ:

program sum1; {ǹȞȐȖȞȦıȘ ĮȡȚșµȫȞ µȑȤȡȚȢ ȩIJȠȣ IJȠ ȐșȡȠȚıµȐ IJȠȣȢ ȞĮ ȖȓȞİȚ µİȖĮȜȪIJİȡȠ Įʌȩ ȑȞĮ įİįȠµȑȞȠ ĮȡȚșµȩ} var orio,ar,sum :real; begin read(orio); sum:=0; while sum <= orio do begin readln(ar); sum:=sum+ar; end; writeln(sum:10:4); end. 5.2. repeat - until Ǿ İȞIJȠȜȒ repeat ȤȡȘıȚµȠʌȠȚİȓIJĮȚ ȖȚĮ µȘ ʌȡȠțĮșȠȡȚıµȑȞȠ ĮȡȚșµȩ İʌĮȞĮȜȒȥİȦȞ, ȩʌȠȣ ȣʌȐȡȤİȚ ʌİȡȓʌIJȦıȘ ȞĮ İțIJİȜİıIJȠȪȞ ȑıIJȦ țĮȚ µȚĮ µȩȞȠ ijȠȡȐ ȠȚ İȞIJȠȜȑȢ İʌĮȞȐȜȘȥȘȢ țĮȚ ȩʌȠȣ Ƞ ȑȜİȖȤȠȢ ȖȓȞİIJĮȚ µİIJȐ Įʌȩ IJȘȞ İțIJȑȜİıȘ IJȦȞ İȞIJȠȜȫȞ ʌȠȣ İʌĮȞĮȜĮµȕȐȞȠȞIJĮȚ. ȂȠȡijȒ: repeat <İȞIJȠȜȒ-1> ; [ <İȞIJȠȜȒ-2> ;] .............. [ <İȞIJȠȜȒ-Ȟ> ;] until (boolean expression) İʌĮȞȐȜĮȕİ İȞIJȠȜȒ, µȑȤȡȚ Ș ȜȠȖȚțȒ ıȣȞșȒțȘ ȞĮ ȖȓȞİȚ ĮȜȘșȒȢ.


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal - 11 -

ǼȞȑȡȖİȚĮ: ǹijȠȪ İțIJİȜİıIJȠȪȞ ȖȚĮ ʌȡȫIJȘ ijȠȡȐ ȠȚ İȞIJȠȜȑȢ ʌȠȣ ĮʌȠIJİȜȠȪȞ IJȠ ıȫµĮ IJȘȢ İʌĮȞȐȜȘȥȘȢ (µİIJĮȟȪ IJȦȞ repeat țĮȚ until), İȟİIJȐȗİIJĮȚ Ș ȜȠȖȚțȒ ȑțijȡĮıȘ Ș ȠʌȠȓĮ ĮțȠȜȠȣșİȓ IJȘȞ ȜȑȟȘ until, țĮȚ µȩȞȠ ıİ ʌİȡȓʌIJȦıȘ ʌȠȣ įȓȞİȚ IJȚµȒ false İʌĮȞİțIJİȜȠȪȞIJĮȚ ȠȚ İȞIJȠȜȑȢ İʌĮȞȐȜȘȥȘȢ. ǹȞ įȫıİȚ IJȚµȒ true, Ƞ ȑȜİȖȤȠȢ Įʌȩ IJȠ repeat ʌİȡȞȐİȚ ıIJȘȞ İʌȩµİȞȘ IJȠȣ repeat-until İȞIJȠȜȒ. ǵʌȦȢ ijĮȓȞİIJĮȚ Įʌȩ IJȠȞ ȠȡȚıµȩ IJȘȢ repeat İțIJİȜȠȪȞIJĮȚ ĮʌĮȡĮȓIJȘIJĮ IJȠȣȜȐȤȚıIJȠȞ µȓĮ ijȠȡȐ ĮțȩµȘ țĮȚ ȩIJĮȞ Ș ȜȠȖȚțȒ IJȚµȒ İȓȞĮȚ ĮȜȘșȒȢ ıİ ĮȞIJȓșİıȘ µİ IJȘȞ while. ȆĮȡȐįİȚȖµĮ:

program sum2; {ǹȞȐȖȞȦıȘ ĮȡȚșµȫȞ µȑȤȡȚȢ ȩIJȠȣ IJȠ ȐșȡȠȚıµȐ IJȠȣȢ ȞĮ ȖȓȞİȚ µİȖĮȜȪIJİȡȠ Įʌȩ ȑȞĮ įİįȠµȑȞȠ ĮȡȚșµȩ} var orio,ar,sum :real; begin read(orio); sum:=0; repeat readln(ar); sum:=sum+ar; until sum > orio wrilteln(sum:10:4); end. 5.3. for Ǿ İȞIJȠȜȒ for İțIJİȜİȓ ʌȡȠțĮșȠȡȚıµȑȞȠ țȪțȜȠ İʌĮȞĮȜȒȥİȦȞ. ǵʌȦȢ țĮȚ ıIJȘȞ İȞIJȠȜȒ while IJȠ ıȫµĮ IJȘȢ İʌĮȞȐȜȘȥȘȢ İȓȞĮȚ µȓĮ İȞIJȠȜȒ. Ȉİ ʌİȡȓʌIJȦıȘ ʌȠȣ șȑȜȠȣµİ ȞĮ İțIJİȜȑıȠȣµİ ʌİȡȚııȩIJİȡİȢ Įʌȩ µȓĮ İȞIJȠȜȑȢ IJȩIJİ ĮȣIJȑȢ șĮ ʌȡȑʌİȚ ȞĮ ĮʌȠIJİȜȑıȠȣȞ µȓĮ ıȪȞșİIJȘ (compound) İȞIJȠȜȒ µİ IJȘ ȤȡȒıȘ IJȦȞ begin end. ȊʌȐȡȤȠȣȞ įȪȠ µȠȡijȑȢ IJȘȢ İȞIJȠȜȒȢ ĮȣIJȒȢ ıIJȘȞ Pascal, µȓĮ ʌȠȣ Ș µİIJĮȕȜȘIJȒ ĮȣȟȐȞİIJĮȚ (µİ IJȘ ȤȡȒıȘ IJȠȣ to) țĮȚ µȓĮ ʌȠȣ Ș µİIJĮȕȜȘIJȒ İȜĮIJIJȫȞİIJĮȚ (µİ IJȘ ȤȡȒıȘ IJȠȣ downto). ȂȠȡijȒ: for <µİIJĮȕȜȘIJȒ İȜȑȖȤȠȣ> := <ĮȡȤȚțȒ IJȚµȒ> to <IJİȜȚțȒ IJȚµȒ> do İȞIJȠȜȒ ȖȚĮ <µİIJĮȕȜȘIJȒ İȜȑȖȤȠȣ> Įʌȩ <ĮȡȤȚțȒ IJȚµȒ > µȑȤȡȚ <IJİȜȚțȒ IJȚµȒ> İțIJȑȜİıİ İȞIJȠȜȒ ǼȞȑȡȖİȚĮ: Ǿ İȞIJȠȜȒ ʌȠȣ ĮțȠȜȠȣșİȓ IJȠ do İțIJİȜİȓIJĮȚ, µȑȤȡȚȢ ȩIJȠȣ Ș µİIJĮȕȜȘIJȒ İȜȑȖȤȠȣ ĮʌȠțIJȒıİȚ IJȚµȒ ȓıȘ µİ IJȘȞ IJİȜȚțȒ IJȚµȒ. Ǿ ĮȪȟȘıȘ IJȘȢ µİIJĮȕȜȘIJȒȢ İȜȑȖȤȠȣ ȖȓȞİIJĮȚ µİ ȕȒµĮ IJȘ µȠȞȐįĮ (1). ǹȞ Ș ĮȡȤȚțȒ IJȚµȒ İȓȞĮȚ µİȖĮȜȪIJİȡȘ Ȓ ȓıȘ µİ IJȘȞ IJİȜȚțȒ IJȚµȒ, IJȩIJİ ȠȚ İʌĮȞĮȜĮµȕĮȞȩµİȞİȢ İȞIJȠȜȑȢ ʌȠȣ ĮțȠȜȠȣșȠȪȞ IJȠ do įİȞ İțIJİȜȠȪȞIJĮȚ. ȂȠȡijȒ: for <µİIJĮȕȜȘIJȒ İȜȑȖȤȠȣ> := <ĮȡȤȚțȒ IJȚµȒ> downto <IJİȜȚțȒ IJȚµȒ> do İȞIJȠȜȒ ȖȚĮ < µİIJĮȕȜȘIJȒ İȜȑȖȤȠȣ> Įʌȩ <ĮȡȤȚțȒ IJȚµȒ > µȑȤȡȚ <IJİȜȚțȒ IJȚµȒ> İțIJȑȜİıİ İȞIJȠȜȒ ǼȞȑȡȖİȚĮ: Ǿ İȞIJȠȜȒ ʌȠȣ ĮțȠȜȠȣșİȓ IJȠ do İțIJİȜİȓIJĮȚ, µȑȤȡȚȢ ȩIJȠȣ Ș µİIJĮȕȜȘIJȒ İȜȑȖȤȠȣ ĮʌȠțIJȒıİȚ IJȚµȒ µȚțȡȩIJİȡȘ Ȓ ȓıȘ µİ IJȘȞ IJİȜȚțȒ IJȚµȒ. Ǿ İȜȐIJIJȦıȘ IJȘȢ µİIJĮȕȜȘIJȒȢ İȜȑȖȤȠȣ ȖȓȞİIJĮȚ µİ ȕȒµĮ 1. ǹȞ Ș ĮȡȤȚțȒ IJȚµȒ İȓȞĮȚ µȚțȡȩIJİȡȘ Ȓ ȓıȘ µİ IJȘȞ IJİȜȚțȒ IJȚµȒ, IJȩIJİ ȠȚ İȞIJȠȜȑȢ ʌȠȣ ĮțȠȜȠȣșȠȪȞ IJȠ do įİȞ İțIJİȜȠȪȞIJĮȚ. ȆĮȡȐįİȚȖµĮ:

program sum3; {ǹȞȐȖȞȦıȘ ĮȡȚșµȫȞ țĮȚ ȣʌȠȜȠȖȚıµȩȢ IJȠȣ ĮșȡȠȓıµĮIJȩȢ IJȠȣȢ µȑȤȡȚȢ ȩIJȠȣ IJȠ ʌȜȒșȠȢ IJȠȣȢ ȞĮ ȖȓȞİȚ µİȖĮȜȪIJİȡȠ Įʌȩ ȑȞĮ įİįȠµȑȞȠ ĮȡȚșµȩ} var ar,sum :real; orio:integer; begin read(orio); sum:=0; for k:=1 to orio do begin readln(ar); sum:=sum+ar; end; writeln(sum:10:4); end.


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal - 12 -

ȆǹȇǹǻǼǿīȂǹȉǹ ȆȇȅīȇǹȂȂǹȉȍȃ ȆǹȇǹǻǼǿīȂǹ 1 O ȜȠȖĮȡȚĮıµȩȢ ǻǼǾ țĮșȠȡȓȗİIJĮȚ Įʌȩ IJȠȞ ʌȓȞĮțĮ: KWh

1 ȑȦȢ 200

201 ȑȦȢ 400

401 ȑȦȢ 1000

1001 țĮȚ ȐȞȦ

ȃȣțIJİȡȚȞȩ

ȆȐȖȚȠ

įȡȤ/KWh

18.02

20.76

23.76

28.39

12.0

1880

ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮµµĮ ʌȠȣ ȞĮ įȚĮȕȐȗİȚ țȦįȚțȩ ʌĮȡȠȤȒȢ İʌȫȞȣµȠ, ȩȞȠµĮ, ȘµİȡȒıȚĮ, ȞȣțIJİȡȚȞȒ țĮIJĮȞȐȜȦıȘ ıȣȞįȡȠµȘIJȒ țĮȚ ȞĮ ȣʌȠȜȠȖȓȗİȚ IJȠ ıȪȞȠȜȠ ĮȟȓĮȢ ȡİȪµĮIJȠȢ. H įȚĮįȚțĮıȓĮ ȞĮ İʌĮȞĮȜĮµȕȐȞİIJĮȚ ȖȚĮ ʌȠȜȜȠȪȢ ıȣȞįȡȠµȘIJȑȢ țĮȚ ȞĮ ıIJĮµĮIJȐİȚ ȩIJĮȞ Ƞ țȦįȚțȩȢ ʌĮȡȠȤȒȢ ȑȤİȚ IJȘȞ IJȚµȒ µȘįȑȞ.

program example_1; uses wincrt; const pagio=1880; c1=200; c2=400; c3=1000; x1=18.02; x2=20.76; x3=23.76; x4=28.39; x5= 12.0; var xr,kod_par, k_im,k_ni:real; eponymo,onoma: string[20]; begin write(‘țȦįȚțȩ ʌĮȡȠȤȒȢ Ȓ 0 ȖȚĮ IJȑȜȠȢ: ’); readln(kod_par); while kod_par <>0 do {İȚıĮȖȦȖȒ įİįȠµȑȞȦȞ ıȣȞįȡȠµȘIJȒ} begin {ĮȡȤȒ İʌĮȞȐȜȘȥȘȢ} write(‘İʌȫȞȣµȠ IJȠȣ ıȣȞįȡȠµȘIJȒ: ’); readln(eponymo); write(‘ȩȞȠµĮ IJȠȣ ıȣȞįȡȠµȘIJȒ: ’); readln(onoma); write(‘țĮIJĮȞȐȜȦıȘ ȘµȑȡĮȢ: ’); readln(k_im); write(‘țĮIJĮȞȐȜȦıȘ ȞȪȤIJĮȢ: ’); readln(k_ni); {ȣʌȠȜȠȖȚıµȠȓ} xr:=pagio; if k_im < c1 then xr:=xr + x1 * k_im else if k_im < c2 then xr:=xr+round(x1*c1)+round(x2*(k_im-c1)) else if k_im<c3 then xr:=xr+round(x1*c1)+round(x2*(c2-c1))+round(x3*(k_im-c2)) else xr:=xr+round(x1*c1)+round(x2*(c2-c1))+round(x3*(c3-c2) +round((k_im-c3)*x4); xr:=xr+round(k_ni*x5); {İțIJȪʌȦıȘ ĮʌȠIJİȜİıµȐIJȦȞ} writeln(kod_par:6:0); writeln(eponymo,’ ‘,onoma); writeln(‘ǹȟȓĮ ȘȜ. ȇİȪµĮIJȠȢ: ’,xr:8:0); write(‘țȦįȚțȩ ʌĮȡȠȤȒȢ Ȓ 0 ȖȚĮ IJȑȜȠȢ: ’); readln(kod_par); end; {IJȑȜȠȢ İʌĮȞȐȜȘȥȘȢ} end. ȈȘµİȓȦıȘ: Ǿ ıȣȞȐȡIJȘıȘ round ȤȡȘıȚµȠʌȠȚİȓIJĮȚ ȖȚĮ IJȘ ıIJȡȠȖȖȣȜȠʌȠȓȘıȘ ĮʌȠIJİȜİıµȐIJȦȞ IJȦȞ ʌȡȐȟİȦȞ.


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal - 13 -

ȆǹȇǹǻǼǿīȂǹ 2 ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮµµĮ ʌȠȣ ȞĮ įȚĮȕȐȗİȚ İʌȫȞȣµȠ, ȩȞȠµĮ, țĮȚ IJȠȣȢ ȕĮșµȠȪȢ ıIJĮ IJȑııİȡĮ µĮșȒµĮIJĮ İȞȩȢ ȣʌȠȥȘijȓȠȣ IJȦȞ ȖİȞȚțȫȞ İȟİIJȐıİȦȞ. ȈIJȘ ıȣȞȑȤİȚĮ, ȞĮ ȣʌȠȜȠȖȓȗİȚ IJȠ µȑıȠ ȩȡȠ țĮȚ ȞĮ țĮIJĮIJȐııİȚ IJȠȞ ȣʌȠȥȒijȚȠ ıİ µȓĮ Įʌȩ IJȚȢ ʌȑȞIJİ țĮIJȘȖȠȡȓİȢ ĮȞȐȜȠȖĮ µİ IJȘȞ İʌȓįȠıȒ IJȠȣ, įȘȜĮįȒ: ȀȜȓµĮțĮ ȋĮȡĮțIJȘȡȚıµȩȢ

1..96

97..112

113..128

129..144

145..160

ĮʌȠIJȣȤȫȞ

ıȤİįȩȞ țĮȜȫȢ

țĮȜȫȢ

ȜȓĮȞ țĮȜȫȢ

ȐȡȚıIJĮ

program example_2; uses wincrt; {ȣʌȠȜȠȖȓȗİȚ IJȠ µȑıȠ ȩȡȠ IJȦȞ 4 µĮșȘµȐIJȦȞ IJȦȞ ȖİȞȚțȫȞ İȟİIJȐıİȦȞ} țĮIJĮIJȐııİȚ IJȠȞ ȣʌȠȥȒijȚȠ ıİ µȓĮ Įʌȩ IJȚȢ 5 țĮIJȘȖȠȡȓİȢ ĮȞȐȜȠȖĮ µİ IJȘȞ İʌȓįȠıȘ} var ma1,ma2,ma3,ma4,mo: integer; eponymo: string[20]; begin writeln(‘İʌȫȞȣµȠ ȣʌȠȥȘijȓȠȣ Ȓ IJȑȜȠȢ’); readln(eponymo); while eponymo <> ‘IJȑȜȠȢ’ do begin writeln(‘įȫıİ IJȠȣȢ 4 ȕĮșµȠȪȢ'); readln(ma1,ma2,ma3,ma4); mo:=(ma1+ma2+ma3+ma4) div 4; if mo>160 then writeln(‘ȜȐșȠȢ įİįȠµȑȞĮ’) else if mo>144 then writeln(eponymo,mo:5,’ ȐȡȚıIJĮ’) else if mo>128 then writeln(eponymo,mo:5,‘ ȜȓĮȞ țĮȜȫȢ’) else if mo>112 then writeln(eponymo,mo:5,‘ țĮȜȫȢ’) else if mo>96 then writeln(eponymo,mo:5,‘ ıȤİįȩȞ țĮȜȫȢ‘) else if mo>0 then writeln (eponymo,mo:5,‘ ĮʌȠIJȣȤȫȞ’) else writeln (eponymo,mo:5,‘ ȜȐșȠȢ įİįȠµȑȞĮ’); writeln(‘İʌȫȞȣµȠ ȣʌȠȥȘijȓȠȣ Ȓ IJȑȜȠȢ’); readln(eponymo); end; end. ȆǹȇǹǻǼǿīȂǹ 3 DzȞĮ İȡȖȠıIJȐıȚȠ țĮIJĮıțİȣȐȗİȚ µȘȤĮȞȒµĮIJĮ ʌȠȣ ʌȦȜȠȪȞIJĮȚ µİ ĭȆǹ 18% İʌȓ IJȘȢ IJȚµȒȢ ʌȫȜȘıȘȢ. ȉȠ İȡȖȠıIJȐıȚȠ ĮȖȠȡȐȗİȚ ʌȡȫIJİȢ ȪȜİȢ µİ ĭȆǹ 8%. ǹȞ ıİ ȑȞĮ µȒȞĮ ȑȤİȚ ĮȖȠȡȐıİȚ ʌȡȫIJİȢ ȪȜİȢ țĮșĮȡȒȢ ĮȟȓĮȢ AA țĮȚ ȑȤİȚ țȐȞİȚ ʌȦȜȒıİȚȢ țĮșĮȡȒȢ ĮȟȓĮȢ ǹȆ, ȞĮ ȕȡİșİȓ Ș ĮȟȓĮ IJȠȣ ĭȆǹ ʌȠȣ ʌȡȑʌİȚ ȞĮ ĮʌȠįȠșİȓ ıIJȠ IJȑȜȠȢ IJȠȣ µȒȞĮ ıIJȠ įȘµȩıȚȠ. Ǿ ĮȟȓĮ IJȠȣ ĭȆǹ ʌȠȣ șĮ ĮʌȠįȠșİȓ İȓȞĮȚ Ș įȚĮijȠȡȐ IJȘȢ ĮȟȓĮȢ ĭȆǹ ʌȠȣ ʌȜȒȡȦıİ ȖȚĮ IJȘȞ ĮȖȠȡȐ IJȦȞ ʌȡȫIJȦȞ ȣȜȫȞ Įʌȩ IJȘȞ ĮȟȓĮ ĭȆǹ ʌȠȣ İȚıȑʌȡĮȟİ µİ IJȚȢ ʌȦȜȒıİȚȢ. ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮµµĮ IJȠ ȠʌȠȓȠ ıIJȠ IJȑȜȠȢ IJȠȣ µȒȞĮ ȞĮ įȚĮȕȐȗİȚ țĮȚ ȞĮ ĮșȡȠȓȗİȚ IJȚȢ ĮȟȓİȢ ĮȖȠȡȫȞ, IJȚȢ ĮȟȓİȢ ʌȦȜȒıİȦȞ, ȞĮ ȣʌȠȜȠȖȓȗİȚ IJȠ ĭȆǹ ʌȠȣ ʌȜȘȡȫșȘțİ ıIJȚȢ ĮȖȠȡȑȢ ʌȡȫIJȦȞ ȣȜȫȞ, IJȠ ĭȆǹ ʌȠȣ İȚıʌȡȐȤșȘțİ ıIJȚȢ ʌȦȜȒıİȚȢ ȑIJȠȚµȦȞ ʌȡȠȧȩȞIJȦȞ țĮȚ IJȠ ĭȆǹ ʌȠȣ șĮ ĮʌȠįȫıİȚ IJȠ İȡȖȠıIJȐıȚȠ ıIJȘȞ ǼijȠȡȓĮ.

program example_3; uses wincrt; {ȊʌȠȜȠȖȚıµȩȢ ĭȆǹ} const fpa_ag=0.08; fpa_po=0.18;


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal - 14 -

var sa,sp, fpa,axia :real; sfpa_a,sfpa_p :real; kin :char; begin sa:=0; sp:=0; sfpa_a:=0; sfpa_p:=0 ; {ĮȡȤȚțȒ İȚıĮȖȦȖȒ įİįȠµȑȞȦȞ ȖȚĮ ȑȜİȖȤȠ İʌĮȞȐȜȘȥȘȢ} write(‘įȫıİ IJȘȞ ĮȟȓĮ Ȓ 0 ȖȚĮ ȉǼȁȅȈ: ’); readln(axia); while axia<>0 do begin {ĮȡȤȒ İʌĮȞȐȜȘȥȘȢ} {İȚıĮȖȦȖȒ țĮȚ ȑȜİȖȤȠȢ ȠȡșȩIJȘIJĮȢ țȦįȚțȠȪ țȓȞȘıȘȢ} kin:=’ ‘; while (kin<>’ǹ’) and (kin<>’Ȇ’) do begin write(‘įȫıİ ǹ ȖȚĮ ĮȖȠȡȐ Ȓ Ȇ ȖȚĮ ʌȫȜȘıȘ: ‘); readln(kin); end; if kin=’ǹ’ then sa:=sa+axia; else sp:=sp+axia; write(‘ĮȟȓĮ Ȓ 0 ȖȚĮ ȉǼȁȅȈ :’); readln(axia); end; {IJȑȜȠȢ İʌĮȞȐȜȘȥȘȢ} sfpa_a:=fpa_ag*sa; sfpa_p:=fpa_po*sp; fpa:=sfpa_p-sfpa_a; writeln(‘ǹȟȓĮ ĭȆǹ ʌȦȜȒıİȦȞ ĮȟȓĮ ĭȆǹ ĮȖȠȡȫȞ ǻǿǹĭȅȇǹ'); writeln(sfpa_p:17:0,sfpa_a:15:0,fpa:7:0,); writeln(‘ȉǼȁȅȈ ǼȇīǹȈǿǹȈ‘); end.

6. ȆǿȃǹȀǼȈ O ʌȓȞĮțĮȢ İȓȞĮȚ IJȪʌȠȢ µİ įȩµȘıȘ țĮȚ ĮʌȠIJİȜİȓIJĮȚ Įʌȩ ȑȞĮȞ ʌȡȠțĮșȠȡȚıµȑȞȠ ĮȡȚșµȩ ıIJȠȚȤİȓȦȞ IJĮ ȠʌȠȓĮ İȓȞĮȚ ȩȜĮ, įİįȠµȑȞĮ IJȠȣ ȚįȓȠȣ IJȪʌȠȣ. ȅ IJȪʌȠȢ ĮȣIJȩȢ ȠȞȠµȐȗİIJĮȚ ȕĮıȚțȩȢ IJȪʌȠȢ IJȠȣ ʌȓȞĮțĮ. ȉĮ įİįȠµȑȞĮ İȓȞĮȚ țĮIJĮȤȦȡȘµȑȞĮ ıIJȠȞ ʌȓȞĮțĮ ȑIJıȚ ȫıIJİ ȞĮ ȠȡȓȗİIJĮȚ µȓĮ įȚȐIJĮȟȘ. ȈȪµijȦȞĮ µİ IJȘ įȚȐIJĮȟȘ ĮȣIJȒ Ș ʌȡȠıʌȑȜĮıȘ ıİ țȐșİ ıIJȠȚȤİȓȠ IJȠȣ ʌȓȞĮțĮ İȓȞĮȚ ȐµİıȘ. Ǿ IJȚµȒ IJȠȣ įİȓțIJȘ ʌȡȠıįȚȠȡȓȗİȚ IJȘ șȑıȘ IJȠȣ ıIJȠȚȤİȓȠȣ µȑıĮ ıIJȠȞ ʌȓȞĮțĮ. ȅ įİȓțIJȘȢ İȓȞĮȚ IJȪʌȠȢ µİ įȚȐIJĮȟȘ (ordinal type). Ȃİ IJȘ įȒȜȦıȘ ȠȡȚıµȠȪ IJȠȣ ʌȓȞĮțĮ, ıIJȘȞ ʌİȡȚȠȤȒ įȘȜȫıİȦȞ IJȦȞ µİIJĮȕȜȘIJȫȞ, țĮșȠȡȓȗȠȞIJĮȚ țĮȚ IJĮ įȪȠ ʌĮȡĮʌȐȞȦ įȘȜĮįȒ țĮȚ Ƞ IJȪʌȠȢ IJȦȞ ıIJȠȚȤİȓȦȞ IJȠȣ țĮȚ Ƞ IJȪʌȠȢ IJȠȣ įİȓțIJȘ. ȅ ĮʌȜȠȪıIJİȡȠȢ ʌȓȞĮțĮȢ İȓȞĮȚ ĮȣIJȩȢ Ƞ ȠʌȠȓȠȢ ȑȤİȚ µȓĮ įȚȐıIJĮıȘ (µȚĮ ȖȡĮµµȒ Ȓ µȓĮ ıIJȒȜȘ). ȅ IJȪʌȠȢ IJȠȣ įİȓțIJȘ ʌȡȠıįȚȠȡȓȗİȚ ȖȚĮ țȐșİ įȚȐıIJĮıȘ IJȠȞ ĮȡȚșµȩ IJȦȞ ıIJȠȚȤİȓȦȞ IJȠȣ ʌȓȞĮțĮ. ȅȚ ĮʌȜȠȓ IJȪʌȠȚ İȓȞĮȚ ȩȜȠȚ, İțIJȩȢ Įʌȩ IJȠȞ ʌȡĮȖµĮIJȚțȩ IJȪʌȠ, IJȪʌȠȚ µİ įȚȐIJĮȟȘ. ȈIJȘȞ ʌİȡȓʌIJȦıȘ IJȠȣ ĮțİȡĮȓȠȣ IJȪʌȠȣ ȤȡȘıȚµȠʌȠȚİȓIJĮȚ ȑȞĮ ȣʌȠįȚȐıIJȘµĮ ĮțİȡĮȓȦȞ įȚĮijȠȡİIJȚțȐ Ƞ ʌȓȞĮțĮȢ șĮ ȒIJĮȞ ʌȠȜȪ µİȖȐȜȠȢ ȖȚĮ ȞĮ ȤȦȡȑıİȚ ıIJȘ µȞȒµȘ. ǻȒȜȦıȘ µȠȞȠįȚȐıIJĮIJȠȣ ʌȓȞĮțĮ ȅ IJȡȩʌȠȢ įȒȜȦıȘȢ İȞȩȢ ʌȓȞĮțĮ µİ ȩȞȠµĮ ǹ İȓȞĮȚ: var A: array [IJȪʌȠȢ_įİȓțIJȘ ] of IJȪʌȠȢ_ıIJȠȚȤİȓȦȞ_ʌȓȞĮțĮ ȆĮȡĮįİȓȖµĮIJĮ: Į. ȅ ʌȓȞĮțĮȢ ʌȠȣ ĮțȠȜȠȣșİȓ İȓȞĮȚ ʌȓȞĮțĮȢ µȚĮȢ įȚȐıIJĮıȘȢ (1 ȖȡĮµµȒȢ țĮȚ 8 ıIJȘȜȫȞ) ıIJȠȞ ȠʌȠȓȠ ȑȤȠȣȞ țĮIJĮȤȦȡȘșİȓ 8 ĮțȑȡĮȚȠȚ ĮȡȚșµȠȓ.


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal - 15 -

ʌİȡȚİȤȩµİȞĮ

IJȐȟȘ

15

12

4

3

18

20

10

12

Ǿ ĮȞIJȓıIJȠȚȤȘ įȒȜȦıȘ șĮ İȓȞĮȚ:

var pin : array[1..8] of integer; ȩȞȠµĮ ʌȓȞĮțĮ:

pin

IJȪʌȠȢ_įİȓțIJȘ:

IJȠ ȣʌȠįȚȐıIJȘµĮ 1..8

(IJȠ ıȪȞȠȜȠ IJȦȞ IJȚµȫȞ IJȠȣ įİȓțIJȘ İȓȞĮȚ ȠȚ ĮțȑȡĮȚȠȚ 1 ȑȦȢ 8) IJȪʌȠȢ IJȦȞ ıIJȠȚȤİȓȦȞ IJȠȣ ʌȓȞĮțĮ:

integer

ȕ.

const max=640; var bathmoi : array[1..20] of integer; onoma : array[1..30] of char; memory : array[0..max] of integer; Ȗ. ȅ ĮȜijĮȡȚșµȘIJȚțȩȢ IJȪʌȠȢ (string) µʌȠȡİȓ ȞĮ șİȦȡȘșİȓ ȦȢ µȠȞȠįȚȐıIJĮIJȠȢ ʌȓȞĮțĮȢ ȤĮȡĮțIJȒȡȦȞ IJȠȣ ȠʌȠȓȠȣ IJȠ ʌȡȫIJȠ ıIJȠȚȤİȓȠ ȑȤİȚ IJȐȟȘ 1.

var met:string[26]; x:char; ... met:=’abcdefghijklmnopqrstuvwxyz’; ... x:=met[5]; {Ș µİIJĮȕȜȘIJȒ x ȑȤİȚ ȦȢ ʌİȡȚİȤȩµİȞȠ IJȠ 5Ƞ ıIJȠȚȤİȓȠ IJȘȢ ĮȜijĮȡȚșµȘIJȚțȒȢ µİIJĮȕȜȘIJȒȢ ʌȠȣ İȓȞĮȚ Ƞ ȤĮȡĮțIJȒȡĮȢ e} ȆĮȡĮįİȓȖµĮIJĮ ĮȞĮijȠȡȐȢ ıİ ıIJȠȚȤİȓĮ ʌȚȞȐțȦȞ: Į. pin[k]:=a+2 ȉȠ ıIJȠȚȤİȓȠ k IJȐȟȘȢ IJȠȣ ʌȓȞĮțĮ ĮȞIJȚțĮșȓıIJĮIJĮȚ Įʌȩ IJȠ ȐșȡȠȚıµĮ a+2 ȩʌȠȣ a İȓȞĮȚ µȚĮ µİIJĮȕȜȘIJȒ. ȕ. ȋ[1,2]:=k+r ȉȠ ıIJȠȚȤİȓȠ IJȘȢ ʌȡȫIJȘȢ ȖȡĮµµȒȢ țĮȚ įİȪIJİȡȘȢ ıIJȒȜȘȢ İȞȩȢ ʌȓȞĮțĮ µİ IJȠ ȩȞȠµĮ ȋ ĮȞIJȚțĮșȓıIJĮIJĮȚ Įʌȩ IJȠ ȐșȡȠȚıµĮ IJȦȞ µİIJĮȕȜȘIJȫȞ k țĮȚ r. ȉȠ ıIJȠȚȤİȓȠ İȞȩȢ ʌȓȞĮțĮ µʌȠȡİȓ ȞĮ İȓȞĮȚ ȑȞĮȢ ȐȜȜȠȢ ʌȓȞĮțĮȢ țĮȚ IJȩIJİ Ƞ ʌȓȞĮțĮȢ ȜȑȖİIJĮȚ įȪȠ įȚĮıIJȐıİȦȞ Ȓ įȚįȚȐıIJĮIJȠȢ. ȊʌȐȡȤȠȣȞ İʌȠµȑȞȦȢ ʌȓȞĮțİȢ µİ ʌİȡȚııȩIJİȡȠȣȢ Įʌȩ ȑȞĮ įİȓțIJİȢ ʌȠȣ ȠȞȠµȐȗȠȞIJĮȚ ʌȓȞĮțİȢ įȪȠ, IJȡȚȫȞ Ȓ țĮȚ ʌİȡȚııȩIJİȡȦȞ įȚĮıIJȐıİȦȞ, ĮȞȐȜȠȖĮ µİ IJȠȞ ĮȡȚșµȩ IJȦȞ įİȚțIJȫȞ. Ǿ ʌȡȠıʌȑȜĮıȘ IJȦȞ ıIJȠȚȤİȓȦȞ IJȦȞ ʌȚȞȐțȦȞ ĮȣIJȫȞ ȖȓȞİIJĮȚ µİ IJȠȞ ĮȞȐȜȠȖȠ ĮȡȚșµȩ įİȚțIJȫȞ. ǻȒȜȦıȘ ʌȠȜȣįȚȐıIJĮIJȠȣ ʌȓȞĮțĮ ȅ IJȡȩʌȠȢ įȒȜȦıȘȢ İȞȩȢ ʌȓȞĮțĮ µİ ȩȞȠµĮ ǹ µİ ʌİȡȚııȩIJİȡȠȣȢ Įʌȩ ȑȞĮ įİȓțIJİȢ İȓȞĮȚ: var A: array [IJȪʌȠȢ_1Ƞȣ_įİȓțIJȘ, IJȪʌȠȢ-2Ƞȣ_įİȓțIJȘ,…] of IJȪʌȠȢ_ıIJȠȚȤİȓȦȞ_ʌȓȞĮțĮ


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal - 16 -

ȆĮȡĮįİȓȖµĮIJĮ: Į. ıIJȒȜİȢ

ȖȡĮµµȑȢ

1

2

3

1

10

12

23

2

15

4

2

3

1

77

83

4

23

45

67

ȅ ʌĮȡĮʌȐȞȦ ʌȓȞĮțĮȢ ĮʌȠIJİȜİȓIJĮȚ Įʌȩ 4 ȖȡĮµµȑȢ țĮȚ 3 ıIJȒȜİȢ ĮȞȐ ȖȡĮµµȒ, țĮȚ ĮʌȠșȘțİȪȠȞIJĮȚ ĮțȑȡĮȚȠȚ ĮȡȚșµȠȓ țĮȚ įȘȜȫȞİIJĮȚ ȦȢ İȟȒȢ:

var pinakas : array[1..4,1..3] of integer; Ǿ İțIJȪʌȦıȘ IJȠȣ ıIJȠȚȤİȓȠȣ IJȘȢ 3ȘȢ ȖȡĮµµȒȢ țĮȚ 2ȘȢ ıIJȒȜȘȢ ȖȓȞİIJĮȚ µİ IJȘȞ İȞIJȠȜȒ:

writeln(pinakas[3,2]); ȕ.

var pin : array[0..n,0..m] of real; count: array[0..sxol, 0..diam, 0..nomos]; ȈIJȚȢ ʌĮȡĮʌȐȞȦ įȘȜȫıİȚȢ ȠȚ įİȓțIJİȢ İȓȞĮȚ ȣʌȠįȚĮıIJȒµĮIJĮ ĮțİȡĮȓȠȣ țĮȚ ʌȡȑʌİȚ ȞĮ ȑȤȠȣȞ ʌȡȠıįȚȠȡȚıIJİȓ ʌȡȠȘȖȠȪµİȞĮ ȠȚ n, m, sxol, diam, nomos ȞĮ ȑȤȠȣȞ ȠȡȚıșİȓ ȦȢ ıIJĮșİȡȑȢ. Ȗ.

type pinakas =array [1..100] of real; var table : array [1..10] of pinakas į. ȅ ȠȡȚıµȩȢ IJȠȣ ʌĮȡĮįİȓȖµĮIJȠȢ Ȗ İȓȞĮȚ ȚıȠįȪȞĮµȠȢ µİ IJȠȞ ʌĮȡĮțȐIJȦ:

var table: array [1..10,1..100] of real; ȆĮȡĮįİȓȖµĮIJĮ ȤȡȒıȘȢ ʌȚȞȐțȦȞ: 1. ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮµµĮ IJȠ ȠʌȠȓȠ ȞĮ įȚĮȕȐȗİȚ IJȠ ıIJȠȚȤİȓĮ İȞȩȢ µȠȞȠįȚȐıIJĮIJȠȣ ʌȓȞĮțĮ (10 ıIJȠȚȤİȓȦȞ), ȞĮ ȕȡȓıțİȚ IJȠ µȚțȡȩIJİȡȠ țĮȚ IJȠ µİȖĮȜȪIJİȡȠ ıIJȠȚȤİȓȠ IJȠȣ ʌȓȞĮțĮ țĮșȫȢ țĮȚ IJȚȢ șȑıİȚȢ IJȠȣȢ ıIJȠȞ ʌȓȞĮțĮ țĮȚ ȞĮ IJĮ IJȣʌȫȞİȚ ıIJȘȞ ȠșȩȞȘ IJȠ țĮIJȐȜȜȘȜȠ µȒȞȣµĮ.

program pinakas1; uses wincrt; const n=10; var x:array[1..n] of integer; procedure eisagogi; var k:integer;


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal - 17 -

begin for k:=1 to n do begin write('įȦıİ IJȠ ıIJȠȚȤİȓȠ ȋ[',k,']='); readln(x[k]); end; end; procedure min_max; var m,min,max:integer; pos_min,pos_max:integer; begin min:=x[1]; max:=x[1]; pos_min:=1; pos_max:=1; for m:=2 to n do begin if x[m]<min then begin min:=x[m] ; pos_min:=m; end; if x[m]>max then begin max:=x[m] ; pos_max:=m; end; end; writeln('Max=', max:5,' ıIJȘ șȑıȘ ',pos_max:3); writeln('Min=', min:5,' ıIJȘ șȑıȘ ',pos_min:3); end; {țȪȡȚȠ ʌȡȩȖȡĮµµĮ} begin eisagogi; min_max; end. 2. ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮµµĮ ʌȠȣ ȞĮ įȚĮȕȐȗİȚ IJȠ İʌȫȞȣµȠ țĮȚ IJȠ ȕĮșµȩ țȐșİ µĮșȘIJȒ, ȞĮ IJĮȟȚȞȠµİȓ IJȠȣȢ µĮșȘIJȑȢ țĮIJȐ ijșȓȞȠȣıĮ ıİȚȡȐ ȕĮșµȠȜȠȖȓĮȢ țĮȚ ȞĮ IJȣʌȫȞİȚ IJȠȣȢ µĮșȘIJȑȢ țĮIJȐ IJȘȞ IJĮȟȚȞȩµȘıȘ ʌȠȣ ʌȡȠȑțȣȥİ.

program pinakas2 {bubble sort ĮȜȖȩȡȚșµȠȢ IJĮȟȚȞȩµȘıȘȢ ȈIJȠȞ ĮȜȖȩȡȚșµȠ ĮȣIJȩ Ș µİIJĮȕȜȘIJȒ allagi İȜȑȖȤİȚ ĮȞ Ș IJĮȟȚȞȩµȘıȘ ȑȤİȚ IJİȜİȚȫıİȚ, ıIJȘȞ ʌİȡȓʌIJȦıȘ ĮȣIJȒ Ș µİIJĮȕȜȘIJȒ allagi ȑȤİȚ IJȚµȒ false țĮȚ Ș įȚĮįȚțĮıȓĮ İʌĮȞȐȜȘȥȘȢ IJİȡµĮIJȓȗİIJĮȚ.} Const Plithos=40;{µȑȖȚıIJȠ ʌȜȒșȠȢ µĮșȘIJȫȞ} var i,j,no_of_marks,temp:integer; ma:array[1..plithos] of integer; onoma:array[1.plithos] of string[30]; name:string[30]; allagi:boolean; begin {İȚıĮȖȦȖȒ įİįȠµȑȞȦȞ } write(‘įȫıİ IJȠȞ ĮȡȚșµȩ IJȦȞ ȕĮșµȫȞ ‘); readln(no_of_marks);


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal - 18 -

for i:=1 to no_of_marks do begin write(‘įȫıİ IJȠ ‘,i:2,’ ȕĮșµȩ,ȩȞȠµĮ: ‘); readln(ma[i],onoma[i]); end; {IJĮȟȚȞȩµȘıȘ } allagi:=true; while allagi do begin allagi:=false; for i:=1 to no_of_marks-1 do if ma[i]<ma[i+1] then begin temp := ma[i]; ma[i] := ma[i+1]; ma[i+1] := temp; name := onoma[i]; onoma[i] := onoma[i+1]; onoma[i+1] := temp; allagi := true; end; end; {İțIJȪʌȦıȘ ĮʌȠIJİȜİıµȐIJȦȞ} for i:=1 to no_of_marks do writeln(i:2,' ',onoma[i],' ',ma[i]); end.

7. ǹȈȀǾȈǼǿȈ ǼȓıȠįȠȢ, DzȟȠįȠȢ, ǹȞIJȚțĮIJȐıIJĮıȘ 1. ȃĮ įȚĮȕĮıIJİȓ ȑȞĮȢ ĮȡȚșµȩȢ, ȞĮ ȕȡİșİȓ IJȠ ʌȡȩıȘµȩ IJȠȣ țĮȚ ȞĮ IJȣʌȦșİȓ ĮȞIJȓıIJȠȚȤȠ µȒȞȣµĮ 2. NĮ ȖȡȐȥİIJİ ʌȡȩȖȡĮµµĮ ʌȠȣ ȞĮ įȚĮȕȐȗİȚ șİȡµȠțȡĮıȓĮ ıİ ȕĮșµȠȪȢ ĭĮȡİȞȐȧIJ țĮȚ ȞĮ IJȘ µİIJĮIJȡȑʌİȚ ıİ ȕĮșµȠȪȢ ȀİȜıȓȠȣ. ȅ IJȪʌȠȢ µİIJĮIJȡȠʌȒȢ İȓȞĮȚ:

f 32 9

c 5

ǵʌȠȣ f ȠȚ ȕĮșµȠȓ ıİ țȜȓµĮțĮ ĭĮȡİȞȐȚIJ țĮȚ C ȠȚ ȕĮșµȠȓ ıİ țȜȓµĮțĮ ȀİȜıȓȠȣ. 3. ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮµµĮ IJȠ ȠʌȠȓȠ ȞĮ įȚĮȕȐȗİȚ IJȠ ʌȠıȩ İȞȩȢ țİijĮȜĮȓȠȣ țĮȚ IJȠ İIJȒıȚȠ İʌȚIJȩțȚȠ. ĬĮ ȣʌȠȜȠȖȓȗİȚ IJȠȞ İIJȒıȚȠ IJȩțȠ țĮȚ șĮ IJĮ IJȣʌȫȞİȚ ıIJȘȞ ȑȟȠįȠ, ȩʌȦȢ ıIJȠ İȟȒȢ ʌĮȡȐįİȚȖµĮ: KEĭǹȁAIO:4000000 ǼȆǿȉȅȀǿȅ:10 % ȉȅȀȅȈ:400000 4. ȃĮ ȖȡȐȥİIJİ ʌȡȩȖȡĮµµĮ ʌȠȣ ȞĮ įȚĮȕȐȗİȚ IJȠ µȒțȠȢ IJȘȢ ĮțIJȓȞĮȢ İȞȩȢ țȪțȜȠȣ țĮȚ ȞĮ IJȣʌȫȞİȚ IJȘ įȚȐµİIJȡȠ, IJȠ µȒțȠȢ țĮȚ IJȠ ݵȕĮįȩȞ ĮȣIJȠȪ IJȠȣ țȪțȜȠȣ. Ǿ µȠȡijȒ ݵijȐȞȚıȘȢ IJȦȞ ĮʌȠIJİȜİıµȐIJȦȞ ȞĮ ȑȤİȚ IJȘȞ ʌĮȡĮțȐIJȦ µȠȡijȒ: ȖȚĮ țȪțȜȠ ĮțIJȓȞĮȢ **** İț. Ș įȚȐµİIJȡȠȢ İȓȞĮȚ ***** İț. IJȠ µȒțȠȢ IJȘȢ ʌİȡȚijȑȡİȚĮȢ İȓȞĮȚ ***** İț. IJȠ ݵȕĮįȩȞ IJȠȣ țȪțȜȠȣ İȓȞĮȚ ******* IJİIJȡ.İț.


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal - 19 -

5. ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮµµĮ IJȠ ȠʌȠȓȠ ȞĮ įȚĮȕȐȗİȚ Įʌȩ IJȘȞ ȠșȩȞȘ įȪȠ ʌȡĮȖµĮIJȚțȠȪȢ ĮȡȚșµȠȪȢ ȋ,Ȋ țĮȚ ȞĮ ȣʌȠȜȠȖȓȗİȚ IJȘȞ ʌĮȡȐıIJĮıȘ:

Z

X Y 3( X Y ) ( X Y ) 2 4 5

6. ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮµµĮ IJȠ ȠʌȠȓȠ ȞĮ įȚĮȕȐȗİȚ IJȠ µȑIJȡȠ µȚĮȢ ȖȦȞȓĮȢ ıİ µȠȓȡİȢ țĮȚ ȞĮ IJȠ ȣʌȠȜȠȖȓȗİȚ ıİ ĮțIJȓȞȚĮ. ȅ IJȪʌȠȢ µİIJĮIJȡȠʌȒȢ İȓȞĮȚ:

ĮțIJȓȞȚĮ ʌ

µȠȓȡİȢ 180

ȩʌȠȣ ʌ=3.14. 7. ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮµµĮ IJȠ ȠʌȠȓȠ ȞĮ įȚĮȕȐȗİȚ IJȠȣȢ ȕĮșµȠȪȢ 5 µĮșȘµȐIJȦȞ İȞȩȢ µĮșȘIJȒ țĮȚ ȞĮ ȣʌȠȜȠȖȓȗİȚ IJȠȞ µȑıȠ ȩȡȠ ݵijĮȞȓȗȠȞIJĮȢ ıȪµijȦȞĮ µİ IJȠ ʌĮȡĮțȐIJȦ ȣʌȩįİȚȖµĮ: īȚĮ ȕĮșµȠȪȢ 15, 11, 18, 17, 16 ȃĮ ȖȡȐijİȚ Ȃȅ= 15 țĮȚ 2/5 DzȜİȖȤȠȢ țĮȚ ǼʌȚȜȠȖȒ 1. NĮ ȖȡȐȥİIJİ ʌȡȩȖȡĮµµĮ ʌȠȣ ȞĮ ݵijĮȞȓȗİȚ µȚĮ ȠșȩȞȘ İʌȚȜȠȖȒȢ µİ IJȚȢ 4 ʌȡȐȟİȚȢ: 1 ʌȡȩıșİıȘ 2 ĮijĮȓȡİıȘ 3 ʌȠȜȜĮʌȜĮıȚĮıµȩȢ 4 įȚĮȓȡİıȘ ȅ ȤȡȒıIJȘȢ șĮ İʌȚȜȑȖİȚ IJȘȞ ʌȡȐȟȘ țĮȚ șĮ įȓįİȚ IJȠȣȢ įȪȠ ĮȡȚșµȠȪȢ. ȅ ȣʌȠȜȠȖȚıIJȒȢ șĮ İțIJİȜİȓ IJȘȞ ĮȞIJȓıIJȠȚȤȘ ʌȡȐȟȘ țĮȚ șĮ ݵijĮȞȓȗİȚ IJȠ ĮʌȠIJȑȜİıµĮ. ȊʌȩįİȚȟȘ ȉȠ ʌȡȩȖȡĮµµĮ ȞĮ ȖȓȞİȚ µİ įȪȠ IJȡȩʌȠȣȢ µİ IJȘ ȤȡȒıȘ if țĮȚ µİ ȤȡȒıȘ case. ǼʌȓıȘȢ ȞĮ ȖȓȞİIJĮȚ ȑȜİȖȤȠȢ ȫıIJİ ȞĮ µȘ ȖȓȞİIJĮȚ įȚĮȓȡİıȘ µİ µȘįȑȞ țĮȚ ȞĮ ݵijĮȞȓȗİIJĮȚ țĮIJȐȜȜȘȜȠ µȒȞȣµĮ. 2. ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮµµĮ İʌȓȜȣıȘȢ IJȘȢ İȟȓıȦıȘȢ ax2+bx+c=0. ȃĮ İȟİIJȐȗİIJĮȚ ĮȞ IJȠ a=0 țĮȚ ıIJȘȞ ʌİȡȓʌIJȦıȘ ĮȣIJȒ ȞĮ İʌȚȜȪİIJĮȚ Ș ĮȞIJȓıIJȠȚȤȘ ʌȡȦIJȠȕȐșµȚĮ. 3. ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮµµĮ IJȠ ȠʌȠȓȠ ȞĮ įȚĮȕȐȗİȚ įȪȠ ȘµİȡȠµȘȞȓİȢ, ȞĮ ȕȡȓıțİȚ IJȘ įȚĮijȠȡȐ IJȠȣȢ țĮȚ ȞĮ IJȘȞ ݵijĮȞȓȗİȚ ıIJȘȞ ȠșȩȞȘ. 4. ȃĮ ȣʌȠȜȠȖȚıșȠȪȞ ȠȚ İȕįȠµĮįȚĮȓİȢ ĮʌȠįȠȤȑȢ İȞȩȢ İȡȖĮȗȠµȑȞȠȣ µİ ȦȡȚĮȓĮ ĮʌȠȗȘµȓȦıȘ 7 €. ǹȞ ȠȚ ȫȡİȢ İȡȖĮıȓĮȢ İȓȞĮȚ ʌİȡȚııȩIJİȡİȢ Įʌȩ 40, ȖȚĮ țȐșİ İʌȚʌȜȑȠȞ ȫȡĮ ʌȜȘȡȫȞİIJĮȚ µİ 9 €. Ș ȠʌȠȓĮ șİȦȡİȓIJĮȚ ȦȢ ȣʌİȡȦȡȓĮ. 5. ȃĮ ȖȡȐȥİIJİ ʌȡȩȖȡĮµµĮ ʌȠȣ ȞĮ įȚĮȕȐȗİȚ IJȚȢ ȫȡİȢ İȡȖĮıȓĮȢ țĮȚ ȞĮ ȣʌȠȜȠȖȓȗİȚ IJȚȢ ĮʌȠįȠȤȑȢ IJȠȣ İȡȖĮȗȩµİȞȠȣ. TĮ ĮʌȠIJİȜȑıµĮIJĮ ȞĮ ݵijĮȞȚıșȠȪȞ ıȪµijȦȞĮ µİ IJȠ ʌĮȡĮțȐIJȦ ȣʌȩįİȚȖµĮ: țĮȞȠȞȚțȒ ĮµȠȚȕȒ ….......... ĮµȠȚȕȒ ȣʌİȡȦȡȚȫȞ ….......... ----------------------------------------ıȣȞȠȜȚțȑȢ ĮʌȠįȠȤȑȢ ….......... 6. ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮµµĮ IJȠ ȠʌȠȓȠ ȞĮ įȚĮȕȐȗİȚ IJȠ ȩȞȠµĮ İȞȩȢ µȒȞĮ țĮȚ IJȠ ȑIJȠȢ țĮȚ ȞĮ İʌȚıIJȡȑijİȚ IJȠȞ ĮȡȚșµȩ IJȦȞ ȘµİȡȫȞ IJȠȣ µȒȞĮ (28, 29, 30, Ȓ 31). ȃĮ ȜȘijșȠȪȞ ȣʌȩȥȘ IJĮ įȓıİțIJĮ ȑIJȘ țĮȚ ȞĮ ȤȡȘıȚµȠʌȠȚȘșİȓ Ș İȞIJȠȜȒ case. ǼʌĮȞĮȜȒȥİȚȢ - ȆȓȞĮțİȢ 1. ȃĮ ȕȡİșİȓ Ƞ µȑıȠȢ ȩȡȠȢ IJȡȚȫȞ ĮȡȚșµȫȞ țĮȚ ȞĮ IJȣʌȦșİȓ IJȠ ĮʌȠIJȑȜİıµĮ. Ǿ įȚĮįȚțĮıȓĮ İʌĮȞĮȜĮµȕȐȞİIJĮȚ ȖȚĮ įȚȐijȠȡİȢ IJȡȚȐįİȢ įİįȠµȑȞȦȞ țĮȚ ıIJĮµĮIJȐİȚ ȩIJĮȞ Ƞ ʌȡȫIJȠȢ ĮȡȚșµȩȢ µȚĮȢ IJȡȚȐįĮȢ İȓȞĮȚ µȘįȑȞ. 2. īȓȞİIJĮȚ İȚıĮȖȦȖȒ IJȦȞ țĮȡIJİıȚĮȞȫȞ ıȣȞIJİIJĮȖµȑȞȦȞ (ȋ, Ȋ) İȞȩȢ ıȘµİȓȠȣ ıIJȠ İʌȓʌİįȠ. ȃĮ ȕȡİșİȓ ıİ ʌȠȚȠ Įʌȩ IJĮ IJȑııİȡĮ IJİIJĮȡIJȘµȩȡȚĮ ĮȞȒțİȚ IJȠ ıȘµİȓȠ. Ǿ įȚĮįȚțĮıȓĮ ıIJĮµĮIJȐİȚ ȩIJĮȞ Ș ʌȡȫIJȘ ıȣȞIJİIJĮȖµȑȞȘ IJȠȣ ıȘµİȓȠȣ İȓȞĮȚ µȘįȑȞ. ȊʌȠIJȓșİIJĮȚ ȩIJȚ IJȠ ıȘµİȓȠ įİ ȕȡȓıțİIJĮȚ ıIJȠȣȢ ȐȟȠȞİȢ. 3. ȃĮ ȖȡĮijİȓ Ƞ ȥİȣįȠțȫįȚțĮȢ țĮȚ IJȠ ĮȞIJȓıIJȠȚȤȠ ʌȡȩȖȡĮµµĮ ʌȠȣ ıIJȠ IJȑȜȠȢ IJȠȣ ȑIJȠȣȢ ȞĮ įȚĮȕȐȗİȚ IJȚȢ ĮȟȓİȢ țĮIJĮșȑıİȦȞ, IJȠ ȤȡȩȞȠ țȐșİ țĮIJȐșİıȘȢ ıİ µȒȞİȢ țĮȚ ȞĮ ȣʌȠȜȠȖȓȗİȚ IJȠȞ IJȩțȠ țȐșİ țĮIJȐșİıȘȢ (µİ İʌȚIJȩțȚȠ


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal - 20 -

0.08). Ǿ įȚĮįȚțĮıȓĮ İʌĮȞĮȜĮµȕȐȞİIJĮȚ µȑȤȡȚ ȞĮ įȠșİȓ ʌȠıȩ țĮIJȐșİıȘȢ ȓıȠ µİ µȘįȑȞ (0). ȈIJȠ IJȑȜȠȢ IJȘȢ İʌİȟİȡȖĮıȓĮȢ ȞĮ IJȣʌȦșȠȪȞ Ș ıȣȞȠȜȚțȒ ĮȟȓĮ IJȦȞ țĮIJĮșȑıİȦȞ, IJȦȞ IJȩțȦȞ țĮșȫȢ țĮȚ IJȠ ȐșȡȠȚıµȐ IJȠȣȢ. 4. ȃĮ ȖȡȐȥİIJİ ȑȞĮ ʌȡȩȖȡĮµµĮ IJȠ ȠʌȠȓȠ ȞĮ įȚĮȕȐȗİȚ Įʌȩ IJȘȞ ȠșȩȞȘ µȚĮ ıİȚȡȐ ȤĮȡĮțIJȒȡİȢ țĮȚ ȞĮ IJȠȣȢ IJȣʌȫȞİȚ ıIJȘȞ ȠșȩȞȘ µİ ĮȞIJȓșİIJȘ ıİȚȡȐ. 5. ȃĮ ȖȡȐȥİIJİ ȑȞĮ ʌȡȩȖȡĮµµĮ IJȠ ȠʌȠȓȠ ȞĮ įȚĮȕȐȗİȚ Įʌȩ IJȘȞ ȠșȩȞȘ µȚĮ ıİȚȡȐ ȤĮȡĮțIJȒȡİȢ, ȞĮ µİIJȡȐ IJȠ ʌȜȒșȠȢ IJȦȞ ĮȡȚșµȘIJȚțȫȞ ȤĮȡĮțIJȒȡȦȞ, IJȦȞ țİȞȫȞ țĮȚ IJȦȞ ĮȜijĮȕȘIJȚțȫȞ ȤĮȡĮțIJȒȡȦȞ țĮȚ ȞĮ ݵijĮȞȓȗİȚ ıIJȘȞ ȠșȩȞȘ IJĮ ĮʌȠIJİȜȑıµĮIJĮ. 6. ȃĮ ȖȡȐȥİIJİ ʌȡȩȖȡĮµµĮ ʌȠȣ ȞĮ įȚĮȕȐȗİȚ: Į. ȉȠ ʌȜȒșȠȢ IJȦȞ İȡȖĮIJȫȞ µȓĮȢ İIJĮȚȡİȓĮȢ ȕ. ȉȚȢ ȣʌȠȤȡİȦIJȚțȑȢ ȫȡİȢ İȡȖĮıȓĮȢ (țȐșİ İʌȚʌȜȑȠȞ ȫȡĮ İȓȞĮȚ ȣʌİȡȦȡȓĮ) Ȗ. ȉȘȞ ȦȡȚĮȓĮ ĮµȠȚȕȒ į. ȉȘȞ ĮµȠȚȕȒ ȖȚĮ țȐșİ ȣʌİȡȦȡȚĮțȒ ȫȡĮ İ. ȉȚȢ ȫȡİȢ İȡȖĮıȓĮȢ țȐșİ İȡȖȐIJȘ țĮȚ ȞĮ ȣʌȠȜȠȖȓȗİȚ IJȘȞ ĮʌȠȗȘµȓȦıȘ țȐșİ İȡȖȐIJȘ. ȊʌȠįİȓȟİȚȢ ȉĮ ĮʌȠIJİȜȑıµĮIJĮ ȞĮ įȠșȠȪȞ µİ țĮIJȐȜȜȘȜȘ µȠȡijȠʌȠȓȘıȘ ȉȠ ʌȡȩȖȡĮµµĮ ıIJĮµĮIJȐİȚ, ıİ ʌİȡȓʌIJȦıȘ ʌȠȣ șĮ įȠșİȓ ĮȡȚșµȩȢ ĮȡȞȘIJȚțȩȢ ȖȚĮ ȫȡİȢ İȡȖĮıȓĮȢ İȞȩȢ İȡȖȐIJȘ. ȉȠ ʌȡȩȖȡĮµµĮ ȞĮ ȖȡĮijİȓ µİ įȪȠ IJȡȩʌȠȣȢ: Į. µİ ȤȡȒıȘ IJȘȢ İȞIJȠȜȒȢ while țĮȚ ȕ. µİ ȤȡȒıȘ IJȘȢ repeat-until. 7. ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮµµĮ IJȠ ȠʌȠȓȠ ȞĮ įȚĮȕȐȗİȚ IJĮ ʌİȡȚİȤȩµİȞĮ įȪȠ ʌȚȞȐțȦȞ ǹ țĮȚ Ǻ ȠȚ ȠʌȠȓȠȚ ȑȤȠȣȞ 3 ȖȡĮµµȑȢ țĮȚ 4 ıIJȒȜİȢ ȞĮ ȣʌȠȜȠȖȓȗİȚ IJȠ ȐșȡȠȚıµĮ IJȠȣȢ ȞĮ IJȠ țĮIJĮȤȦȡİȓ ıİ ȑȞĮ ʌȓȞĮțĮ C țĮȚ ȞĮ IJȣʌȫȞİȚ ıIJȘȞ ȠșȩȞȘ IJȠ ʌȓȞĮțĮ C. 8. ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮµµĮ IJȠ ȠʌȠȓȠ ȞĮ įȚĮȕȐȗİȚ ȑȞĮ ĮȡȚșµȩ n Įʌȩ IJȘȞ ȠșȩȞȘ țĮȚ ȞĮ ȣʌȠȜȠȖȓȗİȚ IJȠ n! (n ʌĮȡĮȖȠȞIJȚțȩ). ǵʌȠȣ n!=1*2*3*4*…..*(n-1)*n. 9. ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮµµĮ ȣʌȠȜȠȖȚıµȠȪ IJȘȢ įȪȞĮµȘȢ İȞȩȢ ĮȡȚșµȠȪ. ǻȘȜĮįȒ IJȠ ʌȡȩȖȡĮµµĮ ȞĮ įȚĮȕȐȗİȚ Įʌȩ IJȘȞ ȠșȩȞȘ IJȘ ȕȐıȘ țĮȚ IJȠȞ İțșȑIJȘ (ijȣıȚțȩ ĮȡȚșµȩ), ȞĮ ȣʌȠȜȠȖȓȗİȚ țĮȚ ȞĮ IJȣʌȫȞİȚ IJȘȞ ĮȞIJȓıIJȠȚȤȘ įȪȞĮµȘ. 10. NĮ ȖȡȐȥİIJİ ʌȡȩȖȡĮµµĮ ʌȠȣ ȞĮ įȚĮȕȐȗİȚ IJȠ ʌȜȒșȠȢ IJȦȞ µĮșȘIJȫȞ IJȠ İʌȫȞȣµȠ țĮȚ IJȠ ȕĮșµȩ IJȠȣ țĮșİȞȩȢ țĮȚ ȞĮ IJȣʌȫȞİȚ ȑȞĮ ȤĮȡĮțIJȘȡȚıµȩ İʌȓįȠıȘȢ ĮȞȐȜȠȖĮ µİ IJȠ ȕĮșµȩ IJȠȣ. ȅ ȤĮȡĮțIJȘȡȚıµȩȢ İʌȓįȠıȘȢ İȓȞĮȚ: 9 < ȕĮșµȩȢ < = 12 µȑIJȡȚĮ 12 < ȕĮșµȩȢ < = 15 țĮȜȐ 15 < ȕĮșµȩȢ < = 18 ʌȠȜȪ țĮȜȐ 18 < ȕĮșµȩȢ < = 20 ȐȡȚıIJĮ ȉȠ ʌȡȩȖȡĮµµĮ ȞĮ ȖȡĮijİȓ µİ ȤȡȒıȘ ʌȚȞȐțȦȞ țĮȚ µİ 3 IJȡȩʌȠȣȢ: Į. µİ ȤȡȒıȘ IJȘȢ İȞIJȠȜȒȢ while țĮȚ ȕ. µİ ȤȡȒıȘ IJȘȢ repeat-until. Ȗ. µİ ȤȡȒıȘ IJȘȢ İȞIJȠȜȒȢ for ȈIJȠ IJȑȜȠȢ ȞĮ IJȣʌȦșİȓ IJȠ ʌȜȒșȠȢ țȐșİ țĮIJȘȖȠȡȓĮȢ, įȘȜ. ȐȡȚıIJĮ, ʌȠȜȪ țĮȜȐ țȜʌ., țĮșȫȢ țĮȚ IJȠ ıȪȞȠȜȠ ȩȜȦȞ IJȦȞ µĮșȘIJȫȞ. 11. ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮµµĮ Pascal ʌȠȣ ȞĮ ȕȡȓıțİȚ țĮȚ ȞĮ ݵijĮȞȓȗİȚ ȩȜȠȣȢ IJȠȣȢ IJȡȚȥȒijȚȠȣȢ ĮȡȚșµȠȪȢ Įʌȩ 100 ȑȦȢ 999 ʌȠȣ ȑȤȠȣȞ IJȘȞ ȚįȚȩIJȘIJĮ, IJȠ ȐșȡȠȚıµĮ IJȦȞ ȥȘijȓȦȞ IJȠȣȢ ȞĮ İȓȞĮȚ µİȖĮȜȪIJİȡȠ Ȓ ȓıȠ IJȠȣ įȑțĮ. 12. ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮµµĮ IJȠ ȠʌȠȓȠ ȞĮ įȚĮȕȐȗİȚ țĮIJȐ ȖȡĮµµȑȢ IJĮ ıIJȠȚȤİȓĮ İȞȩȢ ʌȓȞĮțĮ įȪȠ įȚĮıIJȐıİȦȞ (4 ȖȡĮµµȑȢ, 3 ıIJȒȜİȢ), ȞĮ IJȣʌȫȞİȚ IJȠȞ ʌȓȞĮțĮ țĮșȫȢ țĮȚ IJȠȞ ĮȞȐıIJȡȠijȩ IJȠȣ (įȘȜĮįȒ ȞĮ IJȣʌȫȞİȚ IJȚȢ ȖȡĮµµȑȢ ȦȢ ıIJȒȜİȢ țĮȚ IJȚȢ ıIJȒȜİȢ ȦȢ ȖȡĮµµȑȢ).

8. ǻǿǹǻǿȀǹȈǿǼȈ ȅȇǿǽȅȂǼȃǼȈ ǹȆȅ ȉȅȃ ȋȇǾȈȉǾ ȂȓĮ įȚĮįȚțĮıȓĮ (procedure) İȓȞĮȚ ȑȞĮ ȣʌȠʌȡȩȖȡĮµµĮ țĮȚ ȑȤİȚ IJȘȞ ȓįȚĮ µȠȡijȒ µİ ȑȞĮ ʌȡȩȖȡĮµµĮ, µİ IJȘ įȚĮijȠȡȐ ȩIJȚ ĮȞIJȓ IJȘȢ ȜȑȟȘȢ program ıIJȘȞ ʌȡȫIJȘ ȖȡĮµµȒ ȑȤȠȣµİ IJȘ ȜȑȟȘ procedure țĮȚ µİIJȐ IJȠ IJİȜİȣIJĮȓȠ end ȑȤȠȣµİ ";" ĮȞIJȓ ".". Ǿ ʌȡȫIJȘ ȖȡĮµµȒ İȞȩȢ ʌȡȠȖȡȐµµĮIJȠȢ ȠȞȠµȐȗİȚ IJȠ ʌȡȩȖȡĮµµĮ țĮȚ ʌȡȠıįȚȠȡȓȗİȚ IJĮ ĮȡȤİȓĮ İȚıȩįȠȣ, Įʌȩ ȩʌȠȣ ʌĮȓȡȞȠȣµİ IJĮ įİįȠµȑȞĮ, țĮȚ IJĮ ĮȡȤİȓĮ İȟȩįȠȣ, ȩʌȠȣ ʌȐȞİ IJĮ ĮʌȠIJİȜȑıµĮIJĮ. Ǿ ʌȡȫIJȘ ȖȡĮµµȒ µȚĮȢ įȚĮįȚțĮıȓĮȢ ȠȞȠµȐȗİȚ IJȘ įȚĮįȚțĮıȓĮ țĮȚ ȠȡȓȗİȚ IJȚȢ µİIJĮȕȜȘIJȑȢ ʌȠȣ ȜȑȖȠȞIJĮȚ IJȣʌȚțȑȢ ʌĮȡȐµİIJȡȠȚ (formal parameters) țĮȚ ȤȡȘıȚµȠʌȠȚȠȪȞIJĮȚ ȖȚĮ IJȘȞ İȚıĮȖȦȖȒ IJȦȞ įİįȠµȑȞȦȞ ıIJȘ įȚĮįȚțĮıȓĮ țĮȚ IJȘȞ İȟĮȖȦȖȒ IJȦȞ


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal - 21 -

ĮʌȠIJİȜİıµȐIJȦȞ Įʌȩ ĮȣIJȒ, ȠʌȩIJİ ȠȚ ʌȡĮȖµĮIJȚțȑȢ ʌĮȡȐµİIJȡȠȚ (actual parameters) ĮȞIJȚțĮșȚıIJȠȪȞ IJȚȢ IJȣʌȚțȑȢ ʌĮȡĮµȑIJȡȠȣȢ. ȆĮȡȐįİȚȖµĮ:

procedure ypologismos (var athr:integer; m:integer); (athr, m İȓȞĮȚ formal parameters) țĮȜİȓIJĮȚ ȦȢ ypologismos(sum,3) (sum, 3 İȓȞĮȚ actual parameters) ǼȐȞ Ș įȚĮįȚțĮıȓĮ ȣʌȠȜȠȖȓȗİȚ IJȠ ȐșȡȠȚıµĮ (athr) m IJȠ ʌȜȒșȠȢ ĮȡȚșµȫȞ, Ș İțIJȑȜİıȘ ȖȓȞİIJĮȚ µİ IJȘȞ țȜȒıȘ ypologismos(sum,3), ȠʌȩIJİ ȣʌȠȜȠȖȓȗİIJĮȚ IJȠ ȐșȡȠȚıµĮ IJȡȚȫȞ (3) ĮȡȚșµȫȞ țĮȚ IJȠ ĮʌȠIJȑȜİıµĮ įȓįİIJĮȚ ıIJȠ sum. īȚĮ ȞĮ µʌȠȡİȓ µȚĮ įȚĮįȚțĮıȓĮ ȞĮ ȤȡȘıȚµȠʌȠȚȘșİȓ, ʌȡȑʌİȚ ȞĮ ȑȤİȚ įȘȜȦșİȓ ıIJȠ IJµȒµĮ ʌȡȠȖȡȐµµĮIJȠȢ. ȀĮȜİȓIJĮȚ µİ IJȠ ȩȞȠµȐ IJȘȢ țĮȚ, İȐȞ ȣʌȐȡȤȠȣȞ IJȣʌȚțȑȢ ʌĮȡȐµİIJȡȠȚ (formal), IJȩIJİ ȠȚ ʌȡĮȖµĮIJȚțȑȢ ʌĮȡȐµİIJȡȠȚ (actual) ĮȞIJȚțĮșȚıIJȠȪȞ IJȚȢ IJȣʌȚțȑȢ ʌĮȡĮµȑIJȡȠȣȢ. ȈIJȘȞ ʌİȡȓʌIJȦıȘ ĮȣIJȒ ȑȤİȚ ıȘµĮıȓĮ Ș ıİȚȡȐ IJȦȞ ʌĮȡĮµȑIJȡȦȞ. ȀȐșİ ʌȡĮȖµĮIJȚțȒ ʌĮȡȐµİIJȡȠȢ ĮȞIJȚıIJȠȚȤİȓ ıIJȘȞ IJȣʌȚțȒ ʌĮȡȐµİIJȡȠ ʌȠȣ ȑȤİȚ IJȘȞ ȓįȚĮ ıİȚȡȐ. Ǿ ıİȚȡȐ IJȦȞ procedures İȓȞĮȚ ȤȦȡȓȢ ıȘµĮıȓĮ. ǵIJĮȞ ȩµȦȢ µȓĮ įȚĮįȚțĮıȓĮ țĮȜİȓ µȓĮ ȐȜȜȘ įȚĮįȚțĮıȓĮ IJȩIJİ Ș țĮȜȠȪµİȞȘ įȚĮįȚțĮıȓĮ ʌȡȑʌİȚ ȞĮ ʌȡȠȘȖİȓIJĮȚ. ȅȚ IJȣʌȚțȑȢ ʌĮȡȐµİIJȡȠȚ įȚĮțȡȓȞȠȞIJĮȚ ıİ: (value

parameters)

x

ʌĮȡĮµȑIJȡȠȣȢ ĮȟȓĮȢ

x

ʌĮȡĮµȑIJȡȠȣȢ µİIJĮȕȜȘIJȒȢ (variable parameters)

8.1. ȆĮȡȐµİIJȡȠȚ ǹȟȓĮȢ Ǿ įȒȜȦıȘ IJȦȞ ʌĮȡĮµȑIJȡȦȞ ĮȟȓĮȢ (value parameters) İȓȞĮȚ ȩµȠȚĮ µİ IJȘ įȒȜȦıȘ IJȦȞ µİIJĮȕȜȘIJȫȞ, µȩȞȠ ʌȠȣ ʌĮȡĮȜİȓʌİIJĮȚ IJȠ var. ȂȓĮ IJȑIJȠȚĮ ʌĮȡȐµİIJȡȠȢ İȓȞĮȚ IJȠʌȚțȒ (local) ȖȚĮ IJȘ įȚĮįȚțĮıȓĮ. H ĮȞIJȓıIJȠȚȤȘ ʌȡĮȖµĮIJȚțȒ ʌĮȡȐµİIJȡȠȢ ʌȡȑʌİȚ ȞĮ įȓȞİȚ µȚĮ IJȚµȒ IJȠȣ ȓįȚȠȣ IJȪʌȠȣ µİ IJȘȞ IJȣʌȚțȒ ʌĮȡȐµİIJȡȠ. Ǿ IJȣʌȚțȒ ʌĮȡȐµİIJȡȠȢ ȦȢ IJȠʌȚțȒ µİIJĮȕȜȘIJȒ ʌĮȓȡȞİȚ ĮȡȤȚțȒ IJȚµȒ Įʌȩ IJȘȞ ʌȡĮȖµĮIJȚțȒ ʌĮȡȐµİIJȡȠ, ȩIJĮȞ țĮȜİȓIJĮȚ Ș įȚĮįȚțĮıȓĮ. ȋȫȡȠȢ ȖȚĮ IJȘȞ IJȣʌȚțȒ ʌĮȡȐµİIJȡȠ țȡĮIJİȓIJĮȚ țȐșİ ijȠȡȐ ʌȠȣ İȞİȡȖȠʌȠȚİȓIJĮȚ Ș įȚĮįȚțĮıȓĮ țĮȚ Ƞ ȤȫȡȠȢ ĮȣIJȩȢ ĮʌȠįİıµİȪİIJĮȚ, µȩȜȚȢ IJİȜİȚȫıİȚ Ș İțIJȑȜİıȘ IJȘȢ įȚĮįȚțĮıȓĮȢ. ȅȚ ʌĮȡȐµİIJȡȠȚ ĮȟȓĮȢ µİIJĮijȑȡȠȣȞ ʌȜȘȡȠijȠȡȓİȢ µȑıĮ ıIJȘ įȚĮįȚțĮıȓĮ, ȖȚ' ĮȣIJȩ ʌȠȜȜȑȢ ijȠȡȑȢ ȠȞȠµȐȗȠȞIJĮȚ ʌĮȡȐµİIJȡȠȚ İȚıȩįȠȣ. ȂȓĮ ʌĮȡȐµİIJȡȠȢ ĮȟȓĮȢ ȠȡȓȗİȚ IJȠʌȚțȐ IJȠ ȩȞȠµĮ µȚĮȢ ʌİȡȚȠȤȒȢ formal ʌĮȡĮµȑIJȡȠȣ. Ǿ ʌİȡȚȠȤȒ ĮȣIJȒ ʌĮȓȡȞİȚ IJȚµȒ Įʌȩ IJȘȞ actual ʌĮȡȐµİIJȡȠ, ȩIJĮȞ țĮȜİȓIJĮȚ Ș įȚĮįȚțĮıȓĮ. H ĮȜȜĮȖȒ IJȘȢ IJȚµȒȢ IJȘȢ ʌĮȡĮµȑIJȡȠȣ ĮȟȓĮȢ (formal value parameter) µȑıĮ ıIJȘ įȚĮįȚțĮıȓĮ įİȞ İʌȘȡİȐȗİȚ IJȘȞ IJȚµȒ IJȘȢ actual ʌĮȡĮµȑIJȡȠȣ.

8.2. ȆĮȡȐµİIJȡȠȚ ȂİIJĮȕȜȘIJȒȢ ȂİȡȚțȑȢ ijȠȡȑȢ İȓȞĮȚ ĮȞĮȖțĮȓȠ ȞĮ İijȠįȚȐıȠȣµİ IJȘ įȚĮįȚțĮıȓĮ țĮȚ µİ ʌĮȡȐµİIJȡȠ Ș ȠʌȠȓĮ ȞĮ µİIJĮijȑȡİȚ µȚĮ IJȚµȒ ıIJȘ įȚĮįȚțĮıȓĮ, Ș įİ įȚĮįȚțĮıȓĮ ȞĮ ĮȜȜȐȗİȚ IJȘȞ IJȚµȒ IJȘȢ ʌĮȡĮµȑIJȡȠȣ țĮȚ Ș ĮȜȜĮȖȒ ĮȣIJȒ ȞĮ µİIJĮijȑȡİIJĮȚ ıIJȘ actual ʌĮȡȐµİIJȡȠ. ȉȠ ȡȩȜȠ ĮȣIJȩ IJȠȞ ʌĮȓȗİȚ Ș ʌĮȡȐµİIJȡȠȢ µİIJĮȕȜȘIJȒȢ (variable parameter). ȈIJȘȞ ʌİȡȓʌIJȦıȘ ĮȣIJȒ Ș IJȣʌȚțȒ ʌĮȡȐµİIJȡȠȢ µʌȠȡİȓ ȞĮ ʌĮȓȡȞİȚ IJȚµȒ Įʌȩ IJȘȞ ʌȡĮȖµĮIJȚțȒ ʌĮȡȐµİIJȡȠ ĮȜȜȐ ȠʌȠȚĮįȒʌȠIJİ ĮȜȜĮȖȒ IJȘȢ IJȚµȒȢ IJȘȢ IJȣʌȚțȒȢ ʌĮȡĮµȑIJȡȠȣ ȑȤİȚ ȦȢ ĮʌȠIJȑȜİıµĮ ĮȜȜĮȖȒ țĮȚ IJȘȢ IJȚµȒȢ IJȘȢ ʌȡĮȖµĮIJȚțȒȢ ʌĮȡĮµȑIJȡȠȣ. ȅȚ ʌĮȡȐµİIJȡȠȚ µİIJĮȕȜȘIJȒȢ µİIJĮijȑȡȠȣȞ ʌȜȘȡȠijȠȡȓİȢ ȑȟȦ Įʌȩ IJȘ įȚĮįȚțĮıȓĮ, ȖȚĮ IJȠ ȜȩȖȠ ĮȣIJȩ ȠȞȠµȐȗȠȞIJĮȚ țĮȚ ʌĮȡȐµİIJȡȠȚ İȟȩįȠȣ. īȚĮ ȞĮ įȘȜȦșİȓ ıİ µȓĮ įȚĮįȚțĮıȓĮ ȩIJȚ µȚĮ ʌĮȡȐµİIJȡȠȢ İȓȞĮȚ ĮȣIJȠȪ IJȠȣ IJȪʌȠȣ ʌȡȠȘȖİȓIJĮȚ Ș ȜȑȟȘ var. Ǿ ʌĮȡȐµİIJȡȠȢ µİIJĮȕȜȘIJȒȢ ȠȡȓȗİȚ IJȠ ȩȞȠµĮ µȚĮȢ ʌİȡȚȠȤȒȢ ȖȚĮ ȤȡȒıȘ Įʌȩ IJȘȞ ʌȡĮȖµĮIJȚțȒ µİIJĮȕȜȘIJȒ. Ǿ ʌİȡȚȠȤȒ ĮȣIJȒ ʌĮȡĮµȑȞİȚ įİıµİȣµȑȞȘ ıIJȘ įȚȐȡțİȚĮ IJȘȢ İțIJȑȜİıȘȢ IJȠȣ ʌȡȠȖȡȐµµĮIJȠȢ İȞȫ, ıIJȘ įȚȐȡțİȚĮ İțIJȑȜİıȘȢ IJȘȢ įȚĮįȚțĮıȓĮȢ, Ș IJȣʌȚțȒ ʌĮȡȐµİIJȡȠȢ ĮȞĮijȑȡİIJĮȚ ıIJȘȞ ʌİȡȚȠȤȒ IJȘȢ ʌȡĮȖµĮIJȚțȒȢ µİIJĮȕȜȘIJȒȢ Ș ȠʌȠȓĮ İȓȞĮȚ ĮȣIJȒ ʌȠȣ įȑȤİIJĮȚ IJĮ ĮʌȠIJİȜȑıµĮIJĮ. ȆĮȡȐįİȚȖµĮ:

procedure synolikes_kratiseis (var krariseis,foros:real; akatharista:real); ȅȚ ʌĮȡȐµİIJȡȠȚ kratiseis, foros İȓȞĮȚ ʌĮȡȐµİIJȡȠȚ µİIJĮȕȜȘIJȒȢ (variable parameter) İȞȫ Ș ʌĮȡȐµİIJȡȠȢ, akatharista İȓȞĮȚ ʌĮȡȐµİIJȡȠȢ ĮȟȓĮȢ (value parameter)


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal - 22 -

9. ȈȊȃǹȇȉǾȈǼǿȈ ȅȇǿǽȅȂǼȃǼȈ ǹȆȅ ȉȅ ȋȇǾȈȉǾ ȊʌȐȡȤȠȣȞ ʌİȡȚʌIJȫıİȚȢ ʌȠȣ µȚĮ İʌİȟİȡȖĮıȓĮ IJȘȞ ȠʌȠȓĮ ʌȡȠıįȚȠȡȓȗİȚ Ƞ ȤȡȒıIJȘȢ İțijȡȐȗİIJĮȚ țĮȜȪIJİȡĮ µİ IJȘ µȠȡijȒ ıȣȞȐȡIJȘıȘȢ (function). ǹȣIJȩ ıȣµȕĮȓȞİȚ ȩIJĮȞ ȚıȤȪȠȣȞ ȠȚ ʌĮȡĮțȐIJȦ ʌȡȠȨʌȠșȑıİȚȢ: x

ȊʌȐȡȤİȚ µȩȞȠ ȑȞĮ ĮʌȠIJȑȜİıµĮ Įʌȩ IJȠȣȢ ȣʌȠȜȠȖȚıµȠȪȢ ʌȠȣ ʌİȡȚȑȤİȚ Ș įȚĮįȚțĮıȓĮ.

x

Ǿ įȚĮįȚțĮıȓĮ įİȞ İʌȚijȑȡİȚ ĮȜȜĮȖȑȢ ıİ µȘ IJȠʌȚțȩ İʌȓʌİįȠ.

ȂȓĮ ıȣȞȐȡIJȘıȘ IJȘȢ Pascal ʌȜȘıȚȐȗİȚ ʌİȡȚııȩIJİȡȠ IJȠ ȖȞȦıIJȩ µĮȢ Įʌȩ IJĮ ȂĮșȘµĮIJȚțȐ ȠȡȚıµȩ ıȣȞȐȡIJȘıȘȢ. Ǿ ıȣȞȐȡIJȘıȘ įȓȞİȚ ȦȢ ĮʌȠIJȑȜİıµĮ µȚĮ IJȚµȒ Ș ȠʌȠȓĮ µʌȠȡİȓ ȞĮ ȑȤİȚ IJȪʌȠ ȠʌȠȚȠįȒʌȠIJİ Įʌȩ IJȠȣȢ İʌȚIJȡİʌIJȠȪȢ IJȪʌȠȣȢ IJȘȢ Pascal. īȚĮ ȞĮ µȘȞ ʌĮȡĮȕȠȪµİ IJȚȢ ʌȡȠȘȖȠȪµİȞİȢ ʌȡȠȨʌȠșȑıİȚȢ, ʌȡȑʌİȚ ȠȚ IJȣʌȚțȑȢ ʌĮȡȐµİIJȡȠȚ ȞĮ İȓȞĮȚ ʌĮȡȐµİIJȡȠȚ ĮȟȓĮȢ. ȂȓĮ ıȣȞȐȡIJȘıȘ ȑȤİȚ IJȘȞ ȓįȚĮ µȠȡijȒ µİ µȚĮ įȚĮįȚțĮıȓĮ µİ IJȘ įȚĮijȠȡȐ ȩIJȚ ĮȞIJȓ IJȘȢ ȜȑȟȘȢ procedure ıIJȘȞ ʌȡȫIJȘ ȖȡĮµµȒ ȑȤȠȣµİ IJȘ ȜȑȟȘ function. Ǿ ʌȡȫIJȘ ȖȡĮµµȒ µȚĮȢ ıȣȞȐȡIJȘıȘȢ țĮșȠȡȓȗİȚ IJȠ ȩȞȠµĮ IJȘȢ ıȣȞȐȡIJȘıȘȢ țĮȚ ȠȡȓȗİȚ IJȚȢ µİIJĮȕȜȘIJȑȢ ʌȠȣ ȠȞȠµȐȗȠȞIJĮȚ IJȣʌȚțȑȢ ʌĮȡȐµİIJȡȠȚ țĮȚ ȤȡȘıȚµȠʌȠȚȠȪȞIJĮȚ ȖȚĮ IJȘȞ İȚıĮȖȦȖȒ IJȦȞ įİįȠµȑȞȦȞ ıIJȘ ıȣȞȐȡIJȘıȘ, ȠʌȩIJİ ȠȚ ʌȡĮȖµĮIJȚțȑȢ ʌĮȡȐµİIJȡȠȚ ĮȞIJȚțĮșȚıIJȠȪȞ IJȚȢ IJȣʌȚțȑȢ ʌĮȡĮµȑIJȡȠȣȢ. ǹțȩµȘ Ș ıȣȞȐȡIJȘıȘ įȓȞİȚ ʌȐȞIJȠIJİ ȑȞĮ ĮʌȠIJȑȜİıµĮ ʌȠȣ Ș įȚİȪșȣȞıȒ IJȠȣ ȠȡȓȗİIJĮȚ Įʌȩ IJȠ ȩȞȠµĮ IJȘȢ ıȣȞȐȡIJȘıȘȢ. īȚ' ĮȣIJȩ IJȠ ȜȩȖȠ İțIJȩȢ Įʌȩ IJȠ ȩȞȠµĮ țĮȚ IJȚȢ ʌĮȡĮµȑIJȡȠȣȢ ıIJȘȞ ʌȡȫIJȘ ȖȡĮµµȒ įȓȞİIJĮȚ țĮȚ Ƞ IJȪʌȠȢ IJȘȢ ıȣȞȐȡIJȘıȘȢ ʌ.Ȥ. integer, real, țȜʌ. īȚĮ ȞĮ µʌȠȡİȓ µȚĮ ıȣȞȐȡIJȘıȘ ȞĮ ȤȡȘıȚµȠʌȠȚȘșİȓ, ʌȡȑʌİȚ ȞĮ ȑȤİȚ įȘȜȦșİȓ ıIJȠ IJµȒµĮ įȘȜȫıİȦȞ IJȠȣ ʌȡȠȖȡȐµµĮIJȠȢ. Ǿ ıİȚȡȐ IJȦȞ ıȣȞĮȡIJȒıİȦȞ İȓȞĮȚ ȤȦȡȓȢ ıȘµĮıȓĮ. ȈȣȞȒșȦȢ ȖȡȐijȠȞIJĮȚ ĮȜijĮȕȘIJȚțȐ ȖȚĮ İȪțȠȜȘ ĮȞİȪȡİıȘ. ǼȐȞ ȩµȦȢ µȓĮ ıȣȞȐȡIJȘıȘ țĮȜİȓ µȓĮ ȐȜȜȘ IJȩIJİ Ȓ țĮȜȠȪµİȞȘ ʌȡȑʌİȚ ȞĮ ʌȡȠȘȖİȓIJĮȚ. ȀȐșİ ıȣȞȐȡIJȘıȘ țĮȜİȓIJĮȚ µİ IJȠ ȩȞȠµȐ IJȘȢ țĮȚ, ĮȞ ȣʌȐȡȤȠȣȞ ʌĮȡȐµİIJȡȠȚ, ȠȚ ʌȡĮȖµĮIJȚțȑȢ ʌĮȡȐµİIJȡȠȚ ĮȞIJȚțĮșȚıIJȠȪȞ IJȚȢ IJȣʌȚțȑȢ ʌĮȡĮµȑIJȡȠȣȢ. ȈIJȘȞ ʌİȡȓʌIJȦıȘ ĮȣIJȒ ȑȤİȚ ıȘµĮıȓĮ Ș ıİȚȡȐ IJȦȞ ʌĮȡĮµȑIJȡȦȞ. ȀȐșİ ʌȡĮȖµĮIJȚțȒ ʌĮȡȐµİIJȡȠȢ ĮȞIJȚıIJȠȚȤİȓ ıIJȘȞ IJȣʌȚțȒ ʌĮȡȐµİIJȡȠ ʌȠȣ ȑȤİȚ IJȘȞ ȓįȚĮ ıİȚȡȐ. ȅȚ ıȣȞĮȡIJȒıİȚȢ țĮȚ ȠȚ įȚĮįȚțĮıȓİȢ ȠȞȠµȐȗȠȞIJĮȚ țĮȚ ȣʌȠʌȡȠȖȡȐµµĮIJĮ. ȀȐșİ ȣʌȠʌȡȩȖȡĮµµĮ µʌȠȡİȓ ȞĮ țĮȜİȓ ȑȞĮ ȠʌȠȚȠįȒʌȠIJİ ȐȜȜȠ ȣʌȠʌȡȩȖȡĮµµĮ Ȓ ĮțȩµȘ țĮȚ IJȠȞ ȓįȚȠ IJȠȞ İĮȣIJȩȞ IJȠȣ. ȈIJȘȞ IJİȜİȣIJĮȓĮ ʌİȡȓʌIJȦıȘ ȑȤȠȣµİ ĮȞĮįȡȠµȚțȒ ıȣȞȐȡIJȘıȘ Ȓ ĮȞĮįȡȠµȚțȒ įȚĮįȚțĮıȓĮ.

10. ȉȊȆȅǿ ǻǼǻȅȂǼȃȍȃ ȅȇǿǽȅȂǼȃȅǿ ǹȆȅ ȉȅ ȋȇǾȈȉǾ ȊʌȐȡȤȠȣȞ įȚȐijȠȡȠȚ IJȪʌȠȚ įİįȠµȑȞȦȞ. ǵʌȦȢ ĮȞĮijȑȡĮµİ, µİ IJȘ ȜȑȟȘ IJȪʌȠȢ ȤĮȡĮțIJȘȡȓȗȠȣµİ IJȠ ıȪȞȠȜȠ IJȦȞ IJȚµȫȞ İȞȩȢ įİįȠµȑȞȠȣ țĮȚ IJȠ ıȪȞȠȜȠ IJȦȞ ȚįȚȠIJȒIJȦȞ IJȦȞ IJȚµȫȞ ĮȣIJȫȞ. ȅȚ ıȪȞșİIJȠȚ IJȪʌȠȚ įİįȠµȑȞȦȞ ĮʌȠIJİȜȠȪȞIJĮȚ Įʌȩ ĮʌȜȠȪȢ IJȪʌȠȣȢ țĮȚ șĮ ĮȞĮʌIJȣȤșȠȪȞ ȜİʌIJȠµİȡȫȢ ıİ ĮȞIJȓıIJȠȚȤİȢ ʌĮȡĮȖȡȐijȠȣȢ. ȈȪȞșİIJȠȚ IJȪʌȠȚ įİįȠµȑȞȦȞ İȓȞĮȚ ȠȚ: x

ǹȜijĮȡȚșµȘIJȚțȩȢ (string)

x

ǺĮșµȦIJȩȢ IJȪʌȠȢ

x

ȉȪʌȠȢ ȣʌȠįȚȐıIJȘµĮ

x

ȆȓȞĮțĮȢ

x

ǼȖȖȡĮijȒ

x

ȈȪȞȠȜȠ

x

ǹȡȤİȓȠ

ȅȚ ıȪȞșİIJȠȚ IJȪʌȠȚ ȠȞȠµȐȗȠȞIJĮȚ İʌȓıȘȢ įȠµȑȢ įİįȠµȑȞȦȞ țĮȚ įȚĮțȡȓȞȠȞIJĮȚ ıİ ıIJĮIJȚțȑȢ țĮȚ įȣȞĮµȚțȑȢ įȠµȑȢ. ȈIJȚȢ ıIJĮIJȚțȑȢ įȠµȑȢ IJȠ ʌȜȒșȠȢ ıIJȠȚȤİȓȦȞ İȓȞĮȚ ıIJĮșİȡȩ țĮȚ țĮșȠȡȓȗİIJĮȚ µİ IJȠȞ ȠȡȚıµȩ IJȠȣ IJȪʌȠȣ ıIJȠ IJµȒµĮ įȘȜȫıİȦȞ. ȈIJȚȢ įȣȞĮµȚțȑȢ įȠµȑȢ IJȠ ʌȜȒșȠȢ IJȦȞ ıIJȠȚȤİȓȦȞ IJȘȢ įȠµȒȢ țĮșȠȡȓȗİIJĮȚ țĮIJȐ IJȘ įȚȐȡțİȚĮ IJȘȢ İțIJȑȜİıȘȢ IJȠȣ ʌȡȠȖȡȐµµĮIJȠȢ țĮȚ ʌȚșĮȞȩȞ ȞĮ ĮȣȟȠµİȚȫȞİIJĮȚ. DzȞĮ Įʌȩ IJĮ ıʌȠȣįĮȚȩIJİȡĮ ʌȜİȠȞİțIJȒµĮIJĮ IJȘȢ Pascal ıİ ıȤȑıȘ µİ ȐȜȜİȢ ȖȜȫııİȢ ʌȡȠȖȡĮµµĮIJȚıµȠȪ İȓȞĮȚ Ș įȣȞĮIJȩIJȘIJĮ ȠȡȚıµȠȪ ȞȑȦȞ IJȪʌȦȞ įİįȠµȑȞȦȞ Įʌȩ IJȠȞ ȓįȚȠ IJȠȞ ʌȡȠȖȡĮµµĮIJȚıIJȒ. Ȃİ IJȠȞ ʌȡȠıįȚȠȡȚıµȩ įȠµȫȞ įİįȠµȑȞȦȞ ıȪµijȦȞĮ µİ IJȚȢ ĮȞȐȖțİȢ IJȠȣ ʌȡȠȕȜȒµĮIJȠȢ, IJȠ ʌȡȩȖȡĮµµĮ ȖȓȞİIJĮȚ İȣțȠȜȩIJİȡȠ ıIJȘȞ țĮIJĮȞȩȘıȘ țĮȚ IJȘ ıȣȞIJȒȡȘıȘ. ȅȚ IJȪʌȠȚ IJȦȞ įİįȠµȑȞȦȞ ʌȠȣ ȠȡȓȗȠȞIJĮȚ Įʌȩ IJȠȞ ʌȡȠȖȡĮµµĮIJȚıIJȒ ĮȞȒțȠȣȞ ıİ µȓĮ Įʌȩ IJȚȢ ʌĮȡĮțȐIJȦ țĮIJȘȖȠȡȓİȢ: x

ǺĮșµȦIJȠȓ IJȪʌȠȚ (scalar types)


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal - 23 -

x

ǼȖȖȡĮijȑȢ (record)

x

ȆȓȞĮțİȢ (array)

ȅȚ ȠȡȚıµȠȓ IJȪʌȦȞ ݵijĮȞȓȗȠȞIJĮȚ µİIJĮȟȪ ıIJĮșİȡȫȞ (constants) țĮȚ µİIJĮȕȜȘIJȫȞ (variables). Ǿ įȒȜȦıȘ IJȪʌȠȣ İȓȞĮȚ Ƞ ȠȡȚıµȩȢ İȞȩȢ ȞȑȠȣ IJȪʌȠȣ įİįȠµȑȞȦȞ ʌȠȣ ȖȓȞİIJĮȚ µİ IJȘ ȜȑȟȘ type, µİ IJȠ ȩȞȠµĮ IJȠȣ IJȪʌȠȣ ĮȡȚıIJİȡȐ Įʌȩ IJȠ = țĮȚ IJȠȞ ȠȡȚıµȩ IJȠȣ įİȟȚȐ. Ǿ ıİȚȡȐ IJȦȞ ĮȞĮijȠȡȫȞ ĮȣIJȫȞ µȑıĮ ıIJȠ IJµȒµĮ įȘȜȫıİȦȞ İȓȞĮȚ: constants types variables procedures functions ȆĮȡȐįİȚȖµĮ: ȠȚ ʌĮȡĮțȐIJȦ įȘȜȫıİȚȢ:

ȚıȠįȣȞĮµȠȪȞ µİ:

type vathmoi=real; diagogi =char;

var v:real; d:char

var v:vathmoi; d:diagogi; 10.1. ǺĮșµȦIJȠȓ ȉȪʌȠȚ DzȞĮȢ ȕĮșµȦIJȩȢ (enumerated Ȓ scalar) IJȪʌȠȢ, ʌȡȠıįȚȠȡȓȗİȚ ȑȞĮ įȚĮIJİIJĮȖµȑȞȠ ıȪȞȠȜȠ IJȚµȫȞ µİ ʌĮȡȐșİıȘ IJȦȞ ȠȞȠµȐIJȦȞ ʌȠȣ įȘȜȫȞȠȣȞ ĮȣIJȑȢ IJȚȢ IJȚµȑȢ. DzȞĮȢ ȕĮșµȦIJȩȢ IJȪʌȠȢ µʌȠȡİȓ ȞĮ ʌİȡȚȜĮµȕȐȞİȚ IJȠ ʌȠȜȪ 256 ıIJȠȚȤİȓĮ µİ ıİȚȡȐ Įʌȩ 0 ȑȦȢ 255. ȅ IJȪʌȠȢ ĮȣIJȩȢ İʌȚIJȡȑʌİȚ ȞĮ įȓȞȠȣµİ ȠȞȩµĮIJĮ ıİ IJȚµȑȢ țȐȞȠȞIJĮȢ ȑIJıȚ IJȠ ʌȡȩȖȡĮµµĮ țĮIJĮȞȠȘIJȩ țĮȚ įȚİȣțȠȜȪȞȠȞIJĮȢ IJȠȞ ȑȜİȖȤȠ țĮȚ IJȘȞ ĮȞȓȤȞİȣıȘ IJȦȞ ȜĮșȫȞ. Ǿ µȠȡijȒ IJȠȣ ȠȡȚıµȠȪ ĮȣIJȠȪ İȓȞĮȚ: type <ȩȞȠµĮ_IJȪʌȠȣ> = (<IJȚµȒ> [,<IJȚµȒ>]) ȆĮȡĮįİȓȖµĮIJĮ:

type color_type =( white, blue, red, green, yellow,); auto_type =(renault, austin, fiat, nissan); animal_type=(bear, cat, dog, rat, horse); var xroma : color_type; auto : auto_type; animal: animal_type; ȈIJȘȞ Turbo Pascal ȑȞĮȢ ȕĮșµȦIJȩȢ IJȪʌȠȢ µʌȠȡİȓ ȞĮ ȠȡȚıIJİȓ Įʌ' İȣșİȓĮȢ ıIJȠ IJµȒµĮ įȒȜȦıȘȢ IJȦȞ µİIJĮȕȜȘIJȫȞ. ȈIJȘȞ ʌİȡȓʌIJȦıȘ ĮȣIJȒ IJĮ ʌȡȠȘȖȠȪµİȞĮ ʌĮȡĮįİȓȖµĮIJĮ șĮ IJȡȠʌȠʌȠȚȘșȠȪȞ ȦȢ İȟȒȢ:

var xrȠma : ( white, blue, red, green, yellow); auto : (renault,austin,fiat,nissan); animal: (bear, cat, dog, rat, horse); ȀȐșİ ıIJȠȚȤİȓȠ İȞȩȢ ȕĮșµȦIJȠȪ IJȪʌȠȣ ĮȞIJȚıIJȠȚȤİȓ ıİ µȓĮ µȩȞȠ IJȚµȒ ĮȞȐȜȠȖĮ µİ IJȘ șȑıȘ IJȠȣ ıIJȠ įȚĮIJİIJĮȖµȑȞȠ ıȪȞȠȜȠ IJȚµȫȞ IJȠȣ IJȪʌȠȣ. ȈIJȠ ıȪȞȠȜȠ ĮȣIJȩ IJȠ ʌȡȫIJȠ ıIJȠȚȤİȓȠ ȑȤİȚ IJȘȞ IJȚµȒ 0, IJȠ įİȪIJİȡȠ 1, țȜʌ. dzįȘ ȖȞȦȡȓȗȠȣµİ IJȠ ȜȠȖȚțȩ IJȪʌȠ (type boolean = (false,true)), Ƞ ȠʌȠȓȠȢ İȓȞĮȚ țĮȚ ĮȣIJȩȢ ȕĮșµȦIJȩȢ IJȪʌȠȢ țĮȚ Ș įȚȐIJĮȟȒ IJȠȣ İȓȞĮȚ true > false. ȅȚ IJİȜİıIJȑȢ ıȣıȤȑIJȚıȘȢ (relational operators) =, < >, <, <=, >=, țĮȚ >, İijĮȡµȩȗȠȞIJĮȚ ıİ ȩȜȠȣȢ IJȠȣȢ ȕĮșµȦIJȠȪȢ IJȪʌȠȣȢ Įȡțİȓ ȠȚ įȪȠ ıȣȖțȡȚȞȩµİȞİȢ µİIJĮȕȜȘIJȑȢ ȞĮ İȓȞĮȚ IJȠȣ ȓįȚȠȣ ȕĮșµȦIJȠȪ IJȪʌȠȣ. Ǿ ıİȚȡȐ ʌȠȣ ݵijĮȞȓȗȠȞIJĮȚ ıIJȘ įȒȜȦıȘ ȠȡȚıµȠȪ IJȠȣȢ ʌȡȠıįȚȠȡȓȗİȚ IJȘ įȚȐIJĮȟȒ IJȠȣȢ.


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal - 24 -

ȋȦȡȓȢ IJȠȣȢ ȕĮșµȦIJȠȪȢ IJȪʌȠȣȢ ʌȠȣ ʌȡȠıįȚȠȡȓȗȠȞIJĮȚ Įʌȩ IJȠ ȤȡȒıIJȘ, Ƞ ʌȡȠȖȡĮµµĮIJȚıIJȒȢ ʌȡȑʌİȚ ȞĮ ȤȡȘıȚµȠʌȠȚȒıİȚ ȑȞĮ ıȪıIJȘµĮ țȦįȚțȠʌȠȓȘıȘȢ ȖȚĮ IJȘȞ ʌĮȡȐıIJĮıȘ IJȦȞ IJȚµȫȞ ĮȣIJȫȞ. ȈIJȠ ʌȡȠȘȖȠȪµİȞȠ ʌĮȡȐįİȚȖµĮ ȖȚĮ IJĮ ȤȡȫµĮIJĮ șĮ ȑʌȡİʌİ ȞĮ ȤȡȘıȚµȠʌȠȚȒıİȚ IJȠȣȢ țȦįȚțȠȪȢ 0=white, 1=blue, 2=red, 3=green. ǵIJĮȞ Ƞ ĮȡȚșµȩȢ IJȑIJȠȚȦȞ µİIJĮȕȜȘIJȫȞ İȓȞĮȚ µİȖȐȜȠȢ, İȓȞĮȚ įȪıțȠȜȠ ȞĮ ʌĮȡĮțȠȜȠȣșȒıȠȣµİ IJȘ ȜȠȖȚțȒ IJȠȣ ʌȡȠȖȡȐµµĮIJȠȢ țĮȚ IJȘ ıȘµĮıȓĮ IJȑIJȠȚȦȞ IJȚµȫȞ. Ǽțİȓ ĮțȡȚȕȫȢ ijĮȓȞİIJĮȚ Ș ȤȡȘıȚµȩIJȘIJĮ ĮȣIJȫȞ IJȦȞ IJȪʌȦȞ ʌȠȣ ʌȡȠıįȚȠȡȓȗȠȞIJĮȚ Įʌȩ IJȠȞ ȓįȚȠ IJȠ ȤȡȒıIJȘ.

10.2. ȉȪʌȠȢ ȊʌȠįȚȐıIJȘµĮ DzȞĮȢ IJȪʌȠȢ ȣʌȠįȚȐıIJȘµĮ (subrange) ʌȡȠıįȚȠȡȓȗİIJĮȚ ȦȢ ȣʌȠıȪȞȠȜȠ ĮȞIJȓıIJȠȚȤȠȣ ȕĮșµȦIJȠȪ IJȪʌȠȣ ʌȠȣ İȓȞĮȚ ȒįȘ oȡȚıµȑȞȠȢ. ȅȚ ȚįȚȩIJȘIJİȢ IJȦȞ µİIJĮȕȜȘIJȫȞ IJȠȣ ȕĮșµȦIJȠȪ IJȪʌȠȣ, İȓȞĮȚ ȠȚ ȓįȚİȢ țĮȚ ȖȚĮ IJȠȞ ĮȞIJȓıIJȠȚȤȠ IJȪʌȠ ȣʌȠįȚȐıIJȘµĮ. Ȉİ ȑȞĮ IJȑIJȠȚȠ ȠȡȚıµȩ ĮʌȜȐ ijĮȓȞİIJĮȚ Ș µȚțȡȩIJİȡȘ țĮȚ Ș µİȖĮȜȪIJİȡȘ IJȚµȒ IJȠȣ ȣʌȠįȚĮıIJȒµĮIJȠȢ. Ǿ µȠȡijȒ IJȠȣ ȠȡȚıµȠȪ ĮȣIJȠȪ İȓȞĮȚ: type <ȩȞȠµĮ_IJȪʌȠȣ> = (<ıIJĮșİȡȐ> .. <ıIJĮșİȡȐ> ȆĮȡĮįİȓȖµĮIJĮ: Į.

type a=1..10 ; b=0..30; c=20..30; ȊʌȠįȚĮıIJȒµĮIJĮ IJȠȣ ȕĮșµȦIJȠȪ IJȪʌȠȣ ĮțȑȡĮȚȠȢ (integer).

type days=(mon,tues,wed,thur,fri,sat,sun); work_days = mon..fri; ȊʌȠįȚȐıIJȘµĮ IJȠȣ ȕĮșµȦIJȠȪ days. ȕ.

type index=1..63; ȊʌȠįȚȐıIJȘµĮ IJȠȣ ȕĮșµȦIJȠȪ IJȪʌȠȣ ĮțȑȡĮȚȠȢ

type letter = 'a'..'z'; ȊʌȠįȚȐıIJȘµĮ IJȠȣ ȕĮșµȦIJȠȪ IJȪʌȠȣ ȤĮȡĮțIJȒȡĮȢ.

10.3. ȉȪʌȠȢ ȈȪȞȠȜȠ ȅȚ IJȪʌȠȚ ıȣȞȩȜȦȞ (sets) ĮʌȠIJİȜȠȪȞIJĮȚ Įʌȩ ȠµȐįİȢ ıȤİIJȚȗȠµȑȞȦȞ ĮȡȚșµȫȞ Ȓ ȤĮȡĮțIJȒȡȦȞ. ȉȚȢ ʌİȡȚııȩIJİȡİȢ ijȠȡȑȢ ȤȡȘıȚµȠʌȠȚȠȪȞIJĮȚ ȖȚĮ ȞĮ ʌȡȠıįȚȠȡȓıȠȣµİ ĮȞ țȐʌȠȚȠȢ ĮȡȚșµȩȢ Ȓ ȤĮȡĮțIJȒȡĮȢ ĮȞȒțİȚ ıIJȠ ıȪȞȠȜȠ ǹȡȚșµȘIJȚțȐ ıȪȞȠȜĮ ȆİȡȚȜĮµȕȐȞȠȣȞ µȩȞȠ ĮțȑȡĮȚȠȣȢ IJȪʌȠȣ byte. ȂʌȠȡİȓ ȞĮ ʌİȡȚȜĮµȕȐȞȠȣȞ ȠʌȠȚȠįȒʌȠIJİ ĮțȑȡĮȚȠ Įʌȩ 0 ȑȦȢ 255 µİ ʌȜȒșȠȢ ıIJȠȚȤİȓȦȞ IJȠ ʌȠȜȪ 256. ȀĮIJȐ IJȠȞ ʌȡȠıįȚȠȡȚıµȩ IJȠȣ ıȣȞȩȜȠȣ įȓįİIJĮȚ țĮȚ IJȠ ʌİįȓȠ ȠȡȚıµȠȪ IJȠȣ. Ǿ µȠȡijȒ IJȠȣ ȠȡȚıµȠȪ ĮȣIJȠȪ İȓȞĮȚ: <ȩȞȠµĮ_ıȣȞȩȜȠȣ > = set of <ʌİįȓȠ ȠȡȚıµȠȪ> ȆĮȡĮįİȓȖµĮIJĮ: Į. monades

= set of 0..9

{µȠȞȠȥȒijȚȠȚ ĮȡȚșµȠȓ}

ȕ. dekades

= set of 10..99 {įȚȥȒijȚȠȚ ĮȡȚșµȠȓ}

Ȗ. arithmoi = set of byte ȈIJȠ IJȡȓIJȠ ʌĮȡȐįİȚȖµĮ įİȞ ȠȡȓȗİIJĮȚ ʌİįȓȠ ȠȡȚıµȠȪ, ĮȜȜȐ Ƞ ȠȡȚıµȩȢ ʌȡȠıįȚȠȡȓȗİȚ ȩIJȚ IJȠ ıȪȞȠȜȠ ĮʌȠIJİȜİȓIJĮȚ Įʌȩ bytes. ǹȡȖȩIJİȡĮ, ıIJȠ ʌȡȩȖȡĮµµĮ µʌȠȡȠȪµİ ȞĮ ȠȡȓıȠȣµİ IJȠ ıȪȞȠȜȠ arithmoi ȞĮ İȓȞĮȚ ȠʌȠȚȠįȒʌȠIJİ ĮȡȚșµȘIJȚțȩ ȣʌȠıȪȞȠȜȠ µİ µȚĮ İȞIJȠȜȒ IJȘȢ µȠȡijȒȢ: arithmoi:=[10..99]. ȉȫȡĮ IJȠ ıȪȞȠȜȠ arithmoi ʌİȡȚȜĮµȕȐȞİȚ IJĮ ȓįȚĮ ıIJȠȚȤİȓĮ µİ IJȠ ıȪȞȠȜȠ dekades. ȈȪȞȠȜĮ ȤĮȡĮțIJȒȡȦȞ ȉĮ ıȪȞȠȜĮ ȤĮȡĮțIJȒȡȦȞ ʌİȡȚȜĮµȕȐȞȠȣȞ µȩȞȠ ȤĮȡĮțIJȒȡİȢ ʌȠȣ ȩʌȦȢ țĮȚ ıIJĮ ĮȡȚșµȘIJȚțȐ ıȪȞȠȜĮ, µʌȠȡİȓ ȞĮ İȓȞĮȚ IJȠ ʌȠȜȪ 256, µİ ıİȚȡȐ Įʌȩ 0 ȑȦȢ 255. Ǿ ȕĮıȚțȒ įȚĮijȠȡȐ µİIJĮȟȪ ĮȡȚșµȘIJȚțȫȞ ıȣȞȩȜȦȞ țĮȚ ıȣȞȩȜȦȞ


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal - 25 -

ȤĮȡĮțIJȒȡȦȞ İȓȞĮȚ ȩIJȚ µİ IJĮ ıȪȞȠȜĮ ȤĮȡĮțIJȒȡȦȞ µʌȠȡİȓ ȞĮ ȖȓȞİȚ ȤȡȒıȘ IJȦȞ ıȤİıȚĮțȫȞ IJİȜİıIJȫȞ µİ µİIJĮȕȜȘIJȑȢ Ȓ ıIJĮșİȡȑȢ IJȪʌȠȣ ȤĮȡĮțIJȒȡĮ. ȆĮȡĮįİȓȖµĮIJĮ: Į. upper_case

= set of 'A'..'Z'

ȕ. lower_case

= set of 'a'..'z'

Ȗ. valid_chars = set of 'a'..'e' To ıȪȞȠȜȠ upper_case ʌİȡȚȜĮµȕȐȞİȚ IJĮ țİijĮȜĮȓĮ ȖȡȐµµĮIJĮ IJȠȣ ȜĮIJȚȞȚțȠȪ ĮȜijĮȕȒIJȠȣ. ȉȠ ıȪȞȠȜȠ lower_case ʌİȡȚȜĮµȕȐȞİȚ IJĮ ʌİȗȐ ȖȡȐµµĮIJĮ IJȠȣ ȜĮIJȚȞȚțȠȪ ĮȜijĮȕȒIJȠȣ.ȉȑȜȠȢ IJȠ ıȪȞȠȜȠ valid_chars ʌİȡȚȜĮµȕȐȞİȚ IJȠȣȢ ȤĮȡĮțIJȒȡİȢ a,b,c,d,e. ȈȪȞȠȜĮ ʌȡȠıįȚȠȡȚȗȩµİȞĮ Įʌȩ IJȠ ȤȡȒıIJȘ DzȞĮ ıȪȞȠȜȠ µʌȠȡİȓ ȞĮ ʌİȡȚȜĮµȕȐȞİȚ țĮȚ ıIJȠȚȤİȓĮ IJĮ ȠʌȠȓĮ ʌȡȠıįȚȠȡȓȗİȚ Ƞ ȓįȚȠȢ Ƞ ȤȡȒıIJȘȢ. ǹȣIJȐ IJĮ ıIJȠȚȤİȓĮ įİȞ İȓȞĮȚ ȠȪIJİ ĮȡȚșµȘIJȚțȐ ȠȪIJİ ȤĮȡĮțIJȒȡİȢ țĮȚ ʌȡȑʌİȚ ȞĮ ĮȞĮijȑȡȠȞIJĮȚ ĮȞĮȜȣIJȚțȐ IJȠ ȑȞĮ țĮIJȩʌȚȞ IJȠȣ ȐȜȜȠȣ. ȉȠ ʌȜȒșȠȢ IJȦȞ ıIJȠȚȤİȓȦȞ µʌȠȡİȓ ȞĮ İȓȞĮȚ IJȠ ʌȠȜȪ 256 țĮȚ Ș ıİȚȡȐ IJȠȣȢ µȑıĮ ıIJȠ ıȪȞȠȜȠ Įʌȩ 0 ȑȦȢ 255. ȆĮȡĮįİȓȖµĮIJĮ: Į. epidosi set of (aristi, poli_kali, kali); ȕ. xroma set of (kitrino, kokkino, prasino, mavro); Ȗ. auto set of (renault, austin, fiat, nissan); TĮ ıȪȞȠȜĮ ĮȣIJȐ ĮțȠȜȠȣșȠȪȞ IJȠȣȢ ȓįȚȠȣȢ țĮȞȩȞİȢ µİ IJĮ ȐȜȜĮ ıȪȞȠȜĮ (ĮȡȚșµȘIJȚțȐ țĮȚ ȤĮȡĮțIJȒȡȦȞ). ȆĮȡȐįİȚȖµĮ:

program synolo; type days = (mon,tue,wed,thu,fri,sat,sun); week = set of days; var wk, work, free : week; d : days; ȈIJȠȞ ȆȓȞĮțĮ 5, ijĮȓȞȠȞIJĮȚ ȠȚ ʌȡȐȟİȚȢ ȠȚ ȠʌȠȓİȢ µʌȠȡȠȪȞ ȞĮ ȖȓȞȠȣȞ µİIJĮȟȪ µİIJĮȕȜȘIJȫȞ IJȪʌȠȣ set. ȈȪµȕȠȜȠ IJȘȢ Pascal

ȆȡȐȟİȚȢ DzȞȦıȘ ıȣȞȩȜȦȞ

+

ȉȠµȒ ıȣȞȩȜȦȞ

*

ǻȚĮijȠȡȐ ıȣȞȩȜȦȞ

-

ȆȓȞĮțĮȢ 5: ȆȡȐȟİȚȢ ıȣȞȩȜȦȞ ȅȚ ıȤȑıİȚȢ µİIJĮȟȪ įȪȠ ıȣȞȩȜȦȞ įȓįȠȞIJĮȚ Įʌȩ IJȠȣȢ ıȤİıȚĮțȠȪȢ IJİȜİıIJȑȢ ıȣȞȩȜȦȞ IJȠȣ ʌĮȡĮțȐIJȦ ȆȓȞĮțĮ 6: ȆİȡȚȖȡĮijȒ ıȤȑıȘȢ

ȈȤİıȚĮțȠȓ IJİȜİıIJȑȢ ıIJȘȞ Pascal

ǿıȩIJȘIJĮ ıȣȞȩȜȦȞ

=

ȊʌȠıȪȞȠȜȠ

<=

ȊʌİȡıȪȞȠȜȠ

>=

ǻȚȐijȠȡȠ

<>

ǹȞȒțİȚ

ȆȓȞĮțĮȢ 6: ȈȤȑıİȚȢ µİIJĮȟȪ ıȣȞȩȜȦȞ

10.4. ȉȪʌȠȢ ǼȖȖȡĮijȒȢ ȅ IJȪʌȠȢ İȖȖȡĮijȒȢ (record ) İȓȞĮȚ ȑȞĮȢ įȠµȘµȑȞȠȢ IJȪʌȠȢ ʌȠȣ ȠȡȓȗİIJĮȚ Įʌȩ IJȠ ȤȡȒıIJȘ. ȂȚĮ İȖȖȡĮijȒ ʌİȡȚȜĮµȕȐȞİȚ įȚȐijȠȡĮ ıIJȠȚȤİȓĮ, IJĮ ȠʌȠȓĮ µʌȠȡİȓ ȞĮ İȓȞĮȚ įȚĮijȠȡİIJȚțȠȪ IJȪʌȠȣ Ȓ ĮțȩµȘ țĮȚ IJȪʌȠȣ record. Ǿ įȒȜȦıȘ IJȠȣ record ʌİȡȚȜĮµȕȐȞİȚ IJȠ ȩȞȠµȐ IJȠȣ țĮȚ IJȘ įȠµȒ IJȠȣ. Ǿ įȠµȒ IJȠȣ record ʌİȡȚȜĮµȕȐȞİȚ IJĮ ȠȞȩµĮIJĮ țĮȚ IJȠȣȢ IJȪʌȠȣȢ IJȦȞ ʌİįȓȦȞ Įʌȩ IJĮ ȠʌȠȓĮ ĮʌȠIJİȜİȓIJĮȚ. Ǿ įȒȜȦıȘ ȖȓȞİIJĮȚ ıIJȘȞ ʌİȡȚȠȤȒ įȘȜȫıİȦȞ ȞȑȦȞ IJȪ-


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal - 26 -

ʌȦȞ țĮȚ ĮȡȤȓȗİȚ µİ IJȠ ȩȞȠµĮ IJȠȣ record ĮțȠȜȠȣșȠȪµİȞȠ Įʌȩ IJȠ ıȪµȕȠȜȠ = țĮȚ IJȘ ȜȑȟȘ record. ȈIJȘ ıȣȞȑȤİȚĮ ĮȞĮȜȪİIJĮȚ Ș įȠµȒ IJȠȣ țĮȚ Ƞ ȠȡȚıµȩȢ IJİȡµĮIJȓȗİIJĮȚ µİ IJȘ ȜȑȟȘ end ĮțȠȜȠȣșȠȪµİȞȘ Įʌȩ IJȠ İȡȦIJȘµĮIJȚțȩ (;). ȆĮȡĮįİȓȖµĮIJĮ: ȅȡȚıµȩȢ İȖȖȡĮijȒȢ µİ ĮʌȜȐ ʌİįȓĮ:

type student = record kodikos : eponymo : onoma : mathimatika: fysiki : ximeia : ekthesi : end; var mathitis : student;

integer; string[20]; string[15]; integer; integer; integer; integer;

ȅȡȚıµȩȢ İȖȖȡĮijȒȢ µİ ʌİįȓȠ µȚĮ ȐȜȜȘ İȖȖȡĮijȒ:

type mathimata = record mathimatika: fysiki : ximeia : ekthesi : end; student = record kodikos: eponymo: onoma : bathmoi: end;

integer; integer; integer; integer;

integer; string[20]; string[15]; mathimata;

var mathitis : student; H ĮȞĮijȠȡȐ ıİ ʌİįȓȠ IJȘȢ İȖȖȡĮijȒȢ ȖȓȞİIJĮȚ µİ IJȠ ȩȞȠµĮ IJȘȢ µİIJĮȕȜȘIJȒȢ IJȪʌȠȣ record ʌȠȣ ĮțȠȜȠȣșİȓIJĮȚ Įʌȩ µȓĮ IJİȜİȓĮ țĮȚ IJȠ ȩȞȠµĮ IJȠȣ ʌİįȓȠȣ (ʌ.Ȥ. mathitis.kodikos, mathitis.bathmoi.mathimatika). īȚĮ ȞĮ µʌȠȡİȓ Ƞ ʌȡȠȖȡĮµµĮIJȚıIJȒȢ ȞĮ ȤȡȘıȚµȠʌȠȚİȓ IJȠ ʌİįȓȠ IJȠȣ record ȤȦȡȓȢ ȞĮ ĮȞĮijȑȡİȚ IJȠ ȩȞȠµĮ IJȘȢ µİIJĮȕȜȘIJȒȢ IJȘȢ ıȣȖțİțȡȚµȑȞȘȢ İȖȖȡĮijȒȢ, ȤȡȘıȚµȠʌȠȚİȓIJĮȚ Ș İȞIJȠȜȒ with ʌȠȣ ȑȤİȚ µȠȡijȒ:

with <ȩȞȠµĮ µİIJĮȕȜȘIJȒȢ IJȪʌȠȣ record> do İȞIJȠȜȒ; ȆĮȡĮįİȓȖµĮIJĮ: ȤȦȡȓȢ IJȘ ȤȡȒıȘ IJȠȣ with:

mo:=(mathitis.mathimatika+mathitis.fysiki+mathitis.ximeia+mathitis.ekthesi)/4; µİ IJȘ ȤȡȒıȘ IJȠȣ with:

with mathitis do mo:=(mathimatika+fysiki+ximeia+ekthesi)/4; ȋȦȡȓȢ IJȘ ȤȡȒıȘ IJȠȣ with:

mo:=(mathitis.bathmoi.mathimatika+mathitis.bathmoi.fysiki +mathitis.bathmoi.ximeia+mathitis.bathmoi.ekthesi)/4;


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal - 27 -

Ȃİ IJȘ ȤȡȒıȘ IJȠȣ with

with mathitis do mo:=(bathmoi.mathimatika+bathmoi.fysiki+bathmoi.ximeia+bathmoi.ekthesi)/4; with mathitis.bathmoi do mo:=(mathimatika+fysiki+ximeia+ekthesi)/4; Ȃİ IJȠȞ ȠȡȚıµȩ µȚĮȢ İȖȖȡĮijȒȢ (record) ȠȡȓȗİIJĮȚ ȑȞĮ ȞȑȠȢ IJȪʌȠȢ įİįȠµȑȞȠȣ. ȅ IJȪʌȠȢ ĮȣIJȩȢ µʌȠȡİȓ ȞĮ ȤȡȘıȚµȠʌȠȚȘșİȓ ȖȚĮ IJȠȞ ȠȡȚıµȩ İȞȩȢ ʌȓȞĮțĮ Ƞ ȠʌȠȓȠȢ șĮ ʌİȡȚȑȤİȚ ȦȢ ıIJȠȚȤİȓĮ IJȪʌȠȣ İȖȖȡĮijȒȢ. ȆĮȡȐįİȚȖµĮ: īȚĮ ȞĮ ȠȡȓıȠȣµİ ȑȞĮ ʌȓȞĮțĮ 100 șȑıİȦȞ Ƞ ȠʌȠȓȠȢ șĮ ʌİȡȚȑȤİȚ IJĮ ʌĮȡĮțȐIJȦ ıIJȠȚȤİȓĮ µĮșȘIJȫȞ: țȦįȚțȩ, İʌȫȞȣµȠ, ȩȞȠµĮ țĮȚ IJȘȜȑijȦȞȠ. ĬĮ ʌȡȑʌİȚ ȞĮ įȘȜȦșȠȪȞ IJĮ ʌĮȡĮțȐIJȦ:

type student = record am : integer; eponymo : string[30]; onoma : string[20]; telefone : string[7]; end; var mathites :array [1..100] of student; īȚĮ ȞĮ ȖȓȞİȚ ݵijȐȞȚıȘ ıIJȘȞ ȠșȩȞȘ IJȠȣ 10Ƞȣ İʌȦȞȪµȠȣ șĮ ʌȡȑʌİȚ ȞĮ ȖȡĮijİȓ Ȓ İȟȒȢ İȞIJȠȜȒ:

Writeln(mahtites[10].eponymo)

11. ǹȇȋǼǿǹ Ǿ standard Pascal ȑȤİȚ ıȠȕĮȡȑȢ İȜȜİȓȥİȚȢ ıIJȠ ȤİȚȡȚıµȩ IJȦȞ ĮȡȤİȓȦȞ. Ǿ Turbo Pascal ĮȞIJȓșİIJĮ ʌȡȠıijȑȡİȚ ʌȠȜȜȑȢ įȣȞĮIJȩIJȘIJİȢ ıIJȠ ȤİȚȡȚıµȩ ĮȡȤİȓȦȞ. Ǿ Turbo Pascal ȤȡȘıȚµȠʌȠȚİȓ IJȚȢ İȞIJȠȜȑȢ write țĮȚ read ıİ ĮȞIJȓșİıȘ µİ IJȘ standard Pascal ʌȠȣ ȤȡȘıȚµȠʌȠȚİȓ IJȚȢ İȞIJȠȜȑȢ put țĮȚ get ȖȚĮ İȖȖȡĮijȒ țĮȚ ĮȞȐȖȞȦıȘ ĮȡȤİȓȦȞ ĮȞIJȓıIJȠȚȤĮ. īİȞȚțȐ įȚĮțȡȓȞȠȞIJĮȚ įȪȠ İȓįȘ ĮȡȤİȓȦȞ, IJĮ ĮȡȤİȓĮ țİȚµȑȞȠȣ țĮȚ IJĮ ĮȡȤİȓĮ µİ IJȪʌȠ IJĮ ȠʌȠȓĮ ĮȞĮȜȪȠȞIJĮȚ ʌĮȡĮțȐIJȦ.

11.1. ǹȡȤİȓĮ ȀİȚµȑȞȠȣ ȉĮ ĮȡȤİȓĮ țİȚµȑȞȠȣ (Text files) ĮʌȠIJİȜȠȪȞIJĮȚ Įʌȩ ȖȡĮµµȑȢ ȠȚ ȠʌȠȓİȢ ʌİȡȚȑȤȠȣȞ ȤĮȡĮțIJȒȡİȢ, ȜȑȟİȚȢ Ȓ ʌȡȠIJȐıİȚȢ țĮȚ IJİȜİȚȫȞȠȣȞ µİ IJȠ ȤĮȡĮțIJȒȡĮ µİIJĮijȠȡȐȢ ıIJȘȞ İʌȩµİȞȘ ȖȡĮµµȒ (CR/LF). īȚĮ ȞĮ ȤȡȘıȚµȠʌȠȚȒıȠȣµİ ȑȞĮ ĮȡȤİȓȠ țİȚµȑȞȠȣ, ʌȡȑʌİȚ ȞĮ IJȠȣ įȫıȠȣµİ ȑȞĮ ȩȞȠµĮ țĮȚ ȞĮ įȘȜȫıȠȣµİ IJȠȞ IJȪʌȠ IJȠȣ µİ IJȘ ȜȑȟȘ ȉext, ȩʌȦȢ țȐȞȠȣµİ țĮȚ ȖȚĮ țȐșİ ȐȜȜȘ µİIJĮȕȜȘIJȒ. ȆĮȡĮįİȓȖµĮIJĮ: Į. var Mathites : text; ȕ. var Mathimata : text; ȆȡȚȞ ȞĮ ȤȡȘıȚµȠʌȠȚȒıȠȣµİ ȑȞĮ ĮȡȤİȓȠ ȖȚĮ İȓıȠįȠ Ȓ ȑȟȠįȠ ʌȡȑʌİȚ ȞĮ įȫıȠȣµİ țĮȚ IJȠ ʌȡĮȖµĮIJȚțȩ ȩȞȠµĮ IJȠȣ ĮȡȤİȓȠȣ IJȠȣ įȓıțȠȣ ıIJȠ ȠʌȠȓȠ ĮȞĮijȑȡİIJĮȚ. ǹȣIJȩ İʌȚIJȣȖȤȐȞİIJĮȚ µİ IJȘ įȚĮįȚțĮıȓĮ assign. ȆĮȡĮįİȓȖµĮIJĮ: Į. assign(Mathites,'c:students.dat'); ȕ. assign(mathimata,'c:math.txt'); ȉȠ ȩȞȠµĮ IJȠȣ ĮȡȤİȓȠȣ IJȠȣ įȓıțȠȣ (c:students.dat, Ȓ c:math.txt), ıIJȠ ȠʌȠȓȠ ĮȞĮijȑȡİIJĮȚ IJȠ ĮȡȤİȓȠ µİ IJȘ ȤȡȒıȘ IJȘȢ įȚĮįȚțĮıȓĮȢ assign, ȤȡȘıȚµȠʌȠȚİȓIJĮȚ µȩȞȠ µȚĮ ijȠȡȐ. ǵȜİȢ ȠȚ ȐȜȜİȢ ĮȞĮijȠȡȑȢ IJȠȣ ĮȡȤİȓȠȣ ıIJȠ ʌȡȩȖȡĮµµĮ ȖȓȞȠȞIJĮȚ µİ IJȠ ȩȞȠµȐ IJȠȣ, ȩʌȦȢ IJȠ įȘȜȫșȘțİ ıIJȘȞ ʌİȡȚȠȤȒ įȒȜȦıȘȢ IJȦȞ µİIJĮȕȜȘIJȫȞ. OȚ İȞIJȠȜȑȢ ʌȠȣ ȤȡȘıȚµȠʌȠȚȠȪµİ ıIJȘȞ Turbo Pascal ȖȚĮ ĮȡȤİȓĮ țİȚµȑȞȠȣ İȓȞĮȚ: x

ǼȞIJȠȜȑȢ µİ IJȚȢ ȠʌȠȓİȢ ĮȞȠȓȖȠȣµİ Ȓ țȜİȓȞȠȣµİ IJĮ ĮȡȤİȓĮ, ȩʌȦȢ reset, rewrite, close, append.


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal - 28 -

x

ǼȞIJȠȜȑȢ İʌİȟİȡȖĮıȓĮȢ ĮȡȤİȓȦȞ, ȩʌȦȢ read/readln, write/writeln, Seek, SeekEof, Seekeoln, eof, eoln, ioresult.

x

ǼȞIJȠȜȑȢ ȤİȚȡȚıµȠȪ ĮȡȤİȓȦȞ assign, erase, rename.

ȅȚ İȞIJȠȜȑȢ ĮȣIJȑȢ İȓȞĮȚ įȚĮįȚțĮıȓİȢ Ȓ ıȣȞĮȡIJȒıİȚȢ țĮȚ ĮȞĮijȑȡȠȞIJĮȚ ĮȞĮȜȣIJȚțȐ ıİ İʌȩµİȞȘ ʌĮȡȐȖȡĮijȠ. Ǿ ȤȡȒıȘ IJȠȣ İțIJȣʌȦIJȒ Įʌȩ IJȘȞ Pascal ȖȓȞİIJĮȚ µȑıĮ Įʌȩ İȞIJȠȜȑȢ įȚĮȤİȓȡȚıȘȢ IJȦȞ ĮȡȤİȓȦȞ. ȅ İțIJȣʌȦIJȒȢ µʌȠȡİȓ ȞĮ șİȦȡȘșİȓ ȩIJȚ İȓȞĮȚ ȑȞĮ ĮȡȤİȓȠ țİȚµȑȞȠȣ ıIJȠ ȠʌȠȓȠ µʌȠȡȠȪµİ µȩȞȠ ȞĮ ȖȡȐȥȠȣµİ. ȆĮȡĮțȐIJȦ įȓįİIJĮȚ ȑȞĮ ʌĮȡȐįİȚȖµĮ ȤȡȒıȘȢ IJȠȣ İțIJȣʌȦIJȒ.

program ektyposi; uses wincrt; {įȒȜȦıȘ ȖȚĮ ȤȡȒıȘ İȞIJȠȜȫȞ İȚıȩįȠȣ İȟȩįȠȣ ıİTurbo Pascal ȖȚĮ Windows} var ektyp:text; {įȒȜȦıȘ IJȘȢ µİIJĮȕȜȘIJȒȢ ektyp ȦȢ ĮȡȤİȓȠȣ IJȪʌȠȣ Text} begin assign(ektyp,'LPT1'); {ĮȞIJȚıIJȠȓȤȘıȘ IJȘȢ șȪȡĮȢ LPT1 IJȠȣ ȣʌȠȜȠȖȚıIJȒ ıIJȘ µİIJĮȕȜȘIJȒ ektyp} rewrite(ektyp); {ȐȞȠȚȖµĮ İʌȚțȠȚȞȦȞȓĮȢ µİ IJȠȞ İțIJȣʌȦIJȒ} writeln(ektyp,'this is a test'); writeln(ektyp,'įȠțȚµȒ ıIJȠȞ İțIJȣʌȦIJȒ'); close(ektyp); {țȜİȓıȚµȠ İʌȚțȠȚȞȦȞȓĮȢ µİ IJȠȞ İțIJȣʌȦIJȒ} end. 11.2. ǹȡȤİȓĮ µİ ȉȪʌȠ ȉĮ ĮȡȤİȓĮ µİ IJȪʌȠ (typed files) ĮʌȠIJİȜȠȪȞIJĮȚ Įʌȩ İȖȖȡĮijȑȢ İȞȩȢ ıȣȖțİțȡȚµȑȞȠȣ IJȪʌȠȣ ʌ.Ȥ. ĮțȑȡĮȚȠȣ, ʌȡĮȖµĮIJȚțȠȪ, record. ȉĮ ĮȡȤİȓĮ µİ țĮșȠȡȚıµȑȞȠ IJȪʌȠ ȑȤȠȣȞ įȩµȘıȘ țĮȚ İȓȞĮȚ ʌȠȜȪ IJĮȤȪIJİȡĮ țĮIJȐ IJȘȞ İʌİȟİȡȖĮıȓĮ Įʌȩ IJĮ ĮȡȤİȓĮ țİȚµȑȞȠȣ IJĮ ȠʌȠȓĮ ıIJİȡȠȪȞIJĮȚ įȩµȘıȘȢ. ǼʌȓıȘȢ IJĮ ĮȡȤİȓĮ µİ IJȪʌȠ İȞ ȖȑȞİȚ țĮIJĮȜĮµȕȐȞȠȣȞ ȜȚȖȩIJİȡȠ ȤȫȡȠ ıIJȠ įȓıțȠ ıİ ıȤȑıȘ µİ IJĮ ĮȡȤİȓĮ țİȚµȑȞȠȣ. H įȩµȘıȘ IJȦȞ ĮȡȤİȓȦȞ ȠȡȚıµȑȞȠȣ IJȪʌȠȣ ʌȡȠıįȚȠȡȓȗİIJĮȚ Įʌȩ IJȠȞ IJȪʌȠ IJȦȞ įİįȠµȑȞȦȞ IJĮ ȠʌȠȓĮ șĮ ĮʌȠșȘțİȣIJȠȪȞ ıİ ĮȣIJȐ. DzIJıȚ ȖȚĮ įİįȠµȑȞĮ ʌȠȣ İȓȞĮȚ ĮțȑȡĮȚȠȚ Ȓ ʌȡĮȖµĮIJȚțȠȓ ĮȡȚșµȠȓ ĮʌĮȚIJȠȪȞIJĮȚ ȖȚĮ țȐșİ İȖȖȡĮijȒ 4 Ȓ 6 bytes ĮȞIJȓıIJȠȚȤĮ. ǹțȩµȘ, IJĮ įİįȠµȑȞĮ ĮȣIJȐ ĮʌȠșȘțİȪȠȞIJĮȚ ıIJȠ ĮȡȤİȓȠ ȩʌȦȢ țĮȚ ıIJȘ µȞȒµȘ țĮȚ İʌȠµȑȞȦȢ įİȞ ȣʌȐȡȤİȚ ȜȩȖȠȢ µİIJĮIJȡȠʌȒȢ IJȠȣȢ. ǹȞIJȓșİIJĮ, ıİ ĮȡȤİȓĮ țİȚµȑȞȠȣ, µİIJĮIJȡȠʌȑȢ ĮȣIJȠȪ IJȠȣ İȓįȠȣȢ İȓȞĮȚ ĮʌĮȡĮȓIJȘIJİȢ. DzȞĮȢ ĮțȑȡĮȚȠȢ, ȖȚĮ ʌĮȡȐįİȚȖµĮ, ĮʌȠșȘțİȪİIJĮȚ ıİ µȠȡijȒ string ı' ȑȞĮ ĮȡȤİȓȠ țİȚµȑȞȠȣ țĮȚ İʌȠµȑȞȦȢ, ȖȚĮ ȞĮ ȤȡȘıȚµȠʌȠȚȘșİȓ µİIJĮIJȡȑʌİIJĮȚ ıIJȘȞ ĮȞIJȓıIJȠȚȤȘ įȣĮįȚțȒ µȠȡijȒ. ȈIJȠȣȢ ʌĮȡĮʌȐȞȦ ȜȩȖȠȣȢ ȠijİȓȜİIJĮȚ Ș IJĮȤȪIJȘIJĮ İʌİȟİȡȖĮıȓĮȢ IJȦȞ ĮȡȤİȓȦȞ ĮȣIJȫȞ, ĮijȠȪ IJĮ įİįȠµȑȞĮ ʌȠȣ ʌİȡȚȑȤȠȣȞ µİIJĮijȑȡȠȞIJĮȚ ıIJȘ µȞȒµȘ ĮțȡȚȕȫȢ ȩʌȦȢ İȓȞĮȚ ĮʌȠșȘțİȣµȑȞĮ țĮȚ İʌȠµȑȞȦȢ įİ ȤȡİȚȐȗȠȞIJĮȚ țĮµȚȐ µİIJȐijȡĮıȘ Ȓ µİIJĮIJȡȠʌȒ. īȚĮ ȞĮ ȤȡȘıȚµȠʌȠȚȒıȠȣµİ ȑȞĮ ĮȡȤİȓȠ, ʌȡȑʌİȚ ȞĮ IJȠȣ įȫıȠȣµİ ȑȞĮ ȩȞȠµĮ, ȞĮ įȘȜȫıȠȣµİ ȩIJȚ İȓȞĮȚ ĮȡȤİȓȠ (file) țĮȚ ȞĮ įȘȜȫıȠȣµİ IJȠȞ IJȪʌȠ IJȦȞ įİįȠµȑȞȦȞ ʌȠȣ ĮʌȠșȘțİȪȠȞIJĮȚ ı' ĮȣIJȩ. ȆĮȡĮįİȓȖµĮIJĮ:

var eti: file of integer; therm: file of real; eponyma: file of string[20] ȈIJĮ ĮȡȤİȓĮ µİ IJȪʌȠ įİȞ µʌȠȡȠȪµİ ȞĮ ȤȡȘıȚµȠʌȠȚȒıȠȣµİ IJȚȢ İȞIJȠȜȑȢ writeln țĮȚ readln, ĮijȠȪ įİȞ ʌİȡȚȑȤȠȣȞ ȖȡĮµµȑȢ. ȉĮ įİįȠµȑȞĮ İȓȞĮȚ ȠȡȖĮȞȦµȑȞĮ ıİ İȖȖȡĮijȑȢ (records) țĮȚ țȐșİ įİįȠµȑȞȠ ĮʌȠIJİȜİȓ µȚĮ İȖȖȡĮijȒ. ȉȠ µȒțȠȢ µȚĮȢ İȖȖȡĮijȒȢ İȓȞĮȚ Ƞ ĮȡȚșµȩȢ IJȦȞ bytes IJĮ ȠʌȠȓĮ ĮʌĮȚIJȠȪȞIJĮȚ ȖȚĮ IJȘȞ ĮʌȠșȒțİȣıȘ IJȠȣ ıȣȖțİțȡȚµȑȞȠȣ IJȪʌȠȣ. īȚĮ IJȠ ȜȩȖȠ ĮȣIJȩ, ıIJĮ ʌȡȠȘȖȠȪµİȞĮ ʌĮȡĮįİȓȖµĮIJĮ ȠȚ İȖȖȡĮijȑȢ ȑȤȠȣȞ µȒțȠȢ 4, 6 țĮȚ 20 bytes ĮȞIJȓıIJȠȚȤĮ. Ǿ PASCAL ʌĮȡȑȤİȚ įȣȞĮIJȩIJȘIJİȢ ȖȚĮ ĮȡȤİȓĮ ıȪȞșİIJĮ IJĮ ȠʌȠȓĮ ʌȡȠıįȚȠȡȓȗİȚ Ƞ ȤȡȒıIJȘȢ. DzȤȠȣµİ ĮȞĮijȑȡİȚ ȩIJȚ Ș PASCAL įȓȞİȚ IJȘ įȣȞĮIJȩIJȘIJĮ ȠȡȚıµȠȪ ȞȑȦȞ IJȪʌȦȞ įİįȠµȑȞȦȞ, İȓȞĮȚ İʌȠµȑȞȦȢ ijȣıȚțȩ ȞĮ µʌȠȡİȓ ȞĮ ʌȡȠıįȚȠȡȚıIJİȓ țĮȚ IJȠ ĮȞIJȓıIJȠȚȤȠ ĮȡȤİȓȠ ȖȚĮ IJȘȞ ĮʌȠșȒțİȣıȒ IJȠȣȢ.


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal - 29 -

ȆĮȡȐįİȚȖµĮ:

type student=record kodikos: eponymo: bathmos_1: bathmos_2: bathmos_3: bathmos_4: end;

integer; string [40]; real; real; real; real;

var pupil :student; sxoleio:file of student; ȅȚ İȖȖȡĮijȑȢ (records) IJȪʌȠȣ student µİ ʌİįȓĮ kodikos, eponymo, bathmos_1, bathmos_2, bathmos_3, batmos_4 µʌȠȡİȓ ȞĮ ĮʌȠșȘțİȣIJȠȪȞ ıIJȠ ĮȡȤİȓȠ sxoleio IJȠȣ ȠʌȠȓȠȣ ȠȚ İȖȖȡĮijȑȢ İȓȞĮȚ IJȪʌȠȣ student.

11.3. ǼʌİȟİȡȖĮıȓĮ ǹȡȤİȓȦȞ µİ țĮȚ ȋȦȡȓȢ ȉȪʌȠ ǼțIJȩȢ Įʌȩ IJĮ ĮȡȤİȓĮ țİȚµȑȞȠȣ, Ș TURBO PASCAL ȣʌȠıIJȘȡȓȗİȚ ĮȡȤİȓĮ IJȣȤĮȓĮȢ ʌȡȠıʌȑȜĮıȘȢ. ǹȣIJȩ ıȘµĮȓȞİȚ ȩIJȚ IJĮ įİįȠµȑȞĮ IJȦȞ ĮȡȤİȓȦȞ ĮȣIJȫȞ µʌȠȡȠȪȞ ȞĮ ʌȡȠıʌİȜĮıIJȠȪȞ ĮȞİȟȐȡIJȘIJĮ IJȘȢ ıİȚȡȐȢ IJȠȣȢ. ǹȣIJȩ İʌȚIJȣȖȤȐȞİIJĮȚ µȑıȦ İȞȩȢ İȚįȚțȠȪ įİȓțIJȘ, IJȠȣ įİȓțIJȘ İȖȖȡĮijȒȢ ĮȡȤİȓȠȣ (file pointer). ȅȚ İȞȑȡȖİȚİȢ İȓȞĮȚ ȠȚ ʌĮȡĮțȐIJȦ: ǼȞȘµİȡȫȞİIJĮȚ Ƞ įİȓțIJȘȢ ĮȡȤİȓȠȣ µİ IJȠȞ ĮȡȚșµȩ IJȘȢ İȖȖȡĮijȒȢ IJȠȣ ĮȡȤİȓȠȣ ʌȠȣ șȑȜȠȣµİ ȞĮ įȚĮȕȐıȠȣµİ Ȓ ȞĮ ȖȡȐȥȠȣµİ. ȋȡȘıȚµȠʌȠȚİȓIJĮȚ Ș ĮȞIJȓıIJȠȚȤȘ İȞIJȠȜȒ ĮȞȐȖȞȦıȘȢ Ȓ İȖȖȡĮijȒȢ Ș ȠʌȠȓĮ İțIJİȜİȓIJĮȚ ʌȐȞȦ ıIJȘȞ IJȡȑȤȠȣıĮ İȖȖȡĮijȒ. īȚĮ IJȘȞ İȞȘµȑȡȦıȘ IJȠȣ įİȓțIJȘ ĮȡȤİȓȠȣ ȤȡȘıȚµȠʌȠȚİȓIJĮȚ Ș İȞIJȠȜȒ seek. ȅȚ İʌȚʌȜȑȠȞ İȞIJȠȜȑȢ ʌȠȣ ȤȡȘıȚµȠʌȠȚȠȪµİ ıIJȘȞ Turbo Pascal ȖȚĮ ĮȡȤİȓĮ ȐµİıȘȢ ʌȡȠıʌȑȜĮıȘȢ İȓȞĮȚ: seek, eof, ioresult, filepos, filesize. ȅȚ İȞIJȠȜȑȢ ĮȣIJȑȢ İȓȞĮȚ įȚĮįȚțĮıȓİȢ Ȓ ıȣȞĮȡIJȒıİȚȢ țĮȚ ĮȞĮijȑȡȠȞIJĮȚ ĮȞĮȜȣIJȚțȐ ıİ İʌȩµİȞİȢ ʌĮȡĮȖȡȐijȠȣȢ. ȆĮȡȐįİȚȖµĮ: Į. ĮȞȐȖȞȦıȘ İȖȖȡĮijȒȢ.

seek(sxoleio,ar);

{IJȠʌȠșȑIJȘıİ IJȠ įİȓțIJȘ ĮȡȤİȓȠȣ (file pointer) ıIJȠ ar record IJȠȣ ĮȡȤİȓȠȣ sxoleio} read(sxoleio,pupil); {įȚȐȕĮıİ Įʌȩ IJȠ ĮȡȤİȓȠ sxoleio IJȘȞ İȖȖȡĮijȒ ʌȠȣ įİȓȤȞİȚ Ƞ įİȓțIJȘȢ ĮȡȤİȓȠȣ pointer țĮȚ IJȠʌȠșȑIJȘıİ IJĮ įİįȠµȑȞĮ ıIJȘ µİIJĮȕȜȘIJȒ pupil}

ȕ. ȖȡȐȥȚµȠ İȖȖȡĮijȒȢ.

seek(sxoleio,ar);

{IJȠʌȠșȑIJȘıİ IJȠ įİȓțIJȘ ĮȡȤİȓȠȣ ıIJȘȞ İȖȖȡĮijȒ IJȠȣ ĮȡȤİȓȠȣ sxoleio ʌȠȣ ȑȤİȚ ıİȚȡȐ ar} write(sxoleio,pupil); {ȖȡȐȥİ ıIJȠ ĮȡȤİȓȠ sxoleio IJȘȞ İȖȖȡĮijȒ pupil ıIJȘȞ șȑıȘ ʌȠȣ įİȓȤȞİȚ Ƞ įİȓțIJȘȢ ĮȡȤİȓȠȣ}

Ǿ ȐµİıȘ ʌȡȠıʌȑȜĮıȘ IJȦȞ ĮȡȤİȓȦȞ µĮȢ İʌȚIJȡȑʌİȚ ȞĮ İȞȘµİȡȫıȠȣµİ µȓĮ ȒįȘ ȣʌȐȡȤȠȣıĮ İȖȖȡĮijȒ IJȠȣ ĮȡȤİȓȠȣ ȤȦȡȓȢ ȞĮ ȖȓȞİȚ ĮȞȐȖȞȦıȘ IJȦȞ ȣʌȠȜȠȓʌȦȞ. ǹțȩµȘ µʌȠȡȠȪµİ ȞĮ ȤȡȘıȚµȠʌȠȚȠȪµİ ȑȞĮ ĮȡȤİȓȠ ȖȚĮ įȚȐȕĮıµĮ Ȓ ȖȡȐȥȚµȠ Ȓ İȞȘµȑȡȦıȘ ĮȞȠȓȖȠȞIJȐȢ IJȠ µȩȞȠ µȚĮ ijȠȡȐ µİ ȤȡȒıȘ IJȘȢ İȞIJȠȜȒȢ reset. ǹȞIJȓșİIJĮ, ıİ ĮȡȤİȓĮ țİȚµȑȞȠȣ, Ș İȞȘµȑȡȦıȘ İȞȩȢ ĮȡȤİȓȠȣ ȖȓȞİIJĮȚ µİ İȚįȚțȩ IJȡȩʌȠ ĮȞȠȓȖµĮIJȠȢ ĮȞȐȜȠȖĮ µİ IJȠ İȓįȠȢ İȞȘµȑȡȦıȘȢ, rewrite (įȚĮȖȡĮijȒ IJȦȞ ȣʌĮȡȤȩȞIJȦȞ ıIJȠȚȤİȓȦȞ Ȓ įȘµȚȠȣȡȖȓĮ İȞȩȢ ȞȑȠȣ), append (İʌȑțIJĮıȘ İȞȩȢ ȣʌȐȡȤȠȞIJȠȢ ĮȡȤİȓȠȣ). 11.3.1. ǻȚĮįȚțĮıȓİȢ ȤİȚȡȚıµȠȪ ĮȡȤİȓȦȞ append ȂȠȡijȒ: append (var F1:Text) ǵʌȠȣ: F1 İȓȞĮȚ µİIJĮȕȜȘIJȒ ĮȡȤİȓȠȣ IJȪʌȠȣ țİȚµȑȞȠȣ, ȩʌȦȢ ȑȤİȚ țĮșȠȡȚıIJİȓ Įʌȩ IJȘȞ İȞIJȠȜȒ assign.


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal - 30 -

ǼȞȑȡȖİȚĮ: ǹȞȠȓȖİȚ ȑȞĮ ĮȡȤİȓȠ IJȪʌȠȣ țİȚµȑȞȠȣ ȖȚĮ İȖȖȡĮijȒ țĮȚ ıȣȖțİțȡȚµȑȞĮ ȖȚĮ ʌȡȩıșİıȘ ȞȑȦȞ record. ȅ įİȓțIJȘȢ IJȠȣ ĮȡȤİȓȠȣ ʌȘȖĮȓȞİȚ ıIJȠ IJȑȜȠȢ IJȠȣ ĮȡȤİȓȠȣ. ȆĮȡȐįİȚȖµĮ:

append(sxoleio); assign ȂȠȡijȒ: assign(var F1:file; F2:string) ǵʌȠȣ: F1 µİIJĮȕȜȘIJȒ IJȪʌȠȣ ĮȡȤİȓȠȣ țĮȚ F2 ȩȞȠµĮ IJȠȣ ĮȡȤİȓȠȣ ıIJȠ ȁİȚIJȠȣȡȖȚțȩ ȈȪıIJȘµĮ. ǼȞȑȡȖİȚĮ: Ǿ İȞIJȠȜȒ ĮȣIJȒ ĮȞIJȚıIJȠȚȤȓȗİȚ ıIJȘ µİIJĮȕȜȘIJȒ F1 IJȠ ȩȞȠµĮ IJȠȣ ĮȡȤİȓȠȣ F2 ȑIJıȚ, ȩʌȦȢ ȑȤİȚ ȠȡȚıșİȓ ıIJȠ ȁİȚIJȠȣȡȖȚțȩ ȈȪıIJȘµĮ. ȆĮȡȐįİȚȖµĮ:

assign(arx_pelates,'c:pelates.dta'); close ȂȠȡijȒ: close(var F1:file) ǵʌȠȣ: F1 İȓȞĮȚ Ș µİIJĮȕȜȘIJȒ IJȪʌȠȣ ĮȡȤİȓȠȣ, ȩʌȦȢ ȑȤİȚ țĮșȠȡȚıIJİȓ Įʌȩ IJȘȞ İȞIJȠȜȒ assign. ǼȞȑȡȖİȚĮ: H İȞIJȠȜȒ ĮȣIJȒ țȜİȓȞİȚ IJȠ ĮȡȤİȓȠ F1 țĮȚ İȞȘµİȡȫȞİȚ IJȠȞ țĮIJȐȜȠȖȠ ĮȡȤİȓȦȞ (directory). ȂİIJȐ IJȘ ȤȡȒıȘ IJȠȣ ĮȡȤİȓȠȣ țĮȚ ʌȡȚȞ IJİȜİȚȫıİȚ IJȠ ʌȡȩȖȡĮµµĮ, ȤȡȘıȚµȠʌȠȚİȓIJĮȚ Ș İȞIJȠȜȒ close ȖȚĮ IJȠ țȜİȓıȚµȠ IJȠȣ ĮȡȤİȓȠȣ. ǼȐȞ įİ ȤȡȘıȚµȠʌȠȚȘșİȓ țĮȚ ȑȤȠȣµİ ĮȞȠȓȟİȚ ĮȡȤİȓȠ ȖȚĮ İȖȖȡĮijȒ, IJȩIJİ İȓȞĮȚ ʌȚșĮȞȩ ȞĮ ȤȐıȠȣµİ ȠȡȚıµȑȞĮ Įʌȩ IJĮ IJİȜİȣIJĮȓĮ įİįȠµȑȞĮ ʌȠȣ ȖȡȐijIJȘțĮȞ. ȆĮȡȐįİȚȖµĮ:

close(pelates); erase ȂȠȡijȒ: erase(F1:file) ǵʌȠȣ: F1 İȓȞĮȚ Ș µİIJĮȕȜȘIJȒ IJȪʌȠȣ ĮȡȤİȓȠȣ, ȩʌȦȢ ȑȤİȚ țĮșȠȡȚıIJİȓ Įʌȩ IJȘȞ İȞIJȠȜȒ assign. ǼȞȑȡȖİȚĮ: H İȞIJȠȜȒ įȚĮȖȡȐijİȚ Įʌȩ IJȠ įȓıțȠ IJȠ ĮȡȤİȓȠ ʌȠȣ ĮȞIJȚıIJȠȚȤİȓ ıIJȘ µİIJĮȕȜȘIJȒ F1. ȆĮȡȐįİȚȖµĮ:

erase(arxeio_pelates); read/readln ȂȠȡijȒ: read/readln(var F1:file, M1, M2,..Mn) ǵʌȠȣ: F1 İȓȞĮȚ Ș µİIJĮȕȜȘIJȒ IJȪʌȠȣ ĮȡȤİȓȠȣ, ȩʌȦȢ ȑȤİȚ țĮșȠȡȚıIJİȓ Įʌȩ IJȘȞ İȞIJȠȜȒ assign țĮȚ M1,M2,..,Mn İȓȞĮȚ ȠȞȩµĮIJĮ µİIJĮȕȜȘIJȫȞ. ǼȞȑȡȖİȚĮ: Ǿ İȞIJȠȜȒ read įȚĮȕȐȗİȚ įİįȠµȑȞĮ Įʌȩ IJȠ ĮȡȤİȓȠ F1 țĮȚ IJĮ ĮʌȠșȘțİȪİȚ ıIJȚȢ µİIJĮȕȜȘIJȑȢ M1,Ȃ2,..Ȃn. H İȞIJȠȜȒ readln, Ș ȠʌȠȓĮ ȤȡȘıȚµȠʌȠȚİȓIJĮȚ µȩȞȠ ıİ ĮȡȤİȓĮ țİȚµȑȞȠȣ, įȚĮȕȐȗİȚ įİįȠµȑȞĮ µİ IJȠȞ ȓįȚȠ IJȡȩʌȠ ĮȜȜȐ µİIJȐ IJȘȞ İțIJȑȜİıȒ IJȘȢ Ƞ įİȓțIJȘȢ IJȠȣ ĮȡȤİȓȠȣ µİIJĮțȚȞİȓIJĮȚ ʌȡȠȢ IJȘȞ İʌȩµİȞȘ ȖȡĮµµȒ IJȠȣ țİȚµȑȞȠȣ IJȠȣ ĮȡȤİȓȠȣ. ȆĮȡĮįİȓȖµĮIJĮ: Į.

type pelatis = record kod : integer; eponymia : string[30]; loipa_stoixeia : string; end;


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal - 31 -

var pelates: file of pelatis; stoixeia_pelati: pelatis ; begin read(pelates, stoixeia_pelati); ȕ.

var kod : integer; eponymia : string[30]; loipa_stoixeia : string; pelates : Text; begin readln(pelates,kod,eponymia,loipa_stoixeia); rename ȂȠȡijȒ: rename(var F1:file;F2:string) ǵʌȠȣ: F1 İȓȞĮȚ µİIJĮȕȜȘIJȒ IJȪʌȠȣ ĮȡȤİȓȠȣ, ȩʌȦȢ ȑȤİȚ țĮșȠȡȚıIJİȓ Įʌȩ IJȘȞ İȞIJȠȜȒ assign țĮȚ F2 µİIJĮȕȜȘIJȒ IJȪʌȠȣ string. ǼȞȑȡȖİȚĮ: ǹȜȜȐȗİȚ IJȠ ȩȞȠµĮ IJȠȣ ĮȡȤİȓȠȣ F1 µİ IJȠ ȩȞȠµĮ ʌȠȣ ĮȞIJȚıIJȠȚȤİȓ ıIJȠ string F2. ȆĮȡȐįİȚȖµĮ:

rename(arxeio_sp,'foitites.dta'); reset ȂȠȡijȒ: reset(var F1:file) ǵʌȠȣ: F1 İȓȞĮȚ µİIJĮȕȜȘIJȒ IJȪʌȠȣ ĮȡȤİȓȠȣ, ȩʌȦȢ ȑȤİȚ țĮșȠȡȚıIJİȓ Įʌȩ IJȘȞ İȞIJȠȜȒ assign. ǼȞȑȡȖİȚĮ: H İȞIJȠȜȒ ĮȣIJȒ ĮȞȠȓȖİȚ ȑȞĮ ĮȡȤİȓȠ ʌȠȣ ȣʌȐȡȤİȚ µİ įȣȞĮIJȩIJȘIJĮ ĮȞȐȖȞȦıȘȢ Ȓ İȖȖȡĮijȒȢ ı' ĮȣIJȩ. ǹȞ IJȠ ĮȡȤİȓȠ İȓȞĮȚ IJȪʌȠȣ ȉǼȋȉ, IJȩIJİ IJȠ ĮȡȤİȓȠ ȤȡȘıȚµȠʌȠȚİȓIJĮȚ µȩȞȠ ȖȚĮ ĮȞȐȖȞȦıȘ. ȆĮȡȐįİȚȖµĮ:

assign(arxeio_sp,'foitites.dta'); reset(arxeio_sp); rewrite ȂȠȡijȒ: rewrite(var F1:file) ǵʌȠȣ: F1 İȓȞĮȚ µİIJĮȕȜȘIJȒ IJȪʌȠȣ ĮȡȤİȓȠȣ, ȩʌȦȢ ȑȤİȚ țĮșȠȡȚıIJİȓ Įʌȩ IJȘȞ İȞIJȠȜȒ assign. ǼȞȑȡȖİȚĮ: H İȞIJȠȜȒ ĮȣIJȒ įȘµȚȠȣȡȖİȓ ȑȞĮ ĮȡȤİȓȠ ȖȚĮ İȖȖȡĮijȒ. ǹȞ IJȠ ĮȡȤİȓȠ ĮȣIJȩ ȣʌȐȡȤİȚ, IJȩIJİ IJĮ įİįȠµȑȞĮ ʌȠȣ İȓȞĮȚ ĮʌȠșȘțİȣµȑȞĮ ıIJȠ ĮȡȤİȓȠ țĮIJĮıIJȡȑijȠȞIJĮȚ. ȆĮȡȐįİȚȖµĮ:

assign(arxeio_foit,'foitites.dta'); rewrite(arxeio_foit); seek ȂȠȡijȒ: seek(var F1:file;R:longint); ǵʌȠȣ: F1 İȓȞĮȚ µİIJĮȕȜȘIJȒ IJȪʌȠȣ ĮȡȤİȓȠȣ, ȩʌȦȢ ȑȤİȚ țĮșȠȡȚıIJİȓ Įʌȩ IJȘȞ İȞIJȠȜȒ assign țĮȚ R Ș șȑıȘ IJȘȢ ʌȡȠȢ ĮȞĮȗȒIJȘıȘ İȖȖȡĮijȒȢ ıIJȠ ĮȡȤİȓȠ. ǼȞȑȡȖİȚĮ: Ǿ İȞIJȠȜȒ IJȠʌȠșİIJİȓ IJȠ įİȓțIJȘ ĮȞȐȖȞȦıȘȢ/İȖȖȡĮijȒȢ ıIJȠ record µİ ĮȡȚșµȩ R ȖȚĮ µİȜȜȠȞIJȚțȩ read Ȓ write. Ǿ İȞIJȠȜȒ įİ ȜİȚIJȠȣȡȖİȓ ıİ ĮȡȤİȓĮ IJȪʌȠȣ ȉǼȋȉ. Ǿ ʌȡȫIJȘ İȖȖȡĮijȒ IJȠȣ ĮȡȤİȓȠȣ ȑȤİȚ ĮȡȚșµȩ µȘįȑȞ (0).


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal - 32 -

ȆĮȡȐįİȚȖµĮ:

read(k); seek(pelates,k); write/writeln ȂȠȡijȒ: write/writeln(var F1:file,M1,M2,..Mn) ǵʌȠȣ: F1 İȓȞĮȚ µİIJĮȕȜȘIJȒ IJȪʌȠȣ ĮȡȤİȓȠȣ, ȩʌȦȢ ȑȤİȚ țĮșȠȡȚıIJİȓ Įʌȩ IJȘȞ İȞIJȠȜȒ assign țĮȚ M1, M2,..,Mn İȓȞĮȚ ȠȞȩµĮIJĮ µİIJĮȕȜȘIJȫȞ. ǼȞȑȡȖİȚĮ: Ǿ İȞIJȠȜȒ write ȖȡȐijİȚ ıIJȠ ĮȡȤİȓȠ F1 IJĮ įİįȠµȑȞĮ ʌȠȣ İȓȞĮȚ ĮʌȠșȘțİȣµȑȞĮ ıIJȚȢ µİIJĮȕȜȘIJȑȢ M1,Ȃ2,..Ȃn. Ǿ İȞIJȠȜȒ writeln, Ș ȠʌȠȓĮ ȤȡȘıȚµȠʌȠȚİȓIJĮȚ µȩȞȠ ıİ ĮȡȤİȓĮ țİȚµȑȞȠȣ, ȖȡȐijİȚ įİįȠµȑȞĮ µİ IJȠȞ ȓįȚȠ IJȡȩʌȠ ĮȜȜȐ µİIJȐ IJȘȞ İțIJȑȜİıȒ IJȘȢ Ƞ įİȓțIJȘȢ IJȠȣ ĮȡȤİȓȠȣ (file pointer) µİIJĮțȚȞİȓIJĮȚ ʌȡȠȢ IJȘȞ İʌȩµİȞȘ ȖȡĮµµȒ IJȠȣ țİȚµȑȞȠȣ IJȠȣ ĮȡȤİȓȠȣ. ȆĮȡĮįİȓȖµĮIJĮ: Į.

type pelatis = record kod : integer; eponymia : string[30]; loipa_stoixeia : string; end; var pelates: file of pelatis; stoixeia_pelati: pelatis ; begin write(Pelates,stoixeia_pelati); ȕ. var kod : integer; eponymia : string[30]; loipa_stoixeia : string; pelates : Text; begin writeln(Pelates, kod, eponymia, loipa_stoixeia); 11.3.2. ȈȣȞĮȡIJȒıİȚȢ ȤİȚȡȚıµȠȪ ĮȡȤİȓȦȞ eof ȂȠȡijȒ: eof(F1:file): boolean 'ǵʌȠȣ F1 İȓȞĮȚ µİIJĮȕȜȘIJȒ IJȪʌȠȣ ĮȡȤİȓȠȣ, ȩʌȦȢ ȑȤİȚ țĮșȠȡȚıIJİȓ Įʌȩ IJȘȞ İȞIJȠȜȒ assign.

e

ǼȞȑȡȖİȚĮ: H ıȣȞȐȡIJȘıȘ İʌȚıIJȡȑijİȚ IJȘȞ IJȚµȒ true, ĮȞ ȕȡİșİȓ Ș ȑȞįİȚȟȘ IJȑȜȠȣȢ IJȠȣ ĮȡȤİȓȠȣ, ĮȜȜȚȫȢ, İʌȚıIJȡȑijİȚ IJȘȞ IJȚµȒ false. ǹȞ ʌĮȡĮȜȘijșİȓ Ș µİIJĮȕȜȘIJȒ F1, IJȩIJİ ȦȢ ĮȡȤİȓȠ ȜĮµȕȐȞİIJĮȚ Ș IJȣʌȠʌȠȚȘµȑȞȘ µȠȞȐįĮ İȚıȩįȠȣ (standard input) ʌȠȣ İȓȞĮȚ IJȠ ʌȜȘțIJȡȠȜȩȖȚȠ.

lt

ȆĮȡȐįİȚȖµĮ:

of

if eof(arxeio_math) then writeln('IJȑȜȠȢ ĮȡȤİȓȠȣ');

s

eoln ȂȠȡijȒ: eoln(F1:ȉext):boolean 'ǵʌȠȣ F1 İȓȞĮȚ µİIJĮȕȜȘIJȒ IJȪʌȠȣ ĮȡȤİȓȠȣ, ȩʌȦȢ ȑȤİȚ țĮșȠȡȚıIJİȓ Įʌȩ IJȘȞ İȞIJȠȜȒ assign.


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal - 33 -

ǼȞȑȡȖİȚĮ: H ıȣȞȐȡIJȘıȘ İʌȚıIJȡȑijİȚ IJȘȞ IJȚµȒ true, ĮȞ įȚĮȕȐȗȠȞIJĮȢ ȕȡİȚ IJȠ IJȑȜȠȢ ȖȡĮµµȒȢ Ȓ IJȠ IJȑȜȠȢ IJȠȣ ĮȡȤİȓȠȣ, ĮȜȜȚȫȢ, İʌȚıIJȡȑijİȚ IJȘȞ IJȚµȒ false. ȆĮȡȐįİȚȖµĮ:

if eoln(arxeio_math) then writeln('---------' ); filepos ȂȠȡijȒ: filepos(F1:file):integer ǵʌȠȣ:F1 İȓȞĮȚ µİIJĮȕȜȘIJȒ IJȪʌȠȣ ĮȡȤİȓȠȣ, ȩʌȦȢ ȑȤİȚ țĮșȠȡȚıIJİȓ Įʌȩ IJȘȞ İȞIJȠȜȒ assign. ǼȞȑȡȖİȚĮ: H ıȣȞȐȡIJȘıȘ İʌȚıIJȡȑijİȚ IJȘ șȑıȘ IJȠȣ ĮȡȤİȓȠȣ ȩʌȠȣ șĮ įȚĮȕĮıIJİȓ Ȓ șĮ ȖȡĮijİȓ Ș İʌȩµİȞȘ İȖȖȡĮijȒ. ȈIJȘȞ ĮȡȤȒ IJȠȣ ĮȡȤİȓȠȣ Ș ıȣȞȐȡIJȘıȘ İʌȚıIJȡȑijİȚ IJȘȞ IJȚµȒ µȘįȑȞ (0), ıIJȠ IJȑȜȠȢ IJȠȣ ĮȡȤİȓȠȣ. Ǿ ıȣȞȐȡIJȘıȘ įİȞ µʌȠȡİȓ ȞĮ ȤȡȘıȚµȠʌȠȚȘșİȓ ıİ ĮȡȤİȓĮ IJȪʌȠȣ TEXT. ȆĮȡȐįİȚȖµĮ:

writeln('șȑıȘ IJȠȣ record: ', filepos(mathites)) filesize ȂȠȡijȒ: filesize(F1:file):integer ǵʌȠȣ F1 İȓȞĮȚ µİIJĮȕȜȘIJȒ IJȪʌȠȣ ĮȡȤİȓȠȣ, ȩʌȦȢ ȑȤİȚ țĮșȠȡȚıIJİȓ Įʌȩ IJȘȞ İȞIJȠȜȒ assign. ǼȞȑȡȖİȚĮ: H ıȣȞȐȡIJȘıȘ İʌȚıIJȡȑijİȚ IJȠ µȑȖİșȠȢ IJȠȣ ĮȡȤİȓȠȣ ıİ ʌȜȒșȠȢ record. Ǿ ıȣȞȐȡIJȘıȘ įİȞ µʌȠȡİȓ ȞĮ ȤȡȘıȚµȠʌȠȚȘșİȓ ıİ ĮȡȤİȓĮ IJȪʌȠȣ ȉǼȋȉ. ȆĮȡȐįİȚȖµĮ:

writeln('µȑȖİșȠȢ ĮȡȤİȓȠȣ :',filesize(mathites)) Iȅresult ȂȠȡijȒ: ioresult:word ǼȞȑȡȖİȚĮ: H ıȣȞȐȡIJȘıȘ İʌȚıIJȡȑijİȚ µȓĮ ĮțȑȡĮȚĮ IJȚµȒ ʌȠȣ įİȓȤȞİȚ IJȘȞ țĮIJȐıIJĮıȘ IJȘȢ IJİȜİȣIJĮȓĮȢ İȞIJȠȜȒȢ İȚıȩįȠȣ/İȟȩįȠȣ. Ǿ ıȣȞȐȡIJȘıȘ İȓȞĮȚ ȤȦȡȓȢ ʌĮȡȐµİIJȡȠ. ǹȞ Ș IJİȜİȣIJĮȓĮ ȜİȚIJȠȣȡȖȓĮ İȚıȩįȠȣ/İȟȩįȠȣ IJİȜİȚȫıİȚ İʌȚIJȣȤȫȢ, IJȩIJİ Ș ıȣȞȐȡIJȘıȘ İʌȚıIJȡȑijİȚ IJȘȞ IJȚµȒ 0 (µȘįȑȞ). īȚĮ ȞĮ ȜİȚIJȠȣȡȖȒıİȚ Ș ıȣȞȐȡIJȘıȘ, ʌȡȑʌİȚ ȞĮ ȑȤİȚ įȘȜȦșİȓ ʌȡȠȢ IJȠȞ Compiler IJȘȢ Pascal Ș įȒȜȦıȘ {$ǿ-} ʌȠȣ įȓȞİȚ ıIJȠ ȤȡȒıIJȘ IJȘ įȣȞĮIJȩIJȘIJĮ İȜȑȖȤȠȣ IJȦȞ ȜĮșȫȞ ʌȠȣ ȑȤȠȣȞ ıȤȑıȘ µİ İȓıȠįȠ țĮȚ ȑȟȠįȠ. AȞ įİȞ ȑȤİȚ ȖȓȞİȚ Ș įȒȜȦıȘ ĮȣIJȒ țĮȚ ȣʌȐȡȤİȚ ȜȐșȠȢ ıİ ȜİȚIJȠȣȡȖȓĮ İȚıȩįȠȣ/İȟȩįȠȣ, ıIJĮµĮIJȐİȚ Ș İțIJȑȜİıȘ IJȠȣ ʌȡȠȖȡȐµµĮIJȠȢ µİ ĮȞIJȓıIJȠȚȤȠ µȒȞȣµĮ. ȆĮȡȐįİȚȖµĮ:

reset(mathites); if ioresult<>0 then begin rewrite(mathites); reset (mathites); end;

seekeof(F1) ȂȠȡijȒ: seekeȠf(var F1:file):boolean. ǵʌȠȣ F1 İȓȞĮȚ µİIJĮȕȜȘIJȒ IJȪʌȠȣ ĮȡȤİȓȠȣ, ȩʌȦȢ ȑȤİȚ țĮșȠȡȚıIJİȓ Įʌȩ IJȘȞ İȞIJȠȜȒ assign. ǼȞȑȡȖİȚĮ: H ıȣȞȐȡIJȘıȘ İʌȚıIJȡȑijİȚ IJȘȞ IJȚµȒ true, ĮȞ ȕȡİșİȓ Ș ȑȞįİȚȟȘ IJȑȜȠȣȢ IJȠȣ ĮȡȤİȓȠȣ, ĮȜȜȚȫȢ, İʌȚıIJȡȑijİȚ IJȘȞ IJȚµȒ false.ǼȓȞĮȚ ĮȞIJȓıIJȠȚȤȘ IJȘȢ ıȣȞȐȡIJȘıȘȢ eof µİ IJȘ įȚĮijȠȡȐ ȩIJȚ ʌĮȡĮȜİȓʌİȚ ȩȜĮ IJĮ țİȞȐ țĮȚ IJȠȣȢ ȤĮȡĮțIJȒȡİȢ IJȑȜȠȣȢ ȖȡĮµµȒȢ.


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal - 34 -

12. ǼȉȅǿȂǹ ȊȆȅȆȇȅīȇǹȂȂǹȉǹ īǼȃǿȀǾȈ ȋȇǾȈǾȈ ȉǾȈ PASCAL 12.1. ǹȜijĮȡȚșµȘIJȚțȑȢ ǻȚĮįȚțĮıȓİȢ delete ȂȠȡijȒ: delete(s:string;a,m:integer) ǼȞȑȡȖİȚĮ: ǻȚĮȖȡȐijİȚ Įʌȩ IJȠ string s ȑȞĮ IJµȒµĮ IJȠȣ ʌȠȣ ĮȡȤȓȗİȚ Įʌȩ IJȘ șȑıȘ a țĮȚ ȑȤİȚ ʌȜȒșȠȢ ȤĮȡĮțIJȒȡȦȞ m. ȉĮ a, m İȓȞĮȚ ĮțȑȡĮȚȠȣ IJȪʌȠȣ, İȞȫ IJȠ s İȓȞĮȚ ĮȜijĮȡȚșµȘIJȚțȠȪ IJȪʌȠȣ.

insert ȂȠȡijȒ: insert(a:string; var s:string;m:integer) ǼȞȑȡȖİȚĮ: ȆĮȡݵȕȐȜȜİȚ IJȠ string a µȑıĮ ıIJȠ string s ıIJȘ șȑıȘ m. ȉo m İȓȞĮȚ ĮțȑȡĮȚȠȣ IJȪʌȠȣ, İȞȫ IJĮ a țĮȚ s İȓȞĮȚ ĮȜijĮȡȚșµȘIJȚțȠȪ IJȪʌȠȣ.

str ȂȠȡijȒ: str(m:real [:a:d];var s:string) Ȓ str(m: nteger[:a];var s:string) ǼȞȑȡȖİȚĮ: MİIJĮIJȡȑʌİȚ µȚĮ ĮȡȚșµȘIJȚțȒ IJȚµȒ m ıİ ĮȜijĮȡȚșµȘIJȚțȒ s. Ǿ įȚĮįȚțĮıȓĮ țĮȜİȓIJĮȚ str(m:a:d,s), ȩIJĮȞ IJȠ m İȓȞĮȚ ʌȡĮȖµĮIJȚțȠȪ IJȪʌȠȣ, țĮȚ str(m:a,s), ȩIJĮȞ IJȠ m İȓȞĮȚ ĮțȑȡĮȚȠȣ IJȪʌȠȣ.

val ȂȠȡijȒ: val(s:string; var m:real; var e:integer). ǼȞȑȡȖİȚĮ: ȂİIJĮIJȡȑʌİȚ ȑȞĮ string s ıİ ĮțȑȡĮȚĮ Ȓ ʌȡĮȖµĮIJȚțȒ µȠȡijȒ țĮȚ IJȠ ĮʌȠįȓįİȚ ıIJȘ µİIJĮȕȜȘIJȒ m. AȞ IJȠ ʌİȡȚİȤȩµİȞȠ IJȘȢ µİIJĮȕȜȘIJȒȢ s ʌİȡȚȑȤİȚ ȑıIJȦ țĮȚ ȑȞĮ µȘ ĮʌȠįİțIJȩ ĮȡȚșµȘIJȚțȩ ȤĮȡĮțIJȒȡĮ (İțIJȩȢ Įʌȩ ʌȡȩıȘµȠ Ȓ ȣʌȠįȚĮıIJȠȜȒ), Ș µİIJĮIJȡȠʌȒ ĮʌȠIJȣȖȤȐȞİȚ țĮȚ Ș µİIJĮȕȜȘIJȒ İȜȑȖȤȠȣ e ʌĮȓȡȞİȚ IJȚµȒ IJȘ șȑıȘ IJȠȣ µȘ ĮʌȠįİțIJȠȪ ȤĮȡĮțIJȒȡĮ µȑıĮ ıIJȠ string, ĮȜȜȚȫȢ, Ș µİIJĮȕȜȘIJȒ İȜȑȖȤȠȣ ʌĮȓȡȞİȚ IJȘȞ IJȚµȒ 0 (µȘįȑȞ).

12.2. ǹȜijĮȡȚșµȘIJȚțȑȢ ȈȣȞĮȡIJȒıİȚȢ concat ȂȠȡijȒ: concat(x,y):string ǼȞȑȡȖİȚĮ: ǼʌȚıIJȡȑijİȚ ȑȞĮ string ʌȠȣ ʌȡȠțȪʌIJİȚ Įʌȩ ıȣȞȑȞȦıȘ IJȠȣ string x µİ IJȠ string y. To ȞȑȠ string ʌȡȑʌİȚ ȞĮ ȑȤİȚ ʌȜȒșȠȢ ȤĮȡĮțIJȒȡȦȞ, IJȠȣȜȐȤȚıIJȠȞ ȓıȠ µİ IJȠ ȐșȡȠȚıµĮ IJȦȞ ȤĮȡĮțIJȒȡȦȞ IJȠȣ x țĮȚ y țĮȚ ȩȤȚ µİȖĮȜȪIJİȡȠ Įʌȩ 255 ȤĮȡĮțIJȒȡİȢ.

copy ȂȠȡijȒ: copy(x:string;a,m:integer):string. ǼȞȑȡȖİȚĮ: ǼʌȚıIJȡȑijİȚ ȑȞĮ IJµȒµĮ IJȠȣ string x (substring) ʌȠȣ ĮȡȤȓȗİȚ Įʌȩ IJȘ șȑıȘ a țĮȚ ȑȤİȚ m IJȠ ʌȜȒșȠȢ ȤĮȡĮțIJȒȡİȢ.

length MȠȡijȒ: length (x:string):integer ǼȞȑȡȖİȚĮ: ǼʌȚıIJȡȑijİȚ IJȠ ʌȜȒșȠȢ IJȦȞ ȤĮȡĮțIJȒȡȦȞ µȚĮȢ ĮȜijĮȡȚșµȘIJȚțȒȢ (string) µİIJĮȕȜȘIJȒȢ Ȓ ıIJĮșİȡȐȢ.

pos ȂȠȡijȒ: pos (b,a:string):integer. ǼȞȑȡȖİȚĮ: ǼȟİIJȐȗİȚ ĮȞ IJȠ string b ʌİȡȚȑȤİIJĮȚ ıIJȠ string a țĮȚ İʌȚıIJȡȑijİȚ ȑȞĮ ĮțȑȡĮȚȠ ʌȠȣ įȘȜȫȞİȚ IJȘ șȑıȘ IJȠȣ ʌȡȫIJȠȣ ȤĮȡĮțIJȒȡĮ IJȠȣ string b µȑıĮ ıIJȠ string a. ǹȞ IJȠ b įİȞ ȣʌȐȡȤİȚ ıIJȠ a, IJȩIJİ İʌȚıIJȡȑijİIJĮȚ Ș IJȚµȒ 0 (µȘįȑȞ)


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal - 35 -

12.3. ǹȡȚșµȘIJȚțȑȢ ȈȣȞĮȡIJȒıİȚȢ abs ȂȠȡijȒ: abs(x:real):real Ȓ abs(x:integer): integer ǼȞȑȡȖİȚĮ: ǼʌȚıIJȡȑijİȚ IJȘȞ ĮʌȩȜȣIJȘ IJȚµȒ ʌĮȡȐıIJĮıȘȢ Ȓ µİIJĮȕȜȘIJȒȢ Ȓ ıIJĮșİȡȐȢ. ȉȠ ȩȡȚıµĮ IJȘȢ ıȣȞȐȡIJȘıȘȢ µʌȠȡİȓ ȞĮ İȓȞĮȚ IJȪʌȠȣ ĮțȑȡĮȚȠȣ Ȓ ʌȡĮȖµĮIJȚțȠȪ. Ǿ İʌȚıIJȡİijȩµİȞȘ IJȚµȒ İȓȞĮȚ ȓįȚȠȣ IJȪʌȠȣ µİ IJȠ ȩȡȚıµĮ.

arctan ȂȠȡijȒ: arctan(x:real):real. ǼȞȑȡȖİȚĮ: ǼʌȚıIJȡȑijİȚ IJȘȞ IJȚµȒ IJȠȣ IJȩȟȠȣ, ʌȠȣ ȑȤİȚ İijĮʌIJȠµȑȞȘ x, ıİ ĮțIJȓȞȚĮ.

cos ȂȠȡijȒ: cos(x:real):real ǼȞȑȡȖİȚĮ: ǼʌȚıIJȡȑijİȚ IJȠ ıȣȞȘµȓIJȠȞȠ IJȠȣ IJȩȟȠȣ x, ȩIJĮȞ ĮȣIJȩ İțijȡȐȗİIJĮȚ ıİ ĮțIJȓȞȚĮ.

exp ȂȠȡijȒ: exp(x:real):real Ȓ exp(x:integer):real ǼȞȑȡȖİȚĮ: ǼʌȚıIJȡȑijİȚ IJȘ įȪȞĮµȘ ʌȠȣ ȑȤİȚ ȕȐıȘ IJȠȞ ĮȡȚșµȩ e (e=2.7182818) țĮȚ İțșȑIJȘ IJȠ x. ȉȠ ȩȡȚıµĮ țĮȚ IJȠ ĮʌȠIJȑȜİıµĮ İȓȞĮȚ ʌȡĮȖµĮIJȚțȠȪ IJȪʌȠȣ.

frac ȂȠȡijȒ: frac(x:real):real ǼȞȑȡȖİȚĮ: ǼʌȚıIJȡȑijİȚ IJo įİțĮįȚțȩ µȑȡȠȢ IJȠȣ x. ȉȠ x țĮȚ IJȠ ĮʌȠIJȑȜİıµĮ İȓȞĮȚ ʌȡĮȖµĮIJȚțȠȪ IJȪʌȠȣ. ǿıȤȪİȚ Ș ıȤȑıȘ: frac(x) = x-int(x)

int ȂȠȡijȒ: int(x:real):real ǼȞȑȡȖİȚĮ: ǼʌȚıIJȡȑijİȚ IJo ĮțȑȡĮȚȠ µȑȡȠȢ IJȠȣ x. ȉȠ x țĮȚ IJȠ ĮʌȠIJȑȜİıµĮ İȓȞĮȚ ʌȡĮȖµĮIJȚțȠȪ IJȪʌȠȣ.

ln ȂȠȡijȒ: ln(x:real):real ǼȞȑȡȖİȚĮ: ǼʌȚıIJȡȑijİȚ IJo ijȣıȚțȩ ȜȠȖȐȡȚșµȠ IJȠȣ x. ȉȠ x İȓȞĮȚ ȑȞĮȢ șİIJȚțȩȢ ʌȡĮȖµĮIJȚțȩȢ ĮȡȚșµȩȢ.

pi ȂȠȡijȒ: pi:real. ǼȞȑȡȖİȚĮ: ǼȓȞĮȚ µȚĮ ıȣȞȐȡIJȘıȘ ȤȦȡȓȢ ȩȡȚıµĮ țĮȚ İʌȚıIJȡȑijİȚ IJȠ ȖȞȦıIJȩ ĮȡȚșµȩ ʌ=3.141592653……..

random ȂȠȡijȒ: random:real Ȓ random(x:word):word ǼȞȑȡȖİȚĮ: ǹȞ įȠșİȓ ȤȦȡȓȢ ȩȡȚıµĮ, İʌȚıIJȡȑijİȚ ȑȞĮ IJȣȤĮȓȠ ĮȡȚșµȩ ʌȡĮȖµĮIJȚțȠȪ IJȪʌȠȣ µİIJĮȟȪ 0 țĮȚ 1. ǹȞ įȠșİȓ µİ ȩȡȚıµĮ, IJȩIJİ İʌȚıIJȡȑijİȚ ȑȞĮ IJȣȤĮȓȠ ĮȡȚșµȩ ĮțȑȡĮȚȠȣ IJȪʌȠȣ ıIJȠ įȚȐıIJȘµĮ [0, x).


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal - 36 -

round ȂȠȡijȒ: rȠund(x:real):longint ǼȞȑȡȖİȚĮ: ȈIJȡȠȖȖȣȜȠʌȠȚİȓ µȚĮ IJȚµȒ ʌȡĮȖµĮIJȚțȠȪ IJȪʌȠȣ ıİ µȚĮ IJȚµȒ ĮțȑȡĮȚȠȣ IJȪʌȠȣ.

sin ȂȠȡijȒ: sin(x:real):real ǼȞȑȡȖİȚĮ: ǼʌȚıIJȡȑijİȚ IJȠ ȘµȓIJȠȞȠ IJȠȣ IJȩȟȠȣ x, ȩIJĮȞ ĮȣIJȩ İțijȡȐȗİIJĮȚ ıİ ĮțIJȓȞȚĮ.

sqr ȂȠȡijȒ: sqr(x:real):real Ȓ sqr(x:integer):integer ǼȞȑȡȖİȚĮ: EʌȚıIJȡȑijİȚ IJȠ IJİIJȡȐȖȦȞȠ IJȠȣ ĮȡȚșµȠȪ x. ȉȠ ĮʌȠIJȑȜİıµĮ İȓȞĮȚ ȓįȚȠȣ IJȪʌȠȣ µİ IJȠ x.

sqrt ȂȠȡijȒ: sqrt(x:real):real ǼȞȑȡȖİȚĮ: EʌȚıIJȡȑijİȚ IJȘȞ IJİIJȡĮȖȦȞȚțȒ ȡȓȗĮ IJȠȣ ĮȡȚșµȠȪ x. ȉȠ ĮʌȠIJȑȜİıµĮ İȓȞĮȚ ʌȡĮȖµĮIJȚțȠȪ IJȪʌȠȣ.

trunc MȠȡijȒ: trunc(x:real):integer ǼȞȑȡȖİȚĮ: ǹʌȠțȩʌIJİȚ IJĮ įİțĮįȚțȐ ȥȘijȓĮ µȚĮȢ IJȚµȒȢ İȞȩȢ ʌȡĮȖµĮIJȚțȠȪ IJȪʌȠȣ țĮȚ İʌȚıIJȡȑijİȚ µȚĮ IJȚµȒ ĮțȑȡĮȚȠȣ IJȪʌȠȣ.

12.4. ȈȣȞĮȡIJȒıİȚȢ ȂİIJĮIJȡȠʌȒȢ țĮȚ ǻȚȐIJĮȟȘȢ chr ȂȠȡijȒ: chr(x:integer):char ǼȞȑȡȖİȚĮ: ǼʌȚıIJȡȑijİȚ IJȠȞ ASCII ȤĮȡĮțIJȒȡĮ ʌȠȣ ĮȞIJȚıIJȠȚȤİȓ ıIJȠȞ ĮțȑȡĮȚȠ ĮȡȚșµȩ x. To ȩȡȚıµĮ x ʌĮȓȡȞİȚ IJȚµȑȢ Įʌȩ 0 ȑȦȢ țĮȚ 255.

ord ȂȠȡijȒ: ord(x:char):integer Ȓ ord(x:scalar):integer ǼȞȑȡȖİȚĮ: ǼʌȚıIJȡȑijİȚ IJȘ șȑıȘ IJȠȣ ȤĮȡĮțIJȒȡĮ x ıIJȠȞ ASCII țȫįȚțĮ Ȓ IJȘ șȑıȘ İȞȩȢ ıIJȠȚȤİȓȠȣ x İȞȩȢ ȕĮșµȦIJȠȪ IJȪʌȠȣ. Ǿ ıȣȞȐȡIJȘıȘ ĮȣIJȒ İȓȞĮȚ ĮȞIJȓıIJȡȠijȘ IJȘȢ chr.

odd ȂȠȡijȒ: odd(x:longint):boolean ǼȞȑȡȖİȚĮ: ǼʌȚıIJȡȑijİȚ IJȘȞ IJȚµȒ true, ĮȞ IJȠ ȩȡȚıµĮ İȓȞĮȚ ʌİȡȚIJIJȩȢ, țĮȚ false, ĮȞ İȓȞĮȚ ȐȡIJȚȠȢ. ȉȠ ȩȡȚıµĮ İȓȞĮȚ ĮțȑȡĮȚȠȣ IJȪʌȠȣ (longint [-2147483648,+2147483647]).

pred ȂȠȡijȒ: pred(x:scalar):scalar. ǼȞȑȡȖİȚĮ: ǼʌȚıIJȡȑijİȚ IJȠ ʌȡȠȘȖȠȪµİȞȠ IJȠȣ ȠȡȓıµĮIJȠȢ. ȉȠ ȩȡȚıµĮ ʌȡȑʌİȚ ȞĮ İȓȞĮȚ IJȪʌȠȣ ıIJȠȞ ȠʌȠȓȠ ȞĮ ȠȡȓȗİIJĮȚ įȚȐIJĮȟȘ. ȉȠ ĮʌȠIJȑȜİıµĮ İȓȞĮȚ ȓįȚȠȣ IJȪʌȠȣ µİ IJȠ ȩȡȚıµĮ.


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal - 37 -

succ ȂȠȡijȒ: succ(x:scalar):scalar. ǼȞȑȡȖİȚĮ: ǼʌȚıIJȡȑijİȚ IJȠ İʌȩµİȞȠ ıIJȠȚȤİȓȠ IJȠȣ ȠȡȓıµĮIJȠȢ. ȉȠ ȩȡȚıµĮ ʌȡȑʌİȚ ȞĮ İȓȞĮȚ IJȪʌȠȣ ıIJȠȞ ȠʌȠȓȠ ȞĮ ȠȡȓȗİIJĮȚ įȚȐIJĮȟȘ. ȉȠ ĮʌȠIJȑȜİıµĮ İȓȞĮȚ ȓįȚȠȣ IJȪʌȠȣ µİ IJȠ ȩȡȚıµĮ.

12.5. ǻȚĮįȚțĮıȓİȢ-ȈȣȞĮȡIJȒıİȚȢ ȋİȚȡȚıµȠȪ ȅșȩȞȘȢ īȚĮ ȞĮ ȜİȚIJȠȣȡȖȒıȠȣȞ ıIJȘȞ Turbo Pascal ȠȚ įȚĮįȚțĮıȓİȢ țĮȚ ȠȚ ıȣȞĮȡIJȒıİȚȢ ȤİȚȡȚıµȠȪ ȠșȩȞȘȢ, ʌȡȑʌİȚ ȞĮ ݵijĮȞȓȗİIJĮȚ Ș įȒȜȦıȘ uses crt ȖȚĮ IJȚȢ İțįȩıİȚȢ ıİ ʌİȡȚȕȐȜȜȠȞ MS-DOS Ȓ uses wincrt ıİ ʌİȡȚȕȐȜȜȠȞ WINDOWS, ĮµȑıȦȢ µİIJȐ IJȘȞ İʌȚțİijĮȜȓįĮ IJȠȣ ʌȡȠȖȡȐµµĮIJȠȢ. Ǿ įȒȜȦıȘ ĮȣIJȒ įȓȞİȚ ȠįȘȖȓİȢ ıIJȠȞ compiler ȖȚĮ IJȘȞ İȞıȦµȐIJȦıȘ µȚĮȢ İȞȩIJȘIJĮȢ ʌȠȣ ĮȞĮȖȞȦȡȓȗİȚ IJȚȢ įȚĮįȚțĮıȓİȢ țĮȚ ıȣȞĮȡIJȒıİȚȢ ȤİȚȡȚıµȠȪ ȠșȩȞȘȢ. ȂİȡȚțȑȢ Įʌȩ IJȚȢ ȕĮıȚțȑȢ įȚĮįȚțĮıȓİȢ țĮȚ ıȣȞĮȡIJȒıİȚȢ ȤİȚȡȚıµȠȪ IJȘȢ ȠșȩȞȘȢ ʌĮȡȠȣıȚȐȗȠȞIJĮȚ ʌĮȡĮțȐIJȦ. clrscr ȂȠȡijȒ: clrscr (įȚĮįȚțĮıȓĮ). ǼȞȑȡȖİȚĮ: KĮșĮȡȓȗİȚ IJȘȞ ȠșȩȞȘ țĮȚ IJȠʌȠșİIJİȓ IJȠ įȡȠµȑĮ ıIJȘȞ ȐȞȦ ĮȡȚıIJİȡȒ ȖȦȞȓĮ. gotoxy ȂȠȡijȒ: gotoxy (m,n:byte) (įȚĮįȚțĮıȓĮ). ǼȞȑȡȖİȚĮ: ȉȠʌȠșİIJİȓ IJȠ įȡȠµȑĮ ıIJȘ ıIJȒȜȘ m țĮȚ ıIJȘ ȖȡĮµµȒ n IJȘȢ ȠșȩȞȘȢ Ȓ IJȠȣ İȞİȡȖȠʌȠȚȘµȑȞȠȣ ʌĮȡȐșȣȡȠȣ (window). Ǿ İʌȩµİȞȘ įȚĮįȚțĮıȓĮ İȚıȩįȠȣ Ȓ İȟȩįȠȣ ʌȠȣ ĮijȠȡȐ IJȘȞ ȠșȩȞȘ șĮ ȖȓȞİȚ ıIJȘ ıIJȒȜȘ m țĮȚ ıIJȘ ȖȡĮµµȒ n. keypressed ȂȠȡijȒ: keypressed:boolean (ıȣȞȐȡIJȘıȘ). ǼȞȑȡȖİȚĮ: ǼʌȚıIJȡȑijİȚ IJȘȞ IJȚµȒ true, ĮȞ ȑȤİȚ ʌĮIJȘșİȓ ʌȜȒțIJȡȠ, ĮȜȜȚȫȢ İʌȚıIJȡȑijİȚ false. readkey ȂȠȡijȒ: readkey:char (ıȣȞȐȡIJȘıȘ). ǼȞȑȡȖİȚĮ: EʌȚıIJȡȑijİȚ ȑȞĮ ȤĮȡĮțIJȒȡĮ ʌȠȣ įȚĮȕȐȗİȚ Įʌȩ IJȠ ʌȜȘțIJȡȠȜȩȖȚȠ ȤȦȡȓȢ ĮȣIJȩȢ ȞĮ ݵijĮȞȓȗİIJĮȚ ıIJȘȞ ȠșȩȞȘ.

13. īǼȃǿȀǼȈ ǹȈȀǾȈǼǿȈ 1. ȅ ȣʌȠȜȠȖȚıµȩȢ IJȘȢ IJȚµȒȢ IJȠȣ ȘµȓIJȠȞȠȣ İȞȩȢ IJȩȟȠȣ x (ȩIJĮȞ ĮȣIJȩ µİIJȡȐIJĮȚ ıİ ĮțIJȓȞȚĮ) įȓȞİIJĮȚ Įʌȩ IJȠ ȐșȡȠȚıµĮ IJȘȢ ıİȚȡȐȢ:

Șµ ( x)

x

x3 x5 x7 ... 3! 5! 7!

¦ ( 1) n 0

n

(

x 2 n 1 ) (2n 1)!

ȃĮ ȖȡȐȥİIJİ ʌȡȩȖȡĮµµĮ ʌȠȣ ȞĮ įȚĮȕȐȗİȚ IJȘȞ IJȚµȒ IJȠȣ IJȩȟȠȣ ıİ µȠȓȡİȢ țĮȚ ȞĮ ȣʌȠȜȠȖȓȗİȚ IJȠ ȘµȓIJȠȞȠ IJȠȣ IJȩȟȠȣ ĮȣIJȠȪ. ȊʌȠįİȓȟİȚȢ Į. Ǿ įȚĮįȚțĮıȓĮ ıIJĮµĮIJȐ ȩIJĮȞ Ș įȚĮijȠȡȐ įȪȠ įȚĮįȠȤȚțȫȞ ȣʌȠȜȠȖȚıµȫȞ IJȠȣ ȘµȓIJȠȞȠȣ İȓȞĮȚ µȚțȡȩIJİȡȘ Įʌȩ 0.00001. ȕ. ȃĮ ȤȡȘıȚµȠʌȠȚȒıİIJİ ıȣȞĮȡIJȒıİȚȢ ȖȚĮ IJȠȞ ȣʌȠȜȠȖȚıµȩ IJȠȣ ʌĮȡĮȖȠȞIJȚțȠȪ țĮȚ IJȘȢ µİIJĮIJȡȠʌȒȢ İȞȩȢ IJȩȟȠȣ Įʌȩ µȠȓȡİȢ ıİ ĮțIJȓȞȚĮ. ȅ IJȪʌȠȢ µİIJĮIJȡȠʌȒȢ İȓȞĮȚ:

ĮțIJȓȞȚĮ ʌ

µȠȓȡİȢ 180

ȩʌȠȣ ʌ=3.14 2. Ȃİ ȤȡȒıȘ IJȦȞ ȑIJȠȚµȦȞ ıȣȞĮȡIJȒıİȦȞ ln țĮȚ exp ȞĮ ȖȡȐȥİIJİ ȑȞĮ ʌȡȩȖȡĮµµĮ IJȠ ȠʌȠȓȠ ȞĮ įȚĮȕȐȗİȚ IJȘ ȕȐıȘ țĮȚ IJȠȞ İțșȑIJȘ µȚĮȢ įȪȞĮµȘȢ țĮȚ ȞĮ țĮȜİȓ µȓĮ ıȣȞȐȡIJȘıȘ ȣʌȠȜȠȖȚıµȠȪ įȪȞĮµȘȢ ʌȠȣ Ș ȕȐıȘ țĮȚ Ƞ İțșȑIJȘȢ ȞĮ İȓȞĮȚ ʌȡĮȖµĮIJȚțȠȓ ĮȡȚșµȠȓ. 3. ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮµµĮ IJȠ ȠʌȠȓȠ ȞĮ įȚĮȕȐȗİȚ µȓĮ ĮȜijĮȡȚșµȘIJȚțȒ µİIJĮȕȜȘIJȒ țĮȚ IJȘȞ țȡȣʌIJȠȖȡĮijİȓ ıȪµijȦȞĮ µİ IJȠȞ ʌĮȡĮțȐIJȦ țȫįȚțĮ. ȀȐșİ ȤĮȡĮțIJȒȡĮȢ IJȘȢ µİIJĮȕȜȘIJȒȢ ĮȞIJȚțĮșȓıIJĮIJĮȚ µİ ȑȞĮȞ ȐȜȜȠ. Ǿ ĮȞIJȚıIJȠȚ-


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal - 38 -

ȤȓĮ ĮȣIJȒ ȣʌȐȡȤİȚ ıİ įȪȠ ȕȠȘșȘIJȚțȑȢ ĮȜijĮȡȚșµȘIJȚțȑȢ µİIJĮȕȜȘIJȑȢ ȖȚĮ ʌĮȡȐįİȚȖµĮ ĮȞ ȠȚ ĮȞIJȓıIJȠȚȤİȢ ıİȚȡȑȢ țȦįȚțȠʌȠȓȘıȘȢ İȓȞĮȚ ȠȚ ʌĮȡĮțȐIJȦ IJȩIJİ Ș ȜȑȟȘ ȃǼȇȅ șĮ țȦįȚțȠʌȠȚȘșİȓ ȦȢ ǽȉȌȆ ǹ Ǻ ī ǻ Ǽ ǽ Ǿ Ĭ ǿ Ȁ ȁ Ȃ ȃ Ȅ ȅ Ȇ ȇ Ȉ ȉ Ȋ ĭ ȋ Ȍ ȍ ĭ Ȃ Ǽ ȇ ȉ Ȁ ǻ ǿ Ǽ ȁ ȃ ǹ ǽ ȅ Ȇ Ȍ Ĭ ȋ Ǻ ī Ȉ ȍ Ǿ Ȅ ȃĮ ȤȡȘıȚµȠʌȠȚȘșȠȪȞ įȪȠ įȚĮįȚțĮıȓİȢ Ȓ ıȣȞĮȡIJȒıİȚȢ ȖȚĮ țȡȣʌIJȠȖȡȐijȘıȘ țĮȚ ĮʌȠțȡȣʌIJȠȖȡȐijȘıȘ. 4. ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮµµĮ ȣʌȠȜȠȖȚıµȠȪ IJȠȣ ijȩȡȠȣ İȚıȠįȒµĮIJȠȢ µİ ȕȐıȘ IJȘȞ țȜȓµĮțĮ ijȠȡȠȜȠȖȓĮȢ İȚıȠįȒµĮIJȠȢ Ș ȠʌȠȓĮ ȖȚĮ IJȠ ȠȚțȠȞȠµȚțȩ ȑIJȠȢ 1997 ʌĮȡȠȣıȚȐȗİIJĮȚ ıIJȠȞ ʌĮȡĮțȐIJȦ ʌȓȞĮțĮ: ȀȜȚµȐțȚȠ İȚıȠįȒµĮIJȠȢ

ĭȠȡȠȜȠȖȚțȩȢ ıȣȞIJİȜİıIJȒȢ

ĭȩȡȠȢ țȜȚµĮțȓȠȣ

ȈȪȞȠȜȠ İȚıȠįȒµĮIJȠȢ

ȈȪȞȠȜȠ ijȩȡȠȣ

1.000.000

0

0

1.000.000

0

1.500.000

5

75.000

2.500.000

75.000

1.500.500

15

225.000

4.000.000

300.000

3.000.000

30

900.000

7.000.000

1.200.000

8.000.000

40

3.200.000

15.000.000

4.200.000

ȊʌİȡȕȐȜȜȠȞ

45

ȉȠ ʌȡȩȖȡĮµµĮ ȞĮ įȚĮȕȐȗİȚ IJȠ ijȠȡȠȜȠȖȘIJȑȠ ʌȠıȩ Įʌȩ IJȘȞ ȠșȩȞȘ, ȞĮ țĮȜİȓ µȓĮ ıȣȞȐȡIJȘıȘ Ȓ µȚĮ įȚĮįȚțĮıȓĮ ȖȚĮ IJȠȞ ȣʌȠȜȠȖȚıµȩ IJȠȣ ijȩȡȠȣ țĮȚ ȞĮ ݵijĮȞȓȗİȚ IJȠ ĮʌȠIJȑȜİıµĮ ıIJȘȞ ȠșȩȞȘ. 5. ȃĮ ıȤİįȚĮıIJİȓ țĮȚ ȞĮ ȖȡĮijİȓ ʌȡȩȖȡĮµµĮ µȚıșȠįȠıȓĮȢ IJȠ ȠʌȠȓȠ ȞĮ įȚĮȕȐȗİȚ IJȠ ʌȜȒșȠȢ IJȦȞ İȡȖĮȗȠµȑȞȦȞ țĮȚ ȞĮ İʌĮȞĮȜĮµȕȐȞİȚ ȖȚĮ țĮșȑȞĮ IJȚȢ ʌĮȡĮțȐIJȦ įȚĮįȚțĮıȓİȢ: 1. ǼȚıĮȖȦȖȒȢ ıIJȠȚȤİȓȦȞ. x ȅȞȠµĮIJİʌȫȞȣµȠ İȡȖĮȗȠµȑȞȠȣ. x ǺĮıȚțȩȢ µȚıșȩȢ. 2. ȊʌȠȜȠȖȚıµȫȞ. x ȀȡĮIJȒıİȦȞ İȡȖĮȗȠµȑȞȠȣ. ǿȀǹ. ȋǹȇȉȅȈǾȂȅȊ. ĭȅȇȅȊ. x ȈȣȞȩȜȠȣ țȡĮIJȒıİȦȞ İȡȖĮȗȠµȑȞȠȣ x ȀĮșĮȡoȪ ʌȜȘȡȦIJȑȠȣ ȖȚĮ IJȠȞ İȡȖĮȗȩµİȞȠ 3. ǼțIJȪʌȦıȘȢ. x ȈȪµijȦȞĮ µİ IJȠ ȣʌȩįİȚȖµĮ:

-------------------------------------------------------------------+ |Į/Į¦ȅȃȅȂǹȉǼȆȍȃȊȂȅ¦ ǺǹȈ.ȂǿȈĬȅȈ¦ ǿȀǹ¦ ȋȇȉ¦ ĭȅȇȅȈ¦ȀȇǹȉǾȈǼǿȈ ¦ ȀǹĬǹȇȅ | ¦---+-------------+-----------+----+----+------+----------+--------+---+-------------+-----------+----+----+------+----------+--------+ ¦ 3 |șȑıİȚȢ 30 ¦ 10 ¦ 4 ¦ 4 ¦ 6 ¦ 9 ¦ 9 ¦

ȊʌȠįİȓȟİȚȢ ȊʌȠȜȠȖȚıµȠȓ țȡĮIJȒıİȦȞ İȡȖĮȗȠµȑȞȠȣ: ǿȀǹ: ȊʌȠȜȠȖȓȗİIJĮȚ µİ ʌȠıȠıIJȩ ıIJȠ ȕĮıȚțȩ µȚıșȩ. ȋǹȇȉȅȈǾȂȅ: ȊʌȠȜȠȖȓȗİIJĮȚ µİ ʌȠıȠıIJȩ ıIJȠ ȕĮıȚțȩ µȚıșȩ. ĭȅȇȅȁȅīǾȉǼȅ ȆȅȈȅ = ǺĮıȚțȩȢ µȚıșȩȢ -(ǿȀǹ+ȋǹȇȉȅȈǾȂȅ). ȆȠıȠıIJȐ țȡĮIJȒıİȦȞ İȡȖĮȗȠµȑȞȠȣ: 1. ǿȀǹ 15.9%. 2. ȋǹȇȉȅȈǾȂȅ 0.6%. īȚĮ IJȠȞ ȣʌȠȜȠȖȚıµȩ IJȠȣ ijȩȡȠȣ IJȠ ijȠȡȠȜȠȖȘIJȑȠ ʌȠȜȜĮʌȜĮıȚȐȗİIJĮȚ µİ IJȠ ĮȡȚșµȩ 14 ȖȚĮ ȞĮ ĮȞĮȤșȠȪȞ ȠȚ ĮʌȠįȠȤȑȢ ıİ İIJȒıȚĮ ȕȐıȘ ȤȡȘıȚµȠʌȠȚİȓIJĮȚ Ƞ ʌȓȞĮțĮȢ ȣʌȠȜȠȖȚıµȠȪ ijȩȡȠȣ İȚıȠįȒµĮIJȠȢ IJȘȢ ʌȡȠȘȖȠȪµİȞȘȢ ȐıțȘıȘȢ. ȅ ȣʌȠȜȠȖȚȗȩµİȞȠȢ ijȩȡȠȢ Įʌȩ IJȠȞ ʌȓȞĮțĮ įȚĮȚȡİȓIJĮȚ µİ IJȠ 14 ȖȚĮ ȞĮ ĮȞĮȤșİȓ ıİ µȘȞȚĮȓĮ ȕȐıȘ. 6. ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮµµĮ įȘµȚȠȣȡȖȓĮȢ İȞȩȢ țĮIJĮȜȩȖȠȣ ıİ ʌȓȞĮțĮ, ıIJȠȞ ȠʌȠȓȠ ȞĮ țĮIJĮȤȦȡȠȪȞIJĮȚ ıIJȠȚȤİȓĮ İʌȫȞȣµȠ, ȩȞȠµĮ, įȚİȪșȣȞıȘ țĮIJȠȚțȓĮȢ țĮȚ IJȘȜȑijȦȞȠ. ȈIJȘ ıȣȞȑȤİȚĮ, ȞĮ ȖȓȞİIJĮȚ ĮȞĮȗȒIJȘıȘ, įȘȜĮįȒ Ƞ ȤȡȒ-


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal - 39 -

ıIJȘȢ ȞĮ įȓȞİȚ ȑȞĮ İʌȫȞȣµȠ țĮȚ IJȠ ʌȡȩȖȡĮµµĮ ȞĮ ĮȞĮȗȘIJȐ ıIJȠȞ țĮIJȐȜȠȖȠ țĮȚ ȞĮ ݵijĮȞȓȗİȚ ıIJȘȞ ȠșȩȞȘ ȩȜĮ IJĮ ıIJȠȚȤİȓĮ IJȠȣ İʌȦȞȪµȠȣ ʌȠȣ șĮ ȕȡİȚ. ǼȐȞ įİȞ ȣʌȐȡȤİȚ, ȞĮ ݵijĮȞȓȗİIJĮȚ țĮIJȐȜȜȘȜȠ µȒȞȣµĮ. ǹȞ ȣʌȐȡȤȠȣȞ ʌİȡȚııȩIJİȡĮ IJȠȣ İȞȩȢ İʌȫȞȣµĮ IJȩIJİ ȞĮ IJĮ ݵijĮȞȓȗİȚ ȩȜĮ. 7. ǻȓȞİIJĮȚ ĮȡȤİȓȠ IJȠ ȠʌȠȓȠ ȑȤİȚ İȖȖȡĮijȑȢ µİ IJȘȞ İȟȒȢ įȠµȒ:

Code Eponymo Onoma Mistos

: : : :

integer; string[30]; string[20]; real;

{țȦįȚțȩȢ İȡȖĮȗȠµȑȞȠȣ} {İʌȫȞȣµȠ} {ȩȞȠµĮ} {µȚıșȩȢ}

ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮµµĮ įȘµȚȠȣȡȖȓĮȢ IJȠȣ ʌĮȡĮʌȐȞȦ ĮȡȤİȓȠȣ țĮȚ ȞĮ ȖȓȞİȚ İȚıĮȖȦȖȒ µİȡȚțȫȞ İȖȖȡĮijȫȞ. 8. ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮµµĮ IJȠ ȠʌȠȓȠ ȞĮ įȚĮȕȐȗİȚ IJȠ ĮȡȤİȓȠ IJȠ ȠʌȠȓȠ įȘµȚȠȣȡȖȒșȘțİ µİ IJȘȞ ʌȡȠȘȖȠȪµİȞȘ ȐıțȘıȘ țĮȚ ȞĮ ĮʌȠșȘțİȪİȚ IJȚȢ İȖȖȡĮijȑȢ IJȠȣ ıİ ȑȞĮ ʌȓȞĮțĮ ıIJȘ µȞȒµȘ, Ƞ ȠʌȠȓȠȢ ȞĮ ȑȤİȚ IJȘȞ ȓįȚĮ įȠµȒ İȖȖȡĮijȒȢ. ȈIJȘ ıȣȞȑȤİȚĮ ȞĮ IJĮȟȚȞȠµİȓ IJȠȞ ʌȓȞĮțĮ țĮIJȐ IJȘȞ ĮȪȟȠȣıĮ ıİȚȡȐ IJȠȣ țȦįȚțȠȪ țĮȚ ȞĮ ݵijĮȞȓȗİȚ IJĮ ĮʌȠIJİȜȑıµĮIJĮ ıIJȘȞ ȠșȩȞȘ. ȊʌȩįİȚȟȘ ȅ ʌȓȞĮțĮȢ ȞĮ ȑȤİȚ įȚĮıIJȐıİȚȢ țĮIJȐȜȜȘȜİȢ ȫıIJİ ȞĮ µʌȠȡİȓ ȞĮ ĮʌȠșȘțİȪıİȚ IJȚȢ İȖȖȡĮijȑȢ IJȠȣ ĮȡȤİȓȠȣ. 9. DzȞĮ ĮȡȤİȓȠ ȕȚȕȜȓȦȞ įĮȞİȚıIJȚțȒȢ ȕȚȕȜȚȠșȒțȘȢ ȑȤİȚ IJȘȞ İȟȒȢ įȠµȒ: 1. țȦįȚțȩȢ ȕȚȕȜȓȠȣ (1-1000) 2. IJȓIJȜȠȢ ȕȚȕȜȓȠȣ (40 ȤĮȡĮțIJȒȡİȢ) 3. țȦįȚțȩȢ įĮȞİȚȗȠµȑȞȠȣ (1-1000) 4. ȘµİȡȠµȘȞȓĮ įĮȞİȚıµȠȪ µİ ĮȞȐȜȣıȘ ȑIJȠȢ µȒȞĮȢ ȘµȑȡĮ ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮµµĮ ʌȠȣ ȞĮ ʌİȡȚȑȤİȚ įȚĮįȚțĮıȓİȢ: Į. ǼȚıĮȖȦȖȒ ȞȑȦȞ ȕȚȕȜȓȦȞ. ȕ. ǼȞȘµȑȡȦıȘȢ įĮȞİȚıµȠȪ ȕȚȕȜȓȠȣ. Ȗ. ǼȞȘµȑȡȦıȘȢ İʌȚıIJȡȠijȒȢ ȕȚȕȜȓȠȣ. ȀĮIJȐ IJȘȞ İʌȚıIJȡȠijȒ Ƞ țȦįȚțȩȢ IJȠȣ įĮȞİȚȗȠµȑȞȠȣ ʌĮȓȡȞİȚ IJȚµȒ µȘįȑȞ. Ǿ ȘµİȡȠµȘȞȓĮ įĮȞİȚıµȠȪ ʌĮȡĮµȑȞİȚ, ȖȚĮ ȞĮ ȤȡȘıȚµȠʌȠȚȘșİȓ ıIJȠȞ ȑȜİȖȤȠ țȓȞȘıȘȢ IJȦȞ ȕȚȕȜȓȦȞ. į. ǼțIJȪʌȦıȘȢ țĮIJĮıIJȐıİȦȞ: ȉȦȞ ȕȚȕȜȓȦȞ ʌȠȣ ȑȤȠȣȞ įĮȞİȚıșİȓ ʌȡȚȞ Įʌȩ 15 ȘµȑȡİȢ. ȉȦȞ ȕȚȕȜȓȦȞ ʌȠȣ įİȞ ȑȤȠȣȞ įĮȞİȚıșİȓ ȖȚĮ ȤȡȠȞȚțȩ įȚȐıIJȘµĮ ʌİȡȚııȩIJİȡȠ Įʌȩ 4 µȒȞİȢ. ȊʌȩįİȚȟȘ: ȃĮ ȤȡȘıȚµȠʌȠȚȘșİȓ ıȣȞȐȡIJȘıȘ ĮijĮȓȡİıȘȢ ȘµİȡȠµȘȞȚȫȞ. 10. ȂȓĮ ݵʌȠȡȚțȒ İIJĮȚȡİȓĮ țĮIJĮȤȦȡİȓ ıİ ĮȡȤİȓȠ țȚȞȒıİȦȞ IJȚȢ ʌȦȜȒıİȚȢ IJȦȞ ݵʌȠȡİȣµȐIJȦȞ IJȘȢ țĮIJȐ µȒȞĮ. ȀȐșİ İȖȖȡĮijȒ įȘȜȫȞİȚ µȚĮ ʌȫȜȘıȘ, Ș įİ IJȚµȒ µȠȞȐįĮȢ ʌȫȜȘıȘȢ İȞȩȢ ݵʌȠȡİȪµĮIJȠȢ įİȞ İȓȞĮȚ ıIJĮșİȡȒ. Ǿ įȠµȒ IJȘȢ İȖȖȡĮijȒȢ IJȠȣ ĮȡȤİȓȠȣ İȓȞĮȚ: 1. ȀȦįȚțȩȢ ʌȡȠȧȩȞIJȠȢ 2. ǾµİȡȠµȘȞȓĮ ʌȫȜȘıȘȢ ȘµȑȡĮ µȒȞĮȢ ȑIJȠȢ 3. ʌȠıȩIJȘIJĮ 4. IJȚµȒ µȠȞȐįĮȢ

ĮțȑȡĮȚȠȢ 3-ȥȒijȚȠȢ. ĮțȑȡĮȚȠȢ 1 ȑȦȢ 31 ĮțȑȡĮȚȠȢ 1 ȑȦȢ 12 ĮțȑȡĮȚȠȢ 4-ȥȒijȚȠȢ>1997 ĮțȑȡĮȚȠȢ 3-ȥȒijȚȠȢ ʌȡĮȖµĮIJȚțȩȢ 4 ĮțȑȡĮȚĮ 1 įİțĮįȚțȩ

Ȉİ ȑȞĮ ȐȜȜȠ ĮȡȤİȓȠ İȓȞĮȚ țĮIJĮȤȦȡȘµȑȞĮ IJĮ ȕĮıȚțȐ ıIJȠȚȤİȓĮ IJȦȞ ʌȡȠȧȩȞIJȦȞ. ȉȠ ĮȡȤİȓȠ ĮȣIJȩ ȑȤİȚ IJȘȞ ʌĮȡĮțȐIJȦ įȠµȒ: ȀȦįȚțȩȢ ʌȡȠȧȩȞIJȠȢ ȆİȡȚȖȡĮijȒ ʌȡȠȧȩȞIJȠȢ

ĮțȑȡĮȚȩȢ 3-ȥȒijȚȠȢ 50 ȤĮȡĮțIJȒȡİȢ

ǽȘIJİȓIJĮȚ ȞĮ ȖȡĮijİȓ ʌȡȩȖȡĮµµĮ ʌȠȣ ȞĮ: Į. ǻȘµȚȠȣȡȖİȓ țĮȚ İʌİțIJİȓȞİȚ țĮșȑȞĮ Įʌȩ IJĮ ʌĮȡĮʌȐȞȦ ĮȡȤİȓĮ. ȕ. ǼʌİȟİȡȖȐȗİIJĮȚ IJĮ ĮȡȤİȓĮ, ȣʌȠȜȠȖȓȗİȚ țĮȚ IJȣʌȫȞİȚ: ȕ.1 ȉȘ ıȣȞȠȜȚțȒ ʌȠıȩIJȘIJĮ țĮȚ ĮȟȓĮ ĮȞȐ ʌȡȠȧȩȞ ʌȠȣ ʌȦȜȒșȘțİ.


īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ Pascal - 40 -

ȕ.2 ȉȠ ʌȡȠȧȩȞ µİ IJȘ µİȖĮȜȪIJİȡȘ ıȣȞȠȜȚțȒ ĮȟȓĮ. ȕ.3 ȉȘ µȑıȘ ʌȠıȩIJȘIJĮ țĮȚ IJȘ µȑıȘ IJȚµȒ µȠȞȐįȠȢ ʌȫȜȘıȘȢ ĮȞȐ ʌȡȠȧȩȞ. ȕ.4 ȉȘ ıȣȞȠȜȚțȒ ĮȟȓĮ ʌȦȜȒıİȦȞ IJȠȣ µȘȞȩȢ. 11. Ȉİ ȑȞĮ ȞȠıȠțȠµİȓȠ ȣʌȐȡȤȠȣȞ 10 țȜȚȞȚțȑȢ. īȚĮ țȐșİ ĮıșİȞȒ ʌȠȣ İȚıȐȖİIJĮȚ țĮIJĮȤȦȡȠȪȞIJĮȚ IJĮ İȟȒȢ ıIJȠȚȤİȓĮ: 1. ȅȞȠµĮIJİʌȫȞȣµȠ ĮıșİȞȠȪȢ 2. ĭȪȜȠ ĮıșİȞȠȪȢ 3. ȀȦįȚțȩȢ țȜȚȞȚțȒȢ 4. ȀȦįȚțȩȢ ĮıșȑȞİȚĮȢ 5. ǾµİȡȠµȘȞȓĮ İȚıĮȖȦȖȒȢ ȘµȑȡĮ µȒȞĮȢ ȑIJȠȢ 6. ǾµİȡȠµȘȞȓĮ İȟĮȖȦȖȒȢ ȘµȑȡĮ µȒȞĮȢ ȑIJȠȢ ȅȚ ȠȞȠµĮıȓİȢ IJȦȞ țȜȚȞȚțȫȞ țĮȚ IJȦȞ ĮıșİȞİȚȫȞ ȑȤȠȣȞ țĮIJĮȤȦȡȘșİȓ ıİ ȕȠȘșȘIJȚțȐ ĮȡȤİȓĮ țĮȚ ʌİȡȚȑȤȠȣȞ IJȠȞ țȦįȚțȩ țĮȚ IJȘȞ ĮȞIJȓıIJȠȚȤȘ ʌİȡȚȖȡĮijȒ. ǽȘIJİȓIJĮȚ: ȃĮ ȠȡȓıİIJİ ĮțȡȚȕȫȢ IJȘ įȠµȒ țĮȚ ȠȡȖȐȞȦıȘ IJȦȞ ʌĮȡĮʌȐȞȦ ĮȡȤİȓȦȞ. ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮµµĮ ʌȠȣ ȞĮ İțIJİȜİȓ IJȚȢ ʌĮȡĮțȐIJȦ İȡȖĮıȓİȢ: i. ȃĮ įȘµȚȠȣȡȖİȓ țĮȚ ȞĮ İʌİțIJİȓȞİȚ IJĮ ʌĮȡĮʌȐȞȦ ĮȡȤİȓĮ. ii. ȃĮ İʌİȟİȡȖȐȗİIJĮȚ IJȠ ĮȡȤİȓȠ ĮıșİȞȫȞ ĮȣIJȩ țĮȚ ȞĮ IJȣʌȫȞİȚ: Į. ȈȪȞȠȜȠ ĮıșİȞȫȞ ȀȐșİ țȜȚȞȚțȒȢ ȅȜȩțȜȘȡȘȢ IJȘȢ ȞȠıȠțȠµİȚĮțȒ µȠȞȐįĮ. ȕ. ȈȪȞȠȜȠ ȘµİȡȫȞ ȞȠıȘȜİȓĮȢ ȀȐșİ țȜȚȞȚțȒȢ. ȅȜȩțȜȘȡȘȢ IJȘȢ ȞȠıȠțȠµİȚĮțȒȢ µȠȞȐįĮȢ. Ȗ. ȂȑıȠ ȤȡȩȞȠ ȞȠıȘȜİȓĮȢ IJȦȞ ıİ ȘµȑȡİȢ ȖȚĮ ȀȐșİ țȜȚȞȚțȒ. ȅȜȩțȜȘȡȘ IJȘ ȞȠıȠțȠµİȚĮțȒ µȠȞȐįĮ ȀȐșİ ijȪȜȠ. ȀȐșİ ĮıșȑȞİȚĮ. ȀȐșİ ĮıșȑȞİȚĮ țĮȚ țȐșİ ijȪȜȠ. ȊʌȩįİȚȟȘ ȉĮ ȕȠȘșȘIJȚțȐ ĮȡȤİȓĮ ĮȣIJȐ ȞĮ įȚĮȕĮıșȠȪȞ ıIJȘȞ ĮȡȤȒ IJȘȢ İʌİȟİȡȖĮıȓĮȢ țĮȚ IJĮ ıIJȠȚȤİȓĮ IJȠȣȢ ȞĮ ĮʌȠșȘțİȪȠȞIJĮȚ ıİ ʌȓȞĮțİȢ ıIJȘȞ țİȞIJȡȚțȒ µȞȒµȘ. ǵȜĮ IJĮ ĮȡȤİȓĮ ȞĮ İȓȞĮȚ ȐµİıȘȢ ʌȡȠıʌȑȜĮıȘȢ. ȆİȡȚʌIJȫıİȚȢ ĮıșİȞȠȪȢ ʌȠȣ İȚıȐȖİIJĮȚ ʌİȡȚııȩIJİȡİȢ Įʌȩ µȓĮ ijȠȡȑȢ șİȦȡȠȪȞIJĮȚ ȟİȤȦȡȚıIJȑȢ ʌİȡȚʌIJȫıİȚȢ. 12. ǻȓȞİIJĮȚ ĮȡȤİȓȠ µĮșȘIJȫȞ IJȠ ȠʌȠȓȠ ȑȤİȚ IJȘȞ ʌĮȡĮțȐIJȦ įȠµȒ:

ǹȡ. µȘIJȡȫȠȣ ǼʌȫȞȣµȠ ǵȞȠµĮ ȉȐȟȘ ȉİȜȚțȩ ȕĮșµȩȢ ȈȪȞȠȜȠ ĮʌȠȣıȚȫȞ

: : : : : :

integer string[40] string [20] char real integer

ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮµµĮ IJȠ ȠʌȠȓȠ ȞĮ įȚĮȕȐȗİȚ IJȠ ʌĮȡĮʌȐȞȦ ĮȡȤİȓȠ țĮȚ ȞĮ ĮȞIJȚȖȡȐijİȚ IJȚȢ İȖȖȡĮijȑȢ IJȠȣ ıİ ȑȞĮ ȐȜȜȠ ĮȡȤİȓȠ IJȠȣȢ µĮșȘIJȑȢ IJȘȢ IJȡȓIJȘȢ IJȐȟȘȢ ʌȠȣ ȑȤȠȣȞ IJİȜȚțȩ ȕĮșµȩ µİȖĮȜȪIJİȡȠ Ȓ ȓıȠ IJȠȣ 10 țĮȚ ıȪȞȠȜȠ ĮʌȠȣıȚȫȞ µȚțȡȩIJİȡȠ Ȓ ȓıȠ Įʌȩ 130. ȉȠȣȢ ȣʌȩȜȠȚʌȠȣȢ µĮșȘIJȑȢ ȠȚ ȠʌȠȓȠȚ ĮʌȑIJȣȤĮȞ ȞĮ IJȠȣȢ ȖȡȐijİȚ ıİ ȑȞĮ IJȡȓIJȠ ĮȡȤİȓȠ.


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.