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

Page 1

Ι.Ε.Κ. ΛΑΜΙΑ∑ ΕΙΔΙΚΟ∑ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗ∑

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

Αθανάσιος Ε. Κουτσονικόλας Λαμία 2001



1

1. ȈȊȃȉȅȂǾ ǼǿȈǹīȍīǾ Ȉȉȅȃ ȆȇȅīȇǹȂȂǹȉǿȈȂȅ 1.1 ȆȡȩȕȜȘȝĮ & ǹȜȖȩȡȚșȝȠȢ Ȉ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ȘȡȐ țĮșȠȡȚıȝȑȞȦȞ țĮȚ İțIJİȜȑıȚȝȦȞ ıİ ʌİʌİȡĮıȝȑȞȠ ȤȡȩȞȠ, ʌȠȣ ıIJȩȤȠ ȑȤȠȣȞ IJȘȞ İʌȓȜȣıȘ İȞȩȢ ʌȡȠȕȜȒȝĮIJȠȢ. Ǿ ĮȞĮʌĮȡȐıIJĮıȘ İȞȩȢ ĮȜȖȠȡȓșȝȠȣ ȝʌȠȡİȓ ȞĮ ȖȓȞİȚ ȝİ įȚȐijȠȡȠȣȢ IJȡȩʌȠȣȢ, ȠȚ ʌİȡȚııȩIJİȡȠ ȤȡȘıȚȝȠʌȠȚȠȪȝİȞȠȚ İȓȞĮȚ ȠȚ ʌĮȡĮțȐIJȦ: x

ĭȡĮıIJȚțȒ ȝȑșȠįȠȢ. ȈȪȝijȦȞĮ ȝİ IJȘ ȝȑșȠįȠ ĮȣIJȒ, ʌĮȡĮșȑIJȠȣȝİ IJȘȞ ȜȪıȘ IJȠȣ ʌȡȠȕȜȒȝĮIJȠȢ ȝİ ȝȠȡijȒ țĮIJĮȞȠȘIJȫȞ ʌȡȠIJȐıİȦȞ ıİ ijȣıȚțȒ ȖȜȫııĮ.

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Ƞ ȈȤȒȝĮ 1.1.

ǹȡȤȒ ȉȑȜȠȢ

ȈȣȞșȒțȘ

ǼțIJȑȜİıȘ ȆȡȐȟİȦȞ

ǼȓıȠįȠȢ DzȟȠįȠȢ

ȈȤȒȝĮ 1.1: ȈȤȒȝĮIJĮ IJȠȣ įȚĮȖȡȐȝȝĮIJȠȢ ȡȠȒȢ


2

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

x

ȌİȣįȠțȫįȚțĮȢ. ȆİȡȚȖȡȐijȠȣȝİ IJȘȞ ȜȪıȘ ȤȡȘıȚȝȠʌȠȚȫȞIJĮȢ ȝİȡȚțȑȢ IJȣʌȠʌȠȚȘȝȑȞİȢ ȜȑȟİȚȢ (İȞIJȠȜȑȢ ȝȚĮȢ ȥİȣįȠȖȜȫııĮȢ) ıȣȞȒșȦȢ ȡȒȝĮIJĮ ıİ ʌȡȠıIJĮțIJȚțȒ: ǻǿǹǺǹȈǼ, ȊȆȅȁȅīǿȈǼ, ǼȂĭǹȃǿȈǼ, ǼȆǹȃǹȁǹǺǼ ț.Ȝ.ʌ.

1.2 ȆȡȩȖȡĮȝȝĮ īȚĮ ȞĮ ȝʌȠȡȑıȠȣȝİ ȞĮ ȜȪıȠȣȝİ ȑȞĮ ʌȡȩȕȜȘȝĮ ȝİ IJȘ ȕȠȒșİȚĮ IJȠȣ ǾȜİțIJȡȠȞȚțȠȪ ȊʌȠȜȠȖȚıIJȒ (Ǿ/Ȋ), ʌȡȑʌİȚ ȞĮ țȦįȚțȠʌȠȚȒıȠȣȝİ IJȠȞ ĮȜȖȩȡȚșȝȠ İʌȓȜȣıȘȢ IJȠȣ ʌȡȠȕȜȒȝĮIJȠȢ ıİ țȐʌȠȚĮ ȖȜȫııĮ ʌȡȠȖȡĮȝȝĮIJȚıȝȠȪ. ȆȡȑʌİȚ įȘȜĮįȒ ȞĮ ȖȡȐȥȠȣȝİ IJĮ įȚĮįȠȤȚțȐ ȕȒȝĮIJĮ IJȠȣ ĮȜȖȠȡȓșȝȠȣ ȝİ IJȘ ȝȠȡijȒ ʌȡȠIJȐıİȦȞ ʌȠȣ ȜȑȖȠȞIJĮȚ İȞIJȠȜȑȢ. Ǿ įȚĮįȠȤȚțȒ ıİȚȡȐ İȞIJȠȜȫȞ ʌȠȣ ıIJȠ ıȪȞȠȜȠ IJȠȣȢ İʌȚȜȪȠȣȞ ȑȞĮ ʌȡȩȕȜȘȝĮ ȜȑȖİIJĮȚ ʌȡȩȖȡĮȝȝĮ (Program). ȀȐșİ ȖȜȫııĮ ʌȡȠȖȡĮȝȝĮIJȚıȝȠȪ įȚĮșȑIJİȚ ȑȞĮ ıȪȞȠȜȠ Įʌȩ ıȪȝȕȠȜĮ (ĮȜijȐȕȘIJȠ), ȑȞĮ ıȪȞȠȜȠ Įʌȩ ȜȑȟİȚȢ (ȜİȟȚȜȩȖȚȠ), ȑȞĮ ıȪȞȠȜȠ Įʌȩ ȖȡĮȝȝĮIJȚțȠȪȢ țĮȚ ıȣȞIJĮțIJȚțȠȪȢ țĮȞȩȞİȢ țĮșȫȢ țĮȚ ȑȞĮ ıȪȞȠȜȠ țĮȞȩȞȦȞ ʌȠȣ țĮșȠȡȓȗİȚ IJȠ ȞȩȘȝĮ IJȦȞ ȜȑȟİȦȞ țĮȚ țĮIJȐ İʌȑțIJĮıȘ IJȦȞ İțijȡȐıİȦȞ țĮȚ ʌȡȠIJȐıİȦȞ ʌȠȣ ȤȡȘıȚȝȠʌȠȚȠȪȞIJĮȚ (ıȘȝĮıȚȠȜȠȖȓĮ). īȜȫııİȢ ʌȡȠȖȡĮȝȝĮIJȚıȝȠȪ ȣʌȐȡȤȠȣȞ ʌȠȜȜȑȢ, ı'ĮȣIJȑȢ IJȚȢ ıȘȝİȚȫıİȚȢ İȝİȓȢ șĮ įȠȪȝİ IJĮ ȕĮıȚțȐ ıIJȠȚȤİȓĮ IJȘȢ ȖȜȫııĮȢ Pascal. ȉĮ ʌȡȠȖȡȐȝȝĮIJĮ ʌȠȣ ȖȡȐijȠȞIJĮȚ ıİ Pascal İȓȞĮȚ ȝȚĮ ıİȚȡȐ Įʌȩ İȞIJȠȜȑȢ IJĮ ȠȞȩȝĮIJĮ IJȦȞ ȠʌȠȓȦȞ İȓȞĮȚ, ıȣȞȒșȦȢ, ȑIJıȚ įȚĮȜİȖȝȑȞĮ ȫıIJİ ȞĮ ijĮȞİȡȫȞȠȣȞ IJȘȞ İȞȑȡȖİȚĮ IJȘȢ țȐșİ ȝȚĮȢ. īȚĮ ȞĮ ȖȡȐȥȠȣȝİ IJĮ ʌȡȠȖȡȐȝȝĮIJȐ ȝĮȢ, ȤȡȘıȚȝȠʌȠȚȠȪȝİ țȐʌȠȚȠ ıȣȞIJȐțIJȘ țİȚȝȑȞȠȣ (editor), ȑIJıȚ ʌĮȡȐȖȠȣȝİ ȑȞĮ ʌȡȩȖȡĮȝȝĮ ıİ ȝȠȡijȒ țİȚȝȑȞȠȣ ĮȞĮȖȞȦȡȓıȚȝȘ țĮȚ țĮIJĮȞȠȘIJȒ Įʌȩ IJȠȞ ȐȞșȡȦʌȠ. Ȉ'ĮȣIJȒ IJȘ ȝȠȡijȒ IJȠȣ, IJȠ ʌȡȩȖȡĮȝȝĮ ȜȑȖİIJĮȚ ʌȘȖĮȓȠ ʌȡȩȖȡĮȝȝĮ (source program). ǹʌȩ IJȘȞ ȐȜȜȘ, Ș țİȞIJȡȚțȒ ȝȠȞȐįĮ İʌİȟİȡȖĮıȓĮȢ IJȠȣ Ǿ/Ȋ ȝʌȠȡİȓ ȞĮ İțIJİȜȑıİȚ İȞIJȠȜȑȢ ıİ įȣĮįȚțȒ ȝȠȡijȒ (ȖȜȫııĮ ȝȘȤĮȞȒȢ). ǹȣIJȩ ıȘȝĮȓȞİȚ ȩIJȚ ȑȞĮ ʌȡȩȖȡĮȝȝĮ ȖȡĮȝȝȑȞȠ ıİ Pascal, ȤȡİȚȐȗİIJĮȚ ȞĮ ȝİIJĮijȡĮıIJİȓ Įʌȩ IJȘ ȝȠȡijȒ țİȚȝȑȞȠȣ ʌȠȣ IJȠ ıȣȞIJȐııİȚ Ƞ ʌȡȠȖȡĮȝȝĮIJȚıIJȒȢ, ıİ ȖȜȫııĮ ȝȘȤĮȞȒȢ. ȉȘȞ İȡȖĮıȓĮ ĮȣIJȒ țȐȞİȚ țĮIJȐȜȜȘȜȠ ȝİIJĮijȡĮıIJȚțȩ ʌȡȩȖȡĮȝȝĮ ʌȠȣ ȜȑȖİIJĮȚ ȝİIJĮȖȜȦIJIJȚıIJȒȢ IJȘȢ Pascal (compiler). O ȝİIJĮȖȜȦIJIJȚıIJȒȢ ȜȠȚʌȩȞ İȓȞĮȚ ȑȞĮ ȝİIJĮijȡĮıIJȚțȩ ʌȡȩȖȡĮȝȝĮ Ș İȓıȠįȠȢ IJȠȣ ȠʌȠȓȠȣ İȓȞĮȚ IJȠ ĮȡȤİȓȠ ʌȘȖĮȓȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ IJȘȢ Pascal, IJȠ ȩȞȠȝĮ IJȠȣ ȠʌȠȓȠȣ ʌȡȑʌİȚ ȞĮ ȑȤİȚ ʌȡȠȑțIJĮıȘ ".PAS". Ǿ ȑȟȠįȠȢ IJȠȣ ȝİIJĮȖȜȦIJIJȚıIJȒ İȓȞĮȚ ȑȞĮ ĮȡȤİȓȠ ıİ ȖȜȫııĮ ȝȘȤĮȞȒȢ IJȠ ȠʌȠȓȠ İȓȞĮȚ İțIJİȜȑıȚȝȠ (executable) Įʌȩ IJȠȞ Ǿ/Ȋ. ȀĮIJȐ IJȘ įȚȐȡțİȚĮ IJȘȢ ȝİIJĮȖȜȫIJIJȚıȘȢ Ƞ ȝİIJĮȖȜȦIJIJȚıIJȒȢ İȜȑȖȤİȚ (ȜİțIJȚțȐ, ıȣȞIJĮțIJȚțȐ țĮȚ ıȘȝĮıȚȠȜȠȖȚțȐ) IJȠ ʌȘȖĮȓȠ ʌȡȩȖȡĮȝȝĮ ȖȚĮ ʌȚșĮȞȐ ȜȐșȘ. ǹȣIJȐ IJĮ ȜȐșȘ ȜȑȖȠȞIJĮȚ ȜȐșȘ țĮIJȐ IJȠ ȤȡȩȞȠ IJȘȢ ȝİIJĮȖȜȫIJIJȚıȘȢ (compile-time errors) țĮȚ İȓȞĮȚ ĮʌȠIJȑȜİıȝĮ ʌĮȡĮȕȚȐıİȦȞ IJȠȣ ıȣȞIJĮțIJȚțȠȪ IJȘȢ ȖȜȫııĮȢ. īȚĮ țȐșİ ȜȐșȠȢ ʌȠȣ ĮȞȚȤȞİȪİIJĮȚ, Ƞ ȝİIJĮȖȜȦIJIJȚıIJȒȢ ʌĮȡȐȖİȚ țĮIJȐȜȜȘȜȠ įȚĮȖȞȦıIJȚțȩ ȝȒȞȣȝĮ ȜȐșȠȣȢ. ȉȠ İʌȩȝİȞȠ ȕȒȝĮ ȝİIJȐ IJȘȞ İʌȚIJȣȤȘȝȑȞȘ ȝİIJĮȖȜȫIJIJȚıȘ, İȓȞĮȚ Ș İțIJȑȜİıȘ Ȓ IJȡȑȟȚȝȠ IJȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ. ȀĮIJȐ IJȘ įȚȐȡțİȚĮ İțIJȑȜİıȘȢ IJȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ İȓȞĮȚ ʌȚșĮȞȩ IJȠ ȜİȚIJȠȣȡȖȚțȩ ıȪıIJȘȝĮ IJȠȣ Ǿ/Ȋ ȞĮ ĮȞȚȤȞİȪıİȚ ȜȐșȘ. ǹȣIJȐ ȜȑȖȠȞIJĮȚ ȜȐșȘ țĮIJȐ IJȠ ȤȡȩȞȠ İțIJȑȜİıȘȢ (run-time errors). ȆȚșĮȞȐ IJȑIJȠȚĮ ȜȐșȘ İȓȞĮȚ Ș įȚĮȓȡİıȘ İȞȩȢ


ȈȪȞIJȠȝȘ ǼȚıĮȖȦȖȒ ıIJȠȞ ȆȡȠȖȡĮȝȝĮIJȚıȝȩ

3

ĮȡȚșȝȠȪ ȝİ IJȠ ȝȘįȑȞ, Ș ĮʌȩʌİȚȡĮ İȪȡİıȘȢ IJȘȢ IJİIJȡĮȖȦȞȚțȒȢ ȡȓȗĮȢ İȞȩȢ ĮȡȞȘIJȚțȠȪ ĮȡȚșȝȠȪ ț.Ȝ.ʌ. ȉȠ ʌȡȩȖȡĮȝȝĮ ȩȝȦȢ, ȝʌȠȡİȓ ȞĮ ȝȘȞ ʌĮȡȠȣıȚȐȗİȚ ȜȐșȘ țĮIJȐ IJȠ ȤȡȩȞȠ ȝİIJĮȖȜȫIJIJȚıȘȢ ȠȪIJİ țĮIJȐ IJȠ ȤȡȩȞȠ İțIJȑȜİıȘȢ, ĮȜȜȐ ʌĮȡ'ȩȜĮ ĮȣIJȐ ȞĮ ȝȘ įȓȞİȚ IJĮ ĮȞĮȝİȞȩȝİȞĮ ĮʌȠIJİȜȑıȝĮIJĮ, Ș ȞĮ ȝȘ ıȣȝʌİȡȚijȑȡİIJĮȚ ȩʌȦȢ ĮȞĮȝİȞȩIJĮȞ İȟĮȚIJȓĮȢ ȜȐșȠȣȢ ıIJȠȞ İʌȚȜİȖȝȑȞȠ ĮȜȖȩȡȚșȝȠ Ȓ ıIJȘȞ țȦįȚțȠʌȠȓȘıȒ IJȠȣ ıIJȘ ȖȜȫııĮ ʌȡȠȖȡĮȝȝĮIJȚıȝȠȪ. ǹȣIJȑȢ ȠȚ ĮʌȠțȜȓıİȚȢ Įʌȩ IJĮ ĮȞĮȝİȞȩȝİȞĮ, ȜȑȖȠȞIJĮȚ ȜȠȖȚțȐ ȜȐșȘ (logical errors) țĮȚ İȓȞĮȚ İȣșȪȞȘ IJȠȣ ʌȡȠȖȡĮȝȝĮIJȚıIJȒ ȞĮ ȕȡİȚ țĮȚ ȞĮ įȚȠȡșȫıİȚ ĮȣIJȐ IJĮ ȜȐșȘ.

ȈȤİįȓĮıȘ ʌȡȠȖȡȐȝȝĮIJȠȢ

ȈȪȞIJĮȟȘ ʌȡȠȖȡȐȝȝĮIJȠȢ

ȂİIJĮȖȜȫIJIJȚıȘ

ȁȐșȘ țĮIJȐ IJȠ ȤȡȩȞȠ ȝİIJĮȖȜȫIJIJȚıȘȢ

ȃǹǿ

ǼțIJȑȜİıȘ IJȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ

ȁȐșȘ țĮIJȐ IJȠ ȤȡȩȞȠ İțIJȑȜİıȘȢ

ȃǹǿ

ǼȜİȖȤȠȢ IJȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ

ȁȠȖȚțȐ ȜȐșȘ

ȃǹǿ

ǼȆǿȉȊȋǿǹ !

ȈȤȒȝĮ 1.2: ǻȚȐȖȡĮȝȝĮ ȡȠȒȢ IJȦȞ įȚĮįȚțĮıȚȫȞ ĮȞȐʌIJȣȟȘȢ İȞȩȢ ʌȡȠȖȡȐȝȝĮIJȠȢ

ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ


4

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

ȀȐșİ ijȠȡȐ ʌȠȣ ĮȞȚȤȞİȪİIJĮȚ țȐʌȠȚȠ ȜȐșȠȢ (ȠʌȠȚȠįȒʌȠIJİ Įʌȩ IJĮ ʌȡȠĮȞĮijİȡșȑȞIJĮ) ʌȡȑʌİȚ IJȠ ʌȘȖĮȓȠ ʌȡȩȖȡĮȝȝĮ ȞĮ įȚȠȡșȦșİȓ. Ǿ įȚȩȡșȦıȘ ȖȓȞİIJĮȚ ȤȡȘıȚȝȠʌȠȚȫȞIJĮȢ IJȠ ıȣȞIJȐțIJȘ țİȚȝȑȞȠȣ ʌȠȣ ȤȡȘıȚȝȠʌȠȚİȓIJĮȚ țĮȚ ȖȚĮ IJȘ ȖȡĮijȒ IJȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ. ȉȠ ȈȤȒȝĮ 1.2 įİȓȤȞİȚ ıİ ȝȠȡijȒ įȚĮȖȡȐȝȝĮIJȠȢ ȡȠȒȢ IJȚȢ įȚĮįȚțĮıȓİȢ: IJȠȣ ȖȡĮȥȓȝĮIJȠȢ IJȠȣ ʌȘȖĮȓȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ (ıȤİįȓĮıȘ IJȘȢ ȝİșȩįȠȣ İʌȓȜȣıȘȢ, ıȪȞIJĮȟȘ ʌȡȠȖȡȐȝȝĮIJȠȢ), IJȘȢ ȝİIJĮȖȜȫIJIJȚıȘȢ țĮȚ IJȘȢ İțIJȑȜİıȘȢ IJȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ. ȆĮȡĮIJȘȡȠȪȝİ ȩIJȚ ȠȚ ʌĮȡĮʌȐȞȦ įȚĮįȚțĮıȓİȢ İȓȞĮȚ įȣȞĮIJȩ ȞĮ ȖȓȞȠȣȞ ʌİȡȚııȩIJİȡİȢ IJȘȢ ȝȓĮȢ ijȠȡȑȢ ı'ȑȞĮ ʌȡȩȖȡĮȝȝĮ, İȟĮȚIJȓĮȢ įȚĮijȩȡȦȞ İȚįȫȞ ȜĮșȫȞ.

1.3 ǻȠȝȘȝȑȞȠȢ ȆȡȠȖȡĮȝȝĮIJȚıȝȩȢ ȅ įȠȝȘȝȑȞȠȢ ʌȡȠȖȡĮȝȝĮIJȚıȝȩȢ (structured programming) ĮʌȠIJİȜİȓ ȝȓĮ ıȣȖțİțȡȚȝȑȞȘ ȝİșȠįȠȜȠȖȓĮ ĮȞȐȜȣıȘȢ, ıȤİįȓĮıȘȢ țĮȚ ĮȞȐʌIJȣȟȘȢ ʌȡȠȖȡĮȝȝȐIJȦȞ. ȉĮ ȕĮıȚțȩIJİȡĮ ȤĮȡĮțIJȘȡȚıIJȚțȐ IJȠȣ İȓȞĮȚ: 1. Ǿ ĮȞȐȜȣıȘ İȞȩȢ ıȪȞșİ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İȡȠ (ȝȑșȠįȠȢ top to down). ȀĮIJȐ IJȘȞ ijȐıȘ IJȘȢ ĮȞȐʌIJȣȟȘȢ IJȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ, İȡȖĮȗȩȝĮıIJİ ĮȞIJȓıIJȡȠijĮ (ȝȑșȠįȠȢ bottom to up) (ȕȜȑʌİ ȈȤȒȝĮ 1.3). 2. ȉĮ įȚȐijȠȡĮ ȣʌȠʌȡȠȖȡȐȝȝĮIJĮ, ȝʌȠȡȠȪȞ ȞĮ ĮȞĮʌIJȣȤșȠȪȞ ĮȞİȟȐȡIJȘIJĮ IJȠ ȑȞĮ Įʌȩ IJȠ ȐȜȜȠ. DzIJıȚ ȝİȖȐȜĮ ʌȡȠȖȡȐȝȝĮ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Țțȩ, ȝȘ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Țțȩ ʌȡȩȖȡĮȝȝĮ (modular program), İ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Į ʌȠȣ ĮȞIJȚıIJȠȚȤȠȪȞ


ȈȪȞIJȠȝȘ ǼȚıĮȖȦȖȒ ıIJȠȞ ȆȡȠȖȡĮȝȝĮIJȚıȝȩ

5

ıIJȠȣȢ ĮȜȖȠȡȓșȝȠȣȢ IJȘȢ ȜȪıȘȢ IJȠȣ Ǻ' İʌȚʌȑįȠȣ ț.Ƞ.ț. Ȃİ IJȠȞ IJȡȩʌȠ ĮȣIJȩ IJȠ įȠȝȘȝȑȞȠ ʌȡȩȖȡĮȝȝĮ ʌĮȓȡȞİȚ ıȤȘȝĮIJȚțȐ IJȘ ȝȠȡijȒ ĮȞȐʌȠįȠȣ įȑȞIJȡȠȣ (ȝİ IJȘȞ

ȈȤİįȓĮıȘ ĮȜȖȠȡȓșȝȦȞ Top to Bottom

ǹȜȖȩȡȚșȝȠȢ 0 (ǹȡȤȚțȩȢ)

ǼʌȓʌİįȠ ǹ'

ǹȜȖȩȡȚșȝȠȢ 1

ǹȜȖȩȡȚșȝȠȢ 2

ǹȜȖȩȡȚșȝȠȢ 3

ǼʌȓʌİįȠ Ǻ'

ǹȜȖȩȡȚșȝȠȢ 1.1

ǹȜȖȩȡȚșȝȠȢ 1.2

ǹȜȖȩȡȚșȝȠȢ 3.1

ǹȜȖȩȡȚșȝȠȢ 3.2

ǼʌȓʌİįȠ ī'

ǹȜȖȩȡȚșȝȠȢ 3.1.1

ǹȜȖȩȡȚșȝȠȢ 3.1.2

ǼʌȓʌİįȠ ǻ'

ǹȞȐʌIJȣȟȘ ȣʌȠʌȡȠȖȡĮȝȝȐIJȦȞ Bottom to Up

ȊʌȠʌȡȩȖȡĮȝȝĮ 0 (ȀȪȡȚȠ ʌȡȩȖȡĮȝȝĮ)

ǼʌȓʌİįȠ ǹ'

ȊʌȠʌȡȩȖȡĮȝȝĮ 1

ȊʌȠʌȡȩȖȡĮȝȝĮ 2

ȊʌȠʌȡȩȖȡĮȝȝĮ 3

ǼʌȓʌİįȠ Ǻ'

ȊʌȠʌȡȩȖȡĮȝȝĮ 1.1

ȊʌȠʌȡȩȖȡĮȝȝĮ 1.2

ȊʌȠʌȡȩȖȡĮȝȝĮ 3.1

ȊʌȠʌȡȩȖȡĮȝȝĮ 3.2

ǼʌȓʌİįȠ ī'

ȊʌȠʌȡȩȖȡĮȝȝĮ 3.1.1

ȊʌȠʌȡȩȖȡĮȝȝĮ 3.1.2

ǼʌȓʌİįȠ ǻ'

ȈȤȒȝĮ 1.3: ȈȤİįȓĮıȘ țĮȚ ĮȞȐʌIJȣȟȘ įȠȝȘȝȑȞȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ

ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ


6

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

ȡȓȗĮ ʌȡȠȢ IJĮ ʌȐȞȦ țĮȚ IJĮ țȜĮįȚȐ ʌȡȠȢ IJĮ țȐIJȦ), ȩʌȠȣ IJȠ țȪȡȚȠ ʌȡȩȖȡĮȝȝĮ ĮʌȠIJİȜİȓ IJȘȞ ȡȓȗĮ țĮȚ IJĮ ȣʌȠʌȡȠȖȡȐȝȝĮIJĮ ĮʌȠIJİȜȠȪȞ IJĮ țȜĮįȚȐ. ǹʌȩ ȩȜĮ IJĮ ʌĮȡĮʌȐȞȦ ijĮȓȞİIJĮȚ ȩIJȚ Ș ȑȞȞȠȚĮ IJȠȣ įȠȝȘȝȑȞȠȣ ʌȡȠȖȡĮȝȝĮIJȚıȝȠȪ, ʌİȡȚțȜİȓİȚ IJȚȢ ȑȞȞȠȚİȢ IJȠȣ IJȝȘȝĮIJȚțȠȪ țĮȚ ȚİȡĮȡȤȚțȠȪ ʌȡȠȖȡĮȝȝĮIJȚıȝȠȪ.


7

2. ǼǿȈǹīȍīǾ ȈȉǾȃ PASCAL 2.1 īİȞȚțȐ Ǿ ȖȜȫııĮ ʌȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal įȘȝȚȠȣȡȖȒșȘțİ ıIJȚȢ ĮȡȤȑȢ IJȘȢ įİțĮİIJȓĮȢ IJȠȣ 1970 Įʌȩ IJȠȞ țĮșȘȖȘIJȒ Niklaus Wirth, Ƞ ȠʌȠȓȠȢ IJȘȢ ȑįȦıİ ĮȣIJȩ IJȠ ȩȞȠȝĮ ʌȡȠȢ IJȚȝȒ IJȠȣ īȐȜȜȠȣ ijȚȜȩıȠijȠȣ țĮȚ ȝĮșȘȝĮIJȚțȠȪ Blaise Pascal (17ȠȢ ĮȚȫȞĮȢ). Ǿ Pascal İȓȞĮȚ ȝȚĮ ȖȜȫııĮ ȣȥȘȜȠȪ İʌȚʌȑįȠȣ ʌȠȣ ĮȞȒțİȚ ıIJȚȢ ȖȜȫııİȢ ʌȡȠȖȡĮȝȝĮIJȚıȝȠȪ 3ȘȢ ȖİȞȚȐȢ. ȈȤİįȚȐıIJȘțİ ĮȡȤȚțȐ ıĮȞ İȡȖĮȜİȓȠ ȖȚĮ IJȘ įȚįĮıțĮȜȓĮ IJȠȣ įȠȝȘȝȑȞȠȣ ʌȡȠȖȡĮȝȝĮIJȚıȝȠȪ, ĮȜȜȐ ıIJȘ ıȣȞȑȤİȚĮ ȤȡȘıȚȝȠʌȠȚȒșȘțİ țĮȚ ȦȢ ȖȜȫııĮ ȖİȞȚțȒȢ ȤȡȒıȘȢ. ǼȓȞĮȚ "ʌĮȚįȓ" IJȘȢ ȖȜȫııĮȢ ALGOL țĮȚ ijȚȜȠįȩȟȘıİ ȞĮ IJȘȞ ĮȞIJȚțĮIJĮıIJȒıİȚ țĮȚ İʌȓıȘȝĮ. ȈIJĮ IJȑȜȘ IJȘȢ įİțĮİIJȓĮȢ IJȠȣ '70 İȝijĮȞȓıIJȘțĮȞ ȠȚ ʌȡȫIJİȢ ȣȜȠʌȠȚȒıİȚȢ IJȘȢ Pascal ıİ ȝȚțȡȠȨʌȠȜȠȖȚıIJȑȢ, ȝİ ıʌȠȣįĮȚȩIJİȡȘ IJȘȞ UCSD Pascal. ȉȠ 1982 İțįȩșȘțİ IJȠ ʌȡȩIJȣʌȠ IJȘȢ ȖȜȫııĮȢ Įʌȩ IJȠȞ ISO (International Standard Organization). ȊʌȐȡȤȠȣȞ ʌȠȜȜȑȢ ȣȜȠʌȠȚȒıİȚȢ IJȘȢ Pascal Įʌȩ įȚȐijȠȡİȢ İIJĮȚȡȓİȢ. Ǿ ʌȜȑȠȞ įȘȝȠijȚȜȒȢ ȣȜȠʌȠȓȘıȘ ȖȚĮ IJȠȞ ȤȫȡȠ IJȦȞ ȝȚțȡȠȨʌȠȜȠȖȚıIJȫȞ İȓȞĮȚ, ĮȞĮȝijȚıȕȒIJȘIJĮ, Ș Turbo Pascal (T.P.) IJȘȢ İIJĮȚȡȓĮȢ Borland. Ǿ T.P. İȓȞĮȚ ȑȞĮ ȠȜȠțȜȘȡȦȝȑȞȠ ʌİȡȚȕȐȜȜȠȞ ȖȚĮ IJȘȞ ĮȞȐʌIJȣȟȘ ʌȡȠȖȡĮȝȝȐIJȦȞ IJȘȢ Pascal, ȑȞĮ ʌİȡȚȕȐȜȜȠȞ ʌĮȡĮȖȦȖȒȢ ʌȡȠȖȡĮȝȝȐIJȦȞ ȣȥȘȜȒȢ ʌȠȚȩIJȘIJĮȢ. Ǿ ȣȜȠʌȠȓȘıȘ IJȘȢ T.P. ȖȚĮ ʌİȡȚȕȐȜȜȠȞ DOS ʌȑȡĮıİ Įʌȩ ȑȞĮȞ ĮȡȚșȝȩ İțįȩıİȦȞ (Įʌȩ IJȘȞ T.P. 1 ȑȦȢ IJȘȞ T.P. 7). ȈIJȘȞ ıȣȞȑȤİȚĮ ȕȖȒțĮȞ įȚȐijȠȡİȢ İțįȩıİȚȢ IJȘȢ ȖȚĮ IJȠ ʌİȡȚȕȐȜȜȠȞ IJȦȞ Windows 3.x. ȉȑȜȠȢ, ȝİIJȐ IJȘȞ İȝijȐȞȚıȘ IJȦȞ Windows 9x, IJȠ ȩȞȠȝĮ IJȦȞ ȣȜȠʌȠȚȒıİȦȞ IJȘȢ Pascal ȐȜȜĮȟİ țĮȚ Įʌȩ Turbo Pascal ȑȖȚȞİ Delphi, İȞıȦȝĮIJȫȞȠȞIJĮȢ ʌĮȡȐȜȜȘȜĮ țĮȚ ıIJȠȚȤİȓĮ ȠʌIJȚțȠȪ ʌȡȠȖȡĮȝȝĮIJȚıȝȠȪ (visual Programming).

2.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ȦȞĮ ȝİ IJȠȣȢ ıȣȞIJĮțIJȚțȠȪȢ țĮȚ ȖȡĮȝȝĮIJȚțȠȪȢ țĮȞȩȞİȢ ȖȡȐijȠȣȝİ IJĮ įȚȐijȠȡĮ ʌȡȠȖȡȐȝȝĮIJĮ. ȉȠ ĮȜijȐȕȘIJȠ IJȘȢ Pascal ʌİȡȚȜĮȝȕȐȞİȚ 58 įȚĮijȠȡİIJȚțȠȪȢ ȤĮȡĮțIJȒȡİȢ: ȉĮ įȑțĮ ȥȘijȓĮ: 0 1 2 3 4 5 6 7 8 9 ȉĮ 26 ȖȡȐȝȝĮIJĮ IJȠȣ ĮȖȖȜȚțȠȪ ĮȜijĮȕȒIJȠȣ (țİijĮȜĮȓĮ țĮȚ ʌİȗȐ): ǹ B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z ȉȠȣȢ 23 İȚįȚțȠȪȢ ȤĮȡĮțIJȒȡİȢ: . , : ; ' # $ * / + - = < > ^ [ ] ( ) { } _ space


8

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

ȅȚ ȜȑȟİȚȢ IJȘȢ Pascal ȤȦȡȓȗȠȞIJĮȚ ıİ IJȡİȚȢ țĮIJȘȖȠȡȓİȢ: įİıȝİȣȝȑȞİȢ ȜȑȟİȚȢ Ȓ ȜȑȟİȚȢțȜİȚįȚȐ (reserved words), ʌȡȩIJȣʌĮ Ȓ ʌȡȠįȘȜȦȝȑȞĮ ĮȞĮȖȞȦȡȚıIJȚțȐ (predefined identifiers) țĮȚ ĮȞĮȖȞȦȡȚıIJȚțȐ Ȓ ȠȞȩȝĮIJĮ IJȠȣ ʌȡȠȖȡĮȝȝĮIJȚıIJȒ (user identifiers). ǻİıȝİȣȝȑȞİȢ ȜȑȟİȚȢ:

ǼȓȞĮȚ İțİȓȞİȢ ȠȚ ȜȑȟİȚȢ ʌȠȣ Ș ıȘȝĮıȓĮ IJȠȣȢ ȖȚĮ IJȠȞ ȝİIJĮȖȜȦIJIJȚıIJȒ İȓȞĮȚ İȚįȚțȒ țĮȚ ĮȝİIJȐȕȜȘIJȘ.

ȆȡȠįȘȜȦȝȑȞĮ ĮȞĮȖȞȦȡȚıIJȚțȐ:

ǼȓȞĮȚ İțİȓȞİȢ ȠȚ ȜȑȟİȚȢ ʌȠȣ Ș ıȘȝĮıȓĮ IJȠȣȢ ȖȚĮ IJȠȞ ȝİIJĮȖȜȦIJIJȚıIJȒ İȓȞĮȚ İȚįȚțȒ ĮȜȜȐ ȝʌȠȡȠȪȝİ ȞĮ ĮȜȜȐȟȠȣȝİ IJȘȞ ȜİȚIJȠȣȡȖȓĮ ʌȠȣ İțIJİȜȠȪȞ.

ǹȞĮȖȞȦȡȚıIJȚțȐ IJȠȣ ʌȡȠȖȡĮȝȝĮIJȚıIJȒ:

ǼȓȞĮȚ ȠȚ ȜȑȟİȚȢ ʌȠȣ ȤȡȘıȚȝȠʌȠȚİȓ Ƞ ʌȡȠȖȡĮȝȝĮIJȚıIJȒȢ ȖȚĮ ȞĮ įȫıİȚ ȠȞȩȝĮIJĮ ıİ ıIJĮșİȡȑȢ, ȝİIJĮȕȜȘIJȑȢ ț.Ȝ.ʌ. ĮȞIJȚțİȓȝİȞĮ IJȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ.

ȅȚ įİıȝİȣȝȑȞİȢ ȜȑȟİȚȢ IJȘȢ Pascal ijĮȓȞȠȞIJĮȚ ʌĮȡĮțȐIJȦ: Absolute And Array Asm Begin Case Const Constructor Destructor Div Do Downto Else End External File For Forward

Function Goto If Implementation In Inline Interface Interrupt Label Mod Nil Not Object Of Or Packed Procedure Program

Record Repeat Set Shl Shr String Then To Type Unit Until Uses Virtual Var While With Xor

ǼȓȞĮȚ ʌȡȠ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ȚıIJȒ ʌȡȑʌİȚ ȞĮ IJȘȡȠȪȞIJĮȚ ȠȚ ʌĮȡĮțȐIJȦ țĮȞȩȞİȢ: 1. ȉȠ ʌȜȒșȠȢ IJȦȞ ȤĮȡĮțIJȒȡȦȞ ȞĮ ȝȘȞ ȣʌİȡȕĮȓȞİȚ IJȠȣȢ 116. 2. ȅ ʌȡȫIJȠȢ ȤĮȡĮțIJȒȡĮȢ ʌȡȑʌİȚ ȞĮ İȓȞĮȚ ĮȖȖȜȚțȩ ȖȡȐȝȝĮ Ȓ '_' (underscore: ȣʌȠȖȡȐȝȝȚıȘ).


ǼȚıĮȖȦȖȒ ıIJȘȞ Pascal

9

3. ȅȚ ȣʌȩȜȠȚʌȠȚ ȤĮȡĮțIJȒȡİȢ ȝʌȠȡȠȪȞ ȞĮ İȓȞĮȚ ĮȖȖȜȚțȐ ȖȡȐȝȝĮIJĮ, ȥȘijȓĮ Ȓ underscore (ĮʌĮȖȠȡİȪȠȞIJĮȚ IJĮ țİȞȐ). 4. ȃĮ ȝȘȞ İȓȞĮȚ ȓįȚĮ ȝİ ȝȓĮ įİıȝİȣȝȑȞȘ ȜȑȟȘ. ȈȪȝijȦȞĮ ȝİ IJĮ ʌĮȡĮʌȐȞȦ IJĮ ĮțȩȜȠȣșĮ ȠȞȩȝĮIJĮ İȓȞĮȚ įİțIJȐ: ALFA, First_Time, ProtoProgramma, program1 İȞȫ IJĮ ĮțȩȜȠȣșĮ, ȜȐșȠȢ: 1oProgramma, Begin, while, My project, Giannis+Maria ȆȡȑʌİȚ İʌȓıȘȢ ȞĮ IJȠȞȓıȠȣȝİ ȩIJȚ Ș Pascal įİȞ țȐȞİȚ įȚȐțȡȚıȘ ȝİIJĮȟȪ țİijĮȜĮȓȦȞ țĮȚ ʌİȗȫȞ ȖȡĮȝȝȐIJȦȞ, ȑIJıȚ, ȖȚĮ IJȘȞ Pascal, IJĮ ȠȞȩȝĮIJĮ Alfa, alfa, ALFA țĮȚ aLfA İȓȞĮȚ IJĮ ȓįȚĮ.

2.3 ȂȠȡijȒ ȆȡȠȖȡȐȝȝĮIJȠȢ Ǿ ȖİȞȚțȒ ȝȠȡijȒ İȞȩȢ ʌȡȠȖȡȐȝȝĮIJȠȢ IJȘȢ Pascal İȓȞĮȚ Ș İȟȒȢ: ǼʌȚțİijĮȜȓįĮ ȉȝȒȝĮ ǻȘȜȫıİȦȞ ȉȝȒȝĮ ǼȞIJȠȜȫȞ.

ǵʌȠȣ Ș İʌȚțİijĮȜȓįĮ ȑȤİȚ IJȘȞ İȟȒȢ ȝȠȡijȒ: Program ȩȞȠȝĮ ;

ȈIJȘȞ Turbo Pascal. Ș İʌȚțİ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Ȓ: Begin ǼȞIJȠȜȑȢ End.

ȈȪȝijȦȞĮ ȝİ IJĮ ʌĮȡĮʌȐȞȦ, ȑȞĮ ʌȡȩȖȡĮȝȝĮ ıİ Pascal șĮ ȑȤİȚ IJȘȞ ȝȠȡijȒ ʌȠȣ ijĮȓȞİIJĮȚ ʌĮȡĮțȐIJȦ. ȉȚȢ ȜİʌIJȠȝȑȡİȚİȢ ȖȚĮ IJȠȞ IJȡȩʌȠ įȒȜȦıȘȢ ȝȠȞȐįȦȞ, İIJȚțİIJȫȞ, ıIJĮșİȡȫȞ ț.Ȝ.ʌ. șĮ įȠȪȝİ ıİ İʌȩȝİȞĮ țİijȐȜĮȚĮ.

ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ


10

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

ǼʌȚțİijĮȜȓįĮ ȆȡȠȖȡȐȝȝĮIJȠȢ ǻȘȜȫıİȚȢ ȂȠȞȐįȦȞ ǻȘȜȫıİȚȢ ǼIJȚțİIJȫȞ ǻȘȜȫıİȚȢ ȈIJĮșİȡȫȞ ǻȘȜȫıİȚȢ ȉȪʌȦȞ ǻȘȜȫıİȚȢ ȂİIJĮȕȜȘIJȫȞ ǻȘȜȫıİȚȢ ȊʌȠʌȡȠȖȡĮȝȝȐIJȦȞ ǹȡȤȒ İțIJİȜȑıȚȝȠȣ IJȝȒȝĮIJȠȢ (İȞIJȠȜȫȞ) ǼȞIJȠȜȑȢ ȉȑȜȠȢ ȆȡȠȖȡȐȝȝĮIJȠȢ

Program ...; Uses ... Label ... Const ... Type ... Var ... Procedure ... Function ... Begin ǼȞIJȠȜȑȢ ... End.

Ȉİ ȠʌȠȚȠįȒʌȠIJİ ıȘȝİȓȠ IJȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ ȝʌȠȡȠȪȝİ, ȖȚĮ IJȘȞ țĮȜȪIJİȡȘ IJİțȝȘȡȓȦıȘ IJȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ, ȞĮ ʌȡȠıșȑıȠȣȝİ ıȤȩȜȚĮ. ȉĮ ıȤȩȜȚĮ ȖȡȐijȠȞIJĮȚ ȝȑıĮ ıİ ȐȖțȚıIJȡĮ { ıȤȩȜȚĮ } țĮȚ ĮȖȞȠȠȪȞIJĮȚ Įʌȩ IJȠȞ ȝİIJĮȖȜȦIJIJȚıIJȒ.

2.4 ǹʌȜȠȓ ȉȪʌȠȚ ǻİįȠȝȑȞȦȞ ǵȜĮ IJĮ įİįȠȝȑȞĮ ʌȠȣ ȤȡȘıȚȝȠʌȠȚȠȪȞIJĮȚ ıİ ȑȞĮ ʌȡȩȖȡĮȝȝĮ IJȘȢ Pascal ĮȞȒțȠȣȞ ıİ țȐʌȠȚȠ IJȪʌȠ įİįȠȝȑȞȦȞ. ǵIJĮȞ Ȝȑȝİ IJȪʌȠȢ įİįȠȝȑȞȦȞ İȞȞȠȠȪȝİ ȑȞĮ ıȪȞȠȜȠ IJȚȝȫȞ țĮȚ ȑȞĮ ıȪȞȠȜȠ ȚįȚȠIJȒIJȦȞ IJȦȞ IJȚȝȫȞ ĮȣIJȫȞ. Ǿ Turbo Pascal įȚĮșȑIJİȚ ȑȞĮ ıȪȞȠȜȠ ʌȡȠțĮșȠȡȚıȝȑȞȦȞ IJȪʌȦȞ įİįȠȝȑȞȦȞ. ǵIJĮȞ Ȝȑȝİ ʌȡȠțĮșȠȡȚıȝȑȞȠȢ IJȪʌȠȢ įİįȠȝȑȞȦȞ, İȞȞȠȠȪȝİ ȩIJȚ Ƞ ȝİIJĮȖȜȦIJIJȚıIJȒȢ IJȘȢ Turbo Pascal ȖȞȦȡȓȗİȚ ȒįȘ ȖȚ'ĮȣIJȩȞ. ǼȝİȓȢ ĮʌȜȫȢ įȘȜȫȞȠȣȝİ (ıIJȠ IJȝȒȝĮ įȘȜȫıİȦȞ) ȩIJȚ ȝȚĮ ȝİIJĮȕȜȘIJȒ ĮȞȒțİȚ ı'ȑȞĮȞ Įʌȩ IJȠȣȢ IJȪʌȠȣȢ ĮȣIJȠȪȢ, țĮȚ Ƞ ȝİIJĮȖȜȦIJIJȚıIJȒȢ ȟȑȡİȚ IJȚ ʌȡȑʌİȚ ȞĮ țȐȞİȚ, ȤȦȡȓȢ ʌİȡĮȚIJȑȡȦ įȘȜȫıİȚȢ Įʌȩ IJȘȞ ʌȜİȣȡȐ ȝĮȢ. ǹȣIJȠȪȢ IJȠȣȢ IJȪʌȠȣȢ șĮ İȟİIJȐıȠȣȝİ ıIJȘ ıȣȞȑȤİȚĮ.

2.4.1 ǹțȑȡĮȚȠȢ ǵʌȦȢ ĮȞIJȚȜĮȝȕȐȞİIJĮȚ țĮȞİȓȢ, IJĮ įİįȠȝȑȞĮ ĮțİȡĮȓȠȣ IJȪʌȠȣ įİȞ İȓȞĮȚ IJȓʌȠIJĮ ȐȜȜȠ Įʌȩ IJȠȣȢ ȖȞȦıIJȠȪȢ ȝĮȢ ĮțİȡĮȓȠȣȢ ĮȡȚșȝȠȪȢ. ǻȘȜĮįȒ IJĮ ĮțİȡĮȓȠȣ IJȪʌȠȣ įİįȠȝȑȞĮ, ĮʌȠIJİȜȠȪȞIJĮȚ Įʌȩ ĮȡȚșȝȠȪȢ ȤȦȡȓȢ IJİȜİȓĮ Ȓ ȣʌȠįȚĮıIJȠȜȒ, ȖİȞȚțȐ ȤȦȡȓȢ įİțĮįȚțȩ ȝȑȡȠȢ, ıȣȝʌİȡȚȜĮȝȕĮȞȠȝȑȞȠȣ IJȠȣ ȝȘįİȞȩȢ. Ȇ.Ȥ. ȠȚ ĮȡȚșȝȠȓ: 9 +25 0 1588 0059 İȓȞĮȚ ĮțİȡĮȓȠȣ IJȪʌȠȣ. ȉĮ ĮțİȡĮȓȠȣ IJȪʌȠȣ įİįȠȝȑȞĮ, ĮȞȐȜȠȖĮ ȝİ IJȘȞ ʌİȡȚȠȤȒ ıIJȘȞ ȠʌȠȓĮ ʌĮȓȡȞȠȣȞ IJȚȝȑȢ, ȤȦȡȓȗȠȞIJĮȚ ıIJȚȢ ʌĮȡĮțȐIJȦ țĮIJȘȖȠȡȓİȢ: ȂȚțȡȠȓ ǹțȑȡĮȚȠȚ (ShortInt) ǼȓȞĮȚ ȠȚ ȝȘ įİțĮįȚțȠȓ ĮȡȚșȝȠȓ, ȝİȖȑșȠȣȢ 1 byte, ıIJȘȞ ʌİȡȚȠȤȒ Įʌȩ -128 ȑȦȢ +127. ǹțȑȡĮȚȠȚ (Integer) ǼȓȞĮȚ ȠȚ ȝȘ įİțĮįȚțȠȓ ĮȡȚșȝȠȓ ıIJȘȞ ʌİȡȚȠȤȒ Įʌȩ -32768 ȑȦȢ +32767. ȈIJȘȞ Turbo Pascal, ȑȞĮȢ ĮțȑȡĮȚȠȢ ĮʌȠșȘțİȪİIJĮȚ ıIJȘ ȝȞȒȝȘ ıİ 2 bytes. ǹȞȐȝİıĮ ıIJĮ ȥȘijȓĮ İȞȩȢ ĮțİȡĮȓȠȣ įİȞ ʌȡȑʌİȚ ȞĮ ȕȐȗȠȣȝİ ʌȠIJȑ țȩȝȝĮ "," Ȓ IJİȜİȓĮ "." ȖȚĮ ȞĮ įȘȜȫıȠȣȝİ IJȚȢ ȤȚȜȚȐįİȢ. ȅ ȝİIJĮȖȜȦIJIJȚıIJȒȢ șĮ İȝijĮȞȓıİȚ ȝȒȞȣȝĮ ȜȐșȠȣȢ ȖȚĮIJȓ șĮ ȞȠȝȓıİȚ ȩIJȚ ĮȞĮțĮIJȑȥĮȝİ ĮȡȚșȝȠȪȢ ȝİ ĮȜijĮȕȘIJȚțȠȪȢ ȤĮȡĮțIJȒȡİȢ. Ǿ ȉ.ȇ. ȑȤİȚ ȑȞĮ ʌȡȩIJȣʌȠ ĮȞĮȖȞȦȡȚıIJȚțȩ, IJȠ MaxInt, ʌȠȣ İȓȞĮȚ ȝȚĮ ıIJĮșİȡȐ ȓıȘ ȝİ 32767 (Ƞ ȝİȖĮȜȪIJİȡȠȢ


ǼȚıĮȖȦȖȒ ıIJȘȞ Pascal

11

șİIJȚțȩȢ ĮțȑȡĮȚȠȢ ʌȠȣ ȝʌȠȡİȓ ȞĮ ĮȞĮʌĮȡĮıIJĮșİȓ Įʌȩ IJȠȞ Ǿ/Ȋ, ȩIJĮȞ ĮȣIJȩȢ ȤȡȘıȚȝȠʌȠȚİȓ 2 bytes ȖȚĮ IJȘȞ ĮȞĮʌĮȡȐıIJĮıȘ IJȦȞ ĮțİȡĮȓȦȞ). ǹȞ IJȠ ʌȡȩȖȡĮȝȝȐ ȝĮȢ ʌȡȩțİȚIJĮȚ ȞĮ ȤȡȘıȚȝȠʌȠȚȒıİȚ ȝİȖĮȜȪIJİȡȠȣȢ ĮțİȡĮȓȠȣȢ ĮȡȚșȝȠȪȢ, ȝʌȠȡȠȪȝİ ȞĮ įȘȜȫıȠȣȝİ IJȘȞ ĮȞIJȓıIJȠȚȤȘ ȝİIJĮȕȜȘIJȒ ȦȢ LongInt (ȕȜȑʌİ ʌĮȡĮțȐIJȦ). ȂİȖȐȜȠȚ ǹțȑȡĮȚȠȚ (LongInt) ǼȓȞĮȚ ȠȚ ȝȘ įİțĮįȚțȠȓ ĮȡȚșȝȠȓ ȠȚ IJȚȝȑȢ IJȦȞ ȠʌȠȓȦȞ ȕȡȓıțȠȞIJĮȚ ıIJȘȞ ʌİȡȚȠȤȒ Įʌȩ 2147483648 ȑȦȢ +2147483647. DzȞĮȢ ȝİȖȐȜȠȢ ĮțȑȡĮȚȠȢ ȤȡİȚȐȗİIJĮȚ 4 bytes ȖȚĮ ȞĮ ʌȐȡİȚ ȝȚĮ șȑıȘ ıIJȘ ȝȞȒȝȘ. ǵʌȦȢ ȖȚĮ IJȠȞ Integer, ȑIJıȚ țĮȚ ȖȚĮ IJȠȞ LongInt ȣʌȐȡȤİȚ ıIJȘȞ ȉ.ȇ. ȑȞĮ ʌȡȩIJȣʌȠ ĮȞĮȖȞȦȡȚıIJȚțȩ ʌȠȣ İțijȡȐȗİȚ IJȠ ȝİȖĮȜȪIJİȡȠ șİIJȚțȩ ȝİȖȐȜȠ ĮțȑȡĮȚȠ, IJȠ MaxLongInt. ȉȚȝȑȢ Word ȂȚĮ ĮțȩȝĮ įȣȞĮIJȩIJȘIJĮ, ȩIJĮȞ Ƞ ĮțȑȡĮȚȠȢ ĮȡȚșȝȩȢ ʌȠȣ İʌİȟİȡȖȐȗİIJĮȚ IJȠ ʌȡȩȖȡĮȝȝĮ įİȞ ʌȡȩțİȚIJĮȚ ȞĮ ȟİʌİȡȐıİȚ IJȠ ȩȡȚȠ +65535, ĮȜȜȐ ȠȪIJİ țĮȚ ȞĮ įİȤșİȓ ĮȡȞȘIJȚțȒ IJȚȝȒ, İȓȞĮȚ ȞĮ įȘȜȦșİȓ IJȪʌȠȣ Word. ǵʌȦȢ țĮȚ Ƞ Integer, Ƞ ĮțȑȡĮȚȠȢ IJȪʌȠȣ Word (ȜȑȟȘȢ), țĮIJĮȜĮȝȕȐȞİȚ 2 bytes ıIJȘ ȝȞȒȝȘ țĮȚ ȜȑȖİIJĮȚ İʌȓıȘȢ țĮȚ "ĮʌȡȩıȘȝȠȢ ĮțȑȡĮȚȠȢ". ȉȚȝȑȢ Byte ȅ IJȪʌȠȢ įİįȠȝȑȞȦȞ Byte, ĮȞĮijȑȡİIJĮȚ ıİ ȝȚĮ ȣʌȠʌİȡȚȠȤȒ IJȦȞ ĮțİȡĮȓȦȞ, ȝİ IJȚȝȑȢ Įʌȩ 0 ȑȦȢ +255. ǵʌȦȢ ȣʌȠȞȠİȓ IJȠ ȩȞȠȝĮ IJȠȣ IJȪʌȠȣ, ȝȚĮ IJȚȝȒ byte țĮIJĮȜĮȝȕȐȞİȚ 1 ȝȩȞȠ byte ıIJȘ ȝȞȒȝȘ. ȈȣȞȠȥȓȗȠȞIJĮȢ ȜȠȚʌȩȞ, ȖȚĮ IJȠȣȢ ĮțİȡĮȓȠȣȢ IJȪʌȠȣȢ ȑȤȠȣȝİ: ǵȞȠȝĮ

ȆİȡȚȖȡĮijȒ

ȉȚȝȑȢ

ȂȑȖİșȠȢ

ShortInt

ȂȚțȡȩȢ ĮțȑȡĮȚȠȢ

Įʌȩ -128 ȝȑȤȡȚ 127

1 byte

Integer

ǹțȑȡĮȚȠȢ

Įʌȩ -32768 ȝȑȤȡȚ 32767

2 bytes

LongInt

ȂİȖȐȜȠȢ ĮțȑȡĮȚȠȢ

Įʌȩ -2147483648 ȝȑȤȡȚ 2147483647

4 bytes

Byte

ĬİIJȚțȩȢ ĮțȑȡĮȚȠȢ

Įʌȩ 0 ȝȑȤȡȚ 255

1 byte

Word

ĬİIJȚțȩȢ ĮțȑȡĮȚȠȢ

Įʌȩ 0 ȝȑȤȡȚ 65535

2 bytes

Ȃİ įİįȠȝȑȞĮ ĮțİȡĮȓȠȣ IJȪʌȠȣ ȝʌȠȡȠȪȝİ ȞĮ țȐȞȠȣȝİ ʌȡȩıșİıȘ, ĮijĮȓȡİıȘ țĮȚ ʌȠȜȜĮʌȜĮıȚĮıȝȩ, ȩʌȦȢ ĮțȡȚȕȫȢ șĮ ʌİȡȚȝȑȞĮȝİ Įʌȩ IJȘȞ ĮȡȚșȝȘIJȚțȒ IJȠȣ ıȤȠȜİȓȠȣ. Ȉİ țȐșİ ʌİȡȓʌIJȦıȘ, IJȠ ĮʌȠIJȑȜİıȝĮ IJȘȢ ʌȡȐȟȘȢ İȓȞĮȚ İʌȓıȘȢ ĮțȑȡĮȚȠȢ ĮȡȚșȝȩȢ. ȍıIJȩıȠ, Ȓ įȚĮȓȡİıȘ ȝʌȠȡİȓ ȞĮ įȫıİȚ ĮʌȠIJİȜȑıȝĮIJĮ ʌȠȣ įİȞ İȓȞĮȚ ĮțȑȡĮȚĮ. īȚĮ ʌĮȡȐįİȚȖȝĮ, Ș ʌȡȐȟȘ 8/2 įȓȞİȚ IJȠȞ ĮțȑȡĮȚȠ 4, ĮȜȜȐ Ș 4/3 įȓȞİȚ IJȠ ȝȘ ĮțȑȡĮȚȠ ĮʌȠIJȑȜİıȝĮ 1.3333333. īȚĮ IJȘ įȚĮȓȡİıȘ ȝİIJĮȟȪ ĮțİȡĮȓȦȞ, Ș Pascal įȚĮșȑIJİȚ įȪȠ İȚįȚțȠȪȢ ȝĮșȘȝĮIJȚțȠȪȢ IJİȜİıIJȑȢ, IJȠȣȢ DIV țĮȚ MOD. ȅ DIV İʌȚıIJȡȑijİȚ IJȠ ĮțȑȡĮȚȠ ʌȘȜȓțȠ ȝȚĮȢ įȚĮȓȡİıȘȢ, țĮȚ Ƞ MOD İʌȚıIJȡȑijİȚ IJȠ ȣʌȩȜȠȚʌȠ. ȆİȡȚııȩIJİȡĮ ȖȚ'ĮȣIJȠȪȢ IJȠȣȢ įȪȠ IJİȜİıIJȑȢ șĮ įȠȪȝİ ıIJȠ 3Ƞ ȀİijȐȜĮȚȠ.

ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ


12

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

ǼʌȓıȘȢ ȞĮ ʌȠȪȝİ ĮțȩȝĮ ȩIJȚ ȝʌȠȡȠȪȝİ ȞĮ įȠȣȜȑȥȠȣȝİ țĮȚ ȝİ ĮțȑȡĮȚȠȣȢ İțijȡĮıȝȑȞȠȣȢ ıIJȠ įİțĮİȟĮįȚțȩ ıȪıIJȘȝĮ ĮȡȓșȝȘıȘȢ. ǹȣIJȒ Ș įȣȞĮIJȩIJȘIJĮ İȓȞĮȚ ȚįȚĮȓIJİȡĮ ȤȡȒıȚȝȘ ȩIJĮȞ İțȝİIJĮȜȜİȣȩȝĮıIJİ IJȚȢ ʌȡȠȤȦȡȘȝȑȞİȢ İȞIJȠȜȑȢ IJȘȢ Pascal ȖȚĮ ȤİȚȡȚıȝȩ bit țĮȚ byte, Ȓ ȖȚĮ ȐȝİıȠ ȤİȚȡȚıȝȩ IJȦȞ įȚİȣșȪȞıİȦȞ ȝȞȒȝȘȢ (ȠȚ ȠʌȠȓİȢ İțijȡȐȗȠȞIJĮȚ ʌȐȞIJĮ ıIJȠ įİțĮİȟĮįȚțȩ). ȅȚ įİțĮİȟĮįȚțȑȢ IJȚȝȑȢ ĮȡȤȓȗȠȣȞ ʌȐȞIJȠIJİ ȝİ IJȠ ıȪȝȕȠȜȠ IJȠȣ įȠȜĮȡȓȠȣ "$". īȚĮ ʌĮȡȐįİȚȖȝĮ, Ƞ įİțĮįȚțȩȢ ĮȡȚșȝȩȢ 2635 șĮ İțijȡĮȗȩIJĮȞ ȦȢ $ǹ4Ǻ.

2.4.2 ȆȡĮȖȝĮIJȚțȩȢ ȉĮ ʌȡĮȖȝĮIJȚțȠȪ IJȪʌȠȣ įİįȠȝȑȞĮ (Real) İȓȞĮȚ ȠȚ ʌȡĮȖȝĮIJȚțȠȓ ĮȡȚșȝȠȓ, įȘȜĮįȒ ȠȚ ĮȡȚșȝȠȓ ʌȠȣ ʌİȡȚȑȤȠȣȞ įİțĮįȚțȩ ȝȑȡȠȢ. ȆȚȠ ıȣȖțİțȡȚȝȑȞĮ ȣʌȐȡȤȠȣȞ įȪȠ ȝȠȡijȑȢ ʌȡĮȖȝĮIJȚțȫȞ ĮȡȚșȝȫȞ: ȠȚ ʌȡĮȖȝĮIJȚțȠȓ ĮȡȚșȝȠȓ ȝİ ıIJĮșİȡȒ Ȓ ȝİ țȚȞȘIJȒ ȣʌȠįȚĮıIJȠȜȒ (fixed point țĮȚ floating point ĮȞIJȓıIJȠȚȤĮ). ȅȚ ʌȡĮȖȝĮIJȚțȠȓ ĮȡȚșȝȠȓ ȝİ ıIJĮșİȡȒ ȣʌȠįȚĮıIJȠȜȒ, İȓȞĮȚ İțİȓȞȠȚ ȠȚ ȠʌȠȓȠȚ ʌİȡȚȑȤȠȣȞ ȝȩȞȠ IJĮ ȥȘijȓĮ 0123456789, ʌȡȑʌİȚ ȞĮ ıȣȝʌİȡȚȜĮȝȕȐȞȠȣȞ 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ȠȜȒ İȓȞĮȚ: -0.12 1.588 20.0 -123.56780 İȞȫ įİȞ İʌȚIJȡȑʌȠȞIJĮȚ ȠȚ ȝȠȡijȑȢ: 2. .3 3,14. Ǿ ʌİȡȓʌIJȦıȘ ʌȡĮȖȝĮIJȚțȫȞ ĮȡȚșȝȫȞ ȝİ țȚȞȘIJȒ ȣʌȠįȚĮıIJȠȜȒ, ĮȞĮijȑȡİIJĮȚ ıIJȠȣȢ ʌȡĮȖȝĮIJȚțȠȪȢ ĮȡȚșȝȠȪȢ IJȘȢ ȝȠȡijȒȢ Mx10R, ȩʌȠȣ M İȓȞĮȚ Ƞ ıȣȞIJİȜİıIJȒȢ (mantissa) țĮȚ R Ƞ İțșȑIJȘȢ. ȈIJȘȞ Pascal Ș ʌĮȡȐıIJĮıȘ IJȦȞ ĮȡȚșȝȫȞ ĮȣIJȫȞ ȑȤİȚ IJȘ ȝȠȡijȒ MER, ȩʌȠȣ M İȓȞĮȚ ȑȞĮȢ ĮțȑȡĮȚȠȢ Ȓ ʌȡĮȖȝĮIJȚțȩȢ ĮȡȚșȝȩȢ ȝİ ıIJĮșİȡȒ ȣʌȠįȚĮıIJȠȜȒ ĮțȠȜȠȣșȠȪȝİȞȠȢ Įʌȩ IJȠ ȖȡȐȝȝĮ Ǽ (ʌȠȣ ıȣȝȕȠȜȓȗİȚ IJȘ ȕȐıȘ, 10) țĮȚ R İȓȞĮȚ ȑȞĮȢ ĮțȑȡĮȚȠȢ. ȉȩıȠ Ƞ M ȩıȠ țĮȚ Ƞ R įȪȞĮȞIJĮȚ ȞĮ ȑȤȠȣȞ ʌȡȩıȘȝȠ, ıIJȘȞ ʌİȡȓʌIJȦıȘ ʌȠȣ IJȠ ʌȡȩıȘȝȠ İȓȞĮȚ IJȠ "+" ȝʌȠȡİȓ ȞĮ ʌĮȡĮȜȘijșİȓ. ǼʌȚIJȡİʌIJȑȢ ȝȠȡijȑȢ ʌȡĮȖȝĮIJȚțȫȞ ĮȡȚșȝȫȞ ȝİ țȚȞȘIJȒ ȣʌȠįȚĮıIJȠȜȒ İȓȞĮȚ ȠȚ: 2.9E-5 0.10E09 25E-6 134.00E+20, İȞȫ ȝȘ İʌȚIJȡİʌIJȑȢ İȓȞĮȚ ȠȚ ĮțȩȜȠȣșİȢ: 13.Ǽ6 12,6E11 -1.23E1.2 .45E+12. Ǿ ȖȡĮijȒ İȞȩȢ ĮȡȚșȝȠȪ ȝİ ȝȠȡijȒ țȚȞȘIJȒȢ ȣʌȠįȚĮıIJȠȜȒȢ, ȜȑȖİIJĮȚ İʌȓıȘȢ İțșİIJȚțȒ ȖȡĮijȒ. ȂȚĮ ȝİIJĮȕȜȘIJȒ IJȪʌȠȣ Real ȤȡİȚȐȗİIJĮȚ 6 bytes ȝȞȒȝȘȢ țĮȚ ȝʌȠȡİȓ ȞĮ ʌĮȓȡȞİȚ IJȚȝȑȢ Įʌȩ 2.9E-39 ȑȦȢ 1.7E38. ǼțIJȩȢ Įʌȩ IJȠȞ IJȪʌȠ Real, ȖȚĮ IJȘȞ ȑțijȡĮıȘ ʌȡĮȖȝĮIJȚțȫȞ ĮȡȚșȝȫȞ ȣʌȐȡȤȠȣȞ įȚĮșȑıȚȝȠȚ ıIJȘȞ Turbo Pascal IJȑııİȡȚȢ ĮțȩȝȘ ʌȡĮȖȝĮIJȚțȠȓ IJȪʌȠȚ įİįȠȝȑȞȦȞ. ǼȓȞĮȚ ȠȚ Single, Double, Extended țĮȚ Comp. ȈIJȠȞ ʌĮȡĮțȐIJȦ ʌȓȞĮțĮ, ıȣȞȠȥȓȗȠȞIJĮȢ, įİȓȤȞȠȣȝİ IJȘȞ İȜȐȤȚıIJȘ țĮȚ IJȘ ȝȑȖȚıIJȘ ĮʌȩȜȣIJȘ IJȚȝȒ ȖȚĮ IJȠȞ țȐșİ ʌȡĮȖȝĮIJȚțȩ IJȪʌȠ:


ǼȚıĮȖȦȖȒ ıIJȘȞ Pascal

ǵȞȠȝĮ

ȆİȡȚȖȡĮijȒ

ȉȚȝȑȢ

13

ȂȑȖİșȠȢ

Real

ȆȡĮȖȝĮIJȚțȩȢ

Įʌȩ 2.9 10-39 ȝȑȤȡȚ 1.7 1038

6 bytes

Single

ȆȡĮȖȝĮIJȚțȩȢ ĮȡȚșȝȩȢ

Įʌȩ 1.5 10-45 ȝȑȤȡȚ 3.4 1038

4 bytes

Double

ȆȡĮȖȝĮIJȚțȩȢ ĮȡȚșȝȩȢ

Įʌȩ 5.0 10-324 ȝȑȤȡȚ 1.7 10308

8 bytes

Extended

ȆȡĮȖȝĮIJȚțȩȢ ĮȡȚșȝȩȢ

Įʌȩ 3.4 10-4932 ȝȑȤȡȚ 1.1 104932

10 bytes

Comp

ȆȡĮȖȝĮIJȚțȩȢ ĮȡȚșȝȩȢ

Įʌȩ -9.2 1018 ȝȑȤȡȚ 9.2 1018

8 bytes

Ȃİ įİįȠȝȑȞĮ ʌȡĮȖȝĮ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ĮȚ ʌȠȜȪ ʌȚȠ ȖȡȒȖȠȡĮ Įʌȩ İțİȓȞİȢ ȝİ IJȠȣȢ ʌȡĮȖȝĮIJȚțȠȪȢ ĮȡȚșȝȠȪȢ.

x

ȆȠIJȑ įİ șĮ ʌȡȑʌİȚ ȞĮ ʌİȡȚȝȑȞȠȣȝİ ȩIJȚ ȝȚĮ ȝİIJĮȕĮȜȜȩȝİȞȘ ʌȠıȩIJȘIJĮ ȝʌȠȡİȓ ȞĮ ȖȓȞİȚ ȓıȘ ȝİ ȝȚĮ ıIJĮșİȡȐ ʌȡĮȖȝĮIJȚțȠȪ IJȪʌȠȣ.

2.4.3 ȋĮȡĮțIJȒȡĮȢ ȈIJĮ įİįȠȝȑȞĮ IJȪʌȠȣ ȤĮȡĮțIJȒȡĮ (Char) ĮȞȒțȠȣȞ ȠȚ įȚȐijȠȡȠȚ ȤĮȡĮțIJȒȡİȢ ʌȠȣ ȝʌȠȡȠȪȞ ȞĮ ĮȞĮʌĮȡĮıIJĮșȠȪȞ Įʌȩ ȑȞĮȞ Ǿ/Ȋ. ȅ IJȪʌȠȢ Char țĮIJĮȜĮȝȕȐȞİȚ 1 byte ıIJȘ ȝȞȒȝȘ IJȠȣ Ǿ/Ȋ. ȅȚ įȚȐijȠȡȠȚ Ǿ/Ȋ ʌȡȑʌİȚ ȞĮ ȤȡȘıȚȝȠʌȠȚȠȪȞ IJȠȞ ȓįȚȠ IJȡȩʌȠ ȖȚĮ IJȘȞ ĮȞĮʌĮȡȐıIJĮıȘ IJȦȞ ȤĮȡĮțIJȒȡȦȞ, ȫıIJİ ȞĮ ȝʌȠȡȠȪȞ ȞĮ ĮȞIJĮȜȜȐȟȠȣȞ įİįȠȝȑȞĮ ȝİIJĮȟȪ IJȠȣȢ. ȅ IJȡȩʌȠȢ ĮȣIJȩȢ ȜȑȖİIJĮȚ țȫįȚțĮȢ ĮȞĮʌĮȡȐıIJĮıȘȢ ȤĮȡĮțIJȒȡȦȞ. ȅ ʌİȡȚııȩIJİȡȠ įȚĮįİįȠȝȑȞȠȢ țȫįȚțĮȢ ıȒȝİȡĮ İȓȞĮȚ Ƞ țȫįȚțĮȢ ASCII (American Standard Code for Information Interchange). DzȞĮ ĮʌȩıʌĮıȝĮ IJȠȣ țȫįȚțĮ ASCII (ȖȚĮ IJĮ ʌȡȫIJĮ țİijĮȜĮȓĮ ȖȡȐȝȝĮIJĮ IJȠȣ ĮȖȖȜȚțȠȪ ĮȜijĮȕȒIJȠȣ), ʌĮȡȠȣıȚȐȗİIJĮȚ ʌĮȡĮțȐIJȦ: ȋĮȡĮțIJȒȡĮȢ ǹ Ǻ C D E F G H I J

ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ

ǻȣĮįȚțȒ ȆĮȡȐıIJĮıȘ 01000001 01000010 01000011 01000100 01000101 01000110 01000111 01001000 01001001 01001010

ǹȞIJȓıIJȠȚȤȠȢ įİțĮįȚțȩȢ ĮȡȚșȝȩȢ 65 66 67 68 69 70 71 72 73 74


14

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

2.4.4 ǹȜijĮȡȚșȝȘIJȚțȩ DzȞĮȢ IJȪʌȠȢ įİįȠȝȑȞȦȞ ʌȠȣ įİȞ ȣʌȠıIJȘȡȓȗİȚ Ș ʌȡȩIJȣʌȘ Pascal ĮȜȜȐ ȝȩȞȠ Ș Turbo Pascal, İȓȞĮȚ Ƞ IJȪʌȠȢ ĮȜijĮȡȚșȝȘIJȚțȠȪ, String (Ȓ ıȣȝȕȠȜȠıİȚȡȐȢ Ȓ ıİȚȡȐȢ ȤĮȡĮțIJȒȡȦȞ Ȓ ȠȡȝĮșȠȪ ȤĮȡĮțIJȒȡȦȞ). DzȞĮ ĮȜijĮȡȚșȝȘIJȚțȩ İȓȞĮȚ ȝȚĮ ıİȚȡȐ ȤĮȡĮțIJȒȡȦȞ. ȈIJȘȞ ȉ.ȇ. ĮʌȠIJİȜİȓ ʌȡȠțĮșȠȡȚıȝȑȞȠ IJȪʌȠ įİįȠȝȑȞȦȞ ȝİ ȝȑȖȚıIJȠ ȝȒțȠȢ 255 ȤĮȡĮțIJȒȡȦȞ. ǹȢ ıȘȝİȚȫıȠȣȝİ ȩȝȦȢ ȩIJȚ, IJĮ ĮȜijĮȡȚșȝȘIJȚțȐ İȓȞĮȚ ȑȞĮȢ įȠȝȘȝȑȞȠȢ, Ȓ ıȪȞșİIJȠȢ IJȪʌȠȢ įİįȠȝȑȞȦȞ İʌİȚįȒ ĮʌȠIJİȜȠȪȞIJĮȚ Įʌȩ ȑȞĮȞ ʌȚȠ șİȝİȜȚȫįȘ IJȪʌȠ, IJȠȣȢ ȤĮȡĮțIJȒȡİȢ.

2.4.5 ȁȠȖȚțȩȢ ȉĮ įİįȠȝȑȞĮ ȜȠȖȚțȠȪ IJȪʌȠȣ (Boolean) (Įʌȩ IJȠ ȩȞȠȝĮ IJȠȣ ȂĮșȘȝĮIJȚțȠȪ George Boole), ȝʌȠȡȠȪȞ ȞĮ ʌȐȡȠȣȞ ȝȩȞȠ įȪȠ įȣȞĮIJȑȢ IJȚȝȑȢ: True țĮȚ False (ĮȜȘșȑȢ țĮȚ ȥİȣįȑȢ). ȂʌȠȡȠȪȝİ ȞĮ țȐȞȠȣȝİ ʌȡȐȟİȚȢ, ȝİ įİįȠȝȑȞĮ IJȪʌȠȣ Boolean, ȠȚ ʌȡȐȟİȚȢ ĮȣIJȑȢ ȜȑȖȠȞIJĮȚ ȜȠȖȚțȑȢ ʌȡȐȟİȚȢ țĮȚ șĮ IJȚȢ įȠȪȝİ ıİ İʌȩȝİȞĮ țİijȐȜĮȚĮ. ȂȚĮ ȜȠȖȚțȒ IJȚȝȒ țĮIJĮȜĮȝȕȐȞİȚ ȝȞȒȝȘ 1 byte.


15

3. ȈȉǹĬǼȇǼȈ - ȂǼȉǹǺȁǾȉǼȈ - ȆǹȇǹȈȉǹȈǼǿȈ ȆȠȜȜȑȢ ijȠȡȑȢ, ıIJĮ įȚȐijȠȡĮ ʌȡȠȖȡȐȝȝĮIJĮ, șĮ ȤȡİȚĮȗȩȝĮıIJİ țȐʌȠȚĮ įİįȠȝȑȞĮ Ș IJȚȝȒ IJȦȞ ȠʌȠȓȦȞ įİ șĮ ĮȜȜȐȗİȚ ʌȠIJȑ țĮIJȐ IJȘȞ įȚȐȡțİȚĮ İțIJȑȜİıȘȢ IJȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ. ȅȚ IJȚȝȑȢ ĮȣIJȫȞ IJȦȞ įİįȠȝȑȞȦȞ, ʌȠȣ ȠȞȠȝȐȗȠȞIJĮȚ ıIJĮșİȡȑȢ (constants), ȝʌȠȡȠȪȞ ȞĮ ȠȡȚıșȠȪȞ ȝȓĮ ȝȩȞȠ ijȠȡȐ țĮȚ ȞĮ ȤȡȘıȚȝȠʌȠȚȠȪȞIJĮȚ ȩıİȢ ijȠȡȑȢ ȤȡİȚȐȗİIJĮȚ ȝȑıĮ ıIJȠ ʌȡȩȖȡĮȝȝĮ. īȚĮ ʌĮȡȐįİȚȖȝĮ ȝʌȠȡȠȪȝİ ȞĮ țĮșȠȡȓıȠȣȝİ IJȘȞ IJȚȝȒ IJȠȣ "ʌ" ȓıȘ ȝİ 3.1415926535898 țĮȚ ȞĮ IJȘ ȤȡȘıȚȝȠʌȠȚȠȪȝİ ȝȑıĮ ıIJȠ ʌȡȩȖȡĮȝȝĮ, ȩIJĮȞ IJȘ ȤȡİȚĮȗȩȝĮıIJİ, ȑȤȠȞIJĮȢ ȣʌȩȥȘ ȝĮȢ ȩIJȚ ĮȣIJȒ İȓȞĮȚ ıȣȞİȤȫȢ įȚĮșȑıȚȝȘ țĮȚ ȠȡșȒ. ǼțIJȩȢ Įʌȩ IJȚȢ ʌĮȡĮʌȐȞȦ ʌȠıȩIJȘIJİȢ, ʌȠȣ įİȞ ĮȜȜȐȗȠȣȞ ʌȠIJȑ, ȑȞĮ ʌȡȩȖȡĮȝȝĮ ȝʌȠȡİȓ ȞĮ ȤȡȘıȚȝȠʌȠȚİȓ țȐʌȠȚİȢ ȐȜȜİȢ ʌȠıȩIJȘIJİȢ IJȦȞ ȠʌȠȓȦȞ ȠȚ ĮȜȜȐȗȠȣȞ țĮIJȐ IJȘȞ įȚȐȡțİȚĮ IJȘȢ İțIJȑȜİıȒȢ IJȠȣ țĮȚ ȠȞȠȝȐȗȠȞIJĮȚ ȝİIJĮȕȜȘIJȑȢ (variables).

3.1 ȈȣȝȕȠȜȚțȑȢ ȈIJĮșİȡȑȢ ǵIJĮȞ ȤȡȘıȚȝȠʌȠȚȠȪȝİ ıIJĮ ʌȡȠȖȡȐȝȝĮIJȐ ȝĮȢ ıIJĮșİȡȑȢ, İȓȞĮȚ ȕȠȜȚțȩIJİȡȠ ȞĮ ĮȞĮijİȡȩȝĮıIJİ ı'ĮȣIJȑȢ, ȩȤȚ ȝİ IJȘȞ IJȚȝȒ IJȠȣȢ, ĮȜȜȐ ȝİ țȐʌȠȚȠ ıȣȝȕȠȜȚțȩ ȩȞȠȝĮ (ĮȞĮȖȞȦȡȚıIJȚțȩ), ĮȣIJȩ IJȠ ȩȞȠȝĮ ȜȑȖİIJĮȚ ıȣȝȕȠȜȚțȒ ıIJĮșİȡȐ. Ȇ.Ȥ. ĮȞIJȓ ȞĮ ȖȡȐijȠȣȝİ IJȘȞ IJȚȝȒ 3.1415926535898, İȓȞĮȚ ʌȡȠIJȚȝȩIJİȡȠ ȞĮ ĮȞIJȚıIJȠȚȤȓıȠȣȝİ ı'ĮȣIJȒ IJȘȞ IJȚȝȒ IJȠ ȩȞȠȝĮ ȇi. Ǿ Pascal ȝĮȢ İʌȚIJȡȑʌİȚ țȐIJȚ IJȑIJȠȚȠ, Įȡțİȓ ĮȣIJȒ Ș ĮȞIJȚıIJȠȓȤȚıȘ ȞĮ ȖȓȞİȚ ıIJȠ ȝȑȡȠȢ įȘȜȫıİȦȞ IJȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ. ȅȚ ıȣȝȕȠȜȚțȑȢ ıIJĮșİȡȑȢ ȝʌȠȡȠȪȞ ȞĮ İȓȞĮȚ ȠʌȠȚȠȣįȒʌȠIJİ IJȪʌȠȣ. ȉĮ ȠȞȩȝĮIJȐ IJȠȣȢ ʌȡȑʌİȚ ȞĮ įȘȝȚȠȣȡȖȠȪȞIJĮȚ ȝİ ȕȐıȘ IJȠȣȢ țĮȞȩȞİȢ įȘȝȚȠȣȡȖȓĮȢ ȠȞȠȝȐIJȦȞ, ʌȠȣ İȓįĮȝİ ıIJȘȞ § 2.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ȠȢ, ʌȠȣ ȟİțȚȞȐ ȝİ IJȘȞ įİıȝİȣȝȑȞȘ ȜȑȟȘ Const, ȦȢ İȟȒȢ: Const ȩȞȠȝĮ_ıIJĮșİȡȐȢ1 ȩȞȠȝĮ_ıIJĮșİȡȐȢ2 .. .. ȩȞȠȝĮ_ıIJĮșİȡȐȢn

= IJȚȝȒ1; = IJȚȝȒ2; .. .. = IJȚȝȒn;

ȩʌȠȣ ĮȞĮȖȞȦȡȚıIJȚțȩ_ıIJĮșİȡȐȢi İȓȞĮȚ IJȠ ȩȞȠȝĮ IJȘȢ i-ȠıIJȒȢ ıIJĮșİȡȐȢ țĮȚ IJȚȝȒi Ș ĮȞIJȓıIJȠȚȤȘ IJȚȝȒ IJȘȢ.


16

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

ȆĮȡȐįİȚȖȝĮ: Const DaysPerWeek HoursPerDay Message Pi Hot Letter MaxData

= = = = = = =

7; 24; 'ȀĮȜȘȝȑȡĮ'; 3.1415926535898; True; 'A'; 1024 * 64 - 16;

{ǹțȑȡĮȚĮ ıIJĮșİȡȐ} {ǹțȑȡĮȚĮ ıIJĮșİȡȐ} {ǹȜijĮȡȚșȝȘIJȚțȒ ıIJĮșİȡȐ} {ȆȡĮȖȝĮIJȚțȒ ıIJĮșİȡȐ} {ȁȠȖȚțȒ ıIJĮșİȡȐ} {ȈIJĮșİȡȐ ȤĮȡĮțIJȒȡĮ} {ǹțȑȡĮȚĮ ıIJĮșİȡȐ}

3.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ȠȞ IJȪʌȠ IJȦȞ IJȚȝȫȞ ʌȠȣ ȜĮȝȕȐȞȠȣȞ, ȖȚĮ ȞĮ ȟȑȡİȚ Ƞ ȝİIJĮȖȜȦIJIJȚıIJȒȢ ʌȩıȠ ȤȫȡȠ ȝȞȒȝȘȢ șĮ įİıȝİȪıİȚ ȖȚĮ IJȘȞ țĮșİȝȓĮ Įʌ'ĮȣIJȑȢ. Ǿ įȒȜȦıȘ IJȦȞ ȝİIJĮȕȜȘIJȫȞ ȖȓȞİIJĮȚ ıIJȠ IJȝȒȝĮ įȘȜȫıİȦȞ ȝİIJĮȕȜȘIJȫȞ IJȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ, ʌȠȣ ȟİțȚȞȐ ȝİ IJȘȞ įİıȝİȣȝȑȞȘ ȜȑȟȘ Var, ȦȢ İȟȒȢ: Var ȜȓıIJĮ ȝİIJĮȕȜȘIJȫȞ1 : IJȪʌȠȢ1; ȜȓıIJĮ ȝİIJĮȕȜȘIJȫȞ2 : IJȪʌȠȢ2; .. .. .. .. ȜȓıIJĮ ȝİIJĮȕȜȘIJȫȞn : IJȪʌȠȢn;

ȩʌȠȣ ȜȓıIJĮ ȝİIJĮȕȜȘIJȫȞi İȓȞĮȚ IJĮ ĮȞĮȖȞȦȡȚıIJȚțȐ ȠȞȩȝĮIJĮ IJȦȞ ȝİIJĮȕȜȘIJȫȞ ȤȦȡȚıȝȑȞĮ ȝİ țȩȝȝĮIJĮ "," țĮȚ IJȪʌȠȢi İȓȞĮȚ Ƞ IJȪʌȠȢ IJȦȞ IJȚȝȫȞ IJȦȞ ȝİIJĮȕȜȘIJȫȞ IJȘȢ țĮșİȝȚȐȢ ȜȓıIJĮȢ. ȉĮ ȠȞȩȝĮIJȐ IJȦȞ ȝİIJĮȕȜȘIJȫȞ ʌȡȑʌİȚ ȞĮ įȘȝȚȠȣȡȖȠȪȞIJĮȚ ȝİ ȕȐıȘ IJȠȣȢ țĮȞȩȞİȢ įȘȝȚȠȣȡȖȓĮȢ ȠȞȠȝȐIJȦȞ, ʌȠȣ İȓįĮȝİ ıIJȘȞ § 2.2. ȆĮȡȐįİȚȖȝĮ: Var Age, Count, I, J Max, X1, X2, Y1 Char1, Char2 Yes City

: : : : :

Integer; Real; Char; Boolean; String[25];

{ǹțȑȡĮȚĮ ȝİIJĮȕȜȘIJȒ} {ȆȡĮȖȝĮIJȚțȒ ȝİIJĮȕȜȘIJȒ} {ȂİIJĮȕȜȘIJȒ ȤĮȡĮțIJȒȡĮ} {ȁȠȖȚțȒ ȝİIJĮȕȜȘIJȒ} {ǹȜijĮȡȚșȝȘIJȚțȒ ȝİIJĮȕȜȘIJȒ ȝȒțȠȣȢ 25 IJȠ ʌȠȜȪ ȤĮȡĮțIJȒȡȦȞ}


ȈIJĮșİȡȑȢ - ȂİIJĮȕȜȘIJȑȢ - ȆĮȡĮıIJȐıİȚȢ

17

3.3 ȆĮȡĮıIJȐıİȚȢ ȅȚ ʌĮȡĮıIJȐıİȚȢ ʌȠȣ ȝʌȠȡȠȪȝİ ȞĮ įȘȝȚȠȣȡȖȒıȠȣȝİ ıIJȘȞ Pascal, İȓȞĮȚ IJȡȚȫȞ İȚįȫȞ: ĮȡȚșȝȘIJȚțȑȢ, ĮȜijĮȡȚșȝȘIJȚțȑȢ țĮȚ ȜȠȖȚțȑȢ. ȈIJȘȞ ʌĮȡȐȖȡĮijȠ ĮȣIJȒ șĮ įȠȪȝİ IJȚȢ ĮȡȚșȝȘIJȚțȑȢ țĮȚ IJȚȢ ĮȜijĮȡȚșȝȘIJȚțȑȢ ʌĮȡĮıIJȐıİȚȢ, IJȚȢ ȜȠȖȚțȑȢ ʌĮȡĮıIJȐıİȚȢ șĮ IJȚȢ įȠȪȝİ ıIJȠ ȀİijȐȜĮȚȠ 5, ıİ ıȣȞįȣĮıȝȩ ȝİ IJȚȢ İȞIJȠȜȑȢ įȚĮțȜȐįȦıȘȢ.

3.3.1 ǹȡȚșȝȘ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ȪʌȠȣ Integer ıİ ȝȚĮ ĮȡȚșȝȘIJȚțȒ ʌĮȡȐıIJĮıȘ țĮȚ įİȞ ʌİȡȚȑȤİIJĮȚ Ƞ IJİȜİıIJȒȢ IJȘȢ įȚĮȓȡİıȘȢ, IJȩIJİ Ș IJȚȝȒ IJȘȢ ʌĮȡȐıIJĮıȘȢ İȓȞĮȚ ĮțȑȡĮȚȠȢ ĮȡȚșȝȩȢ. ȈIJȘȞ ʌİȡȓʌIJȦıȘ ʌȠȣ IJȠȣȜȐȤȚıIJȠȞ ȝȓĮ ıIJĮșİȡȐ Ȓ ȝİIJĮȕȜȘIJȒ İȓȞĮȚ IJȪʌȠȣ Real, Ș IJȚȝȒ IJȘȢ ʌĮȡȐıIJĮıȘȢ İȓȞĮȚ ʌȡĮȖȝĮIJȚțȩȢ ĮȡȚșȝȩȢ. Ǿ ıİȚȡȐ ʌȡȠ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ĮȢ ʌĮȡİȞșȑıİȚȢ. ǼȚįȚțȠȓ ȉİȜİıIJȑȢ ǹțİȡĮȓȦȞ ǼțIJȩȢ Įʌȩ IJȠȣȢ ĮȡȚșȝȘIJȚțȠȪȢ IJİȜİıIJȑȢ (+, -, *, /) ȣʌȐȡȤȠȣȞ įȪȠ IJİȜİıIJȑȢ ȠȚ DIV țĮȚ MOD, ȠȚ ȠʌȠȓȠȚ ȝʌȠȡȠȪȞ ȞĮ ȤȡȘıȚȝȠʌȠȚȘșȠȪȞ ȝȩȞȠ ȖȚĮ ĮțİȡĮȓȠȣ IJȪʌȠȣ įİįȠȝȑȞĮ țĮȚ ȑȤȠȣȞ IJȘȞ ʌĮȡĮțȐIJȦ ıȪȞIJĮȟȘ: X DIV Y

țĮȚ

X MOD Y

ȅ IJİȜİıIJȒȢ DIV įȓȞİȚ IJȠ ĮțȑȡĮȚȠ ʌȘȜȓțȠ IJȘȢ įȚĮȓȡİıȘȢ IJȠȣ ȋ įȚĮ IJȠȣ Ȋ, İȞȫ Ƞ IJİȜİıIJȒȢ MOD įȓȞİȚ IJȠ ĮțȑȡĮȚȠ ȣʌȩȜȠȚʌȠ ĮȣIJȒȢ IJȘȢ įȚĮȓȡİıȘȢ.

ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ


18

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

ȆĮȡĮįİȓȖȝĮIJĮ: ȆȡȐȟȘ

ȉȚȝȒ

2 MOD 7

2

2 DIV 7

0

12 MOD 3

0

12 DIV 3

4

12 DIV 9

1

12 MOD 9

3

3.3.2 ȂĮșȘȝĮIJȚțȑȢ ȈȣȞĮȡIJȒıİȚȢ IJȘȢ Pascal ȆȡȠțİȚȝȑȞȠȣ ȞĮ ʌĮȡĮı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ȚȢ ıȣȞĮȡIJȒıİȚȢ İȓȞĮȚ:

Abs(X) ǼʌȚıIJȡȑijİȚ IJȘȞ ĮʌȩȜȣIJȘ IJȚȝȒ IJȠȣ ȠȡȓıȝĮIJȠȢ ȋ. ȉȠ ȋ İȓȞĮȚ IJȪʌȠȣ Integer Ȓ Real țĮȚ Ș İʌȚıIJȡİijȩȝİȞȘ IJȚȝȒ İȓȞĮȚ IJȠȣ ȓįȚȠȣ IJȪʌȠȣ ȝİ IJȠ ȋ. Ȇ.Ȥ. Abs(3.4) İȓȞĮȚ 3.4

Abs(-5) İȓȞĮȚ 5

ArcTan(R) ǼʌȚıIJȡȑijİȚ IJȠ IJȩȟȠ İijĮʌIJȠȝȑȞȘȢ R ıİ ĮțIJȓȞȚĮ (rad). ȉȠ ȩȡȚıȝĮ R țĮȚ Ș İʌȚıIJȡİijȩȝİȞȘ IJȚȝȒ İȓȞĮȚ IJȪʌȠȣ Real. Ȇ.Ȥ. ArcTan(1.0) İȓȞĮȚ 0.7854

ArcTan(0.0) İȓȞĮȚ 0.0

Cos(R) ǼʌȚıIJȡȑijİȚ IJȠ ıȣȞȘȝȓIJȠȞȠ IJȠȣ R. ȉȠ R ʌȡȑʌİȚ ȞĮ İțijȡȐȗİȚ ȖȦȞȓĮ ıİ ĮțIJȓȞȚĮ. ȉȩıȠ IJȠ R, ȩıȠ țĮȚ Ș İʌȚıIJȡİijȩȝİȞȘ IJȚȝȒ İȓȞĮȚ IJȪʌȠȣ Real. Ȇ.Ȥ. Cos(3.14159) İȓȞĮȚ -1.0

Cos(1.0) İȓȞĮȚ 0.54030

Exp(R) ǼʌȚıIJȡȑijİȚ IJȠ eR. ȉȩıȠ IJȠ R, ȩıȠ țĮȚ Ș İʌȚıIJȡİijȩȝİȞȘ IJȚȝȒ İȓȞĮȚ IJȪʌȠȣ Real. Ȇ.Ȥ. Exp(0.0) İȓȞĮȚ 1.0

Exp(1.0) İȓȞĮȚ 2.718


ȈIJĮșİȡȑȢ - ȂİIJĮȕȜȘIJȑȢ - ȆĮȡĮıIJȐıİȚȢ

19

Frac(R) ǼʌȚıIJȡȑijİȚ IJȠ țȜĮıȝĮIJȚțȩ ȝȑȡȠȢ IJȠȣ R. ȉȩıȠ IJȠ R, ȩıȠ țĮȚ Ș İʌȚıIJȡİijȩȝİȞȘ IJȚȝȒ İȓȞĮȚ IJȪʌȠȣ Real. Ȇ.Ȥ. Frac(4.56) İȓȞĮȚ 0.56

Frac(-6.78) İȓȞĮȚ -0.78

Int(R) ǼʌȚıIJȡȑijİȚ IJȠ ĮțȑȡĮȚȠ ȝȑȡȠȢ IJȠȣ R. ȉȩıȠ IJȠ R, ȩıȠ țĮȚ Ș İʌȚıIJȡİijȩȝİȞȘ IJȚȝȒ İȓȞĮȚ IJȪʌȠȣ Real. Ȇ.Ȥ. Int(4.56) İȓȞĮȚ 4.0

Int(-6.78) İȓȞĮȚ 6.0

Ln(R) ǼʌȚıIJȡȑijİȚ IJȠ ijȣıȚțȩ (ȃİʌȑȡȚȠ) ȜȠȖȐȡȚșȝȠ IJȠȣ R. ȉȩıȠ IJȠ R, ȩıȠ țĮȚ Ș İʌȚıIJȡİijȩȝİȞȘ IJȚȝȒ İȓȞĮȚ IJȪʌȠȣ Real. Ȇ.Ȥ. Ln(1.0) İȓȞĮȚ 0.0

Ln(2.0) İȓȞĮȚ 0.69315

ȅdd(I) ǼʌȚıIJȡȑijİȚ ĮȜȘșȒ IJȚȝȒ (True) ĮȞ IJȠ ǿ İȓȞĮȚ ʌİȡȚIJIJȩȢ, ĮȞ Ƞ ǿ İȓȞĮȚ ȐȡIJȚȠȢ İʌȚıIJȡȑijİȚ ȥİȣįȒ IJȚȝȒ (false). O I ȝʌȠȡİȓ ȞĮ ȠʌȠȚȠȣįȒʌȠIJİ ĮțİȡĮȓȠȣ IJȪʌȠȣ. Ȇ.Ȥ. Odd(9) İȓȞĮȚ True

Odd(12) İȓȞĮȚ False

Pi ǼʌȚıIJȡȑijİȚ IJȘȞ IJȚȝȒ IJȘȢ ıIJĮșİȡȐȢ ʌ=3.1415926535897932385 Round(R) ǼʌȚıIJȡȑijİȚ ȑȞĮȞ ĮțȑȡĮȚȠ ʌȠȣ ʌȡȠȑȡȤİIJĮȚ Įʌȩ IJȘ ıIJȡȠȖȖȣȜȠʌȠȓȘıȘ IJȠȣ ȠȡȓıȝĮIJȠȢ R. O R İȓȞĮȚ IJȪʌȠȣ Real, İȞȫ Ș İʌȚıIJȡİijȩȝİȞȘ IJȚȝȒ İȓȞĮȚ IJȪʌȠȣ Integer. Ȇ.Ȥ. Round(5.51) İȓȞĮȚ 6

Round(-4.67) İȓȞĮȚ -5

Sin(R) ǼʌȚıIJȡȑijİȚ IJȠ ȘȝȓIJȠȞȠ IJȠȣ R. ȉȠ R ʌȡȑʌİȚ ȞĮ İțijȡȐȗİȚ ȖȦȞȓĮ ıİ ĮțIJȓȞȚĮ. ȉȩıȠ IJȠ R, ȩıȠ țĮȚ Ș İʌȚıIJȡİijȩȝİȞȘ IJȚȝȒ İȓȞĮȚ IJȪʌȠȣ Real. Ȇ.Ȥ. Sin(3.14159) İȓȞĮȚ 0.0

Sin(1.0) İȓȞĮȚ 0.84147

Sqr(X) ǼʌȚıIJȡȑijİȚ IJȠ IJİIJȡȐȖȦȞȠ IJȠȣ ȠȡȓıȝĮIJȠȢ ȋ. ȉȠ ȋ țĮșȫȢ țĮȚ Ș İʌȚıIJȡİijȩȝİȞȘ IJȚȝȒ İȓȞĮȚ IJȠȣ ȓįȚȠȣ IJȪʌȠȣ, Integer Ȓ Real. Ȇ.Ȥ. Sqr(2) İȓȞĮȚ 4

ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ

Sqr(4.0) İȓȞĮȚ 16.0


20

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

Sqrt(X) ǼʌȚıIJȡȑijİȚ IJȘȞ IJİIJȡĮȖȦȞȚțȒ ȡȓȗĮ IJȠȣ ȠȡȓıȝĮIJȠȢ ȋ. ȉȠ ȋ ȝʌȠȡİȓ ȞĮ İȓȞĮȚ Integer Ȓ Real, İȞȫ Ș İʌȚıIJȡİijȩȝİȞȘ IJȚȝȒ İȓȞĮȚ IJȪʌȠȣ Real. Ȇ.Ȥ. Sqrt(16) İȓȞĮȚ 4.0

Sqrt(9.0) İȓȞĮȚ 3.0

Trunc(R) ǼʌȚıIJȡȑijİȚ ȑȞĮȞ ĮțȑȡĮȚȠ ʌȠȣ ʌȡȠȑȡȤİIJĮȚ Įʌȩ ĮʌȠțȠʌȒ IJȦȞ įİțĮįȚțȫȞ ȥȘijȓȦȞ IJȠȣ ȠȡȓıȝĮIJȠȢ R, ȤȦȡȓȢ ıIJȡȠȖȖȣȜȠʌȠȓȘıȘ. ȅ R İȓȞĮȚ IJȪʌȠȣ Real țĮȚ Ș İʌȚıIJȡİijȩȝİȞȘ IJȚȝȒ İȓȞĮȚ IJȪʌȠȣ Integer. Ǿ įȚĮijȠȡȐ ȝİ IJȘ ıȣȞȐȡIJȘıȘ Int İȓȞĮȚ ȝȩȞȠ ıIJȠȞ IJȪʌȠ IJȘȢ İʌȚıIJȡİijȩȝİȞȘȢ IJȚȝȒȢ. Ȇ.Ȥ. Trunc(2.48) İȓȞĮȚ 2

Trunc(-4,67) İȓȞĮȚ -4

Ǿ Pascal įİȞ įȚĮșȑIJİȚ ıȣȞȐȡIJȘıȘ ʌȠȣ ȞĮ İʌȚIJȡȑʌİȚ IJȘȞ ȪȥȦıȘ İȞȩȢ ĮȡȚșȝȠȪ (ȑıIJȦ a) ıİ ȝȚĮ įȪȞĮȝȘ (ȑıIJȦ b), ȑIJıȚ ȫıIJİ ȞĮ ȕȡȠȪȝİ IJȠ ĮʌȠIJȑȜİıȝĮ y = ab. ǵȝȦȢ Įʌȩ IJĮ ȝĮșȘȝĮIJȚțȐ ȟȑȡȠȣȝİ ȩIJȚ: y

ab y

e b ln(a)

ǵʌȠȣ ʌȡȑʌİȚ Ș ȝİIJĮȕȜȘIJȒ a ȞĮ ȝȘȞ ȑȤİȚ ĮȡȞȘIJȚțȒ IJȚȝȒ, įȚȩIJȚ IJȩIJİ įİȞ ȠȡȓȗİIJĮȚ Ƞ ȜȠȖȐȡȚșȝȠȢ. AȞ ȠȚ ȝİIJĮȕȜȘIJȑȢ a țĮȚ b İȓȞĮȚ ĮțȑȡĮȚİȢ țĮȚ șȑȜȠȣȝİ țĮȚ IJȠ ĮʌȠIJȑȜİıȝĮ ȞĮ İȓȞĮȚ ĮțȑȡĮȚȠ, IJȩIJİ Ș ʌĮȡĮʌȐȞȦ ʌĮȡȐıIJĮıȘ ȖȡȐijİIJĮȚ: Trunc(exp(b*Ln(a)).

ȆĮȡĮįİȓȖȝĮIJĮ: ǹȜȖİȕȡȚțȒ ȆĮȡȐıIJĮıȘ

ȆĮȡȐıIJĮıȘ ıİ Pascal

b2 4ac

SQR(B)-4*A*C

a b c d

(A+B)/(C+D)

1 1 x2

1/(1+SQR(X))

b

b2 4ac 2a

(a b)c (d e)(f g)

(-B+SQRT(SQR(B)-4*A*C)/(2*A) (A+B)*C/((D+E)*(F+G))


ȈIJĮșİȡȑȢ - ȂİIJĮȕȜȘIJȑȢ - ȆĮȡĮıIJȐıİȚȢ

21

3.3.3 ȈȣȞĮȡIJȒıİȚȢ & ǻȚĮįȚțĮıȓİȢ IJȘȢ Pascal ȖȚĮ ǹȜijĮȡȚșȝȘIJȚțȐ Concat(S1,...Sn) ȈȣȞİȞȫȞİȚ ȝȚĮ ĮțȠȜȠȣșȓĮ ĮȜijĮȡȚșȝȘIJȚțȫȞ (S1,S2,...Sn) țĮȚ IJĮ İʌȚıIJȡȑijİȚ ȦȢ İȞȚĮȓȠ ĮȜijĮȡȚșȝȘIJȚțȩ. Ȇ.Ȥ. Concat('īȜȫııĮ','Pascal') İʌȚıIJȡȑijİȚ 'īȜȫııĮPascal' Copy(S,I,C) ǼʌȚıIJȡȑijİȚ IJȠ IJȝȒȝĮ IJȠȣ ĮȜijĮȡȚșȝȘIJȚțȠȪ S, ʌȠȣ ĮȡȤȓȗİȚ Įʌȩ IJȠ ȤĮȡĮțIJȒȡĮ ıIJȘ șȑıȘ ǿ țĮȚ ʌİȡȚȜĮȝȕȐȞİȚ C ȤĮȡĮțIJȒȡİȢ. Ȇ.Ȥ. Copy('ȀǹȁǾȂǼȇǹ',5,4) İʌȚıIJȡȑijİȚ 'ȂǼȇǹ' Delete(S,I,C) ǻȚĮȖȡȐijİȚ C ȤĮȡĮțIJȒȡİȢ Įʌȩ IJȠ ĮȜijĮȡȚșȝȘIJȚțȩ S, ĮȡȤȓȗȠȞIJĮȢ Įʌȩ IJȠ ȤĮȡĮțIJȒȡĮ ıIJȘ șȑıȘ ǿ. Ȇ.Ȥ. ǹȞ S:='ȀǹȁǾȂǼȇǹ' Ș Delete(S,3,4) țȐȞİȚ IJȠ S 'Ȁǹȇǹ' Insert(S1,S,I) ȆĮȡİȝȕȐȜȜİȚ IJȠ ĮȜijĮȡȚșȝȘIJȚțȩ S1 ıIJȠ ĮȜijĮȡȚșȝȘIJȚțȩ S, ĮȡȤȓȗȠȞIJĮȢ Įʌȩ IJȘ șȑıȘ ǿ. Ȇ.Ȥ. ǹȞ S1:='ǾȂǼ' țĮȚ S:='Ȁǹȁȇǹ' Ș Insert(S1,S,4) țȐȞİȚ IJȠ S 'ȀǹȁǾȂǼȇǹ' Length(S) ǼʌȚıIJȡȑijİȚ IJȠȞ ĮȡȚșȝȩ IJȦȞ ȤĮȡĮțIJȒȡȦȞ IJȠȣ S. ȉȠ ĮʌȠIJȑȜİıȝĮ İȓȞĮȚ ʌȐȞIJĮ ĮțȑȡĮȚȠȢ. Ȇ.Ȥ. Length('ȀǹȁǾȂǼȇǹ') İȓȞĮȚ 8 Pos(S1,S) ǼʌȚıIJȡȑijİȚ IJȘ șȑıȘ ʌȠȣ ĮȡȤȓȗİȚ IJȠ ĮȜijĮȡȚșȝȘIJȚțȩ S1 ȝȑıĮ ıIJȠ S. ǹȞ IJȠ S1 įİ ȕȡİșİȓ ȝȑıĮ ıIJȠ S, Ș Pos İʌȚıIJȡȑijİȚ 0. Ȇ.Ȥ. Pos('īȇǹȂȂǹ','ȆȇȅīȇǹȂȂǹȉǿȈȂȅȈ') İȓȞĮȚ 4 Str(X,S) ȂİIJĮIJȡȑʌİȚ ȝȚĮ ĮȡȚșȝȘIJȚțȒ IJȚȝȒ ȋ, ıİ ĮȜijĮȡȚșȝȘIJȚțȩ S. Ȇ.Ȥ. Ș Str(12.3,S) ȑȤİȚ ȦȢ ĮʌȠIJȑȜİıȝĮ IJȠ S ȞĮ ʌȐȡİȚ IJȘȞ IJȚȝȒ '12.3' Val(S,X,C) ȂİIJĮIJȡȑʌİȚ IJȠ ĮȜijĮȡȚșȝȘIJȚțȩ S ıİ ĮȡȚșȝȘIJȚțȒ IJȚȝȒ ĮțȑȡĮȚĮ Ȓ ʌȡĮȖȝĮIJȚțȒ. ǹȞ Ș ȝİIJĮIJȡȠʌȒ İȓȞĮȚ İʌȚIJȣȤȒȢ, IJȩIJİ C=0, įȚĮijȠȡİIJȚțȐ Ș C șĮ ʌİȡȚȑȤİȚ ȑȞĮȞ ĮțȑȡĮȚȠ ʌȠȣ ĮȞIJȚʌȡȠıȦʌİȪİȚ IJȘ șȑıȘ IJȠȣ ȤĮȡĮțIJȒȡĮ ʌȠȣ ʌȡȠțȐȜİıİ IJȠ ȜȐșȠȢ. Ȇ.Ȥ. Ș Val('12.3',X,C) ȑȤİȚ ȦȢ ĮʌȠIJȑȜİıȝĮ IJȠ ȋ ȞĮ ʌȐȡİȚ IJȘȞ IJȚȝȒ 12.3

ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ


22

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

3.3.4 ȈȣȞĮȡIJȒıİȚȢ & ǻȚĮįȚțĮıȓİȢ ȉĮțIJȚțȫȞ ȉȪʌȦȞ IJȘȢ Pascal ǹʌȩ IJȠȣȢ IJȪʌȠȣȢ IJȘȢ Pascal, ʌȠȣ ȑȤȠȣȝİ įİȚ ȝȑȤȡȚ IJȫȡĮ, Ƞ ĮțȑȡĮȚȠȢ IJȪʌȠȢ (Integer), Ƞ ȜȠȖȚțȩȢ IJȪʌȠȢ (Boolean) țĮȚ Ƞ IJȪʌȠȢ ȤĮȡĮțIJȒȡĮ (Char), İȓȞĮȚ IJĮțIJȚțȠȓ IJȪʌȠȚ. ȋĮȡĮțIJȘȡȚıIJȚțȐ IJȦȞ IJĮțIJȚțȫȞ IJȪʌȦȞ İȓȞĮȚ: x

ȅȚ IJȚȝȑȢ İȓȞĮȚ ĮʌȜȑȢ (įȘȜĮįȒ įİȞ ĮʌȠIJİȜȠȪȞIJĮȚ Įʌȩ ıȪȞșİıȘ ȐȜȜȦȞ IJȚȝȫȞ).

x

ȅȚ IJȚȝȑȢ IJȠȣȢ İȓȞĮȚ įȚĮIJİIJĮȖȝȑȞİȢ.

x

ȀȐșİ IJȚȝȒ ȑȤİȚ ȝȓĮ ȝȠȞĮįȚțȒ ʌȡȠȘȖȠȪȝİȞȘ IJȚȝȒ (İțIJȩȢ Įʌȩ IJȘȞ ʌȡȫIJȘ) țĮȚ ȝȓĮ ȝȠȞĮįȚțȒ İʌȩȝİȞȘ (İțIJȩȢ Įʌȩ IJȘȞ IJİȜİȣIJĮȓĮ).

x

ȀȐșİ IJȚȝȒ ĮȞIJȚıIJȠȚȤİȓ ıİ ȑȞĮȞ ĮțȑȡĮȚȠ Ƞ ȠʌȠȓȠȢ ʌĮȡȚıIJȐȞİȚ IJȘȞ ĮȪȟȠȣıĮ șȑıȘ IJȘȢ IJȚȝȒȢ ȝȑıĮ ıIJȠ ıȪȞȠȜȠ IJȦȞ IJȚȝȫȞ. ȈIJȘȞ ʌȡȫIJȘ IJȚȝȒ ĮȞIJȚıIJȠȚȤİȓ Ƞ ĮȡȚșȝȩȢ ȝȘįȑȞ.

DzIJıȚ, ȖȚĮ ʌĮȡȐįİȚȖȝĮ, Ș ĮȪȟȠȣıĮ șȑıȘ IJȠȣ ȤĮȡĮțIJȒȡĮ 'C' İȓȞĮȚ Ƞ ĮȡȚșȝȩȢ 67 (țȦįȚțȩȢ ASCII, ȕȜȑʌİ § 2.4.3), Ƞ ʌȡȠȘȖȠȪȝİȞȠȢ ȤĮȡĮțIJȒȡĮȢ İȓȞĮȚ Ƞ 'B' țĮȚ Ƞ İʌȩȝİȞȠȢ ȤĮȡĮțIJȒȡĮȢ İȓȞĮȚ Ƞ 'D' Ȃİ IJȚȢ ʌĮȡĮțȐIJȦ ıȣȞĮȡIJȒıİȚȢ ȝʌȠȡȠȪȝİ ȞĮ įȚĮȤİȚȡȚıșȠȪȝİ IJĮțIJȚțȠȪȢ IJȪʌȠȣȢ: Chr(X) ǼʌȚıIJȡȑijİȚ IJȠȞ ȤĮȡĮțIJȒȡĮ ASCII ȋȡȘıȚȝȠʌȠȚİȓIJĮȚ ȝȩȞȠ ȖȚĮ ȤĮȡĮțIJȒȡİȢ.

ʌȠȣ

ĮȞIJȚıIJȠȚȤİȓ

ıIJȠȞ

ĮțȑȡĮȚȠ

X.

Ȇ.Ȥ. Chr(71) İȓȞĮȚ 'G' Ord(X) ǼʌȚıIJȡȑijİȚ IJȠȞ ĮțȑȡĮȚȠ ȠʌȠȓȠȢ ĮȞIJȚıIJȠȚȤİȓ ıIJȠ X, țĮȚ įİȓȤȞİȚ IJȘȞ ĮȪȟȠȣıĮ șȑıȘ IJȠȣ X ȝȑıĮ ıIJȠ ıȪȞȠȜȠ IJȚȝȫȞ. Ȇ.Ȥ. Ord('G') İȓȞĮȚ 71 Succ(X) ǼʌȚıIJȡȑijİȚ IJȘȞ İʌȩȝİȞȘ IJȚȝȒ IJȠȣ X. Ȇ.Ȥ. Succ('G') İȓȞĮȚ 'H' Pred(X) ǼʌȚıIJȡȑijİȚ IJȘȞ ʌȡȠȘȖȠȪȝİȞȘ IJȠȣ X. Ȇ.Ȥ. Pred('G') İȓȞĮȚ 'F' Inc(X,I) ǹȣȟȐȞİȚ IJȘȞ IJȚȝȒ IJȠȣ X țĮIJȐ I. Ȇ.Ȥ. ǹȞ X:='C' Ș Inc(X,2) țȐȞİȚ IJȠ X 'E' ǹȞ X:=5 Ș Inc(X,3) țȐȞİȚ IJȠ X 8


ȈIJĮșİȡȑȢ - ȂİIJĮȕȜȘIJȑȢ - ȆĮȡĮıIJȐıİȚȢ

Dec(X,I) ȂİȚȫȞİȚ IJȘȞ IJȚȝȒ IJȠȣ X țĮIJȐ I. Ȇ.Ȥ. ǹȞ X:='C' Ș Dec(X,2) țȐȞİȚ IJȠ X 'A' ǹȞ X:=5 Ș Dec(X,3) țȐȞİȚ IJȠ X 2

3.4 ǹıțȒıİȚȢ 1.

ȀȦįȚțȠʌȠȚİȓıIJİ ıIJȘȞ Pascal IJȠȣȢ ĮȡȚșȝȠȪȢ: 6,023 x 1023 -1,35 x 105 13842786 x 10-12

2.

ȊʌȠȜȠȖȓıIJİ IJȘȞ IJȚȝȒ IJȘȢ ĮȡȚșȝȘIJȚțȒȢ ʌĮȡȐıIJĮıȘȢ (I DIV J)*(J DIV I) ıIJȚȢ İȟȒȢ ʌİȡȚʌIJȫıİȚȢ: Į) I=1, J=3 ȕ) I=3, J=3 Ȗ) I=3, J=1

3.

ȀȦįȚțȠʌȠȚİȓıIJİ ıIJȘȞ Pascal IJȚȢ ĮȡȚșȝȘIJȚțȑȢ ʌĮȡĮıIJȐıİȚȢ:

r.n ) 360

Į)

K0(1 r)2(1

ȕ)

Ȗ)

K

į)

Q 1 1 ( 2 2) 4ʌİİ0 r1 r2

m D X K E 360

2(ȡ1 ȡ2) S2 P( 12 1) S2

İ)

ıIJ)

ʌ ȡ ȡ2 1 R4 8r l

ȗ)

k

Ș)

ex e x 2

ș)

Șȝ(x) 1 ıȣȞ(x) 1

x |x|

ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ

x2 x

2 | x | 2x2 | x |3

23


24

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

4.

ǹȞ ȑȤȠȣȝİ įȘȜȫıİȚ: S1,S2 : String[20]; S3 : String[16]; S4 : String[24]; S5 : String[32]; S6 : String; țĮȚ ȝȑıĮ ıIJȠ ʌȡȩȖȡĮȝȝĮ įȓȞȠȞIJĮȚ ıIJĮ S3, S4, S5, S6, ȠȚ ʌĮȡĮțȐIJȦ IJȚȝȑȢ: S1 ĸ 'ȆǼȃȉǼ'; S2 ĸ 'Ȉȉȅ ȋǼȇǿ Ȇǹȇǹ ǻǼȀǹ'; S3 ĸ Concat('Ȁǹȁǿȅ ',S1,' KAI ',S2,' KAI ȀǹȇȉǼȇǼǿ'); S4 ĸ Concat('Ȁǹȁǿȅ ',S1,' KAI ',S2,' KAI ȀǹȇȉǼȇǼǿ'); S5 ĸ Concat('Ȁǹȁǿȅ ',S1,' KAI ',S2,' KAI ȀǹȇȉǼȇǼǿ'); S6 ĸ Concat('Ȁǹȁǿȅ ',S1,' KAI ',S2,' KAI ȀǹȇȉǼȇǼǿ'); ʌȠȚİȢ șĮ İȓȞĮȚ ȠȚ IJȚȝȑȢ IJȦȞ S3, S4, S5, S6.

5.

ǹȞ IJȠ ĮȜijĮȡȚșȝȘIJȚțȩ S1 ȑȤİȚ IJȘȞ IJȚȝȒ: 'ȉȅ ȂǼīǹȁȅ Ȍǹȇǿ ȉȇȍǼǿ ȉȅ ȂǿȀȇȅ'; ȆȠȚĮ șĮ İȓȞĮȚ Ș IJȚȝȒ IJȠȣ ȝİIJȐ IJȘ įȡȐıȘ IJȘȢ įȚĮįȚțĮıȓĮȢ: Delete(S1,11,5); ȀĮȚ ʌȠȚĮ ȝİIJȐ țĮȚ IJȘ įȡȐıȘ IJȘȢ įȚĮįȚțĮıȓĮȢ: Delete(S1,Pos('ME',S1),7);

6.

ǹȞ IJĮ ĮȜijĮȡȚșȝȘIJȚțȐ S1 țĮȚ S2 ȑȤȠȣȞ ĮȞIJȓıIJȠȚȤĮ IJȚȢ IJȚȝȑȢ: 'ȉȅ ȂǼīǹȁȅ ȉȇȍǼǿ ȉȅ ȂǿȀȇȅ'; 'Ȍǹȇǿ'; ȆȠȚĮ șĮ İȓȞĮȚ Ș IJȚȝȒ IJȠȣ S1 ȝİIJȐ IJȠ IJȑȜȠȢ IJȦȞ İȞIJȠȜȫȞ: Insert(S2,S1,11); Delete(S1,Pos('PI',S1)+1,1); Insert('ȈȀȊȁȅ',S1,11); Insert('O',S1,19);


25

4. ǺǹȈǿȀǼȈ ǼȃȉȅȁǼȈ ȈIJȠ ȀİijȐȜĮȚȠ ĮȣIJȩ șĮ įȠȪȝİ IJȚȢ ȕĮıȚțȩIJİȡİȢ İȞIJȠȜȑȢ IJȘȢ Pascal, ʌȠȣ șĮ ȝĮȢ İʌȚIJȡȑȥȠȣȞ ȞĮ ȖȡȐȥȠȣȝİ IJĮ ʌȡȫIJĮ ĮʌȜȐ ʌȡȠȖȡȐȝȝĮIJĮ.

4.1 Ǿ ǼȞIJȠȜȒ ȀĮIJĮȤȫȡȘıȘȢ ǵIJĮȞ įȘȜȫȞȠȣȝİ ȝȓĮ ȝİIJĮȕȜȘIJȒ ıIJȠ ʌȡȩȖȡĮȝȝȐ ȝĮȢ (ȩʌȦȢ İȓįĮȝİ ıIJȘȞ § 3.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ȩIJİ IJȠ ʌİȡȚİȤȩȝİȞȩ IJȘȢ İȓȞĮȚ ĮʌȡȠıįȚȩȡȚıIJȠ. īȚĮ ȞĮ ĮʌȠįȫıȠȣȝİ IJȚȝȒ ıİ țȐʌȠȚĮ ȝİIJĮȕȜȘIJȒ, ȤȡȘıȚȝȠʌȠȚȠȪȝİ IJȠȞ IJİȜİıIJȒ țĮIJĮȤȫȡȘıȘȢ (Ȓ İțȤȫȡȘıȘȢ Ȓ ĮȞȐșİıȘȢ IJȚȝȒȢ), Ƞ ȠʌȠȓȠȢ İȓȞĮȚ Ƞ :=, ȦȢ İȟȒȢ: ȩȞȠȝĮ_ȝİIJĮȕȜȘIJȒȢ

:=

IJȚȝȒ;

Ǿ ʌĮȡĮʌȐȞȦ İȞIJȠȜȒ ȜȑȖİIJĮȚ İȞIJȠȜȒ țĮIJĮȤȫȡȘıȘȢ (Ȓ İțȤȫȡȘıȘȢ Ȓ ĮȞȐșİıȘȢ IJȚȝȒȢ) (assignment statement). Ȉİ ȝȓĮ IJȑIJȠȚĮ İȞIJȠȜȒ, șĮ ʌȡȑʌİȚ İʌȓıȘȢ Ƞ IJȪʌȠȢ IJȘȢ ȝİIJĮȕȜȘIJȒȢ ȞĮ İȓȞĮȚ Ƞ ȓįȚȠȢ ȝİ IJȠȞ IJȪʌȠ IJȘȢ IJȚȝȒȢ Ȓ ȞĮ İȓȞĮȚ ıȣȝȕĮIJȩȢ (compatible) ȝİ ĮȣIJȩȞ. ǻȪȠ IJȪʌȠȚ İȓȞĮȚ ıȣȝȕĮIJȠȓ ĮȞ ȚıȤȪİȚ țȐIJȚ Įʌȩ IJĮ ʌĮȡĮțȐIJȦ: x

ǼȓȞĮȚ ȓįȚȠȚ ĮȜȜȐ ȝİ įȚĮijȠȡİIJȚțȩ ȩȞȠȝĮ.

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ĮȕȜȘIJȒȢ ȝȑȤȡȚ İțİȓȞȘ IJȘ ıIJȚȖȝȒ ȤȐȞİIJĮȚ. ȆĮȡȐįİȚȖȝĮ: ȅȚ ʌĮȡĮțȐIJȦ İȓȞĮȚ ıȦıIJȑȢ İȞIJȠȜȑȢ țĮIJĮȤȫȡȘıȘȢ: X := 1; Y := 2.5; Z := True; S := 'īȜȫııĮ Pascal'; Mean := (X+Y)/2;


26

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

Diff := X-Y;

ǼȞȫ ȠȚ ʌĮȡĮțȐIJȦ įİȞ İȓȞĮȚ: X+1 := 7; X+Y := 12; Sqrt(X) := 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Ƞ ĮȜȜȐȗİȚ.

4.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ȩIJİ Ș Pascal ȣʌȠșȑIJİȚ ȩIJȚ İȓȞĮȚ IJĮ İȟ ȠȡȚıȝȠȪ ĮȡȤİȓĮ INPUT țĮȚ OUTPUT, ĮȞIJȓıIJȠȚȤĮ. ȉȠ ĮȡȤİȓȠ INPUT İȓȞĮȚ IJȠ İȟ ȠȡȚıȝȠȪ ĮȡȤİȓȠ İȚıȩįȠȣ. ȊʌȠșȑIJİȚ İȓıȠįȠ įİįȠȝȑȞȦȞ Įʌȩ IJȠ ʌȜȘțIJȡȠȜȩȖȚȠ. ǹȣIJȐ ʌȠȣ ʌȜȘțIJȡȠȜȠȖȠȪȝİ, IJȠʌȠșİIJȠȪȞIJĮȚ ıİ ȝȚĮ ʌİȡȚȠȤȒ ʌȡȠıȦȡȚȞȒȢ ĮʌȠșȒțİȣıȘȢ, ȫıIJİ ȞĮ ȝʌȠȡȠȪȝİ ȞĮ įȚȠȡșȫȞȠȣȝİ IJĮ ȜȐșȘ ʌȜȘțIJȡȠȜȩȖȘıȘȢ ȝİ IJĮ ʌȜȒțIJȡĮ Del țĮȚ Backspace. Ǿ İȓıȠįȠȢ Įʌȩ IJȠ ʌȜȘțIJȡȠȜȩȖȚȠ "ĮȞIJȘȤİȓIJĮȚ" ıIJȘȞ ȠșȩȞȘ. ȉȠ ĮȡȤİȓȠ OUTPUT İȓȞĮȚ IJȠ İȟ ȠȡȚıȝȠȪ ĮȡȤİȓȠ İȟȩįȠȣ țĮȚ țȐȞİȚ ȑȟȠįȠ IJȦȞ įİįȠȝȑȞȦȞ ıIJȘȞ ȠșȩȞȘ IJȠȣ Ǿ/Ȋ.

4.2.1 ȅȚ ǼȞIJȠȜȑȢ ǼȚıȩįȠȣ Ǿ ǼȞIJȠȜȒ Read ȉĮ įİįȠȝȑȞĮ İȞȩȢ ʌȡȠȖȡȐȝȝĮIJȠȢ ȝʌȠȡȠȪȞ ȞĮ İȓȞĮȚ ĮȡȚșȝȠȓ țĮȚ ȤĮȡĮțIJȒȡİȢ. ȈIJȘȞ Pascal ȩȜĮ IJĮ įİįȠȝȑȞĮ ʌĮȡȚıIJȐȞȠȞIJĮȚ ȦȢ ȝȚĮ ĮțȠȜȠȣșȓĮ ȤĮȡĮțIJȒȡȦȞ țĮȚ ĮʌȠșȘțİȪȠȞIJĮȚ, ĮȞ įİ įȘȜȦșİȓ IJȓʌȠIJĮ įȚĮijȠȡİIJȚțȩ, ıIJȠ ĮȡȤİȓȠ INPUT. ȉȠ ĮȡȤİȓȠ INPUT İȓȞĮȚ įȚĮȤȦȡȚıȝȑȞȠ ıİ ȖȡĮȝȝȑȢ. ȀȐșİ ȖȡĮȝȝȒ IJȠȣ ĮȡȤİȓȠȣ ĮȞIJȚıIJȠȚȤİȓ ıİ ȝȓĮ ȖȡĮȝȝȒ įİįȠȝȑȞȦȞ ʌȠȣ İȚıȐȖİIJĮȚ Įʌȩ IJȠ ʌȜȘțIJȡȠȜȩȖȚȠ țĮȚ ĮȞIJȘȤİȓIJĮȚ ıIJȘȞ ȠșȩȞȘ. Ǿ Pascal IJȠʌȠșİIJİȓ ȝİIJȐ Įʌȩ IJȠȞ IJİȜİȣIJĮȓȠ ȤĮȡĮțIJȒȡĮ țȐșİ ȖȡĮȝȝȒȢ, ȑȞĮ İȚįȚțȩ ıȪȝȕȠȜȠ IJȠ ȠʌȠȓȠ țĮȜİȓIJĮȚ ȑȞįİȚȟȘ IJȑȜȠȣȢ ȖȡĮȝȝȒȢ (end of line mark). ȀĮIJȐ IJȘ įȚȐȡțİȚĮ İʌİȟİȡȖĮıȓĮȢ IJȠȣ ĮȡȤİȓȠȣ INPUT, Ș Pascal ȤȡȘıȚȝȠʌȠȚİȓ ȑȞĮ įİȓțIJȘ șȑıȘȢ ĮȡȤİȓȠȣ (file position pointer) ȖȚĮ ȞĮ "ıȘȝĮįİȪİȚ" IJȠ ȤĮȡĮțIJȒȡĮ ʌȠȣ ʌȡȩțİȚIJĮȚ ȞĮ įȚĮȕĮıIJİȓ. ȉĮ țİȞȐ ȤȡȘıȚȝȠʌȠȚȠȪȞIJĮȚ ȖȚĮ IJȠ įȚĮȤȦȡȚıȝȩ IJȦȞ įİįȠȝȑȞȦȞ. DzIJıȚ IJĮ įİįȠȝȑȞĮ ıİ ȝȚĮ ȖȡĮȝȝȒ IJȠȣ ĮȡȤİȓȠȣ INPUT șĮ ʌȡȑʌİȚ ȞĮ ȤȦȡȓȗȠȞIJĮȚ ȝİIJĮȟȪ IJȠȣȢ ȝİ ȑȞĮ IJȠȣȜȐȤȚıIJȠȞ țİȞȩ įȚȐıIJȘȝĮ. Ǿ İȚıĮȖȦȖȒ IJȦȞ įİįȠȝȑȞȦȞ ı'ȑȞĮ ʌȡȩȖȡĮȝȝĮ Pascal, ȖȓȞİIJĮȚ ȝİ IJȘȞ İȞIJȠȜȒ Read ʌȠȣ ȑȤİȚ IJȘȞ ʌĮȡĮțȐIJȦ ȖİȞȚțȒ ȝȠȡijȒ:


ǺĮıȚțȑȢ ǼȞIJȠȜȑȢ

27

Read (ȝİIJĮȕȜȘIJȒ1,ȝİIJĮȕȜȘIJȒ2,...,ȝİIJĮȕȜȘIJȒn);

ȩʌȠȣ ȝİIJĮȕȜȘIJȒi İȓȞĮȚ IJȠ ĮȞĮȖȞȦȡȚıIJȚțȩ IJȘȢ i-ȠıIJȒȢ ȝİIJĮȕȜȘIJȒȢ, ıIJȘȞ ȠʌȠȓĮ șȑȜȠȣȝİ ȞĮ țĮIJĮȤȦȡȘșİȓ IJȠ i-ȠıIJȩ ıIJȘ ıİȚȡȐ įİįȠȝȑȞȠ. ǵIJĮȞ İțIJİȜİȓIJĮȚ Ș İȞIJȠȜȒ Read, ĮȞ Ș ȝİIJĮȕȜȘIJȒ ʌȠȣ ȜĮȝȕȐȞİȚ įİįȠȝȑȞĮ İȓȞĮȚ IJȪʌȠȣ Integer Ȓ Real, ıIJȠ ʌİȡȚİȤȩȝİȞȩ IJȘȢ țĮIJĮȤȦȡİȓIJĮȚ Ƞ İʌȩȝİȞȠȢ ĮȡȚșȝȩȢ. ǼȞȫ ĮȞ İȓȞĮȚ IJȪʌȠȣ Char, IJȩIJİ țĮIJĮȤȦȡİȓIJĮȚ Ƞ İʌȩȝİȞȠȢ ȤĮȡĮțIJȒȡĮȢ. ȅ įİȓțIJȘȢ ȕȡȓıțİIJĮȚ ĮȡȤȚțȐ ıIJȘȞ ĮȡȤȒ IJȘȢ ʌȡȫIJȘȢ ȖȡĮȝȝȒȢ IJȠȣ ĮȡȤİȓȠȣ INPUT țĮȚ ı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ȠȜȒ Read șĮ țĮIJĮȤȦȡȒıİȚ IJȚȝȑȢ ȖȚĮ ȩȜİȢ IJȚȢ ȝİIJĮȕȜȘIJȑȢ ʌȠȣ ȕȡȓıțȠȞIJĮȚ ȝȑıĮ ıIJȚȢ ʌĮȡİȞșȑıİȚȢ IJȘȢ, ĮȞİȟȐȡIJȘIJĮ ȝİ IJȘ șȑıȘ IJȦȞ įİįȠȝȑȞȦȞ ıIJȠ ĮȡȤİȓȠ INPUT. Ǿ ʌȡȫIJȘ IJȚȝȒ țĮIJĮȤȦȡİȓIJĮȚ ȦȢ ʌİȡȚİȤȩȝİȞȠ IJȘȢ ȝİIJĮȕȜȘIJȒȢ1, Ș įİȪ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ĮȕȜȘIJȑȢ ʌĮȓȡȞȠȣȞ ȩȜİȢ IJȠȣȢ IJȚȝȑȢ, ĮʌȜȫȢ țȐʌȠȚİȢ IJȚȝȑȢ ʌİȡȚııİȪȠȣȞ). ȆĮȡȐįİȚȖȝĮ: DzıIJȦ ȩIJȚ ȑȤȠȣȝİ IJȘȞ ʌĮȡĮțȐIJȦ ȖȡĮȝȝȒ IJȠȣ ĮȡȤİȓȠȣ INPUT: įİȓțIJȘȢ

Ļ

3 1 . 5 2

ȑȞįİȚȟȘ IJȑȜȠȣȢ ȖȡĮȝȝȒȢ

Ļ

A P R

6 2 ¶

țĮȚ IJȚȢ įȘȜȫıİȚȢ: Var Value : Real; Ch1,Ch2,Ch3,Blank : Char; Quantity : Integer; IJȩIJİ: Į) ȂİIJȐ IJȘȞ İțIJȑȜİıȘ IJȘȢ İȞIJȠȜȒȢ: Read(Value,Ch1,Ch2,Ch3); ȠȚ ȝİIJĮȕȜȘIJȑȢ IJȘȢ Read șĮ ȑȤȠȣȞ IJȚȢ ʌĮȡĮțȐIJȦ IJȚȝȑȢ: Value :=31.52 Ch1 :=' ' Ch2 :=' ' Ch3 :='A' țĮȚ Ƞ įİȓțIJȘȢ șĮ ȕȡȓıțİIJĮȚ ıIJȘ șȑıȘ ĮțȡȚȕȫȢ ʌȐȞȦ Įʌȩ IJȠ ȇ. ȕ) ǼȞȫ ĮȞ įİȞ İȓȤĮȝİ IJȘȞ ʌĮȡĮʌȐȞȦ İȞIJȠȜȒ, ĮȜȜȐ IJȘȞ ʌĮȡĮțȐIJȦ:

ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ


28

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

Read(Value,Blank,Blank,Ch1,Ch2,Ch3,Quantity); ȠȚ ȝİIJĮȕȜȘIJȑȢ șĮ İȓȤĮȞ IJȚȢ IJȚȝȑȢ Value :=31.52 Blank :=' ' Ch1 :='A' Ch2 :='P' Ch3 :='R' Quantity :=62 țĮȚ Ƞ įİȓțIJȘȢ șĮ ȕȡȓıțİIJĮȚ ʌȐȞȦ ĮțȡȚȕȫȢ Įʌȩ IJȘȞ ȑȞįİȚȟȘ IJȑȜȠȣȢ ȖȡĮȝȝȒȢ. H ǼȞIJȠȜȒ Readln H İȞIJȠȜȒ Readln İȓȞĮȚ ȩȝȠȚĮ ȝİ IJȘȞ Read ȝİ IJȘ įȚĮijȠȡȐ ȩIJȚ ȝİIJȐ IJȠ įȚȐȕĮıȝĮ IJȦȞ IJȚȝȫȞ, ȝİIJĮșȑIJİȚ IJȠ įİȓțIJȘ IJȠȣ ĮȡȤİȓȠȣ INPUT ıIJȘ șȑıȘ IJȠȣ ʌȡȫIJȠȣ ȤĮȡĮțIJȒȡĮ IJȘȢ İʌȩȝİȞȘȢ ȖȡĮȝȝȒȢ. Ǿ ȝȠȡijȒ IJȘȢ Readln İȓȞĮȚ Ș ʌĮȡĮțȐIJȦ: Readln (ȝİIJĮȕȜȘIJȒ1,ȝİIJĮȕȜȘIJȒ2,...,ȝİIJĮȕȜȘIJȒn); ȩʌȠȣ, ȩʌȦȢ țĮȚ ıIJȘ Read, ȝİIJĮȕȜȘIJȒi İȓȞĮȚ IJȠ ĮȞĮȖȞȦȡȚıIJȚțȩ IJȘȢ i-ȠıIJȒȢ ȝİIJĮȕȜȘIJȒȢ. ȉȠ ĮʌȠIJȑȜİıȝĮ IJȘȢ İȞIJȠȜȒȢ Readln İȓȞĮȚ ĮțȡȚȕȫȢ IJȠ ȓįȚȠ ȝİ İțİȓȞȠ IJȘȢ Read, ȝİ IJȘ įȚĮijȠȡȐ ȩIJȚ ȝİIJȐ IJȠ įȚȐȕĮıȝĮ IJȘȢ n-ȠıIJȒȢ ȝİIJĮȕȜȘIJȒȢ, Ƞ įİȓțIJȘȢ IJȠȣ ĮȡȤİȓȠȣ INPUT ȝİIJĮijȑȡİIJĮȚ ĮȣIJȩȝĮIJĮ (ĮȖȞȠȫȞIJĮȢ IJĮ ȠʌȠȚĮįȒʌȠIJİ įİįȠȝȑȞĮ ʌȠȣ ȣʌȐȡȤȠȣȞ ıIJȘ ȖȡĮȝȝȒ Įʌȩ IJȘȞ IJȡȑȤȠȣıĮ șȑıȘ IJȠȣ ȝȑȤȡȚ IJȘȞ ȑȞįİȚȟȘ IJȠȣ IJȑȜȠȣȢ IJȘȢ ȖȡĮȝȝȒȢ) ıIJȘȞ ʌȡȫIJȘ șȑıȘ IJȘȢ İʌȩȝİȞȘȢ ȖȡĮȝȝȒȢ IJȠȣ ĮȡȤİȓȠȣ INPUT.

4.2.2 ȅȚ ǼȞIJȠȜȑȢ ǼȟȩįȠȣ Ǿ ǼȞIJȠȜȒ Write īȚĮ ȞĮ İȝijĮȞȓıȠȣȝİ țȐIJȚ ıIJȘȞ ȠșȩȞȘ IJȠȣ Ǿ/Ȋ, ȤȡȘıȚȝȠʌȠȚȠȪȝİ ıIJȘȞ Pascal IJȘȞ İȞIJȠȜȒ Write Ș ȠʌȠȓĮ ȑȤİȚ IJȘȞ ʌĮȡĮțȐIJȦ ȝȠȡijȒ: Write (ıIJȠȚȤİȓȠ1,ıIJȠȚȤİȓȠ2,...,ıIJȠȚȤİȓȠn);

ȩʌȠȣ ıIJȠȚȤİȓȠi ȝʌȠȡİȓ ȞĮ İȓȞĮȚ ȝȓĮ ȝİIJĮȕȜȘIJȒ Ȓ ȝȚĮ ʌĮȡȐıIJĮıȘ Ȓ ȝȚĮ ĮțȠȜȠȣșȓĮ Įʌȩ ȤĮȡĮțIJȒȡİȢ ȝȑıĮ ıİ ĮʌȠıIJȡȩijȠȣȢ ' '. ȉȠ ĮʌȠIJȑȜİıȝĮ IJȘȢ İȞIJȠȜȒȢ Write İȓȞĮȚ Ș İțIJȪʌȦıȘ (ıIJȠ ĮȡȤİȓȠ OUTPUT) 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ȠȜȒȢ (ȕȜȑʌİ § 2.4.2), ȝʌȠȡȠȪȝİ ȩȝȦȢ ȞĮ ȝȠȡijȠʌȠȚȒıȠȣȝİ IJȘȞ İțIJȪʌȦıȒ IJȠȣȢ įȓȞȠȞIJĮȢ įȪȠ ĮȡȚșȝȠȪȢ (ȑıIJȦ w țĮȚ d) ȝİIJȐ IJȠ ȩȞȠȝĮ IJȘȢ ȝİIJĮȕȜȘIJȒȢ, ʌȠȣ ȤȦȡȓȗȠȞIJĮȚ Įʌȩ IJȘ ȝİIJĮȕȜȘIJȒ țĮȚ ȝİIJĮȟȪ IJȠȣȢ ȝİ ȐȞȦ-țȐIJȦ IJİȜİȓĮ ':'. DzIJıȚ ȝʌȠȡȠȪȝİ ȝȑıĮ ıIJȚȢ ʌĮȡİȞșȑıİȚȢ ĮȞIJȓ IJȘȢ ȝİIJĮȕȜȘIJȒȢi ȞĮ ȖȡȐȥȠȣȝİ: ȝİIJĮȕȜȘIJȒ : w : d


ǺĮıȚțȑȢ ǼȞIJȠȜȑȢ

29

ȅ įİȪIJİȡȠȢ ĮȡȚșȝȩȢ (d) ȠȡȓȗİȚ ȝİ ʌȩıĮ įİțĮįȚțȐ ȥȘijȓĮ șĮ İțIJȣʌȦșİȓ Ș IJȚȝȒ IJȘȢ ȝİIJĮȕȜȘIJȒȢ, İȞȫ Ƞ ʌȡȫIJȠȢ (w) ĮȞ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İȡȠ Įʌȩ w IJȩIJİ țĮIJȐ IJȘȞ İțIJȪʌȦıȘ IJȠȣ ĮȡȚșȝȠȪ ʌȡȠȘȖȠȪȞIJĮȚ IJȩıĮ țİȞȐ įȚĮıIJȒȝĮIJĮ ȫıIJİ IJİȜȚțȐ IJȠ ʌȜȒșȠȢ IJȦȞ țİȞȫȞ țĮȚ IJȠ ʌȜȒșȠȢ IJȦȞ ȥȘijȓȦȞ țĮȚ IJȘȢ IJİȜİȓĮȢ, ȞĮ İȓȞĮȚ ȓıȠ ȝİ w. ȈIJȘȞ ʌİȡȓʌIJȦıȘ ʌȠȣ IJȠ w İȓȞĮȚ ȝȚțȡȩIJİȡȠ Įʌȩ IJȠȞ ĮȡȚșȝȩ IJȦȞ șȑıİȦȞ ʌȠȣ ȤȡİȚȐȗȠȞIJĮȚ ȖȚĮ ȞĮ IJȣʌȦșİȓ Ƞ ĮȡȚșȝȩȢ, IJȩIJİ ĮȖȞȠİȓIJĮȚ țĮȚ țĮIJĮȜĮȝȕȐȞȠȞIJĮȚ ȠȚ ĮʌĮȚIJȠȪȝİȞİȢ șȑıİȚȢ. Ȃİ IJȠȞ ȓįȚȠȞ ĮțȡȚȕȫȢ IJȡȩʌȠ ȝȠȡijȠʌȠȚİȓIJĮȚ țĮȚ Ș İțIJȪʌȦıȘ IJȦȞ ĮțİȡĮȓȦȞ ĮȡȚșȝȫȞ ȩʌȦȢ İʌȓıȘȢ țĮȚ IJȦȞ ĮȜijĮȡȚșȝȘIJȚțȫȞ, ȝȩȞȠ ʌȠȣ İįȫ įİ ȤȡȘıȚȝȠʌȠȚȠȪȝİ IJȠ d. ȆĮȡȐįİȚȖȝĮ: DzıIJȦ ȩIJȚ ȝȚĮ ȝİIJĮȕȜȘIJȒ ȋ IJȪʌȠȣ Real ȑȤİȚ IJȚȝȒ: ȋ:=1.2345678900Ǽ+03 țĮȚ ȝȚĮ ȝİIJĮȕȜȘIJȒ Ȋ IJȪʌȠȣ Integer ȑȤİȚ IJȚȝȒ: Ȋ:=4321 ȉȩIJİ Ș İȞIJȠȜȒ: Write(X) Write(X:1:1) Write(X:7:2) Write(X:10:3) Write(X:12:6) Write(Y) Write(Y:1) Write(Y:7) Write(Y:6) Write(X:7:2,Y:6)

ĬĮ IJȣʌȫıİȚ: 1.2345678900Ǽ+03 1234.6 1234.57 __1234.568 _1234.567890 4321 4321 ___4321 __4321 1234.57__4321

ȩʌȠȣ ȝİ '_' ıȣȝȕȠȜȓȗȠȣȝİ IJȠ ȤĮȡĮțIJȒȡĮ "țİȞȩ" (space). Ǿ ǼȞIJȠȜȒ Writeln H ȖİȞȚțȒ ȝȠȡijȒ IJȘȢ İȞIJȠȜȒȢ Writeln İȓȞĮȚ Ș: Writeln (ıIJȠȚȤİȓȠ1,ıIJȠȚȤİȓȠ2,...,ıIJȠȚȤİȓȠn); ȩʌȠȣ ıIJȠȚȤİȓȠi ȝʌȠȡİȓ ȞĮ İȓȞĮȚ ȝȓĮ ȝİIJĮȕȜȘIJȒ Ȓ ȝȚĮ ʌĮȡȐıIJĮıȘ Ȓ ȝȚĮ ĮțȠȜȠȣșȓĮ Įʌȩ ȤĮȡĮțIJȒȡİȢ ȝȑıĮ ıİ ĮʌȠıIJȡȩijȠȣȢ ' '. To ĮʌȠIJȑȜİıȝĮ IJȘȢ İȞIJȠȜȒȢ Writeln İȓȞĮȚ ʌĮȡȩȝȠȚȠ ȝİ İțİȓȞȠ IJȘȢ Readln, įȘȜĮįȒ IJȣʌȫȞȠȞIJĮȚ ȩȜĮ IJĮ ıIJȠȚȤİȓĮ ȝİ IJȘ ıİȚȡȐ ʌȠȣ İȝijĮȞȓȗȠȞIJĮȚ ȝȑıĮ ıIJȚȢ ʌĮȡİȞșȑıİȚȢ țĮȚ ʌȡȠțĮȜİȓIJĮȚ ĮȣIJȩȝĮIJĮ ĮȜȜĮȖȒ ȖȡĮȝȝȒȢ. ǼʌȓıȘȢ Ș Writeln ȝʌȠȡİȓ ȞĮ ȤȡȘıȚȝȠʌȠȚȘșİȓ țĮȚ ȦȢ: Writeln; ȠʌȩIJİ įİȞ IJȣʌȫȞİIJĮȚ IJȓʌȠIJĮ, ĮʌȜȫȢ ʌȡȠțĮȜİȓIJĮȚ ȝȓĮ ĮȜȜĮȖȒ ȖȡĮȝȝȒȢ.

ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ


30

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

ȆĮȡȐįİȚȖȝĮ: ȉȠ ʌĮȡĮțȐIJȦ ʌȡȩȖȡĮȝȝĮ: Program DemoWrite; Begin Write('ǿǼȀ '); Writeln('ȁǹȂǿǹȈ'); Write('ȉȝȒȝĮ '); Writeln('ȆȜȘȡȠijȠȡȚțȒȢ'); End. șĮ įȫıİȚ ıIJȘȞ ȠșȩȞȘ IJȠ ʌĮȡĮțȐIJȦ ĮʌȠIJȑȜİıȝĮ ǿǼȀ ȁǹȂǿǹȈ ȉȝȒȝĮ ȆȜȘȡȠijȠȡȚțȒȢ B

4.3 ǹȈȀǾȈǼǿȈ 1.

īȡȐȥIJİ ȑȞĮ ʌȡȩȖȡĮȝȝĮ ʌȠȣ ȞĮ įȑȤİIJĮȚ IJȘȞ ĮțIJȓȞĮ İȞȩȢ țȪțȜȠȣ țĮȚ ȞĮ İȝijĮȞȓȗİȚ ıIJȘȞ ȠșȩȞȘ IJȠ İȝȕĮįȩȞ IJȠȣ.

2.

ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮȝȝĮ ʌȠȣ ȞĮ įȑȤİIJĮȚ IJȚȝȑȢ ȖȚĮ įȪȠ ĮțȑȡĮȚİȢ ȝİIJĮȕȜȘIJȑȢ x țĮȚ y, ıIJȘ ıȣȞȑȤİȚĮ ȞĮ İȞĮȜȜȐııİȚ IJȚȢ IJȚȝȑȢ IJȦȞ įȪȠ ȝİIJĮȕȜȘIJȫȞ țĮȚ ȞĮ IJȣʌȫȞİȚ ıIJȘȞ ȠșȩȞȘ IJȚȢ IJȚȝȑȢ IJȦȞ x țĮȚ y ȝİIJȐ IJȘȞ İȞĮȜȜĮȖȒ.

3.

īȡȐȥIJİ ȑȞĮ ʌȡȩȖȡĮȝȝĮ ʌȠȣ ȞĮ įȑȤİIJĮȚ Įʌȩ IJȠ ʌȜȘțIJȡȠȜȩȖȚȠ IJȘȞ IJȚȝȒ țȐʌȠȚȠȣ ĮȞIJȚțİȚȝȑȞȠȣ, ȤȦȡȓȢ ĭȆǹ țĮȚ IJȠ ıȣȞIJİȜİıIJȒ ĭȆǹ. ȀĮIJȩʌȚȞ ȞĮ ȣʌȠȜȠȖȓȗİȚ țĮȚ IJȣʌȫȞİȚ IJȘȞ IJȚȝȒ ȝİ ĭȆǹ.

4.

īȡȐȥIJİ ʌȡȩȖȡĮȝȝĮ ʌȠȣ ȞĮ įȑȤİIJĮȚ IJȘ șİȡȝȠțȡĮıȓĮ ıİ ȕĮșȝȠȪȢ Fahrenheit țĮȚ ȞĮ IJȘ ȝİIJĮIJȡȑʌİȚ ıİ ȕĮșȝȠȪȢ Celsius. ȅ IJȪʌȠȢ ȝİIJĮIJȡȠʌȒȢ İȓȞĮȚ: 5 C (F 32) 9

5.

ǹȞ ıȣȞįȑıȠȣȝİ įȪȠ ĮȞIJȚıIJȐıİȚȢ R1 țĮȚ R2 ıİ ıİȚȡȐ Ȓ ʌĮȡȐȜȜȘȜĮ, Ș ıȣȞȠȜȚțȒ ĮȞIJȓıIJĮıȘ İȓȞĮȚ ĮȞIJȓıIJȠȚȤĮ: R1 R 2 R R1 R2 R R1 R 2 īȡȐȥIJİ ʌȡȩȖȡĮȝȝĮ ʌȠȣ ȞĮ įȑȤİIJĮȚ IJȚȢ IJȚȝȑȢ IJȦȞ R1 țĮȚ R2 țĮȚ ȞĮ ȣʌȠȜȠȖȓȗİȚ țĮȚ IJȣʌȫȞİȚ IJȘȞ R, IJȩıȠ ȖȚĮ IJȘȞ ıİȚȡȚĮțȒ ȩıȠ țĮȚ ȖȚĮ IJȘȞ ʌĮȡȐȜȜȘȜȘ ıȪȞįİıȘ.


31

5. ǼȃȉȅȁǼȈ ǻǿǹȀȁǹǻȍȈǾȈ Ȉİ ȩȜĮ 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 ȝʌȠȡȠȪȞ ȞĮ ʌĮȡĮıIJĮșȠȪȞ ȝİ IJȚȢ įȪȠ IJȚȝȑȢ, True țĮȚ False, IJȠȣ ȜȠȖȚțȠȪ (Boolean) IJȪʌȠȣ. ȉȑIJȠȚȠȣ İȓįȠȣȢ ıȣȞșȒțİȢ ȠȞȠȝȐȗȠȞIJĮȚ ȜȠȖȚțȑȢ ıȣȞșȒțİȢ Ȓ ȜȠȖȚțȑȢ ʌĮȡĮıIJȐıİȚȢ Ȓ ȜȠȖȚțȑȢ İțijȡȐıİȚȢ țĮȚ İȟİIJȐȗȠȞIJĮȚ ıIJȘ ıȣȞȑȤİȚĮ.

5.1 ȁȠȖȚțȑȢ ȆĮȡĮıIJȐıİȚȢ țĮȚ ȉİȜİıIJȑȢ ǵʌȦȢ ıȤȘȝĮIJȓȗȠȣȝİ IJȚȢ ĮȡȚșȝȘ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ĮșİȡȫȞ ʌȠȣ ȣʌİȚıȑȡȤȠȞIJĮȚ ıİ ȝȚĮ ȜȠȖȚțȒ ʌĮȡȐıIJĮıȘ, Ș IJȚȝȒ IJȘȢ ȝʌȠȡİȓ ȞĮ İȓȞĮȚ True Ȓ False. ȆĮȡȐįİȚȖȝĮ: ȂȚĮ ȜȠȖȚțȒ ʌĮȡȐıIJĮıȘ Ȓ ıȣȞșȒțȘ İȓȞĮȚ Ș ǹ>Ǻ ǹȞ ǹ=2 țĮȚ Ǻ=1 IJȩIJİ Ș IJȚȝȒ IJȘȢ ʌĮȡĮʌȐȞȦ ʌĮȡȐıIJĮıȘȢ İȓȞĮȚ True, ĮȞ ȩȝȦȢ Ǻ=3 IJȩIJİ Ș IJȚȝȒ IJȘȢ İȓȞĮȚ False.

ȆȡȠțİȚȝȑȞȠȣ ȞĮ ıȤȘȝĮIJȓıȠȣȝİ ʌȚȠ ʌȠȜȪʌȜȠțİȢ ȜȠȖȚțȑȢ ȤȡȘıȚȝȠʌȠȚȠȪȝİ IJȠȣȢ ȜȠȖȚțȠȪȢ IJİȜİıIJȑȢ AND, OR, XOR țĮȚ NOT.

ʌĮȡĮıIJȐıİȚȢ,

ȅ ȜȠȖȚțȩȢ IJİȜİıIJȒȢ AND (ȜȠȖȚțȒ ıȪȗİȣȟȘ) ȤȡȘıȚȝȠʌȠȚİȓIJĮȚ ȖȚĮ IJȠ ıȣȞįȣĮıȝȩ įȪȠ ȜȠȖȚțȫȞ ʌĮȡĮıIJȐıİȦȞ ȦȢ İȟȒȢ: ȁȠȖȚțȒ ʌĮȡȐıIJĮıȘ1 AND ȁȠȖȚțȒ ʌĮȡȐıIJĮıȘ2 Ǿ IJȚȝȒ IJȘȢ ʌĮȡĮʌȐȞȦ ıȪȞșİIJȘȢ ȜȠȖȚțȒȢ ʌĮȡȐıIJĮıȘȢ İȓȞĮȚ True, ȝȩȞȠ ȩIJĮȞ țĮȚ ȠȚ įȪȠ ȜȠȖȚțȑȢ ʌĮȡĮıIJȐıİȚȢ ȑȤȠȣȞ IJȚȝȒ True, įȚĮijȠȡİIJȚțȐ Ș IJȚȝȒ IJȘȢ İȓȞĮȚ False.


32

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

O ȜȠȖȚțȩȢ IJİȜİıIJȒȢ OR (ȜȠȖȚțȒ įȚȐȗİȣȟȘ) ȤȡȘıȚȝȠʌȠȚİȓIJĮȚ ĮȞȐȜȠȖĮ ȦȢ İȟȒȢ: ȁȠȖȚțȒ ʌĮȡȐıIJĮıȘ1 OR ȁȠȖȚțȒ ʌĮȡȐıIJĮıȘ2 H IJȚȝȒ IJȘȢ ʌȡȐȟȘȢ OR İȓȞĮȚ True ĮȞ İȓIJİ Ș ȝȓĮ Ȓ țĮȚ ȠȚ įȪȠ ȜȠȖȚțȑȢ ʌĮȡĮıIJȐıİȚȢ İȓȞĮȚ True. ȂȩȞȠ ȩIJĮȞ țĮȚ ȠȚ įȪȠ ȜȠȖȚțȑȢ ʌĮȡĮıIJȐıİȚȢ İȓȞĮȚ False, Ș IJȚȝȒ IJȘȢ OR ʌȡȐȟȘȢ İȓȞĮȚ False. ȅ ȜȠȖȚțȩȢ IJİȜİıIJȒȢ XOR (ȜȠȖȚțȒ ĮʌȠțȜİȚıIJȚțȒ įȚȐȗİȣȟȘ) ȤȡȘıȚȝȠʌȠȚİȓIJĮȚ ȦȢ İȟȒȢ: ȁȠȖȚțȒ ʌĮȡȐıIJĮıȘ1 XOR ȁȠȖȚțȒ ʌĮȡȐıIJĮıȘ2 ȅ IJİȜİıIJȒȢ XOR ıȣȞįȣȐȗİȚ IJȚȢ įȪȠ ȜȠȖȚțȑȢ ʌĮȡĮıIJȐıİȚȢ ȑIJıȚ ȫıIJİ ȠȜȩțȜȘȡȘ Ș ȜȠȖȚțȒ ʌĮȡȐıIJĮıȘ ȞĮ İȓȞĮȚ True, ĮȞ ȝȓĮ țĮȚ ȝȩȞȠ ȝȓĮ Įʌȩ IJȚȢ įȪȠ İȓȞĮȚ True. ǹȞ țĮȚ ȠȚ įȪȠ İȓȞĮȚ True Ȓ țĮȚ ȠȚ įȪȠ False, IJȩIJİ ȠȜȩțȜȘȡȘ Ș ȜȠȖȚțȒ ʌĮȡȐıIJĮıȘ İȓȞĮȚ False. O ȜȠȖȚțȩȢ IJİȜİıIJȒȢ NOT (ȜȠȖȚțȒ ȐȡȞȘıȘ) İijĮȡȝȩȗİIJĮȚ ıİ ȝȓĮ ȝȩȞȠ ȜȠȖȚțȒ ʌĮȡȐıIJĮıȘ ȦȢ İȟȒȢ: NOT ȁȠȖȚțȒ ʌĮȡȐıIJĮıȘ ȉȠ ĮʌȠIJȑȜİıȝĮ IJȘȢ İʌȓįȡĮıȘȢ IJȠȣ NOT İȓȞĮȚ Ș ȐȡȞȘıȘ (IJȠ ıȣȝʌȜȒȡȦȝĮ) IJȘȢ ȜȠȖȚțȒȢ ʌĮȡȐıIJĮıȘȢ. ǻȘȜĮįȒ ĮȞ Ș ȜȠȖȚțȒ ʌĮȡȐıIJĮıȘ ȑȤİȚ IJȚȝȒ True IJȩIJİ ȝİ IJȘȞ İʌȓįȡĮıȘ IJȠȣ NOT Ș IJȚȝȒ IJȘȢ ȖȓȞİIJĮȚ False țĮȚ ĮȞIJȓıIJȡȠijĮ. ȅ ʌȓȞĮțĮȢ ĮȜȒșİȚĮȢ ʌȠȣ ĮțȠȜȠȣșİȓ ıȣȞȠȥȓȗİȚ ȩȜĮ IJĮ ʌĮȡĮʌȐȞȦ (ȁȆ: ȁȠȖȚțȒ ȆĮȡȐıIJĮıȘ): ȁȆ1

ȁȆ2

ȁȆ1 AND ȁȆ2

ȁȆ1 OR ȁȆ2

ȁȆ1 ȋOR ȁȆ2

ȃȅȉ ȁȆ1

True

True

True

True

False

False

False

True

False

True

True

True

True

False

False

True

True

False

False

False

False

False

False

True

Ȉİ ȝȓĮ ıȪȞșİIJȘ ʌĮȡȐıIJĮıȘ İȞįȑȤİIJĮȚ ȞĮ ȣʌȐȡȤȠȣȞ IJȩıȠ ĮȡȚșȝȘIJȚțȑȢ ȩıȠ țĮȚ ȜȠȖȚțȑȢ ʌȡȐȟİȚȢ. Ȉİ țȐșİ ʌİȡȓʌIJȦıȘ Ș ʌȡȠIJİȡĮȚȩIJȘIJĮ IJȦȞ ʌȡȐȟİȦȞ İȓȞĮȚ Ș ʌĮȡĮțȐIJȦ: ȉİȜİıIJȑȢ

ȆȡȠIJİȡĮȚȩIJȘIJĮ

( )

1

NOT

2

*, /, DIV, MOD, AND

3

+, -, OR, XOR

4

=, <, >, <>, <=, >=

5


ǼȞIJȠȜȑȢ ǻȚĮțȜȐįȦıȘȢ

33

5.2 ȅ ȉİȜİıIJȒȢ In ȅ IJİȜİıIJȒȢ In ȤȡȘıȚȝȠʌȠȚİȓIJĮȚ ȩIJĮȞ șȑȜȠȣȝİ ȞĮ țȐȞȠȣȝİ ȑȜİȖȤȠ ȖȚĮ IJȠ ĮȞ țȐʌȠȚȠ ıIJȠȚȤİȓȠ ĮȞȒțİȚ ıİ ȑȞĮ ıȪȞȠȜȠ. ȆİȡȚııȩIJİȡĮ ȖȚĮ IJĮ ıȪȞȠȜĮ șĮ įȠȪȝİ ıIJȠ ȀİijȐȜĮȚȠ 9. ȆĮȡĮįİȓȖȝĮIJĮ: A In [6,2,8,9]

ǼȜȑȖȤİȚ ĮȞ Ș IJȚȝȒ IJȘȢ ĮțȑȡĮȚĮȢ ȝİIJĮȕȜȘIJȒȢ A ĮȞȒțİȚ ıIJȠ ıȪȞȠȜȠ {1,2,8,9}

C In ['a', 'b', 'c', 'd'] ǼȜȑȖȤİȚ ĮȞ Ș IJȚȝȒ IJȘȢ ȝİIJĮȕȜȘIJȒȢ ȤĮȡĮțIJȒȡĮ C ĮȞȒțİȚ ıIJȠ ıȪȞȠȜȠ {'a', 'b', 'c', 'd'} X In [10..50]

ǼȜȑȖȤİȚ ĮȞ Ș IJȚȝȒ IJȘȢ ĮțȑȡĮȚĮȢ ȝİIJĮȕȜȘIJȒȢ X ĮȞȒțİȚ ıIJȠ įȚȐıIJȘȝĮ 10..50

DzıIJȦ IJȠ ıȪȞȠȜȠ: A:=[2,1,4,3] țĮȚ B:=3 IJȩIJİ Ș ıȤȑıȘ: B In A İȓȞĮȚ True

5.3 Ǿ ǼȞIJȠȜȒ If Ǿ İȞIJȠȜȒ If ȤȡȘıȚȝȠʌȠȚİȓIJĮȚ ȖȚĮ IJȘȞ ȣʌȩ ıȣȞșȒțȘ İțIJȑȜİıȘ İȞIJȠȜȫȞ. Ǿ ȖİȞȚțȒ ȝȠȡijȒ IJȘȢ İȓȞĮȚ: If ȜȠȖȚțȒ_ʌĮȡȐıIJĮıȘ Then İȞIJȠȜȒ1 Else İȞIJȠȜȒ2; ȩʌȠȣ If, Then țĮȚ Else İȓȞĮȚ įİıȝİȣȝȑȞİȢ ȜȑȟİȚȢ. Ǿ İȞIJȠȜȒ1 İțIJİȜİȓIJĮȚ ȩIJĮȞ Ș ȜȠȖȚțȒ ʌĮȡȐıIJĮıȘ İȓȞĮȚ ĮȜȘșȒȢ (True), İȞȫ Ș İȞIJȠȜȒ2 İțIJİȜİȓIJĮȚ ȩIJĮȞ Ș ȜȠȖȚțȒ ʌĮȡȐıIJĮıȘ İȓȞĮȚ ȥİȣįȒȢ (False). ȉȠ IJȝȒȝĮ Else İȞIJȠȜȒ2 ıİ ʌİȡȓʌIJȦıȘ ʌȠȣ įİȞ ĮʌĮȚIJİȓIJĮȚ Įʌȩ IJȘ ȜȠȖȚțȒ IJȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ, ȝʌȠȡİȓ ȞĮ ʌĮȡĮȜİȚijșİȓ. ȉȠ įȚȐȖȡĮȝȝĮ ȡȠȒȢ IJȘȢ İȞIJȠȜȒȢ If .. Then .. Else ijĮȓȞİIJĮȚ ıIJȠ ȈȤȒȝĮ 5.1. ȆĮȡȐįİȚȖȝĮ: ȉȠ ʌĮȡĮțȐIJȦ ʌȡȩȖȡĮȝȝĮ įȚĮȕȐȗİȚ Įʌȩ IJȠ ʌȜȘțIJȡȠȜȩȖȚȠ ȑȞĮȞ ĮțȑȡĮȚȠ ĮȡȚșȝȩ țĮȚ ȕȡȓıțİȚ ĮȞ İȓȞĮȚ șİIJȚțȩȢ Ȓ ȩȤȚ: Program Positive; Var X : Real; Begin Write('ǻȫıİ ȑȞĮȞ ĮȡȚșȝȩ '); Readln(X); If X>0 Then Writeln('ȅ ĮȡȚșȝȩȢ İȓȞĮȚ șİIJȚțȩȢ') Else Writeln('ȅ ĮȡȚșȝȩȢ įİȞ İȓȞĮȚ șİIJȚțȩȢ'); End.

ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ


34

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

False

ȜȠȖȚțȒ ʌĮȡȐıIJĮıȘ

İȞIJȠȜȒ 2

True

İȞIJȠȜȒ 1

ȈȤȒȝĮ 5.1: ǻȚȐȖȡĮȝȝĮ ȡȠȒȢ IJȘȢ İȞIJȠȜȒȢ If .. Then .. Else

ȈȣȤȞȐ ĮʌĮȚIJİȓIJĮȚ ıIJȠ IJȝȒȝĮ Then Ȓ/țĮȚ ıIJȠ IJȝȒȝĮ Else, ȞĮ İțIJİȜİıIJȠȪȞ ʌİȡȚııȩIJİȡİȢ Įʌȩ ȝȓĮ İȞIJȠȜȑȢ. ȈIJȘȞ ʌİȡȓʌIJȦıȘ ĮȣIJȒ șĮ ʌȡȑʌİȚ ȠȚ İȞIJȠȜȑȢ ĮȣIJȑȢ ȞĮ ȠȝĮįȠʌȠȚȘșȠȪȞ ȑIJıȚ ȫıIJİ ȞĮ ĮʌȠIJİȜȑıȠȣȞ ȝȓĮ ıȪȞșİIJȘ İȞIJȠȜȒ (compound statement). ǹȣIJȩ ȖȓȞİIJĮȚ ʌİȡȚțȜİȓȠȞIJȐȢ IJȚȢ ȝȑıĮ ıİ ȑȞĮ ȗİȪȖȠȢ Begin țĮȚ End .

ȆĮȡȐįİȚȖȝĮ: ǼțijȡȐıIJİ ıİ Pascal IJȘȞ ʌĮȡĮțȐIJȦ įȚĮįȚțĮıȓĮ: ǹȞ x t 0 IJȩIJİ sum1 : sum1 x țĮȚ sum 2 : sum 2 1 įȚĮijȠȡİIJȚțȐ sum1 : sum1 x țĮȚ sum 2 : sum 2 1 . ȈIJȘȞ Pascal șĮ ȑȤȠȣȝİ: If X>=0 Then Begin Sum1:=Sum1-X; Sum2:=Sum2-1 End; Else Begin Sum1:=Sum1-X; Sum2:=Sum2-1 End;

ȈȪȞșİIJȘ İȞIJȠȜȒ

ȈȪȞșİIJȘ İȞIJȠȜȒ

ǼȓȞĮȚ İʌȓıȘȢ ıȣȞȘșȚıȝȑȞȠ ijĮȚȞȩȝİȞȠ, ıİ ȝȚĮ İȞIJȠȜȒ If .. Then .. Else, IJȩıȠ Ș İȞIJȠȜȒ1 ȩıȠ țĮȚ/Ȓ Ș İȞIJȠȜȒ2 ȞĮ İȓȞĮȚ IJȘȢ ȝȠȡijȒȢ If .. Then .. Else. ȉȩIJİ Ȝȑȝİ ȩIJȚ ȑȤȠȣȝİ İȝijȦȜİȣȝȑȞİȢ (nested) If.


ǼȞIJȠȜȑȢ ǻȚĮțȜȐįȦıȘȢ

35

ȆĮȡȐįİȚȖȝĮ: ȉȠ ʌĮȡĮțȐIJȦ ʌȡȩȖȡĮȝȝĮ įȚĮȕȐȗİȚ Įʌȩ IJȠ ʌȜȘțIJȡȠȜȩȖȚȠ ȑȞĮȞ ĮțȑȡĮȚȠ ĮȡȚșȝȩ țĮȚ ȕȡȓıțİȚ ĮȞ İȓȞĮȚ șİIJȚțȩȢ, ĮȡȞȘIJȚțȩȢ Ȓ ȝȘįȑȞ: Program Positive; Var X : Real; Begin Write('ǻȫıİ ȑȞĮȞ ĮȡȚșȝȩ '); Readln(X); If X>0 Then Writeln('ȅ ĮȡȚșȝȩȢ İȓȞĮȚ șİIJȚțȩȢ') Else If X<0 Then Writeln('ȅ ĮȡȚșȝȩȢ İȓȞĮȚ ĮȡȞȘIJȚțȩȢ') Else Writeln('ȅ ĮȡȚșȝȩȢ İȓȞĮȚ ȓıȠȢ ȝİ IJȠ ȝȘįȑȞ'); End. ȈIJȘȞ ʌİȡȓʌIJȦıȘ ʌȠȣ ȑȤȠȣȝİ İȝijȦȜİȣȝȑȞİȢ If, IJȩIJİ ȩıȠȞ ĮijȠȡȐ ıIJȠ İȡȫIJȘȝĮ ıİ ʌȠȚȠ If ĮȞIJȚıIJȠȚȤİȓ IJȠ țȐșİ Else, ȑȞĮȢ ȖİȞȚțȩȢ țĮȞȩȞĮȢ İȓȞĮȚ ȩIJȚ: țȐșİ Else ĮȞIJȚıIJȠȚȤİȓ ȝİ IJȠ ĮȝȑıȦȢ ʌȡȠȘȖȠȪȝİȞȠ If IJȠ ȠʌȠȓȠ įİȞ ȑȤİȚ IJȠ įȚțȩ Else.

5.4 Ǿ ǼȞIJȠȜȒ Case ǵʌȦȢ İȓįĮȝİ ʌȡȠȘȖȠȣȝȑȞȦȢ ȠȚ ĮʌȜȑȢ Ȓ ȑȞșİIJİȢ İȞIJȠȜȑȢ If .. Then .. Else, İʌȚIJȡȑʌȠȣȞ IJȘȞ ĮʌȜȒ Ȓ ıȪȞșİIJȘ įȚĮțȜȐįȦıȘ IJȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ, ȝİ ȕȐıȘ IJȘȞ IJȚȝȒ țȐʌȠȚĮȢ ʌĮȡȐıIJĮıȘȢ. Ǿ ȖȜȫııĮ Pascal ȩȝȦȢ įȚĮșȑIJİȚ ȝȚĮ ʌȠȜȣțȜĮįȚțȒ İȞIJȠȜȒ, Ș ȠʌȠȓĮ ıȣȤȞȐ İȓȞĮȚ ʌȚȠ ȕȠȜȚțȒ Įʌȩ IJȘȞ If .. Then .. Else ıIJȘȞ ȠȡȖȐȞȦıȘ ʌȠȜȜĮʌȜȫȞ įȚĮțȜĮįȫıİȦȞ. Ǿ İȞIJȠȜȒ ĮȣIJȒ ȜȑȖİIJĮȚ Case țĮȚ Ș ȖİȞȚțȒ ȝȠȡijȒ IJȘȢ İȓȞĮȚ: Case İʌȚȜȠȖȑĮȢ ȜȓıIJĮ IJȚȝȫȞ1 ȜȓıIJĮ IJȚȝȫȞ2 .. ȜȓıIJĮ IJȚȝȫȞn Else İȞIJȠȜȒm End;

of : İȞIJȠȜȒ1; : İȞIJȠȜȒ2; .. : İȞIJȠȜȒn

ȩʌȠȣ Case țĮȚ Of İȓȞĮȚ įİıȝİȣȝȑȞİȢ ȜȑȟİȚȢ. ȅ İʌȚȜȠȖȑĮȢ İȓȞĮȚ ȝȚĮ ʌĮȡȐıIJĮıȘ ʌȠȣ ȝʌȠȡİȓ ȞĮ İȓȞĮȚ ȠʌȠȚȠȣįȒʌȠIJİ IJȪʌȠȣ Įʌȩ ĮȣIJȠȪȢ ʌȠȣ ȑȤȠȣȝİ įİȚ ȝȑȤȡȚ IJȫȡĮ, İțIJȩȢ Įʌȩ Real țĮȚ String, įȘȜĮįȒ ȝʌȠȡİȓ ȞĮ İȓȞĮȚ Integer, Boolean Ȓ Char. Ǿ ȜȓıIJĮ IJȚȝȫȞi İȓȞĮȚ ȝȓĮ ȜȓıIJĮ ȝȓĮȢ Ȓ ʌİȡȚııȠIJȑȡȦȞ ʌȚșĮȞȫȞ IJȚȝȫȞ IJȠȣ İʌȚȜȠȖȑĮ ʌȠȣ ȤȦȡȓȗȠȞIJĮȚ ȝİ țȩȝȝĮIJĮ. Ǿ İȞIJȠȜȒi ȝʌȠȡİȓ ȞĮ İȓȞĮȚ ȠʌȠȚĮįȒʌȠIJİ ĮʌȜȒ Ȓ ıȪȞșİIJȘ İȞIJȠȜȒ. Ǿ İȞIJȠȜȒ Case İțIJİȜİȓIJĮȚ ȦȢ İȟȒȢ: ȆȡȫIJĮ ȣʌȠȜȠȖȓȗİIJĮȚ Ș IJȚȝȒ IJȠȣ İʌȚȜȠȖȑĮ țĮȚ țĮIJȩʌȚȞ ıȣȖțȡȓȞİIJĮȚ ȝİ țȐșİ ȝȚĮ ȜȓıIJĮ IJȚȝȫȞ. ǹȞ Ș IJȚȝȒ IJȠȣ İʌȚȜȠȖȑĮ ȕȡȓıțİIJĮȚ ıIJȘ

ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ


36

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

ȜȓıIJĮ IJȚȝȫȞi, IJȩIJİ İțIJİȜİȓIJĮȚ Ș İȞIJȠȜȒi țĮȚ țĮIJȩʌȚȞ Ƞ ȑȜİȖȤȠȢ IJȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ ȝİIJĮijȑȡİIJĮȚ ȝİIJȐ IJȠ End IJȘȢ Case. ǹȞ Ș IJȚȝȒ IJȠȣ İʌȚȜȠȖȑĮ įİ ȕȡȓıțİIJĮȚ ıİ țĮȝȓĮ ȜȓıIJĮ IJȚȝȫȞ, IJȩIJİ İțIJİȜİȓIJĮȚ Ș İȞIJȠȜȒ ȝİIJȐ IJȠ Else (ĮȞ ȣʌȐȡȤİȚ). ȋȡİȚȐȗİ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Ƞ Ǽnd IJȘȢ Case) IJȩIJİ IJȠʌȠșİIJȠȪȝİ IJȠ ';' ĮȝȑıȦȢ ȝİIJȐ IJȠ ':'. ȉȑȜȠȢ ĮȢ ıȘȝİȚȫıȠȣȝİ ȩIJȚ IJȠ End IJȘȢ Case, įİȞ ĮȞIJȚıIJȠȚȤİȓ ıİ țĮȞȑȞĮ Begin. ȆĮȡȐįİȚȖȝĮ: ǹȢ ȣʌȠșȑıȠȣȝİ ȩIJȚ ȠȚ ȘȝȑȡİȢ IJȘȢ İȕįȠȝȐįĮȢ, ȀȣȡȚĮțȒ ȑȦȢ ȈȐȕȕĮIJȠ, ĮȞIJȚıIJȠȚȤȠȪȞ ıIJȠȣȢ ĮțȑȡĮȚȠȣȢ ĮȡȚșȝȠȪȢ 1 ȑȦȢ 7. ĬĮ ȖȡȐȥȠȣȝİ ȑȞĮ ʌȡȩȖȡĮȝȝĮ Pascal ʌȠȣ șĮ įȚĮȕȐȗİȚ ȑȞĮȞ ĮțȑȡĮȚȠ ĮȡȚșȝȩ țĮȚ șĮ IJȣʌȫȞİȚ IJȠ ȩȞȠȝĮ IJȘȢ ĮȞIJȓıIJȠȚȤȘȢ ȘȝȑȡĮȢ, ĮȞ ȣʌȐȡȤİȚ. Program Days; Var Num : Integer; Begin Write('ǻȫıİ ȑȞĮȞ ĮțȑȡĮȚȠ ĮȡȚșȝȩ Įʌȩ 1 ȑȦȢ 7 '); Readln(Num); Case Num Of 1: Write('ȀȣȡȚĮțȒ'); 2: Write('ǻİȣIJȑȡĮ'); 3: Write('ȉȡȓIJȘ'); 4: Write('ȉİIJȐȡIJȘ'); 5: Write('ȆȑȝʌIJȘ'); 6: Write('ȆĮȡĮıțİȣȒ'); 7: Write('ȈȐȕȕĮIJȠ') Else Write('ǹțȣȡȠȢ ĮȡȚșȝȩȢ') End {IJȘȢ Case} End. ǵʌȦȢ ʌĮȡĮIJȘȡȠȪȝİ, șĮ ȝʌȠȡȠȪıĮȝİ ȞĮ ȖȡȐȥȠȣȝİ IJȠ ʌĮȡĮʌȐȞȦ ʌȡȩȖȡĮȝȝĮ ȤȡȘıȚȝȠʌȠȚȫȞIJĮȢ İȞIJȠȜȑȢ If .. Then .. Else: Program Days1; Var Num : Integer; Begin Write('ǻȫıİ ȑȞĮȞ ĮțȑȡĮȚȠ ĮȡȚșȝȩ Įʌȩ 1 ȑȦȢ 7 '); Readln(Num); If Num=1 Then Write('ȀȣȡȚĮțȒ') Else If Num=2 Then Write('ǻİȣIJȑȡĮ') Else If Num=3 Then Write('ȉȡȓIJȘ') Else If Num=4 Then Write('ȉİIJȐȡIJȘ') Else If Num=5 Then Write('ȆȑȝʌIJȘ') Else If Num=6 Then Write('ȆĮȡĮıțİȣȒ') Else If Num=7 Then Write('ȈȐȕȕĮIJȠ') Else Write('ǹțȣȡȠȢ ĮȡȚșȝȩȢ') End. ȈȣȖțȡȓȞȠȞIJĮȢ IJĮ ʌĮȡĮʌȐȞȦ įȪȠ ʌȡȠȖȡȐȝȝĮIJĮ ȕȜȑʌȠȣȝİ IJĮ ʌȜİȠȞİțIJȒȝĮIJĮ, Įʌȩ ʌȜİȣȡȐȢ İȣțȠȜȓĮȢ ȖȡĮijȒȢ țĮȚ țĮIJĮȞȩȘıȘȢ, IJȘȢ İȞIJȠȜȒȢ Case ȑȞĮȞIJȚ IJȦȞ ʌȠȜȜȫȞ


ǼȞIJȠȜȑȢ ǻȚĮțȜȐįȦıȘȢ

37

İȞIJȠȜȫȞ If .. Then .. Else. ǹȢ IJȠȞȓıȠȣȝİ ȟĮȞȐ ȩIJȚ IJĮ įȪȠ ʌȡȠȖȡȐȝȝĮIJĮ İȓȞĮȚ İȟȓıȠȣ ıȦıIJȐ țĮȚ įȓȞȠȣȞ ĮțȡȚȕȫȢ IJĮ ȓįȚĮ ĮʌȠIJİȜȑıȝĮIJĮ.

5.5 ǹıțȒıİȚȢ 1.

ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮȝȝĮ ʌȠȣ ȞĮ įȑȤİIJĮȚ IJȘȞ IJȚȝȒ İȞȩȢ ĮȡȚșȝȠȪ țĮȚ ȞĮ ȕȡȓıțİȚ țĮȚ IJȣʌȫȞİȚ IJȘȞ ĮʌȩȜȣIJȘ IJȚȝȒ ĮȣIJȠȪ.

2.

īȡȐȥIJİ ȑȞĮ ʌȡȩȖȡĮȝȝĮ ʌȠȣ ȞĮ įȚĮȕȐȗİȚ IJȚȝȑȢ ȖȚĮ įȪȠ ȝİIJĮȕȜȘIJȑȢ ĮțİȡĮȓȠȣ IJȪʌȠȣ X țĮȚ Y țĮȚ ȞĮ IJȠʌȠșİIJİȓ IJȘ ȝİȖĮȜȪIJİȡȘ IJȚȝȒ ıIJȘ ȝİIJĮȕȜȘIJȒ ȋ.

3.

ȃĮ ȖȡĮijİȓ ȑȞĮ ʌȡȩȖȡĮȝȝĮ IJȠ ȠʌȠȓȠ ȞĮ įȚĮȕȐȗİȚ IJȡİȚȢ ĮțİȡĮȓȠȣȢ ĮȡȚșȝȠȪȢ țĮȚ ȞĮ IJȣʌȫȞİȚ IJȠ ȝȚțȡȩIJİȡȠ Įʌȩ ĮȣIJȠȪȢ. ȉȡȠʌȠʌȠȚİȓıIJİ IJȠ ȫıIJİ ȞĮ įȠȣȜİȪİȚ ȝİ IJȑııİȡȚȢ ĮȡȚșȝȠȪȢ.

4.

īȡȐȥIJİ ʌȡȩȖȡĮȝȝĮ, ʌȠȣ ȞĮ įȚĮȕȐȗİȚ IJȠȣȢ ıȣȞIJİȜİıIJȑȢ a țĮȚ b IJȘȢ ʌȡȦIJȠȕȐșȝȚĮȢ İȟȓıȦıȘȢ ax+b=0 țĮȚ ȞĮ ȣʌȠȜȠȖȓȗİȚ IJȘȞ ȡȓȗĮ x.

5.

ǹȢ ȣʌȠșȑıȠȣȝİ ȩIJȚ ȠȚ ȝȒȞİȢ IJȠȣ ȑIJȠȣȢ ǿĮȞȠȣȐȡȚȠȢ ȑȦȢ ǻİțȑȝȕȡȚȠȢ ĮȞIJȚıIJȠȚȤȠȪȞ ıIJȠȣȢ ĮȡȚșȝȠȪȢ Įʌȩ 1 ȑȦȢ 12. īȡȐȥIJİ ʌȡȩȖȡĮȝȝĮ ʌȠȣ șĮ įȚĮȕȐȗİȚ ȑȞĮȞ ĮțȑȡĮȚȠ ĮȡȚșȝȩ țĮȚ șĮ IJȣʌȫȞİȚ IJȠ ȩȞȠȝĮ IJȘȢ İʌȠȤȒȢ ʌȠȣ ĮȞȒțİȚ Ƞ ȝȒȞĮȢ, İȐȞ ȣʌȐȡȤİȚ.

6.

ȊʌȠșȑıIJİ ȩIJȚ ıİ ȝȚĮ ʌȠȜȣțĮIJȠȚțȓĮ ȝİ IJȑııİȡȚȢ ȠȡȩijȠȣȢ, Ƞ 1ȠȢ ȩȡȠijȠȢ ıȣȝȝİIJȑȤİȚ ıIJĮ țȠȚȞȩȤȡȘıIJĮ ȝİ 10%, Ƞ 2ȠȢ ȝİ 20%, Ƞ 3ȠȢ ȝİ 30% țĮȚ Ƞ 4ȠȢ ȝİ 40%. īȡȐȥIJİ ʌȡȩȖȡĮȝȝĮ ʌȠȣ ȞĮ įȚĮȕȐȗİȚ IJĮ ıȣȞȠȜȚțȐ țȠȚȞȩȤȡȘıIJĮ țĮȚ IJȠȞ ȩȡȠijȠ (1, 2, 3 Ȓ 4) țĮȚ ȞĮ ȣʌȠȜȠȖȓȗİȚ IJĮ țȠȚȞȩȤȡȘıIJĮ ĮȣIJȠȪ IJȠȣ ȠȡȩijȠȣ.

7.

ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮȝȝĮ ʌȠȣ ȞĮ įȚĮȕȐȗİȚ IJȠ ĮʌȠIJȑȜİıȝĮ İȞȩȢ ʌȠįȠıijĮȚȡȚțȠȪ ĮȖȫȞĮ (1,2 Ȓ X) țĮȚ ĮȞȐȜȠȖĮ ȞĮ İțIJȣʌȫȞİȚ ȝȓĮ Įʌȩ IJȚȢ ĮțȩȜȠȣșİȢ ijȡȐıİȚȢ: 'ȃȚțȘIJȒȢ Ƞ ȖȘʌİįȠȪȤȠȢ', 'ȃȚțȘIJȒȢ Ƞ ijȚȜȠȟİȞȠȪȝİȞȠȢ', 'ǿıȠʌĮȜȓĮ'.

8.

īȡȐȥIJİ ʌȡȩȖȡĮȝȝĮ IJȠ ȠʌȠȓȠ ȞĮ İȝijĮȞȓȗİȚ ıIJȘȞ ȠșȩȞȘ IJȠ ĮțȩȜȠȣșȠ ȝİȞȠȪ: ȆȅȉǼ ǹȇȋǿȈǼ ȅ Ǻ' ȆǹīȀȅȈȂǿȅȈ ȆȅȁǼȂȅȈ 1 1930 2 1935 3 1939 4 1940 5 1945 ǼʌȚȜȠȖȒ: _ ȈIJȘ ıȣȞȑȤİȚĮ IJȠ ʌȡȩȖȡĮȝȝĮ ȞĮ įȚĮȕȐȗİȚ IJȘȞ İʌȚȜȠȖȒ IJȠȣ ȤȡȒıIJȘ țĮȚ ȞĮ IJȣʌȫȞİȚ țĮIJȐȜȜȘȜĮ ȝȘȞȪȝĮIJĮ ĮȞȐȜȠȖĮ ȝİ IJȠȞ ĮȞ Ș İʌȚȜȠȖȒ İȓȞĮȚ ıȦıIJȒ Ȓ ȜȐșȠȢ. (Ǿ ıȦıIJȒ İʌȚȜȠȖȒ İȓȞĮȚ Ș 3).

9.

ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮȝȝĮ IJȠ ȠʌȠȓȠ ȞĮ įȚĮȕȐȗİȚ Įʌȩ IJȠ ʌȜȘțIJȡȠȜȩȖȚȠ ȑȞĮȞ ʌȡĮȖȝĮIJȚțȩ ĮȡȚșȝȩ ʌȠȣ șĮ ĮȞIJȚʌȡȠıȦʌİȪİȚ IJȘ șİȡȝȠțȡĮıȓĮ, țĮȚ:

ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ


38

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

x x x x x

ǹȞ Ș șİȡȝȠțȡĮıȓĮ İȓȞĮȚ ȝİȖĮȜȪIJİȡȘ Ȓ ȓıȘ IJȠȣ -15 țĮȚ ȝȚțȡȩIJİȡȘ IJȠȣ 15, ȞĮ İțIJȣʌȫȞİȚ 'ȀȇȊȅ'. ǹȞ Ș șİȡȝȠțȡĮıȓĮ İȓȞĮȚ ȝİȖĮȜȪIJİȡȘ Ȓ ȓıȘ IJȠȣ 15 țĮȚ ȝȚțȡȩIJİȡȘ IJȠȣ 25, ȞĮ İțIJȣʌȫȞİȚ 'ǿǻǹȃǿȀǾ ĬǼȇȂȅȀȇǹȈǿǹ'. ǹȞ Ș șİȡȝȠțȡĮıȓĮ İȓȞĮȚ ȝİȖĮȜȪIJİȡȘ Ȓ ȓıȘ IJȠȣ 25 țĮȚ ȝȚțȡȩIJİȡȘ IJȠȣ 32, ȞĮ İțIJȣʌȫȞİȚ 'ǽǼȈȉǾ'. ǹȞ Ș șİȡȝȠțȡĮıȓĮ İȓȞĮȚ ȝİȖĮȜȪIJİȡȘ Ȓ ȓıȘ IJȠȣ 32 țĮȚ ȝȚțȡȩIJİȡȘ Ȓ ȓıȘ IJȠȣ 45, İțIJȣʌȫȞİȚ 'ȀǹȊȈȍȃǹȈ'. ǹȞ Ș șİȡȝȠțȡĮıȓĮ İȓȞĮȚ ȑȟȦ Įʌȩ IJĮ ȩȡȚĮ [-15..45], ȞĮ İțIJȣʌȫȞİȚ 'ȁǹĬȅȈ'.


39

6. ǼȃȉȅȁǼȈ ǼȆǹȃǹȁǾȌǾȈ Ǿ įȚĮįȚțĮıȓĮ IJȘȢ İʌĮȞȐȜȘȥȘȢ İȓȞĮȚ ȚįȚĮȓIJİȡĮ ıȣȤȞȒ, İijȩıȠȞ ĮȡțİIJȐ ʌȡȠȕȜȒȝĮIJĮ ȝʌȠȡȠȪȞ ȞĮ İʌȚȜȣșȠȪȞ ȝİ țĮIJȐȜȜȘȜİȢ İʌĮȞĮȜȘʌIJȚțȑȢ įȚĮįȚțĮıȓİȢ. Ȉİ ĮȣIJȑȢ IJȚȢ İʌĮȞĮȜȘʌIJȚțȑȢ įȚĮįȚțĮıȓİȢ, ıȣȞȒșȦȢ, İȜȑȖȤİIJĮȚ ȝȓĮ ȜȠȖȚțȒ ʌĮȡȐıIJĮıȘ (ıȣȞșȒțȘ) țĮȚ ȩıȠ ĮȣIJȒ ȚıȤȪİȚ (Ȓ įİȞ ȚıȤȪİȚ), İʌĮȞĮȜĮȝȕȐȞİIJĮȚ Ș İțIJȑȜİıȘ ȝȚĮȢ ȠȝȐįĮȢ İȞIJȠȜȫȞ. Ǿ Pascal įȚĮșȑIJİȚ IJȡİȚȢ İȞIJȠȜȑȢ İʌĮȞȐȜȘȥȘȢ ȤȡȘıȚȝȠʌȠȚİȓIJĮȚ ĮȞȐȜȠȖĮ ȝİ IJȘȞ ʌİȡȓʌIJȦıȘ.

țĮșİȝȚȐ

Įʌȩ

IJȚȢ

ȠʌȠȓİȢ

6.1 Ǿ ǼȞIJȠȜȒ While Ǿ ȖİȞȚțȩIJİȡȘ Įʌȩ IJȚȢ İȞIJȠȜȑȢ İʌĮȞȐȜȘȥȘȢ, İȓȞĮȚ Ș İȞIJȠȜȒ While. Ȉİ ĮȣIJȒ, Ș ȜȠȖȚțȒ ʌĮȡȐıIJĮıȘ ʌȠȣ İȜȑȖȤİȚ IJȘȞ İʌĮȞȐȜȘȥȘ İȜȑȖȤİIJĮȚ ıIJȘȞ ĮȡȤȒ IJȘȢ İʌĮȞȐȜȘȥȘȢ țĮȚ Ș İʌĮȞĮȜȘʌIJȚțȒ įȚĮįȚțĮıȓĮ ıȣȞİȤȓȗİIJĮȚ ıȣȞİȤȫȢ, ȩıȠ Ș ȜȠȖȚțȒ ʌĮȡȐıIJĮıȘ İȓȞĮȚ ĮȜȘșȒȢ. Ȃİ IJȘȞ İȞIJȠȜȒ While ȝʌȠȡİȓ ȞĮ ȣȜȠʌȠȚȘșİȓ țȐșİ İȓįȠȣȢ İʌĮȞȐȜȘȥȘ țĮȚ ȖȚ'ĮȣIJȩ Ș İȞIJȠȜȒ ĮȣIJȒ İȓȞĮȚ Ș ıȘȝĮȞIJȚțȩIJİȡȘ Įʌȩ ȩȜİȢ IJȚȢ İȞIJȠȜȑȢ İʌĮȞȐȜȘȥȘȢ. Ǿ ȖİȞȚțȒ ȝȠȡijȒ IJȘȢ İȞIJȠȜȒȢ While İȓȞĮȚ Ș İȟȒȢ: While ȜȠȖȚțȒ_ʌĮȡȐıIJĮıȘ Do İȞIJȠȜȒ; ȩʌȠȣ While țĮȚ Do İȓȞĮȚ įİıȝİȣȝȑȞİȢ ȜȑȟİȚȢ IJȘȢ Pascal țĮȚ İȞIJȠȜȒ ȝʌȠȡİȓ ȞĮ İȓȞĮȚ ȝȓĮ ĮʌȜȒ Ȓ ıȪȞșİIJȘ İȞIJȠȜȒ. ȉȠ įȚȐȖȡĮȝȝĮ ȡȠȒȢ IJȘȢ İȞIJȠȜȒȢ While ijĮȓȞİIJĮȚ ıIJȠ ȈȤȒȝĮ 6.1. ǵʌȦȢ ijĮȓȞİIJĮȚ țĮȚ Įʌȩ IJȠ ȈȤȒȝĮ 6.1, ȩIJĮȞ ȑȡșİȚ Ș ıİȚȡȐ IJȘȢ İȞIJȠȜȒȢ While ȞĮ İțIJİȜİıIJİȓ, İȜȑȖȤİIJĮȚ Ș ȜȠȖȚțȒ ʌĮȡȐıIJĮıȘ țĮȚ ĮȞ İȓȞĮȚ ĮȜȘșȒȢ (True), İțIJİȜİȓIJĮȚ Ș İȞIJȠȜȒ. ȈIJȘ ıȣȞȑȤİȚĮ İȜȑȖȤİIJĮȚ ʌȐȜȚ Ș ȜȠȖȚțȒ ʌĮȡȐıIJĮıȘ țĮȚ ĮȞ İȓȞĮȚ ĮȜȘșȒȢ, İțIJİȜİȓIJĮȚ ʌȐȜȚ Ș İȞIJȠȜȒ. ǵIJĮȞ Ș ȜȠȖȚțȒ ʌĮȡȐıIJĮıȘ ȖȓȞİȚ ȥİȣįȒȢ (False), IJȩIJİ ıIJĮȝĮIJȐİȚ Ș İʌĮȞȐȜȘȥȘ țĮȚ İțIJİȜİȓIJĮȚ Ș İȞIJȠȜȒ ʌȠȣ ʌȚșĮȞȫȢ ĮțȠȜȠȣșİȓ ȝİIJȐ IJȘȞ While.

İȞIJȠȜȒ False

ȜȠȖȚțȒ ʌĮȡȐıIJĮıȘ

True

ȆĮȡĮIJȘȡȒıİȚȢ: 1. ǼijȩıȠȞ ʌȡȫIJĮ İȜȑȖȤİIJĮȚ Ș ȜȠȖȚțȒ ʌĮȡȐıIJĮıȘ, șĮ ʌȡȑʌİȚ, IJȘȞ ʌȡȫIJȘ ijȠȡȐ ʌȠȣ İțIJİȜİȓIJĮȚ Ș İȞIJȠȜȒ ȈȤȒȝĮ 6.1: ǻȚȐȖȡĮȝȝĮ ȡȠȒȢ IJȘȢ İȞIJȠȜȒȢ While While, Ș ȜȠȖȚțȒ ʌĮȡȐıIJĮıȘ ȞĮ ȑȤİȚ ȠȡȚıȝȑȞȘ IJȚȝȒ. 2. ǹijȠȪ ȝİIJȐ Įʌȩ țȐșİ İʌĮȞȐȜȘȥȘ İȜȑȖȤİIJĮȚ İț ȞȑȠȣ Ș ȜȠȖȚțȒ ʌĮȡȐıIJĮıȘ, șĮ ʌȡȑʌİȚ ȣʌȠȤȡİȦIJȚțȐ ȝȑıĮ ıIJȠȞ ȕȡȩȤȠ IJȘȢ While ȞĮ ȣʌȐȡȤİȚ ȝȓĮ İȞIJȠȜȒ, Ș ȠʌȠȓĮ ȞĮ ȝİIJĮȕȐȜİȚ IJȘȞ IJȚȝȒ IJȘȢ ȜȠȖȚțȒȢ ʌĮȡȐıIJĮıȘȢ ıİ False. Ȉİ ĮȞIJȓșİIJȘ


40

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

ʌİȡȓʌIJȦıȘ Ș İʌĮȞȐȜȘȥȘ įİȞ șĮ IJİȡȝĮIJȓȗİIJĮȚ țĮȚ șĮ İțIJİȜİȓIJĮȚ ıȣȞİȤȫȢ (ĮIJȑȡȝȦȞ ȕȡȩȤȠȢ). ȆĮȡȐįİȚȖȝĮ: ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮȝȝĮ IJȠ ȠʌȠȓȠ ȞĮ įȑȤİIJĮȚ Įʌȩ IJȠ ʌȜȘțIJȡȠȜȩȖȚȠ ȑȞĮȞ șİIJȚțȩ ĮțȑȡĮȚȠ ĮȡȚșȝȩ N țĮȚ ȞĮ ȣʌȠȜȠȖȓȗİȚ IJȠ ȐșȡȠȚıȝĮ 1+2+3+ … +N. Program Series; Var I,N,Sum : Integer; Begin Write('ǻȫıİ șİIJȚțȩ ĮțȑȡĮȚȠ: '); Readln(N); I:=0; Sum:=0; While I<=N Do Begin Sum:=Sum+I; I:=I+1; End; Writeln('ȉȠ ȐșȡȠȚıȝĮ İȓȞĮȚ: ',Sum); End. ȆĮȡȐįİȚȖȝĮ: DzıIJȦ ȩIJȚ șȑȜȠȣȝİ ȞĮ ȖȡȐȥȠȣȝİ ȑȞĮ ʌȡȩȖȡĮȝȝĮ IJȠ ȠʌȠȓȠ șĮ įȑȤİIJĮȚ Įʌȩ IJȠ ʌȜȘțIJȡȠȜȩȖȚȠ įȚȐijȠȡȠȣȢ ĮțȑȡĮȚȠȣȢ ĮȡȚșȝȠȪȢ țĮȚ ȞĮ ȝİIJȡȐ ʌȩıȠȚ Įʌȩ ĮȣIJȠȪȢ İȓȞĮȚ ȐȡIJȚȠȚ țĮȚ ʌȩıȠȚ ʌİȡȚIJIJȠȓ. ȉȠ ʌȜȒșȠȢ IJȦȞ ĮȡȚșȝȫȞ ĮȣIJȫȞ įİȞ İȓȞĮȚ ȖȞȦıIJȩ İț IJȦȞ ʌȡȠIJȑȡȦȞ, ıȣȝijȦȞȠȪȝİ ʌȐȞIJȦȢ ȩIJȚ ȩIJĮȞ șȑȜȠȣȝİ ȞĮ IJİȜİȚȫıȠȣȝİ șĮ įȓȞȠȣȝİ IJȠȞ ĮȡȚșȝȩ ȝȘįȑȞ. ȉȠ ȝȘįȑȞ, ıIJȘȞ ʌİȡȓʌIJȦıȘ ĮȣIJȒ IJȚȝȒ-ijȡȠȣȡȩȢ (sentinel value) țĮȚ ĮȣIJȒ Ș IJİȤȞȚțȒ ȤȡȘıȚȝȠʌȠȚİȓIJĮȚ İȣȡȪIJĮIJĮ ıIJȠȞ ʌȡȠȖȡĮȝȝĮIJȚıȝȩ. Program Even_Odd; Var X,Even,Odd : Integer; {Ǿ ȝİIJĮȕȜȘIJȒ Even ȤȡȘıȚȝȠʌȠȚİȓIJĮȚ ȖȚĮ ȞĮ ȝİIJȡȐ IJȠȣȢ ȐȡIJȚȠȣȢ țĮȚ Ș Odd ȖȚĮ IJȠȣȢ ʌİȡȚIJIJȠȪȢ} Begin Even:=0; Odd:=0; Write('ǻȫıİ ĮȡȚșȝȩ: '); Readln(X); While (X<>0) Do Begin If X Mod 2 = 0 Then Even:=Even+1 Else Odd:=Odd+1; Write('ǻȫıİ ĮȡȚșȝȩ: '); Readln(X); End; Writeln('ǹȡIJȚȠȚ = ',Even,' ȆİȡȚIJIJȠȓ = ',Odd); End.


ǼȞIJȠȜȑȢ ǼʌĮȞȐȜȘȥȘȢ

41

6.2 Ǿ ǼȞIJȠȜȒ Repeat ȂȚĮ ȐȜȜȘ İȞIJȠȜȒ İʌĮȞȐȜȘȥȘȢ ʌȠȣ įȚĮșȑIJİȚ Ș Pascal, İȓȞĮȚ Ș İȞIJȠȜȒ Repeat. Ȉİ ĮȣIJȒ ȠȚ İȞIJȠȜȑȢ IJȠȣ ȕȡȩȤȠȣ İțIJİȜȠȪȞIJĮȚ ȝȑȤȡȚȢ ȩIJȠȣ ȖȓȞİȚ ĮȜȘșȒȢ țȐʌȠȚĮ ȜȠȖȚțȒ ʌĮȡȐıIJĮıȘ Ș ȠʌȠȓĮ İȟİIJȐȗİIJĮȚ ıIJȠ IJȑȜȠȢ IJȘȢ İʌĮȞȐȜȘȥȘȢ. ȉȠ įȚȐȖȡĮȝȝĮ ȡȠȒȢ IJȘȢ İȞIJȠȜȒȢ Repeat ijĮȓȞİIJĮȚ ıIJȠ ȈȤȒȝĮ 6.2 țĮȚ Ș ȖİȞȚțȒ ȝȠȡijȒ IJȘȢ İȓȞĮȚ Ș ʌĮȡĮțȐIJȦ: Repeat İȞIJȠȜȒ Until ȜȠȖȚțȒ_ʌĮȡȐıIJĮıȘ; ȩʌȠȣ Repeat țĮȚ Until İȓȞĮȚ įİıȝİȣȝȑȞİȢ ȜȑȟİȚȢ IJȘȢ Pascal țĮȚ İȞIJȠȜȒ ȝʌȠȡİȓ ȞĮ İȓȞĮȚ ȝȓĮ Ȓ ʌİȡȚııȩIJİȡİȢ İȞIJȠȜȑȢ. ǵʌȦȢ ijĮȓȞİIJĮȚ țĮȚ Įʌȩ IJȠ ȈȤȒȝĮ 8.1, ȩIJĮȞ ȑȡșİȚ Ș ıİȚȡȐ IJȘȢ İȞIJȠȜȒȢ Repeat ȞĮ İțIJİȜİıIJİȓ, țĮIJĮȡȤȐȢ İțIJİȜİȓIJĮȚ Ș İȞIJȠȜȒ țĮȚ țĮIJȩʌȚȞ İȜȑȖȤİIJĮȚ Ș ȜȠȖȚțȒ ʌĮȡȐıIJĮıȘ. ǹȞ Ș ȜȠȖȚțȒ ʌĮȡȐıIJĮıȘ İȓȞĮȚ ȥİȣįȒȢ (False) İțIJİȜİȓIJĮȚ ʌȐȜȚ Ș İȞIJȠȜȒ țĮȚ İʌĮȞİȜȑȖȤİIJĮȚ Ș ȜȠȖȚțȒ ʌĮȡȐıIJĮıȘ. ǵIJĮȞ Ș ȜȠȖȚțȒ ʌĮȡȐıIJĮıȘ ȖȓȞİȚ ĮȜȘșȒȢ (True), IJȩIJİ ıIJĮȝĮIJȐİȚ Ș İʌĮȞȐȜȘȥȘ țĮȚ İțIJİȜİȓIJĮȚ Ș İȞIJȠȜȒ ʌȠȣ ʌȚșĮȞȫȢ ĮțȠȜȠȣșİȓ ȝİIJȐ IJȘȞ Repeat.

İȞIJȠȜȒ

False

ȜȠȖȚțȒ ʌĮȡȐıIJĮıȘ

True

ȆĮȡĮIJȘȡȒıİȚȢ: 1. ǼijȩıȠȞ ʌȡȫIJĮ İțIJİȜİȓIJĮȚ Ș İȞIJȠȜȒ țĮȚ țĮIJȩʌȚȞ İȜȑȖȤİIJĮȚ Ș ȈȤȒȝĮ 6.2: ǻȚȐȖȡĮȝȝĮ ȡȠȒȢ IJȘȢ İȞIJȠȜȒȢ Repeat ȜȠȖȚțȒ ʌĮȡȐıIJĮıȘ, Ș İȞIJȠȜȒ șĮ İțIJİȜİıIJİȓ IJȠȣȜȐȤȚıIJȠȞ ȝȓĮ ijȠȡȐ. 2. ǹijȠȪ ȝİIJȐ Įʌȩ țȐșİ İʌĮȞȐȜȘȥȘ İȜȑȖȤİIJĮȚ İț ȞȑȠȣ Ș ȜȠȖȚțȒ ʌĮȡȐıIJĮıȘ, șĮ ʌȡȑʌİȚ ȣʌȠȤȡİȦIJȚțȐ ȝȑıĮ ıIJȠȞ ȕȡȩȤȠ IJȘȢ While ȞĮ ȣʌȐȡȤİȚ ȝȓĮ İȞIJȠȜȒ, , Ș ȠʌȠȓĮ ȞĮ ȝİIJĮȕȐȜİȚ IJȘȞ IJȚȝȒ IJȘȢ ȜȠȖȚțȒȢ ʌĮȡȐıIJĮıȘȢ ıİ True. Ȉİ ĮȞIJȓșİIJȘ ʌİȡȓʌIJȦıȘ Ș İʌĮȞȐȜȘȥȘ įİȞ șĮ IJİȡȝĮIJȓȗİIJĮȚ țĮȚ șĮ İțIJİȜİȓIJĮȚ ıȣȞİȤȫȢ (ĮIJȑȡȝȦȞ ȕȡȩȤȠȢ). ǼȪțȠȜĮ ȝʌȠȡȠȪȝİ ȞĮ įȠȪȝİ ȩIJȚ ȝȚĮ İȞIJȠȜȒ While ȖȓȞİIJĮȚ ȚıȠįȪȞĮȝȘ ȝȚĮȢ Repeat țĮȚ ȝȚĮ Repeat ȖȓȞİIJĮȚ ȚıȠįȪȞĮȝȘ ȝȚĮȢ While, ȩʌȦȢ ʌĮȡĮțȐIJȦ: While ȜȠȖȚțȒ_ʌĮȡȐıIJĮıȘ Do If ȜȠȖȚțȒ_ʌĮȡȐıIJĮıȘ Then İȞIJȠȜȒ; Repeat İȞIJȠȜȒ Ù Until Not(ȜȠȖȚțȒ_ʌĮȡȐıIJĮıȘ ); Repeat İȞIJȠȜȒ Until ȜȠȖȚțȒ_ʌĮȡȐıIJĮıȘ;

ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ

İȞIJȠȜȒ;

Ù While Not(ȜȠȖȚțȒ_ʌĮȡȐıIJĮıȘ) Do İȞIJȠȜȒ;


42

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

ȆȡȠıȑȟIJİ ȩIJȚ Ș İțIJȑȜİıȘ IJȘȢ Repeat İȜȑȖȤİIJĮȚ Įʌȩ ȝȚĮ ıȣȞșȒțȘ IJİȡȝĮIJȚıȝȠȪ, İȞȫ IJȘȢ While Įʌȩ ȝȚĮ ıȣȞșȒțȘ ıȣȞȑȤȚıȘȢ. ȀĮIJȐ ıȣȞȑʌİȚĮ ĮȞ ʌİȡȚȖȡȐȥȠȣȝİ IJȘȞ ȓįȚĮ ȜİȚIJȠȣȡȖȓĮ ȝİ IJȚȢ įȪȠ İȞIJȠȜȑȢ, ȠȚ įȪȠ ıȣȞșȒțİȢ șĮ İȓȞĮȚ ĮȞIJȓșİIJİȢ. ȆĮȡȐįİȚȖȝĮ: ĬĮ ȖȡȐȥȠȣȝİ ʌȐȜȚ IJȠ ʌȡȩȖȡĮȝȝĮ ȣʌȠȜȠȖȚıȝȠȪ IJȠȣ ĮșȡȠȓıȝĮIJȠȢ 1+2+3+ … +N, ȤȡȘıȚȝȠʌȠȚȫȞIJĮȢ IJȘȞ İȞIJȠȜȒ Repeat. ȆĮȡĮȕȐȜȜİIJİ IJȠ ʌȡȩȖȡĮȝȝĮ ĮȣIJȩ ȝİ IJȠ ʌȡȩȖȡĮȝȝĮ Series IJȘȢ ʌĮȡĮȖȡȐijȠȣ 6.1: Program Series1; Var I,N,Sum : Integer; Begin Write('ǻȫıİ șİIJȚțȩ ĮțȑȡĮȚȠ: '); Readln(N); I:=0; Sum:=0; Repeat Sum:=Sum+I; I:=I+1; Until (I>N); Writeln('ȉȠ ȐșȡȠȚıȝĮ İȓȞĮȚ: ',Sum); End.

6.3 Ǿ ǼȞIJȠȜȒ For ȂİȡȚțȑȢ ijȠȡȑȢ Ƞ ĮȡȚșȝȩȢ IJȦȞ İʌĮȞĮȜȒȥİȦȞ ʌȠȣ ʌȡȑʌİȚ ȞĮ İțIJİȜİıIJȠȪȞ İȓȞĮȚ ȖȞȦıIJȩȢ İț IJȦȞ ʌȡȠIJȑȡȦȞ. ĭȣıȚțȐ ĮȣIJȠȪ IJȠȣ İȓįȠȣȢ ȠȚ İʌĮȞĮȜȒȥİȚȢ ȝʌȠȡȠȪȞ ȞĮ ĮȞIJȚȝİIJȦʌȚıIJȠȪȞ ȝİ ȤȡȒıȘ IJȦȞ ʌȡȠȘȖȠȪȝİȞȦȞ İȞIJȠȜȫȞ İʌĮȞȐȜȘȥȘȢ. ǵȝȦȢ ȖȚĮ IJȘȞ ʌİȡȓʌIJȦıȘ ĮȣIJȒ Ș Pascal įȚĮșȑIJİȚ țĮȚ IJȘȞ İȞIJȠȜȒ For Ș ȠʌȠȓĮ ȑȤİȚ įȪȠ ȝȠȡijȑȢ. Ǿ ʌȡȫIJȘ Įʌ'ĮȣIJȑȢ İȓȞĮȚ: For ȝİIJĮȕȜȘIJȒ := ĮȡȤȚțȒ_IJȚȝȒ To IJİȜȚțȒ_IJȚȝȒ Do İȞIJȠȜȒ;

ȩʌȠȣ For, To țĮȚ Do İȓȞĮȚ įİıȝİȣȝȑȞİȢ ȜȑȟİȚȢ, ȝİIJĮȕȜȘIJȒ İȓȞĮȚ IJȠ ȩȞȠȝĮ ȝȚĮȢ ȝİIJĮȕȜȘIJȒȢ IJĮțIJȚțȠȪ IJȪʌȠȣ (ʌ.Ȥ. Integer, Boolen, Char Ȓ ȠʌȠȚȠȣįȒʌȠIJİ ȐȜȜȠȣ IJĮțIJȚțȠȪ IJȪʌȠȣ, ȕȜȑʌİ § 3.3.4), ĮȡȤȚțȒ țĮȚ IJİȜȚțȒ IJȚȝȒ İȓȞĮȚ IJȚȝȑȢ ıȣȝȕȚȕĮıIJȑȢ ȝİ IJȘ ȝİIJĮȕȜȘIJȒ, țĮȚ İȞIJȠȜȒ İȓȞĮȚ ȝȚĮ ȠʌȠȚĮįȒʌȠIJİ ĮʌȜȒ Ȓ ıȪȞșİIJȘ İȞIJȠȜȒ. ǵʌȦȢ ijĮȓȞİIJĮȚ țĮȚ Įʌȩ IJȠ ȈȤȒȝĮ 6.3, IJȠ ĮʌȠIJȑȜİıȝĮ IJȘȢ İțIJȑȜİıȘȢ IJȘȢ İȞIJȠȜȒȢ For İȓȞĮȚ 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ȓȗİIJĮȚ Ș İʌĮȞȐȜȘȥȘ țĮȚ İțIJİȜİȓIJĮȚ Ș İȞIJȠȜȒ ʌȠȣ ʌȚșĮȞȫȢ ĮțȠȜȠȣșİȓ ȝİIJȐ IJȘȞ For. ǹȢ ıȘȝİȚȫıȠȣȝİ ȩIJȚ, ȩʌȦȢ ʌȡȠțȪʌIJİȚ Įʌȩ IJȠ ȈȤȒȝĮ 6.3, ĮȞ Ș IJİȜȚțȒ IJȚȝȒ İȓȞĮȚ ȝȚțȡȩIJİȡȘ Įʌȩ IJȘȞ ĮȡȤȚțȒ, IJȩIJİ Ș İȞIJȠȜȒ įİȞ İțIJİȜİȓIJĮȚ.


ǼȞIJȠȜȑȢ ǼʌĮȞȐȜȘȥȘȢ

43

ȆȡȠıȠȤȒ: ȝİIJĮȕȜȘIJȒ:= ĮȡȤȚțȒ IJȚȝȒ

Ǿ IJȚȝȒ IJȘȢ ȝİIJĮȕȜȘIJȒȢ İȜȑȖȤȠȣ ĮȣȟȐȞİIJĮȚ ĮȣIJȩȝĮIJĮ țĮIJȐ ȑȞĮ ıİ țȐșİ İʌĮȞȐȜȘȥȘ țĮȚ įİȞ ʌȡȑʌİȚ ȞĮ ȝİIJĮȕȐȜȜİIJĮȚ ȝȑıĮ ıIJȘȞ İʌĮȞĮȜĮȝȕĮȞȩȝİȞȘ İȞȩIJȘIJĮ IJȦȞ İȞIJȠȜȫȞ. ǼʌȓıȘȢ ȝİIJȐ IJȘȞ țĮȞȠȞȚțȒ ȠȜȠțȜȒȡȦıȘ IJȘȢ İȞIJȠȜȒȢ For Ș IJȚȝȒ IJȘȢ ȝİIJĮȕȜȘIJȒȢ İȜȑȖȤȠȣ İȓȞĮȚ ĮȩȡȚıIJȘ. ȆĮȡȐįİȚȖȝĮ:

ȝİIJĮȕȜȘIJȒ:= ȝİIJĮȕȜȘIJȒ+1

İȞIJȠȜȒ False

ȜȠȖȚțȒ ʌĮȡȐıIJĮıȘ

True

ĬĮ ȖȡȐȥȠȣȝİ ʌȐȜȚ IJȠ ʌȡȩȖȡĮȝȝĮ ȣʌȠȜȠȖȚıȝȠȪ IJȠȣ ĮșȡȠȓıȝĮIJȠȢ 1+2+3+ … +N, ȤȡȘıȚȝȠʌȠȚȫȞIJĮȢ IJȘȞ İȞIJȠȜȒ For. ȆĮȡĮȕȐȜȜİIJİ IJȠ ʌȡȩȖȡĮȝȝĮ ĮȣIJȩ ȝİ IJȠ ʌȡȩȖȡĮȝȝĮ Series IJȘȢ § 6.1 țĮȚ IJȠ ʌȡȩȖȡĮȝȝĮ Series1 IJȘȢ § 6.2 : Program Series2; Var ȈȤȒȝĮ 6.3: ǻȚȐȖȡĮȝȝĮ ȡȠȒȢ IJȘȢ İȞIJȠȜȒȢ For I,N,Sum : Integer; Begin Write('ǻȫıİ șİIJȚțȩ ĮțȑȡĮȚȠ: '); Readln(N); Sum:=0; For I:=1 to N do Sum:=Sum+I; Writeln('ȉȠ ȐșȡȠȚıȝĮ İȓȞĮȚ: ',Sum); End.

Ǿ įİȪIJİȡȘ ȝȠȡijȒ IJȘȢ İȞIJȠȜȒȢ For İȓȞĮȚ Ș ʌĮȡĮțȐIJȦ: For ȝİIJĮȕȜȘIJȒ := ĮȡȤȚțȒ_IJȚȝȒ Downto IJİȜȚțȒ_IJȚȝȒ Do İȞIJȠȜȒ;

ȩʌȠȣ Downto İȓȞĮȚ įİıȝİȣȝȑȞȘ ȜȑȟȘ. ȉȠ ĮʌȠIJȑȜİıȝĮ IJȘȢ İțIJȑȜİıȘȢ ĮȣIJȒȢ IJȘȢ İȞIJȠȜȒȢ İȓȞĮȚ ʌĮȡȩȝȠȚȠ ȝİ İțİȓȞȠ IJȘȢ ʌȡȫIJȘȢ ȝȠȡijȒȢ ȝİ IJȘ įȚĮijȠȡȐ ȩIJȚ ȠȚ IJȚȝȑȢ IJȘȢ ȝİIJĮȕȜȘIJȒȢ İȜȑȖȤȠȣ ȟİțȚȞȠȪȞ Įʌȩ IJȘȞ ĮȡȤȚțȒ IJȚȝȒ țĮȚ İȜĮIJIJȫȞȠȞIJĮȚ țĮIJȐ ȝȓĮ "ȝȠȞȐįĮ" ȝȑȤȡȚ IJȘȞ IJİȜȚțȒ IJȚȝȒ. ĭȣıȚțȐ ʌȡȑʌİȚ Ș ĮȡȤȚțȒ IJȚȝȒ ȞĮ İȓȞĮȚ ȝİȖĮȜȪIJİȡȘ, Ȓ ȓıȘ, IJȘȢ IJİȜȚțȒȢ. ȆĮȡȐįİȚȖȝĮ: ȀĮIJȐ IJȘȞ İțIJȑȜİıȘ IJȘȢ İȞIJȠȜȒȢ: For I:=5 Downto 1 Do J:=I+1; ȠȚ ȝİIJĮȕȜȘIJȑȢ I țĮȚ J ʌĮȓȡȞȠȣȞ įȚĮįȠȤȚțȐ IJȚȢ İȟȒȢ IJȚȝȑȢ: I:=5, I:=4, I:=3,

J:=6 J:=5 J:=4

ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ


44

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

I:=2, I:=1,

J:=3 J:=2

ǹȡțİIJȐ ıȣȤȞȐ ȖȚĮ IJȘȞ İʌȓȜȣıȘ įȚĮijȩȡȦȞ ʌȡȠȕȜȘȝȐIJȦȞ, ĮʌĮȚIJİȓIJĮȚ Ș ȤȡȒıȘ İȝijȦȜİȣȝȑȞȦȞ ȕȡȩȤȦȞ, įȘȜĮįȒ ȕȡȩȤȦȞ ʌȠȣ Ƞ ȑȞĮȢ ȕȡȓıțİIJĮȚ ȝȑıĮ ıIJȠȞ ȐȜȜȠ. ȈIJȘ ȤȡȒıȘ İȝijȦȜİȣȝȑȞȦȞ ȕȡȩȤȦȞ ȚıȤȪȠȣȞ țȐʌȠȚȠȚ țĮȞȩȞİȢ ʌȠȣ ʌȡȑʌİȚ ȞĮ IJȘȡȠȪȞIJĮȚ, ȖȚĮ IJȘȞ ıȦıIJȒ ȜİȚIJȠȣȡȖȓĮ IJȦȞ ʌȡȠȖȡĮȝȝȐIJȦȞ: 1. ȅ İıȦIJİȡȚțȩȢ ȕȡȩȤȠȢ ʌȡȑʌİȚ ȞĮ ȕȡȓıțİIJĮȚ ȠȜȩțȜȘȡȠȢ ȝȑıĮ ıIJȠȞ İȟȦIJİȡȚțȩ. Ȃİ ȐȜȜĮ ȜȩȖȚĮ, Ƞ ȕȡȩȤȠȢ ʌȠȣ ȟİțȚȞȐİȚ IJİȜİȣIJĮȓȠȢ, ʌȡȑʌİȚ ȞĮ ȠȜȠțȜȘȡȫȞİIJĮȚ ʌȡȫIJȠȢ. 2. ǻİȞ ȝʌȠȡİȓ ȞĮ ȤȡȘıȚȝȠʌȠȚȘșİȓ Ș ȓįȚĮ ȝİIJĮȕȜȘIJȒ ȦȢ ȝİIJȡȘIJȒȢ įȪȠ Ȓ ʌİȡȚııȠIJȑȡȦȞ İȝijȦȜİȣȝȑȞȦȞ ȕȡȩȤȦȞ.

6.4 ǹıțȒıİȚȢ 1.

ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮȝȝĮ IJȠ ȠʌȠȓȠ ȞĮ ȣʌȠȜȠȖȓȗİȚ IJȠ ʌȜȒșȠȢ IJȦȞ ȩȡȦȞ IJȠȣ ĮșȡȠȓıȝĮIJȠȢ: S 1 2 3 ... ʌȠȣ ĮʌĮȚ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ȠȞ ĮȡȚșȝȩ 0.

3.

īȡȐȥIJİ ʌȡȩȖȡĮȝȝĮ ʌȠȣ ȞĮ ȣʌȠȜȠȖȓȗİȚ țĮȚ İțIJȣʌȫȞİȚ IJȘȞ IJȚȝȒ IJȠȣ ʌ (3.14...) ȖȚĮ țĮșȑȞĮȞ Įʌȩ IJȠȣȢ IJȪʌȠȣȢ ʌȠȣ įȓȞȠȞIJĮȚ ʌĮȡĮțȐIJȦ, ʌȡȠıșȑIJȠȞIJĮȢ (Ȓ ʌȠȜ/ȐȗȠȞIJĮȢ) IJȠȣȢ ȩȡȠȣȢ ʌȠȣ İȓȞĮȚ ȝİȖĮȜȪIJİȡȠȚ IJȠȣ 10-6. Į) ʌ4/96 = 1 + 1/34 + 1/54 + 1/74 +... ȕ) ʌ2/6 = 1 + 1/22 + 1/32 + 1/42 +... Ȗ) ʌ/4 = 1 - 1/3 + 1/5 - 1/7 + 1/9 -...

4.

īȡȐȥIJİ ʌȡȩȖȡĮȝȝĮ ʌȠȣ ȞĮ ȣʌȠȜȠȖȓȗİȚ țĮȚ IJȣʌȫȞİȚ IJȚȢ IJȚȝȑȢ IJȦȞ ʌĮȡĮțȐIJȦ ʌĮȡĮıIJȐıİȦȞ ȜĮȝȕȐȞȠȞIJĮȢ ȣʌȩȥȘ ȩȡȠȣȢ ʌȠȣ İȓȞĮȚ ȝİȖĮȜȪIJİȡȠȚ IJȠȣ 10-6. Į) ex = 1 + x /1! + x2/2! + x2/3! +... ȕ) sin(x) = x - x3/3! + x5/5! - x7/7! +... Ȗ) cos(x) = 1 - x2/2! + x4/4! - x6/6! +... ȈIJȚȢ IJȡȚȖȦȞȠȝİIJȡȚțȑȢ ıȣȞĮȡIJȒıİȚȢ Ș ȖȦȞȓĮ ȞĮ įȓȞİIJĮȚ ıİ ȝȠȓȡİȢ țĮȚ țĮIJȩʌȚȞ ȞĮ ȝİIJĮIJȡȑʌİIJĮȚ ıİ ĮțIJȓȞȚĮ ʌȡȚȞ IJȘȞ İijĮȡȝȠȖȒ IJȦȞ IJȪʌȦȞ.


ǼȞIJȠȜȑȢ ǼʌĮȞȐȜȘȥȘȢ

45

5.

ǻȓȞȠȞIJĮȚ įȚĮįȠȤȚțȐ Įʌȩ IJȠ ʌȜȘțIJȡȠȜȩȖȚȠ IJĮ ȕȐȡȘ ȝİȡȚțȫȞ țȚȕȦIJȓȦȞ (ĮʌȡȠıįȚȩȡȚıIJȠ IJȠ ʌȜȒșȠȢ IJȠȣȢ) ȝİ IJȠ IJİȜİȣIJĮȓȠ țȚȕȫIJȚȠ ȞĮ İȓȞĮȚ ȐįİȚȠ (ȕȐȡȠȢ ȝȘįȑȞ). ǽȘIJİȓIJĮȚ ȞĮ ȝİIJȡȘșİȓ: Į) ȉȠ ʌȜȒșȠȢ IJȦȞ țȚȕȦIJȓȦȞ ʌȠȣ ȑȤȠȣȞ ȕȐȡȠȢ ȝİȖĮȜȪIJİȡȠ IJȦȞ 100 Nt ȕ) ȉȠ ʌȜȒșȠȢ IJȦȞ țȚȕȦIJȓȦȞ ʌȠȣ ȑȤȠȣȞ ȕȐȡȠȢ ȝȚțȡȩIJİȡȠ Ȓ ȓıȠ IJȦȞ 100 Nt țĮȚ ȝİȖĮȜȪIJİȡȠ IJȦȞ 50 Nt țĮȚ Ȗ) ȉȠ ʌȜȒșȠȢ IJȦȞ țȚȕȦIJȓȦȞ ʌȠȣ ȑȤȠȣȞ ȕȐȡȠȢ ȝȚțȡȩIJİȡȠ Ȓ ȓıȠ IJȦȞ 50 Nt.

6.

ǻȓȞȠȞIJĮȚ Įʌȩ IJȠ ʌȜȘțIJȡȠȜȩȖȚȠ įȪȠ ȤĮȡĮțIJȒȡİȢ. ǽȘIJİȓIJĮȚ ȞĮ ȖȡĮijİȓ ʌȡȩȖȡĮȝȝĮ ʌȠȣ ȞĮ IJȣʌȫȞİȚ ĮȣIJȠȪȢ IJȠȣȢ ȤĮȡĮțIJȒȡİȢ țĮȚ ȩȜȠȣȢ IJȠȣȢ İȞįȚȐȝİıȠȣȢ.

7.

ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮȝȝĮ ʌȠȣ ȞĮ IJȣʌȫȞİȚ Į) ȉȠȣȢ ȤĮȡĮțIJȒȡİȢ ʌȠȣ ĮȞIJȚıIJȠȚȤȠȪȞ ıIJȠȣȢ țȦįȚțȠȪȢ ASCII Įʌȩ 65 ȑȦȢ 90. ȕ) ȉȠȣȢ țȦįȚțȠȪȢ ASCII ʌȠȣ ĮȞIJȚıIJȠȚȤȠȪȞ ıIJȠȣȢ ʌİȗȠȪȢ ȜĮIJȚȞȚțȠȪȢ ȤĮȡĮțIJȒȡİȢ.

8.

īȡȐȥIJİ ʌȡȩȖȡĮȝȝĮ ʌȠȣ ȞĮ ȣʌȠȜȠȖȓȗİȚ țĮȚ IJȣʌȫȞİȚ ıIJȠ IJȑȜȠȢ țȐșİ ȑIJȠȣȢ IJȠȞ IJȩțȠ İȞȩȢ ȖȞȦıIJȠȪ țİijĮȜĮȓȠȣ ȖȚĮ ȑȞĮȞ ȠȡȚıȝȑȞȠ ĮȡȚșȝȩ İIJȫȞ țĮȚ ȝİ ȖȞȦıIJȩ İʌȚIJȩțȚȠ.

9.

ȃĮ ȖȡĮijȠȪȞ ʌȡȠȖȡȐȝȝĮIJĮ ʌȠȣ ȞĮ IJȣʌȫȞȠȣȞ țĮșȑȞĮ Įʌȩ IJĮ ʌĮȡĮțȐIJȦ: 1 12 123 1234 12345

1 23 345 4567 56789

1 13 135 1357 13579

10. ȃĮ ȖȡĮijȠȪȞ ʌȡȠȖȡȐȝȝĮIJĮ ʌȠȣ ȞĮ IJȣʌȫȞȠȣȞ țĮșȑȞĮ Įʌȩ IJĮ ʌĮȡĮțȐIJȦ: * ** *** **** *****

***** **** *** ** *

* ** *** **** *****

***** **** *** ** *

* ** *** **** *** ** *

* *** ***** ******* ***** *** *

******* ***** *** * *** ***** *******

************* ***** ***** *** *** * * *** *** ***** ***** *************

11. īȡȐȥIJİ ʌȡȩȖȡĮȝȝĮ ʌȠȣ ȞĮ ȣʌȠȜȠȖȓȗİȚ IJȘȞ IJİIJȡĮȖȦȞȚțȒ ȡȓȗĮ (x) İȞȩȢ ĮȡȚșȝȠȪ (a) ȤȡȘıȚȝȠʌȠȚȫȞIJĮȢ IJȠȞ İʌĮȞĮȜȘʌIJȚțȩ ĮȜȖȩȡȚșȝȠ IJȠȣ Newton: a xi xi a xi 1 ȝİ x0 IJȣȤĮȓȠ ʌ.Ȥ.: x0 2 2 ȝİ ĮțȡȓȕİȚĮ 6 įİțĮįȚțȫȞ ȥȘijȓȦȞ. 12. ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮȝȝĮ ʌȠȣ ȞĮ ȣʌȠȜȠȖȓȗİȚ țĮȚ IJȣʌȫȞİȚ IJĮ ʌȡȫIJĮ 20 ȝİȡȚțȐ ĮșȡȠȓıȝĮIJĮ IJȠȣ İʌȩȝİȞȠȣ ıȣȞİȤȠȪȢ țȜȐıȝĮIJȠȢ:

ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ


46

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

SK

1

1

1

1 1

1

1 ... ʌĮȡĮIJȘȡȫȞIJĮȢ ȩIJȚ: S1=1 țĮȚ SK+1=1+1/SK 1

13. īȡȐȥIJİ ʌȡȩȖȡĮȝȝĮ ʌȠȣ ȞĮ ȣʌȠȜȠȖȓȗİȚ IJȠȣȢ N (įİįȠȝȑȞȠ) ʌȡȫIJȠȣȢ ȩȡȠȣȢ IJȘȢ ĮțȠȜȠȣșȓĮȢ Fibonacci. Ǿ ĮțȠȜȠȣșȓĮ ȠȡȓȗİIJĮȚ ȦȢ İȟȒȢ:

F1 = 1 , F 2 = 1

țĮȚ

FN = FN-1 + FN-2

ȖȚĮ

ȃ>2

14. īȡȐȥIJİ ʌȡȩȖȡĮȝȝĮ ʌȠȣ ȞĮ ȣʌȠȜȠȖȓȗİȚ IJȠȣȢ ıȣȞįȣĮıȝȠȪȢ țĮȚ IJȚȢ įȚĮIJȐȟİȚȢ IJȦȞ Ȃ ĮȞȐ ȃ. ȆȡȑʌİȚ ȞĮ ȚıȤȪİȚ: Ȃtȃ, Ȃ>0, ȃ>0. § M· M! ȈȣȞįȣĮıȝȠȓ : ¨¨ ¸¸ N!(M N)! © N¹ ǻȚĮIJȐȟİȚȢ

: PM,N

M(M 1)...(M N 1)


47

7. ȊȆȅȆȇȅīȇǹȂȂǹȉǹ 7.1 īİȞȚțȐ ȈIJȘȞ § 1.3 İȓįĮȝİ IJĮ ȤĮȡĮțIJȘȡȚıIJȚțȐ IJȠȣ įȠȝȘȝȑȞȠȣ ʌȡȠȖȡĮȝȝĮIJȚıȝȠȪ țĮȚ ȖȞȦȡȓıĮȝİ țĮȚ IJȘȞ ȑȞȞȠȚĮ IJȠȣ ȣʌȠʌȡȠȖȡȐȝȝĮIJȠȢ. ǵʌȦȢ İȓįĮȝİ Ƞ įȠȝȘȝȑȞȠȢ ʌȡȠȖȡĮȝȝĮIJȚıȝȩȢ ıIJȘȡȓȗİIJĮȚ ıIJȘȞ ĮȡȤȒ "įȚĮȓȡİȚ țĮȚ ȕĮıȓȜİȣİ" (divide and conquer), ȩʌȠȣ ȑȞĮ ıȪȞșİIJȠ ʌȡȩȖȡĮȝȝĮ įȚĮȚȡİȓIJĮȚ ıİ ȝȚțȡȩIJİȡĮ ȣʌȠʌȡȠȖȡȐȝȝĮIJĮ (ȈȤȒȝĮ 1.3) IJĮ ȠʌȠȓĮ ĮȞĮʌIJȪııȠȞIJĮȚ ȟİȤȦȡȚıIJȐ țĮȚ ıIJȠ IJȑȜȠȢ ıȣȞIJȓșİȞIJĮȚ ȖȚĮ ȞĮ ȣȜȠʌȠȚȒıȠȣȞ IJȠ ıȪȞșİIJȠ ʌȡȩȖȡĮȝȝĮ (țȪȡȚȠ ʌȡȩȖȡĮȝȝĮ). ǼȓȞĮȚ ʌȠȜȜȠȓ ȠȚ ȜȩȖȠȚ ȖȚĮ IJȠȣȢ ȠʌȠȓȠȣȢ șĮ ʌȡȑʌİȚ ȞĮ İȞșĮȡȡȪȞİIJĮȚ Ș ȤȡȒıȘ ȣʌȠʌȡȠȖȡĮȝȝȐIJȦȞ, ȝİȡȚțȠȓ Įʌȩ ĮȣIJȠȪȢ İȓȞĮȚ: x

ǵIJĮȞ IJȠ țȪȡȚȠ ʌȡȩȖȡĮȝȝĮ İȓȞĮȚ ȝİȖȐȜȠ, IJȩIJİ IJȠ țȐșİ ȣʌȠʌȡȩȖȡĮȝȝĮ ȝʌȠȡİȓ ȞĮ ȖȡĮijİȓ țĮȚ ȞĮ İȜİȖȤșİȓ ȟȑȤȦȡĮ (ȓıȦȢ țĮȚ Įʌȩ įȚĮijȠȡİIJȚțȠȪȢ ʌȡȠȖȡĮȝȝĮIJȚıIJȑȢ).

x

ǵIJĮȞ ȝȓĮ İȞȩIJȘIJĮ İȞIJȠȜȫȞ İʌĮȞĮȜĮȝȕȐȞİIJĮȚ ʌȠȜȜȑȢ ijȠȡȑȢ ȝȑıĮ ıIJȠ țȪȡȚȠ ʌȡȩȖȡĮȝȝĮ. Ǿ İȞȩIJȘIJĮ ĮȣIJȒ șĮ ȝʌȠȡȠȪıİ ȞĮ İȓȞĮȚ ȑȞĮ ȣʌȠʌȡȩȖȡĮȝȝĮ țĮȚ ȩʌȠȣ ȤȡİȚȐȗİIJĮȚ Ș İțIJȑȜİıȒ IJȘȢ, ȞĮ ȖȓȞİIJĮȚ ȝȚĮ ĮʌȜȒ țȜȒıȘ IJȠȣ ȣʌȠʌȡȠȖȡȐȝȝĮIJȠȢ.

x

ȊʌȠʌȡȠȖȡȐȝȝĮIJĮ ʌȠȣ İțIJİȜȠȪȞ ıȣȞȘșȚıȝȑȞİȢ İȡȖĮıȓİȢ ȝİIJĮijȑȡȠȞIJĮȚ Įʌȩ IJȠ ȑȞĮ țȪȡȚȠ ʌȡȩȖȡĮȝȝĮ ıIJȠ ȐȜȜȠ.

x

Ǿ įȠȝȒ IJȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ ȖȓȞİIJĮȚ ʌȚȠ İȪțȠȜĮ țĮIJĮȞȠȘIJȒ.

ȝʌȠȡȠȪȞ

ȞĮ

DzȞĮ ȣʌȠʌȡȩȖȡĮȝȝĮ İȞİȡȖȠʌȠȚİȓIJĮȚ țĮȚ İțIJİȜİȓIJĮȚ ȩIJĮȞ țĮȜİȓIJĮȚ Įʌȩ IJȠ țȪȡȚȠ ʌȡȩȖȡĮȝȝĮ Ȓ Įʌȩ ȑȞĮ ȐȜȜȠ ȣʌȠʌȡȩȖȡĮȝȝĮ. DzIJıȚ ȑȞĮ ȣʌȠʌȡȩȖȡĮȝȝĮ ȝʌȠȡİȓ ȞĮ İț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ȘȞ Pascal ȣʌȐȡȤȠȣȞ įȪȠ įȚĮijȠȡİIJȚțȠȓ IJȪʌȠȚ ȣʌȠʌȡȠȖȡĮȝȝȐIJȦȞ: ȠȚ ıȣȞĮȡIJȒıİȚȢ (Functions) țĮȚ ȠȚ įȚĮįȚțĮıȓİȢ (Procedures). ȉȠ İȓįȠȢ țȐșİ ȣʌȠʌȡȠȖȡȐȝȝĮ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 țĮȚ ȑȤȠȣȝİ įİȚ ıIJȘȞ § 3.3. ȅȚ įȚĮįȚțĮıȓİȢ. Įʌȩ IJȘȞ ȐȜȜȘ, ȝʌȠȡȠȪȞ ȞĮ İțIJİȜȑıȠȣȞ ȠʌȠȚĮįȒʌȠIJİ ȜİȚIJȠȣȡȖȓĮ Įʌȩ ĮȣIJȑȢ ʌȠȣ ȝʌȠȡİȓ ȞĮ İțIJİȜȑıİȚ ȑȞĮ ʌȡȩȖȡĮȝȝĮ: ȞĮ įȚĮȕȐıȠȣȞ įİįȠȝȑȞĮ, ȞĮ İțIJİȜȑıȠȣȞ ȣʌȠȜȠȖȚıȝȠȪȢ, ȞĮ ȝİIJĮȕȐȜȜȠȣȞ IJȚȢ IJȚȝȑȢ IJȦȞ ȝİIJĮȕȜȘIJȫȞ țĮȚ ȞĮ


48

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

IJȣʌȫıȠȣȞ ĮʌȠIJİȜȑıȝĮIJĮ. Ȃİ IJȘ ȤȡȒıȘ IJȦȞ ʌĮȡĮȝȑIJȡȦȞ ĮȣIJȑȢ IJȚȢ IJȚȝȑȢ ȝʌȠȡȠȪȞ ȞĮ IJȚȢ ȝİIJĮijȑȡȠȣȞ țĮȚ ıIJĮ ȐȜȜĮ ȣʌȠʌȡȠȖȡȐȝȝĮIJĮ. ȉĮ ȣʌȠʌȡȠȖȡȐȝȝĮIJĮ įȘȜȫȞȠȞIJĮȚ, ı'ȑȞĮ ʌȡȩȖȡĮȝȝĮ IJȘȢ Pascal, ȝİIJȐ IJȠ ȝȑȡȠȢ įȒȜȦıȘȢ IJȦȞ ȝİIJĮȕȜȘIJȫȞ țĮȚ ʌȡȚȞ Įʌȩ IJȠ Begin IJȠȣ ʌȡȠȖȡȐȝȝĮIJȩȢ ȝĮȢ, ȩʌȦȢ ȐȜȜȦıIJİ ȑȤȠȣȝİ įİȚ țĮȚ ıIJȘȞ § 2.3. DzȞĮ ȣʌȠʌȡȩȖȡĮȝȝĮ ȑȤİȚ IJȘȞ ȓįȚĮ įȠȝȒ ȝİ ȑȞĮ țĮȞȠȞȚțȩ ʌȡȩȖȡĮȝȝĮ, įȘȜĮįȒ ĮʌȠIJİȜİȓIJĮȚ Įʌȩ IJȘȞ İʌȚțİijĮȜȓįĮ, IJȠ IJȝȒȝĮ įȘȜȫıİȦȞ țĮȚ IJȠ IJȝȒȝĮ İȞIJȠȜȫȞ. ȅȚ ȝȩȞİȢ įȚĮijȠȡȑȢ İȓȞĮȚ ıIJȘȞ İʌȚțİijĮȜȓįĮ țĮȚ ıIJȠ IJİȜİȣIJĮȓȠ End (IJȠ ȠʌȠȓȠ įİȞ ĮțȠȜȠȣșİȓIJĮȚ Įʌȩ IJİȜİȓĮ ĮȜȜȐ Įʌȩ İȜȜȘȞȚțȩ İȡȦIJȘȝĮIJȚțȩ).

7.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ȦȞ IJȪʌȦȞ țĮȚ ıȤȑıİȦȞ ıIJȠ ʌȡȩȖȡĮȝȝĮ, Ș Pascal, ȩʌȦȢ İȓįĮȝİ ıIJȚȢ § 3.3.2, ȝĮȢ ʌĮȡȑȤİȚ IJȘ įȣȞĮIJȩIJȘIJĮ IJȘȢ ıȣȝȕȠȜȚțȒȢ ȖȡĮijȒȢ IJȦȞ ʌȚȠ țȠȚȞȫȞ ȝĮșȘȝĮIJȚțȫȞ ıȣȞĮȡIJȒıİȦȞ. ȈȣȤȞȐ ȩȝȦȢ, ĮȣIJȑȢ ȠȚ İȞıȦȝĮIJȦȝȑȞİȢ ıȣȞĮȡIJȒıİȚȢ įİȞ İȓȞĮȚ ĮȡțİIJȑȢ ȖȚĮ IJȘ ȜȪıȘ IJȦȞ įȚĮijȩȡȦȞ ʌȡȠȕȜȘȝȐIJȦȞ. DzIJıȚ İȓȞĮȚ ĮȞĮȖțĮȓȠ ȞĮ ȝʌȠȡȠȪȝİ ȞĮ ȠȡȓıȠȣȝİ IJȚȢ įȚțȑȢ ȝĮȢ ıȣȞĮȡIJȒıİȚȢ ıİ ȑȞĮ ʌȡȩȖȡĮȝȝĮ. ǹȣIJȒ IJȘ įȣȞĮIJȩIJȘIJĮ ȝĮȢ IJȘȞ ʌĮȡȑȤİȚ Ș Pascal ȝİ IJȠ ȣʌȠʌȡȩȖȡĮȝȝĮ ıȣȞȐȡIJȘıȘ. Ǿ ȖİȞȚțȒ ȝȠȡijȒ ȠȡȚıȝȠȪ İȞȩȢ ȣʌȠʌȡȠȖȡȐȝȝĮIJȠȢ ıȣȞȐȡIJȘıȘ, İȓȞĮȚ: Function ȩȞȠȝĮ (ȜȓıIJĮ IJȣʌȚțȫȞ ʌĮȡĮȝȑIJȡȦȞ): IJȪʌȠȢ; ȉȝȒȝĮ įȘȜȫıİȦȞ Begin İȞIJȠȜȑȢ; ȩȞȠȝĮ := ʌĮȡȐıIJĮıȘ End;

ȩʌȠȣ Function İȓȞĮȚ ȝȚĮ įİıȝİȣȝȑȞȘ ȜȑȟȘ Ș ȠʌȠȓĮ ĮțȠȜȠȣșİȓIJĮȚ Įʌȩ IJȠ ȩȞȠȝĮ IJȘȢ ıȣȞȐȡIJȘıȘȢ. ȈIJȘ ıȣȞȑȤİȚĮ ȠȚ IJȣʌȚțȑȢ (formal) ʌĮȡȐȝİIJȡȠȚ țĮȚ Ƞ IJȪʌȠȢ IJȠȣȢ țĮșȠȡȓȗȠȞIJĮȚ ıIJȘ ȜȓıIJĮ IJȦȞ IJȣʌȚțȫȞ ʌĮȡĮȝȑIJȡȦȞ. ǵȜİȢ ȠȚ ʌĮȡȐȝİIJȡȠȚ ʌȠȣ İȝijĮȞȓȗȠȞIJĮȚ ȝȑıĮ ıIJȚȢ ʌĮȡİȞșȑıİȚȢ ȠȞȠȝȐȗȠȞIJĮȚ IJȣʌȚțȑȢ ʌĮȡȐȝİIJȡȠȚ, ʌ.Ȥ. ıIJȘ ıȣȞȐȡIJȘıȘ Sin(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ȡȦȞ1: IJȪʌȠȢ1; ʌĮȡĮȝȑIJȡȦȞn :IJȪʌȠȢn)

ȜȓıIJĮ ʌĮȡĮȝȑIJȡȦȞ2: IJȪʌȠȢ2; ... ȜȓıIJĮ

ȩʌȠȣ Ș i-ȠıIJȒ ȜȓıIJĮ ʌĮȡĮȝȑIJȡȦȞ ʌİȡȚȜĮȝȕȐȞİȚ ȩȜİȢ IJȚȢ ʌĮȡĮȝȑIJȡȠȣȢ, ȤȦȡȚıȝȑȞİȢ ȝİ țȩȝȝĮIJĮ, ʌȠȣ ȑȤȠȣȞ IJȠȞ ȓįȚȠ IJȪʌȠ, Ƞ ȠʌȠȓȠȢ İȝijĮȞȓȗİIJĮȚ ȝİIJȐ IJȘȞ ȐȞȦ țĮȚ țȐIJȦ IJİȜİȓĮ. ȂİIJȐ IJȘ įİȟȚȐ ʌĮȡȑȞșİıȘ IJȘȢ ȜȓıIJĮȢ IJȦȞ IJȣʌȚțȫȞ ʌĮȡĮȝȑIJȡȦȞ ĮțȠȜȠȣșİȓ,


ȊʌȠʌȡȠȖȡȐȝȝĮIJĮ

49

ȝİ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ȠʌȚțȑȢ (local), įȚȩ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ȘȢ 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Țțȩ (factorial) İȞȩȢ ȝȘ ĮȡȞȘIJȚțȠȪ ĮțİȡĮȓȠȣ ĮȡȚșȝȠȪ ȃ, ıȣȝȕȠȜȓȗİIJĮȚ ȃ! țĮȚ ȠȡȓȗİIJĮȚ ȦȢ İȟȒȢ: ȃ!=1*2*3*...ȃ ĮȞ ȃ 0 țĮȚ ȃ!=1 ĮȞ ȃ=0. īȡȐȥIJİ ȑȞĮ ȣʌȠʌȡȩȖȡĮȝȝĮ ıȣȞȐȡIJȘıȘ ʌȠȣ ȞĮ ȣʌȠȜȠȖȓȗİȚ IJȠ ʌĮȡĮȖȠȞIJȚțȩ İȞȩȢ ȝȘ ĮȡȞȘIJȚțȠȪ ĮțİȡĮȓȠȣ. Function Factorial(N: Byte): LongInt; Var I: Byte; J: LongInt; Begin J:=1; If N<>0 Then For I:=1 To N Do J:=J*I; Factorial:=J End; ȈIJȠ ʌĮȡĮʌȐȞȦ ʌĮȡȐįİȚȖȝĮ ʌĮȡĮIJȘȡȠȪȝİ IJĮ İȟȒȢ: ȉȠ ȩȞȠȝĮ IJȘȢ ıȣȞȐȡIJȘıȘȢ İȓȞĮȚ Factorial. Ǿ ȜȓıIJĮ IJȦȞ ʌĮȡĮȝȑIJȡȦȞ (N: Byte) ʌİȡȚȜĮȝȕȐȞİȚ IJȘȞ IJȣʌȚțȒ ʌĮȡȐȝİIJȡȠ ȃ țĮȚ IJȠȞ IJȪʌȠ IJȘȢ (Byte). ȅ IJȪʌȠȢ IJȠȣ ĮʌȠIJİȜȑıȝĮIJȠȢ IJȘȢ ıȣȞȐȡIJȘıȘȢ İȓȞĮȚ Longint țĮȚ ĮțȠȜȠȣșİȓ IJȘ ȜȓıIJĮ IJȦȞ IJȣʌȚțȫȞ ʌĮȡĮȝȑIJȡȦȞ. ǼʌȓıȘȢ ȤȡȘıȚȝȠʌȠȚȠȪȞIJĮȚ țĮȚ ȠȚ IJȠʌȚțȑȢ ȝİIJĮȕȜȘIJȑȢ I, J. ǹʌȩ 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ȚțȑȢ (actual) ʌĮȡȐȝİIJȡȠȚ ʌ.Ȥ. Ș İȞIJȠȜȒ: F:=Factorial(4); ʌİȡȚȑȤİȚ ȝȚĮ țȜȒıȘ IJȘȢ ıȣȞȐȡIJȘıȘȢ Factorial. DzIJıȚ Ƞ Ǿ/Ȋ șĮ İțIJİȜȑıİȚ IJȠ ȣʌȠʌȡȩȖȡĮȝȝĮ Factorial ĮȞIJȚțĮșȚıIJȫȞIJĮȢ IJȘȞ IJȣʌȚțȒ ʌĮȡȐȝİIJȡȠ ȃ ȝİ IJȘȞ ʌȡĮȖȝĮIJȚțȒ 4 (ıȘȝİȚȫıIJİ ȩIJȚ Ș ȝİIJĮȕȜȘIJȒ F ʌȡȑʌİȚ ȞĮ İȓȞĮȚ IJȪʌȠȣ Longint). ȆĮȡĮțȐIJȦ ʌĮȡĮșȑIJȠȣȝİ ȑȞĮ ʌȡȩȖȡĮȝȝĮ ʌȠȣ ȣʌȠȜȠȖȓȗİȚ IJȠ ʌĮȡĮȖȠȞIJȚțȩ İȞȩȢ ĮȡȚșȝȠȪ țȐȞȠȞIJĮȢ ȤȡȒıȘ IJȘȢ ıȣȞȐȡIJȘıȘȢ Factorial.

ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ


50

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

Program FactorialOfNumber; Var K: Byte; {ĮțȠȜȠȣșİȓ Ș ıȣȞȐȡIJȘıȘ ȩʌȦȢ IJȘ ȖȡȐȥĮȝİ ʌȡȠȘȖȠȣȝȑȞȦȢ} Function Factorial(N: Byte): LongInt; Var I: Byte; J: LongInt; Begin J:=1; If N<>0 Then For I:=1 To N Do J:=J*I; Factorial:=J End; {IJȘȢ Factorial} Begin {IJȠȣ țȣȡȓȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ} Wtite('ǻȫıİ ĮțȑȡĮȚȠ ȝȘ ĮȡȞȘIJȚțȩ ĮȡȚșȝȩ '); Readln(K); Writeln('ȉȠ ʌĮȡĮȖȠȞIJȚțȩ IJȠȣ ',Ȁ,' İȓȞĮȚ ',Factorial(K)) End. {IJȠȣ țȣȡȓȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ}

ȆĮȡĮIJȘȡȒıİȚȢ: x

ȉȠ ʌȜȒșȠȢ IJȦȞ IJȣʌȚțȫȞ țĮȚ ʌȡĮȖȝĮIJȚțȫȞ ʌĮȡĮȝȑIJȡȦȞ ʌȡȑʌİȚ ȞĮ İȓȞĮȚ IJȠ ȓįȚȠ.

x

ȀĮIJȐ IJȘȞ țȜȒıȘ IJȠȣ ȣʌȠʌȡȠȖȡȐȝȝĮIJȠȢ, țȐșİ ʌȡĮȖȝĮIJȚțȒ ʌĮȡȐȝİIJȡȠȢ ĮȞIJȚıIJȠȚȤİȓ ıIJȘȞ IJȣʌȚțȒ ʌĮȡȐȝİIJȡȠ ʌȠȣ ȕȡȓıțİIJĮȚ ıIJȘȞ ĮȞIJȓıIJȠȚȤȘ șȑıȘ: Ș 1Ș ʌȡĮȖȝĮIJȚțȒ ʌĮȡȐȝİIJȡȠȢ ȝİ IJȘȞ 1Ș IJȣʌȚțȒ ʌĮȡȐȝİIJȡȠ, Ș 2Ș ȝİ IJȘȞ 2Ș ț.Ȝ.ʌ.

x

ȅ IJȪʌȠȢ IJȘȢ ʌȡĮȖȝĮIJȚțȒȢ ʌĮȡĮȝȑIJȡȠȣ ʌȡȑʌİȚ ȞĮ İȓȞĮȚ ıȣȝȕȚȕĮıIJȩȢ ȝİ IJȠȞ IJȪʌȠ IJȘȢ ĮȞIJȓıIJȠȚȤȘȢ IJȣʌȚțȒȢ.

ȆĮȡȐįİȚȖȝĮ: īȡȐȥIJİ ȝȚĮ ıȣȞȐȡIJȘıȘ ʌȠȣ ȞĮ ȕȡȓıțİȚ IJȠ ȝİȖĮȜȪIJİȡȠ Įʌȩ IJȡİȚȢ ĮțȑȡĮȚȠȣȢ ĮȡȚșȝȠȪȢ. Function Maximum(A,B,C: Integer): Integer; Var Max: Integer; Begin If A>B Then Max:=A Else Max:=B; If C>Max Then Max:=C; Maximum:=Max End;

ȆĮȡȐįİȚȖȝĮ: īȡȐȥIJİ ȑȞĮ ʌȡȩȖȡĮȝȝĮ ʌȠȣ ȞĮ ȕȡȓıțİȚ IJȠ ȝİȖĮȜȪIJİȡȠ Įʌȩ ʌȑȞIJİ ĮțȑȡĮȚȠȣȢ ĮȡȚșȝȠȪȢ ȤȡȘıȚȝȠʌȠȚȫȞIJĮȢ IJȠ ȣʌȠʌȡȩȖȡĮȝȝĮ Maximum IJȠȣ ʌȡȠȘȖȠȪȝİȞȠȣ ʌĮȡĮįİȓȖȝĮIJȠȢ.


ȊʌȠʌȡȠȖȡȐȝȝĮIJĮ

51

Program Maxim5; Var Num1,Num2,Num3,Num4,Num5: Integer; Temp1,Temp2: Integer; Function Maximum(A,B,C: Integer): Integer; Var Max: Integer; Begin {Maximum} If A>B Then Max:=A Else Max:=B; If C>Max Then Max:=C; Maximum:=Max End; {Maximum} Begin {Maxim5} Write('ǻȫıİ 5 ĮțȑȡĮȚȠȣȢ '); Readln(Num1,Num2,Num3,Num4,Num5); Temp1:=Maximun(Num1,Num2,Num3); Temp2:=Maximum(Num4,Num5,Temp1); Writeln('ȅ ȝİȖĮȜȪIJİȡȠȢ İȓȞĮȚ Ƞ ',Temp2) End. {Maxim5}

ȆĮȡĮIJȘȡȒıIJİ ȩIJȚ ȠȚ įȪȠ İȞIJȠȜȑȢ țĮIJĮȤȫȡȘıȘȢ IJȠȣ țȣȡȓȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ ȞĮ ıȣȖȤȦȞİȣIJȠȪȞ ıİ ȝȓĮ țĮȚ ȝȩȞȘ İȞIJȠȜȒ: Temp2:=Maximum(Num4,Num5,Maximun(Num1,Num2,Num3)); ȩʌȠȣ ʌȡȫIJĮ İțIJİȜİȓIJĮȚ Ș İıȦIJİȡȚțȒ țȜȒıȘ IJȘȢ Maximum țĮȚ IJȠ ĮʌȠIJȑȜİıȝȐ IJȘȢ ıIJȘ ıȣȞȑȤİȚĮ ȤȡȘıȚȝȠʌȠȚİȓIJĮȚ ȦȢ ʌȡĮȖȝĮIJȚțȒ ʌĮȡȐȝİIJȡȠȢ ȩIJĮȞ İțIJİȜİȓIJĮȚ Ș İȟȦIJİȡȚțȒ țȜȒıȘ IJȘȢ.

7.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ȘIJȠȢ Ƞ ʌȡȠȖȡĮȝȝĮIJȚıȝȩȢ ıIJȘȞ ȓįȚĮ ȑțIJĮıȘ, ijIJȐȞȠȣȞ ȝȩȞȠ ȠȚ ȚıȐȡȚșȝİȢ țȜȒıİȚȢ IJȠȣ ȣʌȠʌȡȠȖȡȐȝȝĮIJȠȢ ʌȠȣ İʌȚIJİȜİȓ ĮȣIJȒȞ IJȘȞ İȡȖĮıȓĮ. ȂȚĮ įȚĮįȚțĮıȓĮ İȓȞĮȚ ȩȝȠȚĮ ȝİ ȑȞĮ țȪȡȚȠ ʌȡȩȖȡĮȝȝĮ. DzȤİȚ ȩȞȠȝĮ țĮȚ ʌĮȡĮȝȑIJȡȠȣȢ (ȩȤȚ ȣʌȠȤȡİȦIJȚțȐ) ȖȚĮ IJȘ ȝİIJȐįȠıȘ țĮȚ ȜȒȥȘ ʌȜȘȡȠijȠȡȚȫȞ Įʌȩ IJȠ ȣʌȩȜȠȚʌȠ ʌȡȩȖȡĮȝȝĮ. Ǿ ȖİȞȚțȒ ȝȠȡijȒ ȠȡȚıȝȠȪ İȞȩȢ ȣʌȠʌȡȠȖȡȐȝȝĮIJȠȢ įȚĮįȚțĮıȓĮ, İȓȞĮȚ: Procedure ȩȞȠȝĮ (ȜȓıIJĮ IJȣʌȚțȫȞ ʌĮȡĮȝȑIJȡȦȞ); ȉȝȒȝĮ įȘȜȫıİȦȞ Begin İȞIJȠȜȑȢ; End;

ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ


52

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

ȩʌȠȣ Procedure İȓȞĮȚ įİıȝİȣȝȑȞȘ ȜȑȟȘ Ș ȠʌȠȓĮ ĮțȠȜȠȣșİȓ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Ƞȣ Begin țĮȚ 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ȣʌȠʌȠȚȘȝȑȞȘ ıȣȞȐȡIJȘıȘ IJȘȢ Pascal, İȓȞĮȚ Ș ıȣȞȐȡIJȘıȘ EOLN (End Of LiNe). ǹȣIJȒ Ș ıȣȞȐȡIJȘıȘ İʌȚıIJȡȑijİȚ ĮȜȘșȒ IJȚȝȒ ȩIJĮȞ Ƞ įİȓțIJȘȢ șȑıȘȢ ĮȡȤİȓȠȣ ijIJȐıİȚ ıIJȘȞ ȑȞįİȚȟȘ IJȑȜȠȣȢ ȝȚĮȢ ȖȡĮȝȝȒȢ IJȠȣ ĮȡȤİȓȠȣ INPUT (ȕȜȑʌİ § 4.2). Program EchoLine; Uses CRT; Procedure Line; {ǻȚĮȕȐȗİȚ țĮȚ IJȣʌȫȞİȚ ȝȚĮ ȖȡĮȝȝȒ țİȚȝȑȞȠȣ} Var C: Char; Begin While NOT EOLN Do Begin Read(C); Write(C) End; Readln; Writeln End; {Line} Begin Line End. ȈIJȘ įȚĮįȚțĮıȓĮ Line 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İ ȝʌȠȡİȓ ȞĮ ȤȡȘıȚȝȠʌȠȚȘșİȓ ȠʌȠȣįȒʌȠIJİ İȞIJȩȢ IJȠȣ țȣȡȓȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ ȝİ ȝȚĮ ĮʌȜȒ țȜȒıȘ IJȘȢ. Ǿ țȜȒıȘ ȝȚĮȢ įȚĮįȚțĮıȓĮȢ ȑȤİȚ IJȘ ȖİȞȚțȒ ȝȠȡijȒ: ȩȞȠȝĮ (ȜȓıIJĮ ʌȡĮȖȝĮIJȚțȫȞ ʌĮȡĮȝȑIJȡȦȞ); ȩʌȠȣ ȩȞȠȝĮ İȓȞĮȚ IJȠ ȩȞȠȝĮ IJȘȢ įȚĮįȚțĮıȓĮȢ ʌȠȣ șȑȜȠȣȝİ ȞĮ İțIJİȜİıșİȓ. ȅȚ ʌȡĮȖȝĮIJȚțȑȢ (actual) ʌĮȡȐȝİIJȡȠȚ İȓȞĮȚ IJȚȝȑȢ Ȓ ȝİIJĮȕȜȘIJȑȢ ʌȠȣ ĮȞIJȚʌȡȠıȦʌİȪȠȣȞ IJȚȝȑȢ. ǵʌȦȢ țĮȚ ıIJȚȢ ıȣȞĮȡIJȒıİȚȢ, ʌȡȑʌİȚ IJȠ ʌȜȒșȠȢ IJȦȞ ʌȡĮȖȝĮIJȚțȫȞ țĮȚ IJȣʌȚțȫȞ ʌĮȡĮȝȑIJȡȦȞ șĮ ʌȡȑʌİȚ ȞĮ İȓȞĮȚ IJȠ ȓįȚȠ, Ș 1Ș ʌȡĮȖȝĮIJȚțȒ ʌĮȡȐȝİIJȡȠȢ ȝİ IJȘȞ 1Ș


ȊʌȠʌȡȠȖȡȐȝȝĮIJĮ

53

IJȣʌȚțȒ ʌĮȡȐȝİIJȡȠ, Ș 2Ș ȝİ IJȘȞ 2Ș ț.Ȝ.ʌ., İʌȓıȘȢ Ƞ IJȪʌȠȢ țȐșİ ʌȡĮȖȝĮIJȚțȒȢ ʌĮȡĮȝȑIJȡȠȣ șĮ ʌȡȑʌİȚ ȞĮ İȓȞĮȚ ıȣȝȕȚȕĮıIJȩȢ ȝİ IJȠȞ IJȪʌȠ IJȘȢ ĮȞIJȓıIJȠȚȤȘȢ IJȣʌȚțȒȢ.

7.4 ǼȝȕȑȜİȚĮ ȂİIJĮȕȜȘIJȫȞ ȅȚ ȝİIJĮȕȜȘIJȑȢ, ȠȚ ıIJĮșİȡȑȢ, ȠȚ įȚĮįȚțĮıȓİȢ, ȠȚ ıȣȞĮȡIJȒıİȚȢ țĮȚ ȠIJȚįȒʌȠIJİ ȐȜȜȠ ȣʌȐȡȤİȚ ıIJȠ IJȝȒȝĮ įȘȜȫıİȦȞ IJȠȣ țȣȡȓȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ ȠȞȠȝȐȗȠȞIJĮȚ țĮșȠȜȚțȑȢ Ȓ ȖİȞȚțȑȢ (global) ȝİIJĮȕȜȘIJȑȢ, ıIJĮșİȡȑȢ ț.Ȝ.ʌ., İʌİȚįȒ ȝʌȠȡȠȪȞ ȞĮ ȤȡȘıȚȝȠʌȠȚȘșȠȪȞ ȠʌȠȣįȒʌȠIJİ ȝȑıĮ ıIJȠ țȪȡȚȠ ʌȡȩȖȡĮȝȝĮ, ıİ ȑȞĮ ȣʌȠʌȡȩȖȡĮȝȝĮ Ȓ ĮțȩȝĮ ıİ ȑȞĮ ȣʌȠʌȡȩȖȡĮȝȝĮ ʌȠȣ ȑȤİȚ țȜȘșİȓ ȝȑıĮ Įʌȩ ȑȞĮ ȐȜȜȠ ȣʌȠʌȡȩȖȡĮȝȝĮ. ǼțİȓȞİȢ ȩȝȦȢ ȠȚ ȝİIJĮȕȜȘIJȑȢ, ıIJĮșİȡȑȢ ț.Ȝ.ʌ. ʌȠȣ ȕȡȓıțȠȞIJĮȚ ıIJȠ IJȝȒȝĮ įȘȜȫıİȦȞ İȞȩȢ ȣʌȠʌȡȠȖȡȐȝȝĮIJȠȢ, ȑȤȠȣȞ ȚıȤȪ ȝȩȞȠ ıIJȠ ıȣȖțİțȡȚȝȑȞȠ ȣʌȠʌȡȩȖȡĮȝȝĮ țĮȚ ȖȚ'ĮȣIJȩ ȜȑȖȠȞIJĮȚ IJȠʌȚțȑȢ (local), İʌȓıȘȢ ȠȚ IJȣʌȚțȑȢ ʌĮȡȐȝİIJȡȠȚ İȞȩȢ ȣʌȠʌȡȠȖȡȐȝȝĮIJȠȢ İȓȞĮȚ IJȠʌȚțȑȢ ȖȚ'ĮȣIJȩ IJȠ ȣʌȠʌȡȩȖȡĮȝȝĮ. DzIJıȚ Ș İʌȚȡȡȠȒ Ȓ İȝȕȑȜİȚĮ (scope) IJȦȞ ȝİIJĮȕȜȘIJȫȞ ț.Ȝ.ʌ., İȓȞĮȚ IJȠ țȠȝȝȐIJȚ IJȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ, ʌȠȣ ȜȑȖİIJĮȚ ȠȝȐįĮ (block), ȝȑıĮ ıIJȠ ȠʌȠȓȠ ȑȤȠȣȞ įȘȜȦșİȓ. Ǿ İʌȚȡȡȠȒ IJȠȣȢ İʌİțIJİȓȞİIJĮȚ Įʌȩ IJȠ ıȘȝİȓȠ įȒȜȦıȒȢ IJȠȣȢ ȝȑıĮ ıIJȘȞ ȠȝȐįĮ ȝȑȤȡȚ IJȠ IJȑȜȠȢ IJȘȢ. ȆĮȡȐįİȚȖȝĮ: DzıIJȦ ȩIJȚ șȑȜȠȣȝİ ȞĮ ıȤİįȚȐıȠȣȝİ IJȠ ʌȡȩȖȡĮȝȝĮ ǹ, ȝİ IJĮ ȣʌȠʌȡȠȖȡȐȝȝĮIJĮ B, C, D, E, F, G ȩʌȦȢ ijĮȓȞȠȞIJĮȚ ʌĮȡĮțȐIJȦ:

Program A B F

C D E

Ǿ įȠȝȒ IJȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ șĮ İȓȞĮȚ Ș ʌĮȡĮțȐIJȦ: Program A; Procedure B; Begin {B} ... End; {B} Procedure F; Procedure B; Begin {B} ... End; {B} Procedure D; Procedure E; Begin {E} ... End; {E} Begin {D} ...

ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ

G

B


54

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

End; {D} Begin {F} ... End; {F} Procedure C; Procedure G; Begin {G} ... End; {G} Begin {C} ... End; {C} BEGIN {A} ... END. {A}

ȈȤİIJȚțȐ ȝİ IJȘȞ İȝȕȑȜİȚĮ IJȦȞ ĮȞIJȚțİȚȝȑȞȦȞ ʌȠȣ ȠȡȓȗȠȞIJĮȚ ıİ țȐșİ ȠȝȐįĮ IJȠȣ ʌĮȡĮʌȐȞȦ ʌȡȠȖȡȐȝȝĮIJȠȢ ȑȤȠȣȝİ: ǹȞIJȚțİȓȝİȞĮ ʌȠȣ ȠȡȓȗȠȞIJĮȚ ıIJȘȞ ȠȝȐįĮ: ǼȓȞĮȚ įȚĮșȑıȚȝĮ ıIJȘȞ ȠȝȐįĮ: ǹ

A, B, C, D, E, F, G

B

B

C

C, G

D

D, E

E

E

F

B, D, E

G

G

ǹȞ țĮȚ įİȞ İʌȚ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Ȧ ʌȡȩȖȡĮȝȝĮ: Program Global_Local; Var A,B,C,D: Integer; Procedure Confuse(A,B: Integer); Var C: Real; Begin A:=5; B:=6; C:=7.5; D:=8; Writeln(A:5,B:5,C:5:1,D:5) End; {Confuse}


ȊʌȠʌȡȠȖȡȐȝȝĮIJĮ

55

BEGIN A:=1; B:=2; C:=3; D:=4; Writeln(A:5,B:5,C:5,D:5); Confuse(A,B); Writeln(A:5,B:5,C:5,D:5) END.

ǹȞ IJȡȑȟȠȣȝİ IJȠ ʌȡȩȖȡĮȝȝĮ șĮ ʌȐȡȠȣȝİ ȦȢ ĮʌȠIJȑȜİıȝĮ: 1

2

3

4

5

6

7.5

8

1

2

3

8

(īȚĮIJȓ;)

7.5 Ȃİ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ȘȢ. DzȞĮȢ IJȡȩʌȠȢ ȖȚĮ IJȘȞ İȟĮȖȦȖȒ ĮʌȠIJİȜİıȝȐIJȦȞ Įʌȩ ȑȞĮ ȣʌȠʌȡȩȖȡĮȝȝĮ ıIJȠ ʌȡȩȖȡĮȝȝĮ ʌȠȣ IJȠ țĮȜİȓ, İȓȞĮȚ ȝİ IJȘ ȤȡȒıȘ țĮșȠȜȚțȫȞ ȝİIJĮȕȜȘIJȫȞ. ǹȢ șİȦȡȒıȠȣȝİ IJȠ ʌĮȡĮțȐIJȦ ʌȡȩȖȡĮȝȝĮ: Program Simple1; {ʌĮȡȐįİȚȖȝĮ țȜȒıȘȢ ȝİ ȝİIJĮȕȓȕĮıȘ IJȚȝȒȢ} Var A,B,C: Real; Procedure Add(X,Y: Real); Begin X:=X*50+Y/20; C:=X; {įȚȠȤȑIJİȣıȘ ĮʌȠIJİȜȑıȝĮIJȠȢ ȑȟȦ Įʌȩ IJȘ įȚĮįȚțĮıȓĮ} End; Begin ǹ:=2; B:=60; Add(A,B); Writeln(C,A) End.

ȅȚ IJȣʌȚțȑȢ ʌĮȡȐȝİIJȡȠȚ X, Y ʌȠȣ ȤȡȘıȚȝȠʌȠȚȒșȘțĮȞ ıIJȘ įȚĮįȚțĮıȓĮ Add ȑȤȠȣȞ ȦȢ ıIJȩȤȠ IJȘ ȝİIJĮȕȓȕĮıȘ įİįȠȝȑȞȦȞ ıIJȠ ȣʌȠʌȡȩȖȡĮȝȝĮ. ȂȓĮ țȜȒıȘ IJȠȣ ȣʌȠʌȡȠȖȡȐȝȝĮIJȠȢ ȝİ ʌȡĮȖȝĮIJȚțȑȢ ʌĮȡĮȝȑIJȡȠȣȢ A, B ȑȤİȚ ȦȢ ĮʌȠIJȑȜİıȝĮ IJȘȞ ȝİIJĮȕȓȕĮıȘ ıIJȠ ȣʌȠʌȡȩȖȡĮȝȝĮ IJȦȞ IJȚȝȫȞ ʌȠȣ ȑȤȠȣȞ ȠȚ ȝİIJĮȕȜȘIJȑȢ A, B. Ǿ IJȚȝȒ IJȠȣ ǹ ȝİIJĮȕȚȕȐȗİIJĮȚ ȝİ IJȘ ȕȠȒșİȚĮ IJȘȢ IJȣʌȚțȒȢ ʌĮȡĮȝȑIJȡȠȣ X țĮȚ IJȠȣ B ȝİ IJȘȢ Y.

ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ


56

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

ȈIJȘȞ ʌİȡȓʌIJȦıȘ ĮȣIJȒ ȠʌȠȚĮįȒʌȠIJİ ȝİIJĮȕȠȜȒ IJȦȞ IJȚȝȫȞ IJȦȞ IJȣʌȚțȫȞ ʌĮȡĮȝȑIJȡȦȞ ȝȑıĮ ıIJȠ ȣʌȠʌȡȩȖȡĮȝȝĮ, įİȞ İʌȘȡİȐȗİȚ IJȘȞ ĮȞIJȓıIJȠȚȤȘ ʌȡĮȖȝĮIJȚțȒ ʌĮȡȐȝİIJȡȠ. Ȇ.Ȥ. Ș İȞIJȠȜȒ: X:=X*50+y/20; įİȞ İʌȘȡİȐȗİȚ IJȘȞ IJȚȝȒ IJȘȢ ʌȡĮȖȝĮIJȚțȒȢ ʌĮȡĮȝȑIJȡȠȣ A. ǹȣIJȩ ȖȓȞİIJĮȚ įȚȩIJȚ ȠȚ IJȚȝȑȢ IJȦȞ ʌȡĮȖȝĮIJȚțȫȞ ʌĮȡĮȝȑIJȡȦȞ ĮȞIJȚȖȡȐijȠȞIJĮȚ ıIJȚȢ ĮȞIJȓıIJȠȚȤİȢ IJȣʌȚțȑȢ ʌĮȡĮȝȑIJȡȠȣȢ IJȠȣ ȣʌȠʌȡȠȖȡȐȝȝĮIJȠȢ, ȠȚ ȠʌȠȓİȢ ȑȤȠȣȞ ʌİȡȚȠȡȚıȝȑȞȘ įȚȐȡțİȚĮ ȗȦȒȢ: ȩıȠ İțIJİȜİȓIJĮȚ IJȠ ȣʌȠʌȡȩȖȡĮȝȝĮ. DzIJıȚ, ȠȚ ʌȚșĮȞȑȢ ĮȜȜĮȖȑȢ ʌȠȣ ȖȓȞȠȞIJĮȚ ıIJȚȢ IJȚȝȑȢ IJȦȞ IJȣʌȚțȫȞ ʌĮȡĮȝȑIJȡȦȞ, įİȞ ȑȤȠȣȞ țĮȝȚȐ İʌȓįȡĮıȘ ıIJȚȢ IJȚȝȑȢ IJȦȞ ʌȡĮȖȝĮIJȚțȫȞ ʌĮȡĮȝȑIJȡȦȞ. ǵȜĮ IJĮ ʌĮȡĮʌȐȞȦ ijĮȓȞȠȞIJĮȚ ıIJȠ ȈȤȒȝĮ 7.1.

ȆȡȚȞ IJȘȞ țȜȒıȘ IJȘȢ įȚĮįȚțĮıȓĮȢ

ǹ Ǻ C

2 60 ?

Ȃİ IJȘȞ țȜȒıȘ IJȘȢ įȚĮįȚțĮıȓĮȢ

A B C X Y

2 60 ? 2 60

ȁȓȖȠ ʌȡȚȞ IJȠ IJȑȜȠȢ IJȘȢ İțIJȑȜİıȘȢ IJȘȢ įȚĮįȚțĮıȓĮȢ

A B C X Y

2 60 103 103 60

ȂİIJȐ IJȘȞ İțIJȑȜİıȘ IJȘȢ įȚĮįȚțĮıȓĮȢ

ǹ Ǻ C

2 60 103

ȈȤȒȝĮ 7.1: Ǿ țĮIJȐıIJĮıȘ ıIJȘ ȝȞȒȝȘ țĮIJȐ IJȘȞ įȚȐȡțİȚĮ İțIJȑȜİıȘȢ IJȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ Simple1 (țȜȒıȘ ȝİ ȝİIJĮȕȓȕĮıȘ IJȚȝȒȢ)

Ǿ țȜȒıȘ İȞȩȢ ȣʌȠʌȡȠȖȡȐȝȝĮIJȠȢ țĮIJȐ ĮȣIJȩȞ IJȠȞ IJȡȩʌȠ ȜȑȖİIJĮȚ țȜȒıȘ ȝİ ȝİIJĮȕȓȕĮıȘ IJȚȝȒȢ (call by value) țĮȚ ȠȚ 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Į

57

īȚĮ ȞĮ țĮșȠȡȓıȠȣȝİ ȩIJȚ ȝȚĮ IJȣʌȚțȒ ʌĮȡȐȝİIJȡȠȢ İȓȞĮȚ ȝİIJĮȕȜȘIJȒȢ IJȚȝȒȢ, ȕȐȗȠȣȝİ ʌȡȚȞ IJȠ ȩȞȠȝȐ IJȘȢ IJȘȞ ȜȑȟȘ Var. Ǿ țȜȒıȘ İȞȩȢ ȣʌȠʌȡȠȖȡȐȝȝĮIJȠȢ ȝİ ʌĮȡĮȝȑIJȡȠȣȢ ȝİIJĮȕȜȘIJȫȞ IJȚȝȫȞ, ȜȑȖİIJĮȚ țȜȒıȘ ȝİ ĮȞĮijȠȡȐ (call by reference). Ȉ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ȡȠʌȠʌȠȓȘıȘ IJȘȢ IJȣʌȚțȒȢ ʌĮȡĮȝȑIJȡȠȣ ȝİIJĮȕȜȘIJȒȢ IJȚȝȒȢ, ʌȡȠțĮȜİȓ IJȘȞ ȓįȚĮ ȝİIJĮȕȠȜȒ țĮȚ ıIJȘȞ ĮȞIJȓıIJȠȚȤȘ ʌȡĮȖȝĮIJȚțȒ ʌĮȡȐȝİIJȡȠ, İijȩıȠȞ țĮȚ ȠȚ įȪȠ ĮȞĮijȑȡȠȞIJĮȚ ıIJȠȞ ȓįȚȠ ȤȫȡȠ ȝȞȒȝȘȢ. īȚĮ ȞĮ ȖȓȞȠȣȞ ȟİțȐșĮȡĮ IJĮ ʌĮȡĮʌȐȞȦ, ĮȢ șİȦȡȒıȠȣȝİ IJȠ ʌĮȡĮțȐIJȦ ʌȡȩȖȡĮȝȝĮ: Program Simple2; {ʌĮȡȐįİȚȖȝĮ țȜȒıȘȢ ȝİ ĮȞĮijȠȡȐ} Var A,B: Real; Procedure Add(Var X: Real; Y: Real); Begin X:=X*50+Y/20; End; Begin ǹ:=2; B:=60; Add(A,B); Writeln(A) End.

Ǿ țĮIJȐıIJĮıȘ ıIJȘ ȝȞȒȝȘ ȩʌȦȢ įȚĮȝȠȡijȫȞİIJĮȚ țĮIJȐ IJȘȞ İțIJȑȜİıȘ IJȠȣ ʌĮȡĮʌȐȞȦ ʌȡȠȖȡȐȝȝĮIJȠȢ, ijĮȓȞİIJĮȚ ıIJȠ ȈȤȒȝĮ 7.2. DzIJıȚ ȜȠȚʌȩȞ ȕȜȑʌȠȣȝİ ȩIJȚ ȖȚĮ ȞĮ įȚȠȤİIJİȪıȠȣȝİ ʌȜȘȡȠijȠȡȓİȢ ȑȟȦ Įʌȩ ȑȞĮ ȣʌȠʌȡȩȖȡĮȝȝĮ, ȣʌȐȡȤȠȣȞ ȠȚ İȟȒȢ IJȡȩʌȠȚ: x

Ȃİ ȤȡȒıȘ țĮșȠȜȚțȫȞ ȝİIJĮȕȜȘIJȫȞ.

x

Ȃİ ʌĮȡĮȝȑIJȡȠȣȢ ȝİIJĮȕȜȘIJȫȞ IJȚȝȫȞ

x

ǹȞ IJȠ ȣʌȠʌȡȩȖȡĮȝȝĮ İȓȞĮȚ ıȣȞȐȡIJȘıȘ, ȝȑıȦ IJȠȣ ȠȞȩȝĮIJȩȢ IJȘȢ

ǼȞȫ ȖȚĮ ȞĮ ȝİIJĮȕȚȕȐıȠȣȝİ įİįȠȝȑȞĮ ı'ȑȞĮ ȣʌȠʌȡȩȖȡĮȝȝĮ, ȝʌȠȡȠȪȝİ ȞĮ ȤȡȘıȚȝȠʌȠȚȒıȠȣȝİ İȓIJİ ʌĮȡĮȝȑIJȡȠȣȢ ıIJĮșİȡȫȞ Ȓ ȝİIJĮȕȜȘIJȫȞ IJȚȝȫȞ, İȓIJİ țĮșȠȜȚțȑȢ ȝİIJĮȕȜȘIJȑȢ.

ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ


58

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

ȆȡȚȞ IJȘȞ țȜȒıȘ IJȘȢ įȚĮįȚțĮıȓĮȢ

ǹ Ǻ Y

2 60

Ȃİ IJȘȞ țȜȒıȘ IJȘȢ įȚĮįȚțĮıȓĮȢ

A B Y

2 60 60

X

ȁȓȖȠ ʌȡȚȞ IJȠ IJȑȜȠȢ IJȘȢ İțIJȑȜİıȘȢ IJȘȢ įȚĮįȚțĮıȓĮȢ

A B Y

103 60 60

X

ȂİIJȐ IJȘȞ İțIJȑȜİıȘ IJȘȢ įȚĮįȚțĮıȓĮȢ

ǹ Ǻ

103 60

ȈȤȒȝĮ 7.2: Ǿ țĮIJȐıIJĮıȘ ıIJȘ ȝȞȒȝȘ țĮIJȐ IJȘȞ įȚȐȡțİȚĮ İțIJȑȜİıȘȢ IJȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ Simple2 (țȜȒıȘ ȝİ ĮȞĮijȠȡȐ)

7.6 ǹȞĮįȡȠȝȒ ǼȓįĮȝİ ıIJĮ ʌȡȠȘȖȠȪȝİȞĮ ȩIJȚ ȑȞĮ ȣʌȠʌȡȩȖȡĮȝȝĮ ȝʌȠȡİȓ ȞĮ țȜȘșİȓ Įʌȩ ȠʌȠȚȠįȒʌȠIJİ ȐȜȜȠ ȣʌȠʌȡȩȖȡĮȝȝĮ IJȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ. ȈIJȘȞ Pascal ȑȞĮ ȣʌȠʌȡȩȖȡĮȝȝĮ ȝʌȠȡİȓ ȞĮ țĮȜİȓ IJȠȞ İĮȣIJȩ IJȠȣ, ȐȝİıĮ Ȓ ȑȝȝİıĮ. ǹȞ ȑȞĮ ȣʌȠʌȡȩȖȡĮȝȝĮ, ȝȑıĮ ıIJȠ IJȝȒȝĮ IJȦȞ İȞIJȠȜȫȞ IJȠȣ, ʌİȡȚȑȤİȚ ȝȓĮ țȜȒıȘ IJȠȣ İĮȣIJȠȪ IJȠȣ, IJȩIJİ ȜȑȖİIJĮȚ ĮȞĮįȡȠȝȚțȩ (recursive). Ǿ ĮȞȐȖțȘ 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İȓ ȦȢ İȟȒȢ: 1. ȅ ĮȡȚșȝȩȢ 1 İȓȞĮȚ ȑȞĮȢ ijȣıȚțȩȢ ĮȡȚșȝȩȢ. 2. ȅ İʌȩȝİȞȠȢ İȞȩȢ ijȣıȚțȠȪ ĮȡȚșȝȠȪ İȓȞĮȚ ȑȞĮȢ ijȣıȚțȩȢ ĮȡȚșȝȩȢ. ȩʌȠȣ Ƞ İʌȩȝİȞȠȢ İȞȩȢ ijȣıȚțȠȪ ĮȡȚșȝȠȪ ȜĮȝȕȐȞİIJĮȚ ʌȡȠıșȑIJȠȞIJĮȢ IJȘ ȝȠȞȐįĮ ıIJȠȞ ĮȡȚșȝȩ ĮȣIJȩ. Ǿ įȪȞĮȝȘ ĮȣIJȠȪ IJȠȣ ĮȞĮįȡȠȝȚțȠȪ ȠȡȚıȝȠȪ İȓȞĮȚ Ș ȚțĮȞȩIJȘIJȐ IJȠȣ ȞĮ ȠȡȓȗİȚ ȑȞĮ ıȪȞȠȜȠ, ȤȡȘıȚȝȠʌȠȚȫȞIJĮȢ ȝȩȞȠ įȪȠ İȞIJȠȜȑȢ. Ȃİ IJȠȞ ȓįȚȠ IJȡȩʌȠ, ȑȞĮ ĮȞĮįȡȠȝȚțȩ ȣʌȠʌȡȩȖȡĮȝȝĮ ȝʌȠȡİȓ ȞĮ ʌȡȠıįȚȠȡȓȗİȚ ȑȞĮ ȐʌİȚȡȠ ʌȜȒșȠȢ ȣʌȠȜȠȖȚıȝȫȞ ȤȡȘıȚȝȠʌȠȚȫȞIJĮȢ ȝȩȞȠ ȝİȡȚțȑȢ İȞIJȠȜȑȢ.


ȊʌȠʌȡȠȖȡȐȝȝĮIJĮ

59

Ǿ IJİȤȞȚțȒ IJȘȢ ĮȞĮįȡȠȝȒȢ ȝʌȠȡİȓ ȞĮ İijĮȡȝȠıIJİȓ ĮʌȠIJİȜİıȝĮIJȚțȐ ıİ ʌȡȠȕȜȒȝĮIJĮ ʌȠȣ ȑȤȠȣȞ IJȘȞ ʌĮȡĮțȐIJȦ įȠȝȒ: 1.

Ǿ ȜȪıȘ İȓȞĮȚ İȪțȠȜȘ ȖȚĮ ȠȡȚıȝȑȞİȢ İȚįȚțȑȢ ıȣȞșȒțİȢ, ȠȚ ȠʌȠȓİȢ țĮȜȠȪȞ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Į ʌĮȡĮʌȐȞȦ, șĮ įȠȪȝİ ȑȞĮ ıȣȖțİțȡȚȝȑȞȠ ʌĮȡȐįİȚȖȝĮ: DzıIJȦ ȩIJȚ ȝĮȢ ȗȘIJȐȞİ ȞĮ ȣʌȠȜȠȖȓıȠȣȝİ IJȠ ʌĮȡĮȖȠȞIJȚțȩ (ȃ!) İȞȩȢ ȝȘ-ĮȡȞȘIJȚțȠȪ ĮțȑȡĮȚȠȣ ĮȡȚșȝȠȪ (ȃ). ȉȠ ʌĮȡĮȖȠȞIJȚțȩ, ȩʌȦȢ ȑȤȠȣȝİ įİȚ țĮȚ ıIJȘȞ § 7.2 ȠȡȓȗİIJĮȚ ȦȢ İȟȒȢ: ǹȞ ȃ=0 īȚĮ ȃ>0

ȃ!=1 ȃ!=1*2*3*...*ȃ

Ȃİ ȕȐıȘ ĮȣIJȩȞ IJȠȞ ȠȡȚıȝȩ, Ș ʌĮȡĮțȐIJȦ ıȣȞȐȡIJȘıȘ, ʌȠȣ İȓȞĮȚ Ș ȓįȚĮ IJȘȢ § 7.2, ȤȡȘıȚȝȠʌȠȚİȓ ȝȓĮ İʌĮȞĮȜȘʌIJȚțȒ įȚĮįȚțĮıȓĮ (İȞIJȠȜȒ for) ȖȚĮ IJȠȞ ȣʌȠȜȠȖȚıȝȩ IJȠȣ ʌĮȡĮȖȠȞIJȚțȠȪ: Function Factorial(N: Byte): LongInt; {ȝȘ ĮȞĮįȡȠȝȚțȒ ıȣȞȐȡIJȘıȘ ȣʌȠȜȠȖȚıȝȠȪ ʌĮȡĮȖȠȞIJȚțȠȪ} Var I : Byte; Answer: LongInt; Begin Answer:=1; If N<>0 Then For I:=1 To N Do Answer:=Answer*I; Factorial:=Answer; End;

ȉȠ ʌĮȡĮȖȠȞIJȚțȩ ȩȝȦȢ, ȝʌȠȡİȓ ȞĮ ȠȡȚıIJİȓ țĮȚ ĮȞĮįȡȠȝȚțȐ: ǹȞ ȃ=0 īȚĮ ȃ>0

ȃ!=1 ȃ!=ȃ*(ȃ-1)!

(țĮIJȐıIJĮıȘ IJİȡȝĮIJȚıȝȠȪ) (ĮȞĮįȡȠȝȚțȩ ȕȒȝĮ)

Ȃİ ȕȐıȘ IJȠȞ ʌĮȡĮʌȐȞȦ ȠȡȚıȝȩ țĮȚ ȩʌȦȢ ijĮȓȞİIJĮȚ Įʌȩ IJȠ ĮȞĮįȡȠȝȚțȩ ȕȒȝĮ, IJȠ ʌȡȩȕȜȘȝĮ İȪȡİıȘȢ IJȠȣ ʌĮȡĮȖȠȞIJȚțȠȪ İȞȩȢ ĮțȑȡĮȚȠȣ ĮȡȚșȝȠȪ ĮȞȐȖİIJĮȚ ıIJȘȞ İȪȡİıȘ IJȠȣ ʌĮȡĮȖȠȞIJȚțȠȪ IJȠȣ ʌȡȠȘȖȠȪȝİȞȠȣ ȝȚțȡȩIJİȡȠȣ ĮțȑȡĮȚȠȣ. ǼȓȞĮȚ ijĮȞİȡȩ ȩIJȚ IJȠ ȃ-1 İȓȞĮȚ ʌȜȘıȚȑıIJİȡȠ ʌȡȠȢ IJȠ 0 Įʌȩ ȩIJȚ İȓȞĮȚ IJȠ ȃ. Ǿ ĮȞĮįȡȠȝȚțȒ ıȣȞȐȡIJȘıȘ ȣʌȠȜȠȖȚıȝȠȪ IJȠȣ ʌĮȡĮȖȠȞIJȚțȠȪ, İȓȞĮȚ: Function Factorial(N: Byte): LongInt; {ĮȞĮįȡȠȝȚțȒ ıȣȞȐȡIJȘıȘ ȣʌȠȜȠȖȚıȝȠȪ ʌĮȡĮȖȠȞIJȚțȠȪ} Var Answer: LongInt; Begin If N=0 Then Answer:=1 Else Answer:=N*Factorial(N-1); Factorial:= Answer; End;

ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ


60

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

ǹȢ ʌĮȡĮțȠȜȠȣșȒıȠȣȝİ IJȚ ıȣȝȕĮȓȞİȚ ıİ ȝȓĮ țȜȒıȘ IJȘȢ ʌȡȠȘȖȠȪȝİȞȘȢ ıȣȞȐȡIJȘıȘȢ. ȀȐșİ ȞȑĮ țȜȒıȘ IJȘȢ Factorial ĮȣȟȐȞİȚ IJȠ ĮȞĮįȡȠȝȚțȩ İʌȓʌİįȠ. ȅ ȝİIJĮȖȜȦIJIJȚıIJȒȢ ĮʌȠșȘțİȪİȚ ıİ ıIJȠȓȕĮ (stack) IJȚȢ IJȚȝȑȢ IJȘȢ ʌĮȡĮȝȑIJȡȠȣ N IJȘȢ ıȣȞȐȡIJȘıȘȢ ȩʌȦȢ İʌȓıȘȢ țĮȚ ȠʌȠȚĮıįȒʌȠIJİ ȐȜȜȘȢ IJȠʌȚțȒȢ ȝİIJĮȕȜȘIJȒȢ, ʌȡȚȞ Įʌȩ țȐșİ ȞȑĮ țȜȒıȘ. ǵIJĮȞ ȠȜȠțȜȘȡȦșİȓ Ș įȚĮįȚțĮıȓĮ İțIJȑȜİıȘȢ ȝȓĮȢ țȜȒıȘȢ, Ƞ ȑȜİȖȤȠȢ IJȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ İʌȚıIJȡȑijİȚ ıIJȘȞ ĮȝȑıȦȢ İʌȩȝİȞȘ İȞIJȠȜȒ ȝİIJȐ IJȘȞ țȜȒıȘ. ȀĮIJȐ IJȘ įȚȐȡțİȚĮ IJȘȢ țȜȒıȘȢ ȣʌȠȜȠȖȓȗİIJĮȚ Ș ȑțijȡĮıȘ N-1 țĮȚ țĮIJĮȤȦȡİȓIJĮȚ ıĮȞ ȞȑĮ IJȚȝȒ IJȘȢ ʌĮȡĮȝȑIJȡȠȣ N. ȉİȜȚțȐ Ș ʌĮȡȐȝİIJȡȠȢ N șĮ ȖȓȞİȚ ȝȘįȑȞ țĮȚ Ș ȝİIJĮȕȜȘIJȒ Answer șĮ ʌȐȡİȚ IJȚȝȒ 1, ȝİ IJȘȞ IJİȜİȣIJĮȓĮ țȜȒıȘ IJȘȢ ıȣȞȐȡIJȘıȘȢ Factorial (ʌȡȠȢ IJĮ ʌȓıȦ įȚĮįȚțĮıȓĮ). ȈIJȘ ıȣȞȑȤİȚĮ Ƞ ȝİIJĮȖȜȦIJIJȚıIJȒȢ İʌȚıIJȡȑijİȚ Įʌȩ țȐșİ ĮȞĮįȡȠȝȚțȩ İʌȓʌİįȠ țĮȚ ȣʌȠȜȠȖȓȗİȚ IJȘȞ IJȡȑȤȠȣıĮ IJȚȝȒ IJȘȢ Answer ʌȠȜȜĮʌȜĮıȚȐȗȠȞIJĮȢ IJȘȞ ʌĮȡȐȝİIJȡȠ ʌȠȣ ȑȤİȚ ĮʌȠșȘțİȪıİȚ ı'ĮȣIJȩ IJȠ İʌȓʌİįȠ ȝİ IJȘȞ IJȚȝȒ IJȘȢ Answer IJȠȣ ʌȡȠȘȖȠȪȝİȞȠȣ İʌȚʌȑįȠȣ. Ȃİ ĮȣIJȩ IJȠȞ IJȡȩʌȠ İʌȚıIJȡȑijȠȣȝİ ıIJȠ ĮȡȤȚțȩ İʌȓʌİįȠ (ʌȡȠȢ IJĮ İȝʌȡȩȢ įȚĮįȚțĮıȓĮ). ǹȞĮįȡȠȝȚțȩ Áíáäñïìéêü ǼʌȓʌİįȠ åðßðåäï 0 factorial(3) 6 1

answer=3* factorial(2) 2

2

answer=2* factorial(1) 1

3

answer=1* factorial(0) 1 answer=1

ȈȤȒȝĮ 7.3: ȆĮȡȠȣıȓĮıȘ IJȘȢ İțIJȑȜİıȘȢ IJȘȢ Factorial(3)

īȚĮ ʌĮȡȐįİȚȖȝĮ, ȝȓĮ țȜȒıȘ Factorial(3) ʌİȡȚȑȤİȚ, țĮIJȐ IJȘ įȚȐȡțİȚĮ IJȘȢ İțIJȑȜİıȒȢ IJȘȢ, ȝȓĮ țȜȒıȘ IJȘȢ Factorial(2). īȚĮ IJȠȞ ȣʌȠȜȠȖȚıȝȩ IJȘȢ Factorial(2) ȤȡİȚȐȗİIJĮȚ Ƞ ȣʌȠȜȠȖȚıȝȩȢ IJȘȢ Factorial(1), Ș ȠʌȠȓĮ ȝİ IJȘ ıİȚȡȐ IJȘȢ ȤȡİȚȐȗİIJĮȚ IJȘȞ IJȚȝȒ IJȘȢ Factorial(0), ʌȠȣ İȓȞĮȚ 1. DzIJıȚ Įʌȩ IJȘ ıIJȚȖȝȒ ĮȣIJȒ ȝʌȠȡİȓ ȞĮ ĮȡȤȓıİȚ Ș ʌȡȠȢ IJĮ İȝʌȡȩȢ įȚĮįȚțĮıȓĮ ȝİ IJȠȞ ȣʌȠȜȠȖȚıȝȩ IJȘȢ Factorial(1), ʌȠȣ IJȫȡĮ ȝʌȠȡİȓ ȞĮ ȣʌȠȜȠȖȚıIJİȓ ıĮȞ 1*1. ȈIJȘ ıȣȞȑȤİȚĮ Ș Factorial(2) ȣʌȠȜȠȖȓȗİIJĮȚ ıĮȞ 2*1 țĮȚ IJȑȜȠȢ Ș Factorial(3) ıĮȞ 3*2. ȈIJȠ ȈȤȒȝĮ 7.3 ʌĮȡȠȣıȚȐȗİIJĮȚ Ș İțIJȑȜİıȘ IJȘȢ Factorial(3). ȊʌȐȡȤȠȣȞ 4 ĮȞĮįȡȠȝȚțȐ İʌȓʌİįĮ (0-3) țĮȚ IJȡİȚȢ ĮȞĮįȡȠȝȚțȑȢ țȜȒıİȚȢ IJȘȢ Factorial() ıȣȞ IJȘȞ ĮȡȤȚțȒ țȜȒıȘ. ȉĮ ȕȑȜȘ ʌȠȣ ȑȤȠȣȞ ijȠȡȐ ʌȡȠȢ IJĮ țȐIJȦ įİȓȤȞȠȣȞ IJȘȞ ȑțijȡĮıȘ ʌȠȣ ʌȡȠțȪʌIJİȚ ȝİIJȐ Įʌȩ IJȘȞ İijĮȡȝȠȖȒ țȐșİ ĮȞĮįȡȠȝȚțȠȪ ȕȒȝĮIJȠȢ. ȂİIJȐ IJȘȞ IJİȜİȣIJĮȓĮ ĮȞĮįȡȠȝȚțȒ țȜȒıȘ (Factorial(0)), Ș ıȣȞȐȡIJȘıȘ ʌȡȑʌİȚ ȞĮ İʌȚıIJȡȑijİȚ Įʌȩ țȐșİ țȜȒıȘ ȝİ ȝȓĮ IJȚȝȒ (IJȘȞ IJȚȝȒ IJȘȢ Answer). Ǿ IJȚȝȒ İȓȞĮȚ İțİȓȞȘ ʌȠȣ ʌȡȠțȪʌIJİȚ Įʌȩ IJȠȞ ʌȠȜȜĮʌȜĮıȚĮıȝȩ IJȠȣ ĮʌȠIJİȜȑıȝĮIJȠȢ IJȠȣ ʌȡȠȘȖȠȣȝȑȞȠȣ İʌȚʌȑįȠȣ ȝİ IJȘȞ IJȚȝȒ IJȘȢ


ȊʌȠʌȡȠȖȡȐȝȝĮIJĮ

61

ʌĮȡĮȝȑIJȡȠȣ n ıIJȠ IJȡȑȤȠȞ İʌȓʌİįȠ. ȅȚ IJȚȝȑȢ ĮȣIJȑȢ įȘȜȫȞȠȞIJĮȚ įȓʌȜĮ ıIJĮ ȕȑȜȘ ʌȠȣ ȑȤȠȣȞ ijȠȡȐ ʌȡȠȢ IJĮ İʌȐȞȦ.

7.7 ǹıțȒıİȚȢ 1.

ȃĮ ȖȡĮijİȓ ȝȓĮ ıȣȞȐȡIJȘıȘ ʌȠȣ ȞĮ įȑȤİIJĮȚ ȦȢ ʌĮȡĮȝȑIJȡȠȣȢ įȪȠ ʌȡĮȖȝĮIJȚțȠȪȢ țĮȚ ȞĮ İʌȚıIJȡȑijİȚ IJȠ ȝİȖĮȜȪIJİȡȠ Įʌ'ĮȣIJȠȪȢ.

2.

ȃĮ ȖȡĮijİȓ ȝȓĮ ıȣȞȐȡIJȘıȘ Ș ȠʌȠȓĮ ȞĮ İʌȚıIJȡȑijİȚ IJȠ ȝȚțȡȩIJİȡȠ Įʌȩ 3 ʌȡĮȖȝĮIJȚțȠȪȢ ĮȡȚșȝȠȪȢ.

3.

ȃĮ ȖȡĮijİȓ ıȣȞȐȡIJȘıȘ ʌȠȣ ȞĮ įȑȤİIJĮȚ ȑȞĮȞ ʌȡĮȖȝĮIJȚțȩ ĮȡȚșȝȩ țĮȚ ȞĮ İʌȚıIJȡȑijİȚ IJȘȞ ĮʌȩȜȣIJȘ IJȚȝȒ IJȠȣ, ȤȦȡȓȢ ȤȡȒıȘ IJȘȢ ıȣȞȐȡIJȘıȘȢ Abs.

4.

ȃĮ ȖȡĮijİȓ ȝȓĮ ıȣȞȐȡIJȘıȘ Ș ȠʌȠȓĮ șĮ įȑȤİIJĮȚ Įʌȩ IJȠ ʌȜȘțIJȡȠȜȩȖȚȠ IJȘȞ ȫȡĮ ıIJȘ ȝȠȡijȒ hh:mm (ȫȡİȢ:ȜİʌIJȐ) țĮȚ șĮ IJȘȞ İʌȚıIJȡȑijİȚ ıİ ȜİʌIJȐ. ȈIJȘ ıȣȞȑȤİȚĮ ȞĮ ȖȓȞİȚ ȤȡȒıȘ IJȘȢ ıȣȞȐȡIJȘıȘȢ Įʌȩ ȑȞĮ ʌȡȩȖȡĮȝȝĮ ʌȠȣ ȞĮ ȣʌȠȜȠȖȓȗİȚ IJȘ įȚĮijȠȡȐ ĮȞȐȝİıĮ ıİ įȪȠ ȤȡȠȞȚțȑȢ ıIJȚȖȝȑȢ, ıİ ȜİʌIJȐ.

5.

ȃĮ ȖȡĮijİȓ ȝȓĮ ıȣȞȐȡIJȘıȘ ʌȠȣ ȞĮ ȣʌȠȜȠȖȓȗİȚ IJȠ sin(x) ȤȡȘıȚȝȠʌȠȚȫȞIJĮȢ IJȠȞ IJȪʌȠ: sin(x) = x - x3/3! + x5/5! - x7/7! +... ȅ ĮȡȚșȝȩȢ IJȦȞ ȩȡȦȞ ʌȠȣ șĮ ȤȡȘıȚȝȠʌȠȚȠȪȞIJĮȚ ȞĮ įȓȞİIJĮȚ ȦȢ ʌĮȡȐȝİIJȡȠȢ ıIJȘȞ țȜȒıȘ IJȘȢ ıȣȞȐȡIJȘıȘȢ. Ȇ.Ȥ. sin(x,3) ıȘȝĮȓȞİȚ ȞĮ ȣʌȠȜȠȖȚıIJİȓ IJȠ sin(x) ȝİ 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İȡȠ ț.Ƞ.ț., ʌ.Ȥ. IJȠ 123 ȞĮ IJȠ İʌȚıIJȡȑijİȚ ȦȢ 321).

7.

ȃĮ ȖȡĮijİȓ ȝȓĮ ıȣȞȐȡIJȘıȘ Ș ȠʌȠȓĮ ȞĮ įȑȤİIJĮȚ ȑȞĮȞ ĮțȑȡĮȚȠ ĮȡȚșȝȩ țĮȚ ȞĮ İʌȚıIJȡȑijİȚ IJȠ ʌȜȒșȠȢ IJȦȞ ȥȘijȓȦȞ IJȠȣ.

8.

ȆȠȚĮ șĮ İȓȞĮȚ IJĮ ĮʌȠIJİȜȑıȝĮIJĮ ʌȠȣ șĮ IJȣʌȫıİȚ IJȠ ʌĮȡĮțȐIJȦ ʌȡȩȖȡĮȝȝĮ: Program ABCD; Var M,N: Integer; Procedure Add(Var I, J: Integer); Begin I:=I+J; J:=I+J; End; {Add} Begin M:=0; N:=1; Add(M,N); Writeln(M:5, N:5); While (N+N)<100 Do Add(M,N); Writeln(M:5, N:5) End.

ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ


62

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

9.

ȆȠȚĮ șĮ İȓȞĮȚ IJĮ ĮʌȠIJİȜȑıȝĮIJĮ ʌȠȣ șĮ IJȣʌȫıİȚ IJȠ ʌĮȡĮțȐIJȦ ʌȡȩȖȡĮȝȝĮ: Program XYZ; Var X,Y,Z: Integer; Log1,Log2: Boolean; Procedure ABC(Var A,B: Integer; Var L: Boolean); Begin If A>B Then A:=A-1; B:=B-A; L:=B>B End; {ABC} Begin X:=2; Y:=1; Z:=0; Log1:=True; Log2:=True; ABC(X,Y,Log1); Writeln('X=',X,' Y=',Y,' L=',Log1); If Log1 Then ABC(Y,Z,Log2) Else ABC(Z,Y,Log1); Writeln('Y=',Y,' Z=',Z) End.

10. īȡȐȥIJİ ȑȞĮ ȣʌȠʌȡȩȖȡĮȝȝĮ įȚĮįȚțĮıȓĮ ʌȠȣ ȞĮ İȞĮȜȜȐııİȚ IJȚȢ IJȚȝȑȢ įȪȠ ȝİIJĮȕȜȘIJȫȞ ʌȡĮȖȝĮIJȚțȠȪ IJȪʌȠȣ. 11. ȅ ĮȞĮįȡȠȝȚțȩȢ ȠȡȚıȝȩȢ IJȘȢ įȪȞĮȝȘȢ an ȖȚĮ n Z+ țĮȚ a R İȓȞĮȚ: 0 ĮȞ n ­1 an ® n 1 ĮȞ n ! 0 ¯a * a īȡȐȥIJİ ĮȞĮįȡȠȝȚțȒ ıȣȞȐȡIJȘıȘ power(a,n) ʌȠȣ ȞĮ İʌȚıIJȡȑijİȚ IJȘ įȪȞĮȝȘ an. 12. īȡȐȥIJİ ȝȓĮ ȝȘ-ĮȞĮįȡȠȝȚțȒ țĮȚ ȝȓĮ ĮȞĮįȡȠȝȚțȒ ıȣȞȐȡIJȘıȘ ʌȠȣ ȞĮ ȣʌȠȜȠȖȓȗİȚ IJȠ ȐșȡȠȚıȝĮ, S, ȝȚĮȢ ıİȚȡȐȢ ĮțİȡĮȓȦȞ șİIJȚțȫȞ ĮȡȚșȝȫȞ Įʌȩ IJȠ 1 ȝȑȤȡȚ IJȠ N, ȩʌȠȣ N ȖȞȦıIJȩȢ șİIJȚțȩȢ ĮțȑȡĮȚȠȢ ĮȡȚșȝȩȢ: ȂȘ ĮȞĮįȡȠȝȚțȩȢ IJȪʌȠȢ: S(N)=1+2+3+...N ǹȞĮįȡȠȝȚțȩȢ IJȪʌȠȢ: ǹȞ ȃ=1, S(1)=1 īȚĮ ȃ>1, S(N)=N+S(N-1)


63

8. ȂȅȃǹǻǼȈ 8.1 īİȞȚțȐ DzȞĮ ʌȡȩȖȡĮȝȝĮ ʌȠȣ ȖȡȐijİIJĮȚ țĮȚ İțIJİȜİȓIJĮȚ ıIJȘȞ Pascal İȓȞĮȚ IJȠ ʌȚȠ ȕĮıȚțȩ įȠȝȚțȩ ıIJȠȚȤİȓȠ IJȠȣ țȫįȚțĮ. ȂȓĮ ȝȠȞȐįĮ (unit) İȓȞĮȚ ĮʌȜȐ ȝȓĮ ıȣȜȜȠȖȒ Įʌȩ ȣʌȠʌȡȠȖȡȐȝȝĮIJĮ, IJĮ ȠʌȠȓĮ ȝʌȠȡİȓ ȞĮ țĮȜȑıİȚ IJȠ ʌȡȩȖȡĮȝȝĮ ĮȞȐ ʌȐıĮ ıIJȚȖȝȒ. ĬĮ ʌȡȑʌİȚ ȩȝȦȢ Ș ȝȠȞȐįĮ ȞĮ ȑȤİȚ ȖȡĮijİȓ țĮȚ ȞĮ ȑȤİȚ ȝİIJĮijȡĮıIJİȓ ĮȞİȟȐȡIJȘIJĮ Įʌȩ IJȠ ʌȡȩȖȡĮȝȝĮ. ȉȠ ȝİIJĮijȡĮıȝȑȞȠ ĮȡȤİȓȠ ĮʌȠșȘțİȪİIJĮȚ ıIJȠ įȓıțȠ ȝİ ȩȞȠȝĮ ʌȠȣ ȑȤİȚ ʌȡȠȑțIJĮıȘ "TPU" (ȣʌİȞșȣȝȓȗİIJĮȚ ȩIJȚ IJĮ ĮȡȤİȓĮ ʌȘȖĮȓȠȣ țȫįȚțĮ IJȘȢ Pascal ȑȤȠȣȞ ʌȡȠȑțIJĮıȘ "PAS" țĮȚ IJĮ ȝİIJĮijȡĮıȝȑȞĮ-İțIJİȜȑıȚȝĮ ĮȡȤİȓĮ ʌȡȠȑțIJĮıȘ "EXE"). ȅȚ ȝȠȞȐįİȢ ȤȡȘıȚȝȠʌȠȚȠȪȞIJĮȚ ȖȚĮ ȞĮ įȘȝȚȠȣȡȖȘșȠȪȞ ȕȚȕȜȚȠșȒțİȢ įȚĮįȚțĮıȚȫȞ țĮȚ ıȣȞĮȡIJȒıİȦȞ ȫıIJİ ĮȣIJȑȢ ȞĮ ȝʌȠȡȠȪȞ ȞĮ ȤȡȘıȚȝȠʌȠȚȘșȠȪȞ Įʌȩ ȠʌȠȚȠįȒʌȠIJİ ʌȡȩȖȡĮȝȝĮ IJȘȢ Pascal. DzȞĮ ʌȡȩȖȡĮȝȝĮ ȝʌȠȡİȓ ȞĮ țȐȞİȚ ȤȡȒıȘ IJȦȞ ȣʌȠʌȡȠȖȡĮȝȝȐIJȦȞ ʌȠȣ ʌİȡȚȑȤȠȞIJĮȚ ıİ ȝȓĮ Ȓ ʌİȡȚııȩIJİȡİȢ ȝȠȞȐįİȢ ȝİ IJȘȞ įȒȜȦıȘ: Uses ȩȞȠȝĮ_ȝȠȞȐįĮȢ, ȩȞȠȝĮ_ȝȠȞȐįĮȢ ... ;

Ș ȠʌȠȓĮ ȖȡȐijİIJĮȚ ȝİIJȐ IJȘȞ İʌȚțİijĮȜȓįĮ IJȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ, ȩʌȦȢ İȓįĮȝİ ıIJȘȞ § 2.3. Ǿ Turbo Pascal įȚĮșȑIJİȚ ĮȡțİIJȑȢ ȑIJȠȚȝİȢ ȝȠȞȐįİȢ ȠȚ ȠʌȠȓİȢ ʌİȡȚȑȤȠȣȞ įȚȐijȠȡİȢ įȚĮįȚțĮıȓİȢ țĮȚ ıȣȞĮȡIJȒıİȚȢ. ǹȣIJȑȢ ȠȚ ȝȠȞȐįİȢ ȕȡȓıțȠȞIJĮȚ İȞıȦȝĮIJȦȝȑȞİȢ ıIJȠ ĮȡȤİȓȠ TURBO.TPL țĮȚ ȠȚ ıʌȠȣįĮȚȩIJİȡİȢ Įʌȩ ĮȣIJȑȢ İȓȞĮȚ: x

Ǿ ȝȠȞȐįĮ SYSTEM. ǹȣIJȒ ʌİȡȚȑȤİȚ IJȚȢ ȕĮıȚțȑȢ įȚĮįȚțĮıȓİȢ țĮȚ ıȣȞĮȡIJȒıİȚȢ IJȘȢ Pascal țĮȚ įİȞ ȤȡİȚȐȗİIJĮȚ ȞĮ įȘȜȦșİȓ ıIJȠ ʌȡȩȖȡĮȝȝȐ ȝĮȢ. ȈIJȘȞ ʌȡĮȖȝĮIJȚțȩIJȘIJĮ ȠȚ "İȞIJȠȜȑȢ" Write, Read ț.Ȝ.ʌ. İȓȞĮȚ įȚĮįȚțĮıȓİȢ ʌȠȣ ȕȡȓıțȠȞIJĮȚ ȣȜȠʌȠȚȘȝȑȞİȢ ıIJȘȞ ȝȠȞȐįĮ SYSTEM.

x

Ǿ ȝȠȞȐįĮ CRT, ʌȠȣ ʌİȡȚȑȤİȚ ȣʌȠʌȡȠȖȡȐȝȝĮIJĮ ȤİȚȡȚıȝȠȪ IJȘȢ ȠșȩȞȘȢ.

x

Ǿ ȝȠȞȐįĮ PRINTER, ʌȠȣ ʌİȡȚȑȤİȚ ȣʌȠʌȡȠȖȡȐȝȝĮIJĮ ȤİȚȡȚıȝȠȪ IJȠȣ İțIJȣʌȦIJȒ.

x

Ǿ ȝȠȞȐįĮ DOS, ʌȠȣ ʌİȡȚȑȤİȚ ȣʌȠʌȡȠȖȡȐȝȝĮIJĮ ȖȚĮ ʌȡȩıȕĮıȘ ıİ ȩȜȠ IJȠ İȪȡȠȢ IJȠȣ ȜİȚIJȠȣȡȖȚțȠȪ ıȣıIJȒȝĮIJȠȢ.

x

Ǿ ȝȠȞȐįĮ GRAPH, ʌȠȣ ʌİȡȚȑȤİȚ ȣʌȠʌȡȠȖȡȐȝȝĮIJĮ ȖȚĮ ȤȡȒıȘ ȖȡĮijȚțȫȞ.

ȆĮȡĮțȐIJȦ șĮ įȠȪȝİ ʌȫȢ ȝʌȠȡȠȪȝİ ȞĮ įȘȝȚȠȣȡȖȒıȠȣȝİ IJȚȢ įȚțȑȢ ȝĮȢ ȝȠȞȐįİȢ.


64

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

8.2 ǻȘȝȚȠȣȡȖȓĮ ȂȠȞȐįĮȢ ȀȐșİ ȝȠȞȐįĮ ĮʌȠIJİȜİȓIJĮȚ Įʌȩ IJȑııİȡĮ ȝȑȡȘ: IJȠ ȩȞȠȝȐ IJȘȢ, IJȠ IJȝȒȝĮ įȚİʌĮijȒȢ (Ȓ įȚĮıȪȞįİıȘȢ) (interface), IJȠ IJȝȒȝĮ ȣȜȠʌȠȓȘıȘȢ (implementation) țĮȚ IJȠ IJȝȒȝĮ IJȚȝȫȞ İțțȓȞȘıȘȢ (initialization). ǹȞĮȜȣIJȚțȐ Ș įȠȝȒ ȝȚĮȢ ȝȠȞȐįĮȢ ijĮȓȞİIJĮȚ ʌĮȡĮțȐIJȦ: {ǵȞȠȝĮ ȝȠȞȐįĮȢ} Unit ǵȞȠȝĮ; {ȉȝȒȝĮ įȚİʌĮijȒȢ} {DZȜȜİȢ ȝȠȞȐįİȢ} {ȈIJĮșİȡȑȢ} {ȉȪʌȠȚ įİįȠȝȑȞȦȞ} {ȂİIJĮȕȜȘIJȑȢ} {ǻȚĮįȚțĮıȓİȢ} {ȈȣȞĮȡIJȒıİȚȢ}

Interface Uses ... Const ... Type ... Var ... Procedure Function

{ȉȝȒȝĮ ȣȜȠʌȠȓȘıȘȢ} {ȈIJĮșİȡȑȢ} {ȉȪʌȠȚ įİįȠȝȑȞȦȞ} {ȂİIJĮȕȜȘIJȑȢ} {ǻȚĮįȚțĮıȓİȢ} {ȈȣȞĮȡIJȒıİȚȢ}

Implementation Const ... ; Type ... ; Var ... ; Procedure ... ; Function ... ;

{ȉȝȒȝĮ IJȚȝȫȞ İțțȓȞȘıȘȢ}

Begin ǼȞIJȠȜȑȢ ... End.

; ; ; ; ... ; ... ;

ȉȠ ȩȞȠȝĮ IJȘȢ ȝȠȞȐįĮȢ ʌȠȣ țĮșȠȡȓȗİIJĮȚ ıIJȘȞ İʌȚțİijĮȜȓįĮ (Ș ȠʌȠȓĮ ĮȡȤȓȗİȚ ȝİ IJȘȞ ȜȑȟȘ Unit, ʌȡȑʌİȚ ȞĮ ȣʌĮțȠȪİȚ ıIJȠȣȢ țĮȞȩȞİȢ IJȘȢ § 2.2. ȈIJȠ IJȝȒȝĮ Interface ȝʌȠȡȠȪȝİ (ĮȞ ȤȡİȚȐȗİIJĮȚ) ȞĮ įȘȜȫıȠȣȝİ ȐȜȜİȢ ȝȠȞȐįİȢ ȠȚ ȠʌȠȓİȢ ȤȡȘıȚȝȠʌȠȚȠȪȞIJĮȚ Įʌȩ IJȘȞ ȝȠȞȐįĮ ʌȠȣ țĮIJĮıțİȣȐȗȠȣȝİ. ǼʌȓıȘȢ ȝʌȠȡȠȪȝİ ȞĮ įȘȜȫıȠȣȝİ IJȪʌȠȣȢ įİįȠȝȑȞȦȞ, ıIJĮșİȡȑȢ, ȝİIJĮȕȜȘIJȑȢ țĮȚ ȣʌȠʌȡȠȖȡȐȝȝĮIJĮ. ȅȚ įȘȜȫıİȚȢ ʌȠȣ ʌİȡȚȑȤȠȞIJĮȚ ıIJȠ IJȝȒȝĮ ĮȣIJȩ ȜȑȖȠȞIJĮȚ įȘȝȩıȚİȢ Ȓ ȠȡĮIJȑȢ İʌİȚįȒ ȝʌȠȡȠȪȞ ȞĮ ȤȡȘıȚȝȠʌȠȚȘșȠȪȞ Įʌȩ ȐȜȜĮ ʌȡȠȖȡȐȝȝĮIJĮ ʌȠȣ țȐȞȠȣȞ ȤȡȒıȘ IJȘȢ ȝȠȞȐįĮȢ ĮȣIJȒȢ. ȉȠ IJȝȒȝĮ Interface İȓȞĮȚ ȩȝȠȚȠ ȝİ IJȠ IJȝȒȝĮ įȘȜȫıİȦȞ İȞȩȢ ʌȡȠȖȡȐȝȝĮIJȠȢ ȝİ IJȘȞ įȚĮijȠȡȐ ȩIJȚ ıIJȘȞ ʌİȡȓʌIJȦıȘ IJȦȞ įȚĮįȚțĮıȚȫȞ țĮȚ ıȣȞĮȡIJȒıİȦȞ ȖȡȐijİIJĮȚ ȝȩȞȠ Ș İʌȚțİijĮȜȓįĮ IJȠȣȢ, IJĮ ȣʌȠʌȡȠȖȡȐȝȝĮIJĮ ĮȣIJȐ țĮșĮȣIJȐ ȣȜȠʌȠȚȠȪȞIJĮȚ ʌȜȒȡȦȢ ıIJȠ IJȝȒȝĮ Implementation. ȈIJȠ IJȝȒȝĮ Implementation, ȝʌȠȡȠȪȝİ (ĮȞ ȤȡİȚȐȗİIJĮȚ) ȞĮ įȘȜȫıȠȣȝİ IJȪʌȠȣȢ įİįȠȝȑȞȦȞ, ıIJĮșİȡȑȢ țĮȚ ȝİIJĮȕȜȘIJȑȢ. ȅȚ įȘȜȫıİȚȢ ʌȠȣ ʌİȡȚȑȤȠȞIJĮȚ ıIJȠ IJȝȒȝĮ Interface İȓȞĮȚ ȠȡĮIJȑȢ ıIJȠ IJȝȒȝĮ Implementation, İȞȫ ȠȚ įȘȜȫıİȚȢ ʌȠȣ ʌİȡȚȑȤȠȞIJĮȚ ıIJȠ IJȝȒȝĮ Implementation įİȞ İȓȞĮȚ ȠȡĮIJȑȢ ȠȪIJİ ıIJȠ IJȝȒȝĮ Interface ȠȪIJİ ıIJȠ ʌȡȩȖȡĮȝȝĮ ʌȠȣ țȐȞİȚ ȤȡȒıȘ IJȘȢ ȝȠȞȐįĮȢ. ȉȑȜȠȢ, ıIJȠ IJȝȒȝĮ Implementation ȣȜȠʌȠȚȠȪȞIJĮȚ țĮȞȠȞȚțȐ IJĮ ȣʌȠʌȡȠȖȡȐȝȝĮIJĮ IJȦȞ ȠʌȠȓȦȞ ȠȚ İʌȚțİijĮȜȓįİȢ ĮȞĮijȑȡȠȞIJĮȚ ıIJȠ IJȝȒȝĮ Interface. ȉȑȜȠȢ ıIJȠ IJȝȒȝĮ IJȚȝȫȞ İțțȓȞȘıȘȢ ĮʌȠįȓįȠȞIJĮȚ ĮȡȤȚțȑȢ IJȚȝȑȢ (ĮȞ ȤȡİȚȐȗİIJĮȚ) ıIJȚȢ įȚȐijȠȡİȢ ȝİIJĮȕȜȘIJȑȢ IJȘȢ ȝȠȞȐįĮȢ ʌȠȣ ȑȤȠȣȞ įȘȜȦșİȓ ıIJȠ IJȝȒȝĮ Interface Ȓ Implementation.


ȂȠȞȐįİȢ

65

ǹijȠȪ ȖȡĮijİȓ ȝȓĮ ȝȠȞȐįĮ ʌȡȑʌİȚ ȞĮ ĮʌȠșȘțİȣIJİȓ ıİ ĮȡȤİȓȠ ȝİ ȩȞȠȝĮ ȓįȚȠ ȝİ IJȠ ȩȞȠȝĮ IJȘȢ ȝȠȞȐįĮȢ ȩʌȦȢ ĮȣIJȩ įȘȜȫșȘțİ ıIJȘȞ İʌȚțİijĮȜȓįĮ IJȘȢ. ȈIJȘȞ ıȣȞȑȤİȚĮ Ș ȝȠȞȐįĮ ʌȡȑʌİȚ ȞĮ ȝİIJĮijȡĮıIJİȓ ıIJȠȞ įȓıțȠ. ǻȘȜĮįȒ ʌȡȑʌİȚ Ș İʌȚȜȠȖȒ Destination IJȠȣ ȝİȞȠȪ Compile ȞĮ İȓȞĮȚ Disk. ȉȩIJİ įȘȝȚȠȣȡȖİȓIJĮȚ ıIJȠ įȓıțȠ ȑȞĮ ĮȡȤİȓȠ ȝİ ʌȡȠȑțIJĮıȘ "TPU" (Turbo Pascal Unit). ȈIJȘ ıȣȞȑȤİȚĮ ȝʌȠȡȠȪȝİ ȞĮ țȐȞȠȣȝİ ȤȡȒıȘ IJȘȢ ȝȠȞȐįĮȢ ıİ ȠʌȠȚȠįȒʌȠIJİ ʌȡȩȖȡĮȝȝĮ IJȘȢ Pascal, ȤȡȘıȚȝȠʌȠȚȫȞIJĮȢ IJȘȞ įȒȜȦıȘ Uses, ȩʌȦȢ İȓįĮȝİ ʌĮȡĮʌȐȞȦ.

ȆĮȡȐįİȚȖȝĮ: Ǿ ʌĮȡĮțȐIJȦ ȝȠȞȐįĮ ʌİȡȚȑȤİȚ ȝȚĮ įȚĮįȚțĮıȓĮ țĮȚ ȝȚĮ ıȣȞȐȡIJȘıȘ. Ǿ įȚĮįȚțĮıȓĮ Swap İȞĮȜȜȐııİȚ IJȚȢ IJȚȝȑȢ įȪȠ ĮțİȡĮȓȦȞ ȝİIJĮȕȜȘIJȫȞ țĮȚ Ș ıȣȞȐȡIJȘıȘ Maximum ȕȡȓıțİȚ IJȘ ȝİȖĮȜȪIJİȡȘ IJȚȝȒ ĮȣIJȫȞ: Unit Demo; Interface {ȉȝȒȝĮ įȚİʌĮijȒȢ} Procedure Swap (Var I,J: Integer); Function Maximum (I,J: Integer): Integer; {******************************************************} Implementation {ȉȝȒȝĮ ȣȜȠʌȠȓȘıȘȢ} Procedure Swap; Var Temp: Integer; Begin Temp:= I; I:=J; J:= Temp End; {Swap} Function Maximum; Begin If I>J then Maximum:=I else Maximum:=J End; {Maximum} {******************************************************} {ȉȠ 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ȘȞ ȝİȖĮȜȪIJİȡȘ IJȚȝȒ: Program Test; Uses Demo; Var X,Y,M:Integer;

ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ


66

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

Begin Write('ǻȫıİ įȪȠ ĮțİȡĮȓȠȣȢ: '); Readln(X,Y); Writeln('ȋ=',X,' Ȋ=', Y); Swap(X,Y); Writeln('ȂİIJȐ IJȘȞ İȞĮȜȜĮȖȒ ȋ=',X,' Ȋ=', Y); M:=Maximum(X,Y); Writeln('Ǿ ȝİȖĮȜȪIJİȡȘ IJȚȝȒ İȓȞĮȚ: ',M); End.

8.3 ǹıțȒıİȚȢ 1.

ȃĮ țĮIJĮıțİȣĮıIJİȓ ȝȓĮ ȝȠȞȐįĮ ȝİ ȩȞȠȝĮ Operation, Ș ȠʌȠȓĮ ȞĮ ʌİȡȚȜĮȝȕȐȞİȚ IJȑııİȡȚȢ ıȣȞĮȡIJȒıİȚȢ ʌȠȣ ȞĮ ȣȜȠʌȠȚȠȪȞ IJȚȢ IJȑııİȡȚȢ ȕĮıȚțȑȢ ĮȡȚșȝȘIJȚțȑȢ ʌȡȐȟİȚȢ (ʌȡȩıșİıȘ, ĮijĮȓȡİıȘ, ʌȠȜȜĮʌȜĮıȚĮıȝȩ țĮȚ įȚĮȓȡİıȘ) ȖȚĮ įȪȠ ʌȡĮȖȝĮIJȚțȠȪȢ ĮȡȚșȝȠȪȢ.

2.

ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮȝȝĮ ʌȠȣ ȞĮ įȚĮȕȐȗİȚ įȪȠ ʌȡĮȖȝĮIJȚțȠȪȢ ĮȡȚșȝȠȪȢ. ȈIJȘ ıȣȞȑȤİȚĮ ȞĮ İȝijĮȞȓȗİȚ ȑȞĮ ȝİȞȠȪ ıĮȢ IJȠ ʌĮȡĮțȐIJȦ: ȊȆȅȁȅīǿȈȉǾȈ ǺǹȈǿȀȍȃ ȆȇǹȄǼȍȃ 1 ȆȡȩıșİıȘ 2 ǹijĮȓȡİıȘ 3 ȆȠȜȜĮʌȜĮıȚĮıȝȩȢ 4 ǻȚĮȓȡİıȘ 5 ǼȟȠįȠȢ ǼʌȚȜȠȖȒ: _ ȈIJȘ ıȣȞȑȤİȚĮ țȐȞȠȞIJĮȢ ȤȡȒıȘ IJȦȞ ıȣȞĮȡIJȒıİȦȞ IJȘȢ ȝȠȞȐįĮȢ Operation ʌȠȣ țĮIJĮıțİȣȐıIJȘțİ ıIJȘȞ ʌȡȠȘȖȠȪȝİȞȘ ȐıțȘıȘ, ȞĮ İȝijĮȞȓȗİȚ IJȠ ĮʌȠIJȑȜİıȝĮ IJȘȢ İʌȚȜİȖȝȑȞȘȢ ʌȡȐȟȘȢ. Ǿ ʌĮȡĮʌȐȞȦ įȚĮįȚțĮıȓĮ ȞĮ İʌĮȞĮȜĮȝȕȐȞİIJĮȚ ȑȦȢ ȩIJȠȣ Ƞ ȤȡȒıIJȘȢ įȫıİȚ IJȘȞ İʌȚȜȠȖȒ 5.


67

9. ȅȇǿǽȅȂǼȃȅǿ ȉȊȆȅǿ ǻǼǻȅȂǼȃȍȃ 9.1 Ǿ ǻȒȜȦıȘ Type ȈIJȘȞ § 2.4 İȓįĮȝİ IJȠȣȢ ĮʌȜȠȪȢ IJȪʌȠȣȢ įİįȠȝȑȞȦȞ IJȘȢ Pascal. ȈIJĮ ʌȡȠȖȡȐȝȝĮIJȐ ȝĮȢ ȑȦȢ IJȫȡĮ ȤȡȘıȚȝȠʌȠȚȒıĮȝİ ȝİIJĮȕȜȘIJȑȢ ĮȣIJȫȞ IJȦȞ IJȪʌȦȞ (Integer, Real, Char țĮȚ Boolean). ȍıIJȩıȠ, ȖȚĮ IJȘȞ țĮȜȪIJİȡȘ țĮIJȐıIJȡȦıȘ țĮȚ țĮIJĮȞȩȘıȘ IJȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ, Ș Pascal ȝĮȢ İʌȚIJȡȑʌİȚ ȞĮ ȠȡȓıȠȣȝİ įȚțȠȪȢ ȝĮȢ IJȪʌȠȣȢ įİįȠȝȑȞȦȞ. ǹȣIJȩ ȖȓȞİIJĮȚ ıIJȠ IJȝȒȝĮ įȘȜȫıİȦȞ IJȪʌȦȞ IJȠȣ ʌȡȠȖȡȐȝȝĮIJȠȢ, ʌȠȣ ȟİțȚȞȐ ȝİ IJȘȞ įİıȝİȣȝȑȞȘ ȜȑȟȘ Type, ȦȢ İȟȒȢ: Type ȩȞȠȝĮ_IJȪʌȠȣ1 = IJȪʌȠȢ1; ȩȞȠȝĮ_IJȪʌȠȣ2 = IJȪʌȠȢ2; ..

..

..

..

ȩȞȠȝĮ_IJȪʌȠȣn = IJȪʌȠȢn;

ǹʌȩ IJȘ ıIJȚȖȝȒ ʌȠȣ ȑȤȠȣȝİ ȠȡȓıİȚ ȑȞĮ įȚțȩ ȝĮȢ IJȪʌȠ, ȝʌȠȡȠȪȝİ ȞĮ ȠȡȓıȠȣȝİ ıIJȠ ʌȡȩȖȡĮȝȝȐ ȝĮȢ ȝİIJĮȕȜȘIJȑȢ ĮȣIJȠȪ IJȠȣ IJȪʌȠȣ. DzȞĮ İȓįȠȢ ȠȡȚıȝȠȪ IJȪʌȦȞ İȓȞĮȚ IJȠ ʌĮȡĮțȐIJȦ: Type Akeraios = Integer; Pragmatikos = Real; Logikos = Boolean; ȈIJȘȞ ʌȡĮȖȝĮIJȚțȩIJȘIJĮ, įİȞ țȐȞĮȝİ IJȓʌȠIJİ ȐȜȜȠ Įʌȩ IJȠ ȞĮ ȝİIJȠȞȠȝȐıȠȣȝİ IJȪʌȠȣȢ ʌȠȣ İȓȞĮȚ ȒįȘ ȠȡȚıȝȑȞȠȚ. ȅȚ ȞȑȠȚ IJȪʌȠȚ, Akeraios, Pragmatikos țĮȚ Logikos, ȑȤȠȣȞ ȩȜİȢ IJȚȢ ȚįȚȩIJȘIJİȢ IJȦȞ ĮȡȤȚțȫȞ IJȪʌȦȞ. ȂİIJȐ IJȠȣȢ ʌĮȡĮʌȐȞȦ ȠȡȚıȝȠȪȢ ȝʌȠȡȠȪȝİ ȞĮ įȘȜȫıȠȣȝİ: Var I, IN : Akeraios; R : Pragmatikos; Sum, MAT : Pragmatikos; Exist : Logikos;

9.2 ǹʌĮȡȚșȝȘ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ȚȝȫȞ IJȠȣȢ. ȅȚ IJȪʌȠȚ ĮȣIJȠȓ ȠȞȠȝȐȗȠȞIJĮȚ ĮʌĮȡȚșȝȘIJȠȓ (enumerated). ȅ ȠȡȚıȝȩȢ İȞȩȢ ĮʌĮȡȚșȝȘIJȠȪ IJȪʌȠȣ ȖȓȞİIJĮȚ ıIJȠ IJȝȒȝĮ įȘȜȫıİȦȞ IJȪʌȦȞ țĮȚ ȑȤİȚ IJȘȞ ĮțȩȜȠȣșȘ ȝȠȡijȒ:


68

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal ȩȞȠȝĮ_IJȪʌȠȣ = (ȜȓıIJĮ_IJȚȝȫȞ);

ȩʌȠȣ ȠȡȓȗİIJĮȚ IJȠ ȩȞȠȝĮ IJȠȣ IJȪʌȠȣ țĮȚ, ıIJȘ ȜȓıIJĮ IJȚȝȫȞ ĮȞĮȖȡȐijȠȞIJĮȚ ȩȜİȢ ȠȚ įȣȞĮIJȑȢ IJȚȝȑȢ IJȠȣ IJȪʌȠȣ ĮȣIJȠȪ. ȅȚ įȣȞĮIJȑȢ IJȚȝȑȢ ȝʌȠȡȠȪȞ ȞĮ İȓȞĮȚ ȑȦȢ 256. ǼȓȞĮȚ 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ȪʌȠȣ. DzIJıȚ, ȝʌȠȡȠȪȝİ ȞĮ ȤȡȘıȚȝȠʌȠȚȒıȠȣȝİ IJȚȢ ıȣȞĮȡIJȒıİȚȢ ȅrd, Pred, Succ, Inc țĮȚ Dec ʌȠȣ ȑȤȠȣȝİ ĮȞĮijȑȡİȚ ıIJȘȞ 3.3.4. ǻİȞ İȓȞĮȚ ȩȝȦȢ įȣȞĮIJȒ Ș İʌİȟİȡȖĮıȓĮ IJȦȞ IJȚȝȫȞ İȞȩȢ ĮʌĮȡȚșȝȘIJȠȪ IJȪʌȠȣ įȚȩIJȚ įİȞ ȣʌȐȡȤȠȣȞ țĮIJȐȜȜȘȜȠȚ IJİȜİıIJȑȢ. ǼʌȓıȘȢ įİȞ İȓȞĮȚ įȣȞĮIJȒ Ș ȤȡȒıȘ IJȦȞ įȚĮįȚțĮıȚȫȞ Read, Readln, Write, țĮȚ Writeln ȖȚĮ ȞĮ įȚĮȕȐıȠȣȝİ Ȓ ȞĮ İțIJȣʌȫıȠȣȝİ IJȚȝȑȢ İȞȩȢ ĮʌĮȡȚșȝȘIJȠȪ IJȪʌȠȣ įİįȠȝȑȞȦȞ. ȆĮȡȐįİȚȖȝĮ: DzıIJȦ ȩIJȚ ȑȤȠȣȝİ IJȚȢ ʌĮȡĮțȐIJȦ įȘȜȫıİȚȢ IJȪʌȦȞ: Type Day = (Monday,Tuesday,Wednesday,Thurstday,Friday,Saturday, Sunday); Fruit = (Apple,Orange,Lemon,Pineapple,Tomato); Operator = (Plus,Minus,Multiply,Divide); ȉȩIJİ ȝʌȠȡȠȪȝİ ȞĮ įȘȜȫıȠȣȝİ ȝİIJĮȕȜȘIJȑȢ ĮȣIJȫȞ IJȦȞ IJȪʌȦȞ: Var Ergasimh, Argia: Day; Frouto : Fruit; Telesths : Operator; ȈIJȠ ʌȡȩȖȡĮȝȝĮ ȝʌȠȡȠȪȝİ ȞĮ ȑȤȠȣȝİ İȞIJȠȜȑȢ IJȘȢ ȝȠȡijȒȢ: Ergasimh:=Monday; Frouto:=Orange; If Frouto=Orange Then Writeln('ǼȤȦ ȑȞĮ ʌȠȡIJȠțȐȜȚ'); ǹȜȜȐ ȩȤȚ IJȘȢ ȝȠȡijȒȢ: Ergasimh:=Plus; {Ǿ IJȚȝȒ Plus įİȞ ĮȞȒțİȚ ıIJȠȞ IJȪʌȠ Day} If Telesths=Orange... {Ǿ IJȚȝȒ Orange įİȞ İȓȞĮȚ IJȠȣ IJȪʌȠȣ Operator} ǼʌȓıȘȢ ȝʌȠȡȠȪȝİ ȞĮ ȤȡȘıȚȝȠʌȠȚȒıȠȣȝİ IJȚȢ IJȚȝȑȢ IJȦȞ IJȪʌȦȞ ȦȢ ȠȡȓıȝĮIJĮ ıIJȚȢ ıȣȞĮȡIJȒıİȚȢ Succ, Pred, Ord, Inc, Dec. Succ(Lemon) Pred(Multiply) Ord(Monday) Ord(Lemon) Succ(Pred(Friday)) ț.Ȝ.ʌ.

İȓȞĮȚ İȓȞĮȚ İȓȞĮȚ İȓȞĮȚ İȓȞĮȚ

Pineapple Divide 0 2 Friday

ǹțȩȝĮ ȠȚ ĮțȩȜȠȣșİȢ İțijȡȐıİȚȢ İȓȞĮȚ ĮȜȘșİȓȢ: Monday<Friday Multiply<Divide Orange>Apple


ȅȡȚȗȩȝİȞȠȚ ȉȪʌȠȚ ǻİįȠȝȑȞȦȞ

69

ȆĮȡȐįİȚȖȝĮ: Program Regions; Type Region_Type=(North,South,East,West); Var Region: Region_Type; Begin For Region:=North To West Do Case Region Of North: Writeln('ǺȩȡİȚĮ ʌİȡȚȠȤȒ); South: Writeln('ȃȩIJȚĮ ʌİȡȚȠȤȒ); East : Writeln('ǹȞĮIJȠȜȚțȒ ʌİȡȚȠȤȒ); West : Writeln('ǻȣIJȚțȒ ʌİȡȚȠȤȒ') End End.

Ǿ Pascal, İıȦIJİȡȚțȐ, ĮʌȠșȘțİȪİȚ țȐșİ IJȚȝȒ IJȠȣ ĮʌĮȡȚșȝȘIJȠȪ IJȪʌȠȣ ıĮȞ ĮțȑȡĮȚȠ, ȟİțȚȞȫȞIJĮȢ Įʌȩ IJȠ ȝȘįȑȞ. DzIJıȚ, ıIJȠ ʌĮȡĮʌȐȞȦ ʌĮȡȐįİȚȖȝĮ, Ș North ĮʌȠșȘțİȪİIJĮȚ ȝİ IJȘȞ IJȚȝȒ 0, Ș South ȝİ IJȘȞ IJȚȝȒ 1 ț.Ȝ.ʌ. Ǿ ȝȠȞĮįȚțȒ ĮįȣȞĮȝȓĮ IJȘȢ ȤȡȒıȘȢ IJȠȣ IJȪʌȠȣ ĮȣIJȠȪ İȓȞĮȚ IJȠ ȖİȖȠȞȩȢ ȩIJȚ Ƞ ȝİIJĮȖȜȦIJIJȚıIJȒȢ įİȞ İʌȚIJȡȑʌİȚ IJȘȞ İȚıĮȖȦȖȒ Ȓ IJȘȞ İȟĮȖȦȖȒ ĮʌĮȡȚșȝȘIJȫȞ IJȪʌȦȞ. īȚĮ ʌĮȡȐįİȚȖȝĮ. İȐȞ țȐʌȠȚȠȢ șȑȜİȚ ȞĮ İʌȚȜȑȟİȚ IJȘȞ IJȚȝȒ North, įİȞ ȝʌȠȡİȓ ȞĮ IJȠ țȐȞİȚ ĮȣIJȩ ȝȑıȦ IJȘȢ İȞIJȠȜȒȢ Readln Ȓ Writeln.

9.3 ȉȪʌȠȚ ȊʌȠʌİȡȚȠȤȒȢ ȂȚĮ ȐȜȜȘ țĮIJȘȖȠȡȓĮ IJȪʌȦȞ ʌȠȣ ȠȡȓȗȠȞIJĮȚ Įʌȩ IJȠ ȤȡȒıIJȘ İȓȞĮȚ ȠȚ IJȪʌȠȚ ȣʌȠʌİȡȚȠȤȒȢ. ǵʌȦȢ ijĮȞİȡȫȞİȚ țĮȚ IJȠ ȩȞȠȝȐ IJȠȣȢ, ȠȚ IJȪʌȠȚ ȣʌȠʌİȡȚȠȤȒȢ İȓȞĮȚ ȣʌȠıȪȞȠȜĮ IJĮțIJȚțȫȞ IJȪʌȦȞ. ȅ IJĮțIJȚțȩȢ IJȪʌȠȢ, ʌȐȞȦ ıIJȠȞ ȠʌȠȓȠȞ ȠȡȓȗİIJĮȚ ȑȞĮȢ IJȪʌȠȢ ȣʌȠʌİȡȚȠȤȒȢ, ȜȑȖİIJĮȚ IJȪʌȠȢ ȣʌȠįȠȤȒȢ (host 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ȚțȑȢ. ǼʌȓıȘȢ șĮ ʌȡȑʌİȚ ȞĮ ȚıȤȪİȚ: Ord(İȜȐȤȚıIJȘ IJȚȝȒ)<Ord(ȝȑȖȚıIJȘ IJȚȝȒ). ǹȢ ıȘȝİȚȦșİȓ ȩIJȚ ȠȚ įȪȠ IJİȜİȓİȢ ʌȠȣ ʌĮȡİȝȕȐȜȜȠȞIJĮȚ ȝİIJĮȟȪ IJȘȢ İȜȐȤȚıIJȘȢ țĮȚ ȝȑȖȚıIJȘȢ IJȚȝȒȢ, ıȘȝĮȓȞȠȣȞ "Įʌȩ-ȝȑȤȡȚ țĮȚ ıȣȝʌİȡȚȜĮȝȕĮȞȠȝȑȞȦȞ". Ȉİ ȩ,IJȚ ĮijȠȡȐ IJȘȞ İʌİȟİȡȖĮıȓĮ ȝİIJĮȕȜȘIJȫȞ IJȪʌȠȣ ȣʌȠʌİȡȚȠȤȒȢ ȚıȤȪȠȣȞ ȠȚ ȓįȚȠȚ țĮȞȩȞİȢ ȝİ İțİȓȞȠȣȢ IJȠȣ IJȪʌȠȣ IJȘȢ ȠȜȩțȜȘȡȘȢ ʌİȡȚȠȤȒȢ. ȆĮȡȐįİȚȖȝĮ: Type Day = (Monday,Tuesday,Wednesday,Thurstday,Friday,Saturday, Sunday); HolyDay = Saturday..Sunday; {ȣʌȠʌİȡȚȠȤȒ IJȠȣ Day }

ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ


70

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

WorkingDay = Monday..Friday; Hours = 0..24; Letters = 'A'..'Z'; Var Ergasimh : WorkingDay; Argia : HolyDay; OresHmeras : Hours; ArxikaOnomatos: Letters;

{ -"} {ȣʌȠʌİȡȚȠȤȒ IJȠȣ Integer} {ȣʌȠʌİȡȚȠȤȒ IJȠȣ Char }

ȈIJȠ ʌĮȡĮʌȐȞȦ ʌĮȡȐįİȚȖȝĮ, ȝȚĮ ȝİIJĮȕȜȘIJȒ IJȪʌȠȣ Day ȝʌȠȡİȓ ȞĮ ʌĮȡȚıIJȐȞİȚ ȝȚĮ ȠʌȠȚĮįȒʌȠIJİ ȘȝȑȡĮ IJȘȢ İȕįȠȝȐįĮȢ, ĮȜȜȐ Ș Ergasimh ʌĮȡȚıIJȐȞİȚ ȝȩȞȠ IJȚȢ ȘȝȑȡİȢ Įʌȩ Monday ȑȦȢ țĮȚ Friday. ȅȝȠȓȦȢ țĮȚ ȠȚ OresHmeras ȜĮȝȕȐȞİȚ ĮțȑȡĮȚİȢ IJȚȝȑȢ ıIJȠ įȚȐıIJȘȝĮ 0 ȑȦȢ țĮȚ 24 țĮȚ ĮȞ ʌȡȠıʌĮșȒıȠȣȝİ ȞĮ țĮIJĮȤȦȡȒıȠȣȝİ ıIJȘ ȝİIJĮȕȜȘIJȒ ĮȣIJȒ ȝȓĮ IJȚȝȒ ȑȟȦ Įʌȩ ĮȣIJȩ IJȠ įȚȐıIJȘȝĮ șĮ ʌȡȠȟİȞȘșİȓ ıijȐȜȝĮ.

9.4 ȈȪȞȠȜĮ ǹʌȩ IJĮ ȝĮșȘȝĮIJȚțȐ ȖȞȦȡȓȗȠȣȝİ ȩIJȚ ıȪȞȠȜȠ (set) İȓȞĮȚ ȝȚĮ ıȣȜȜȠȖȒ, ȠȝȐįĮ Ȓ țȜȐıȘ ĮȞIJȚțİȚȝȑȞȦȞ. ȆİȡȚȠȡȚıȝȩȢ ȖȚĮ IJĮ ıȪȞȠȜĮ İȓȞĮȚ ȩIJȚ IJĮ ĮȞIJȚțİȓȝİȞĮ ʌȠȣ ĮʌĮȡIJȓȗȠȣȞ IJȠ ıȪȞȠȜȠ ʌȡȑʌİȚ ȞĮ ĮȞȒțȠȣȞ ıIJȠȞ ȓįȚȠ IJĮțIJȚțȩ IJȪʌȠ, ʌȠȣ ȠȞȠȝȐȗİIJĮȚ IJȪʌȠȢ ȕȐıȘȢ (base type) IJȠȣ ıȣȞȩȜȠȣ. ȅ ȠȡȚıȝȩȢ İȞȩȢ IJȪʌȠȣ ıȣȞȩȜȠȣ ȖȓȞİIJĮȚ ıIJȠ IJȝȒȝĮ įȘȜȫıİȦȞ IJȪʌȦȞ țĮȚ ȑȤİȚ IJȘȞ ĮțȩȜȠȣșȘ ȝȠȡijȒ: ȩȞȠȝĮ_IJȪʌȠȣ = Set Of IJȪʌȠȢ_ıIJȠȚȤİȓȦȞ;

ȩʌȠȣ Set țĮȚ Of İȓȞĮȚ įİıȝİȣȝȑȞİȢ ȜȑȟİȚȢ țĮȚ IJȪʌȠȢ ıIJȠȚȤİȓȦȞ İȓȞĮȚ Ƞ IJȪʌȠȢ ȕȐıȘȢ IJȦȞ ıIJȠȚȤİȓȦȞ IJȠȣ ıȣȞȩȜȠȣ. ȂȓĮ ȝİIJĮȕȜȘIJȒ ʌȠȣ įȘȜȫȞİIJĮȚ ȩIJȚ İȓȞĮȚ IJȪʌȠȣ ıȣȞȩȜȠȣ İȓȞĮȚ ȑȞĮ ıȪȞȠȜȠ IJȠȣ ȠʌȠȓȠȣ IJĮ ıIJȠȚȤİȓĮ (ȝȑȜȘ) įȚĮȜȑȖȠȞIJĮȚ Įʌȩ IJȚȢ IJȚȝȑȢ IJȠȣ IJȪʌȠȣ ıIJȠȚȤİȓȦȞ. Ǿ Turbo Pascal ʌİȡȚȠȡȓȗİȚ IJȠ ȝȑȖȚıIJȠ ĮȡȚșȝȩ IJȦȞ ȝİȜȫȞ İȞȩȢ ıȣȞȩȜȠȣ ıİ 256. ȍıIJȩıȠ ʌȠȜȪ ʌȚȠ ʌİȡȚȠȡȚıIJȚțȩ İȓȞĮȚ IJȠ ȖİȖȠȞȩȢ ȩIJȚ IJĮ ıȪȞȠȜĮ ȝʌȠȡȠȪȞ ȞĮ ĮʌĮȡIJȓȗȠȞIJĮȚ ȝȩȞȠ Įʌȩ IJĮțIJȚțȠȪȢ IJȪʌȠȣȢ įİįȠȝȑȞȦȞ (ȩȤȚ Real). ȆĮȡȐįİȚȖȝĮ: Type Digit Codic Color ColorSet Var Number : Colors : Grade :

= = = =

Set Of 0..9; Set Of Char; (Red,Green,Blue); Set Of Color;

Digit; ColorSet; Codic;

ȈIJȠ ʌĮȡĮʌȐȞȦ ʌĮȡȐįİȚȖȝĮ ȝİȡȚțȑȢ ʌȚșĮȞȑȢ IJȚȝȑȢ IJȘȢ ȝİIJĮȕȜȘIJȒȢ Number İȓȞĮȚ ȠȚ: [1,5,3],

[6,0,10,7],

ȩʌȠȣ "[ ]" ıȣȝȕȠȜȓȗİȚ IJȠ țİȞȩ ıȪȞȠȜȠ.

[4],

[]


ȅȡȚȗȩȝİȞȠȚ ȉȪʌȠȚ ǻİįȠȝȑȞȦȞ

71

ȉȠ țİȞȩ ıȪȞȠȜȠ ʌİȡȚȑȤİ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Ȧ. ȆĮȡȐįİȚȖȝĮ: Type Day = (Monday,Tuesday,Wednesday,Thurstday,Friday,Saturday, Sunday); Days = Set Of Day; Var HolyDay, WorkingDay = Days; Begin HolyDay := [Saturday,Sunday]; WorkingDay := [Monday..Fridat];

ȊʌȐȡȤȠȣȞ 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ĮȚ ȠȚ ȖȞȦıIJȠȓ țĮȞȩȞİȢ ȚİȡĮȡȤȓĮȢ ȖȚĮ IJȠȣȢ IJİȜİıIJȑȢ +, -, *. ȆĮȡĮțȐIJȦ ıȣȞȠȥȓȗȠȞIJĮȚ ȠȚ IJİȜİıIJȑȢ IJȦȞ ʌȡȐȟİȦȞ İʌȓ IJȦȞ ıȣȞȩȜȦȞ:

ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ

ȉİȜİıIJȒȢ

ȆȡȐȟȘ

+

DzȞȦıȘ

-

ǻȚĮijȠȡȐ

*

ȉȠȝȒ


72

īȜȫııĮ ȆȡȠȖȡĮȝȝĮIJȚıȝȠȪ Pascal

ȆĮȡȐįİȚȖȝĮ: ȆǹȇǹȈȉǹȈǾ

ȉǿȂǾ

[1..15]+[11..100]

[1..100]

['ǹ','Ǻ','C']+['B','C','D','E']

['A','B','C','D','E']

[1,2,3,5,8,9]-[8,9]

[1,2,3,5]

[1..5]*[1,4,6]

[1,4]

[1,2,3]*[1,4]+[3,4,5]

[1,3,4,5]

ȉĮ ıȪȞȠȜĮ ȝʌȠȡȠȪȞ ȞĮ ıȣȖțȡȚșȠȪȞ ȝİIJĮȟȪ IJȠȣȢ ȝİ IJȘ ȤȡȒıȘ IJȦȞ IJİȜİıIJȫȞ ıȣıȤȑIJȚıȘȢ, ȩʌȦȢ ijĮȓȞİIJĮȚ ıIJȠȞ ʌĮȡĮțȐIJȦ ʌȓȞĮțĮ: ȉİȜİıIJȒȢ

ȈȘȝĮıȓĮ

=

ǿıȩIJȘIJĮ

<>

ǹȞȚıȩIJȘIJĮ

<=

ȊʌȠıȪȞȠȜȠ

<

īȞȒıȚȠ ȣʌȠıȪȞȠȜȠ

>=

ȊʌİȡıȪȞȠȜȠ

>

īȞȒıȚȠ ȣʌİȡıȪȞȠȜȠ

ǿȃ

ȂȑȜȠȢ (ĮȞȒțİȚ)

ȆĮȡȐįİȚȖȝĮ: ȆǹȇǹȈȉǹȈǾ

ȉǿȂǾ

[1,4]=[4,1]

True

[1,4]<>[7,8]

True

[1,2,3,5]<=[3,9]

False

[]<[1,4,6]

True

[1,2,3]<[1,4,3,2,5]

True

1 IN [1,4,6]

True

'D' IN['A','Z','L']

False

9.5 ǹıțȒıİȚȢ 1.

ȃĮ įȫıİIJİ IJĮ ĮʌȠIJİȜȑıȝĮIJĮ IJȠȣ ʌĮȡĮțȐIJȦ ʌȡȠȖȡȐȝȝĮIJȠȢ: Program Enums; Type Vathmologia = (Arista,Lian_kalws,Kalws,Metria); Meres = (Deftera,Triti,Teterti,Pempti,Paraskevi,Savvato,Kyriaki); Mines = (Ian,Feb,Mar,Apr,Mai,Ioun,Ioul,Aug,Sep,Okt,Noe,Dek); Epoxes = (Anixi,Kalokairi,Fthinopwro,Xeimwnas); Var Va1,Va2 : Vathmologia;


ȅȡȚȗȩȝİȞȠȚ ȉȪʌȠȚ ǻİįȠȝȑȞȦȞ

73

Simera,Ayrio,Methayrio : Meres; M1,M2,Diakopes : Mines; Ep1,Ep2 : Epoxes; Begin Va1 := Arista; Va2 := Succ(Va1) ; If Va2 = Lian_kalws Then Writeln('ȅȡșȒ ȕĮșȝȠȜȠȖȓĮ'); Simera := Triti; Ayrio := Succ(Simera) ; Methayrio := Succ(Succ(Simera)) ; If Methayrio = Pempti Then Writeln('ȅȡșȒ ȝȑȡĮ'); Ayrio := Pred(Simera); If Ayrio = Deftera Then Writeln('ȅȡșȒ ʌȡȠȘȖȠȪȝİȞȘ ȝȑȡĮ'); M1 := Ioul; Diakopes := Succ(M1); M2 := Succ(Diakopes); If M2 = Sep Then Writeln('ȅȡșȩȢ ȝȒȞĮȢ'); Ep1 := Anixi; Ep2 := Fthinopwro; Case Ep1 Of Anixi : Writeln('ǹȞȠȚȟȘ'); Kalokairi : Writeln('ȀĮȜȠțĮȓȡȚ'); Fthinopwro : Writeln('ĭșȚȞȩʌȦȡȠ'); Xeimwnas : Writeln('ȋİȚȝȫȞĮȢ'); End; Case Ep2 Of Anixi : Writeln('ǹȞȠȚȟȘ'); Kalokairi : Writeln('ȀĮȜȠțĮȓȡȚ'); Fthinopwro : Writeln('ĭșȚȞȩʌȦȡȠ'); Xeimwnas : Writeln('ȋİȚȝȫȞĮȢ'); End; End.

2.

īȡȐȥIJİ ʌȡȩȖȡĮȝȝĮ ıIJȠ ȠʌȠȓȠ ȞĮ ȠȡȓȗȠȞIJĮȚ ȠȚ ʌĮȡĮțȐIJȦ IJȪʌȠȚ: Spring = (Mar,Apr,May); Summer = (Jun,Jul,Aug); Autumn = (Sep,Okt,Nov); Winter = (Dec,Jan,Feb); Season = (Spr,Sum,Aut,Win); ȈIJȘ ıȣȞȑȤİȚĮ ȖȡȐȥIJİ ʌȡȩȖȡĮȝȝĮ IJȠ ȠʌȠȓȠ ȞĮ įȚĮȕȐȗİȚ ȑȞĮȞ ĮțȑȡĮȚȠ ĮȡȚșȝȩ Įʌȩ IJȠ 1 ȑȦȢ IJȠ 12 țĮȚ ȞĮ İțIJȣʌȫȞİȚ IJȘȞ İʌȠȤȒ ıIJȘȞ ȠʌȠȓĮ ĮȞȒțİȚ Ƞ ȝȒȞĮȢ ʌȠȣ ĮȞIJȚıIJȠȚȤİȓ Ƞ ĮȡȚșȝȩȢ ĮȣIJȩȢ. ǹȣIJȒ Ș įȚĮįȚțĮıȓĮ ȞĮ İʌĮȞĮȜĮȝȕȐȞİIJĮȚ ȑȦȢ ȩIJȠȣ įȫıȠȣȝİ IJȠȞ ĮȡȚșȝȩ ȝȘįȑȞ.

3.

ȃĮ ȖȡĮijİȓ ʌȡȩȖȡĮȝȝĮ ʌȠȣ ȞĮ įȚĮȕȐȗİȚ ȑȞĮ țİijĮȜĮȓȠ ȖȡȐȝȝĮ IJȠȣ İȜȜȘȞȚțȠȪ ĮȜijĮȕȒIJȠȣ țĮȚ ȞĮ İȟİIJȐȗİȚ ĮȞ İȓȞĮȚ ijȦȞȒİȞ Ȓ ıȪȝijȦȞȠ. Ǿ ʌĮȡĮʌȐȞȦ įȚĮįȚțĮıȓĮ ȞĮ İʌĮȞĮȜĮȝȕȐȞİIJĮȚ ȑȦȢ ȩIJȠȣ įȫıȠȣȝİ IJȠȞ ȤĮȡĮțIJȒȡĮ ‘W’.

ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ


Turn static files into dynamic content formats.

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