Вучням 7 класа

Асноўныя паняцці мовы Pascal

Алгарытм - выразная паслядоўнасць дзеянняў, неабходная для рашэння задачы.
Праграма - алгарытм, запісаны на мове праграмавання.

Мова праграмавання ўяўляе сабой набор слоў, спецыяльных знакаў і каманд, зразумелых камп'ютару.

Структура праграмы


Program <імя праграмы>;
Uses crt;
<Раздзел апісанняў велічынь>;
Begin
<Каманды (цела праграмы>;
End.

Важна памятаць:

• Імя праграмы можа змяшчаць да 255 лацінскіх літар, можа змяшчаць лічбы і знакі падкрэслівання. Імя праграмы не можа пачынацца з лічбы.
• Нельга называць праграму ключавымі словамі мовы Pascal (Begin, End, Write і іншымі).
• Каманды аддзяляюць адну ад аднай кропкай з коскай.
• Пры ўводзе тэксту праграмы не мае значэння якія літары вы выкарыстоўваеце: вялікія ці маленькія.
• У фігурных дужках можна запісваць каментарыі (тлумачальны тэкст, які палягчае разуменне праграмы і не ўплывае на яе выкананне). Выкарыстанне ў праграме каментарыяў неабавязкова.


Канстанты і зменныя

У праграмаванні зыходныя дадзеныя і рэзультаты называюць велічынямі. Велічыні, якія не змяняюцца падчас выканання праграмы, называюцца канстантамі.
У раздзеле апісанняў велічынь канстанты запісваюцца наступным чынам:

Const    <
Імя канстанты>=<значэнне>;
Напр
ыклад
,
Const  x=15;
          y=6.5;

Велічыні, якія змяняюцца падчас выканання праграмы, называюць зменнымі.
Калі зменная можа прымаць толькі цэлыя значэння, то яна мае тып integer, а калі значэннем зменнай могуць быць і дробавыя лікі, то яе тып - real.
Зменныя, якія выкарыстоўваюцца ў праграме, павінны быць апісаны ў раздзеле апісанняў, размешчаным пасля загалоўка праграмы. Раздзел апісання зменных пачынаецца словам Var. Затым запісваюцца імёны зменных і іх тып.

Var  <імя зменных>: <тып зменных>;
Напрыклад,
Var a, b:integer;
         c:real;

Імя зменнай (ідэнтыфікатар) можа складацца з:
а) лацінскіх літар;
б) лічбаў;
в) пачынацца з літары або знака падкрэслівання;
г) не павінен змяшчаць прабелаў;
в) не павінен супадаць з імем праграмы.
Прыклады імёнаў зменных: A; y; a1; summa; x2; MAX; time
; a_1; _asd.

Выканайце заданні.
1. Вызначце, якія імёны зменных зададзены правільнана, а якія - не. Перамясціце правільныя імёны зменных налева, а няпраўдзівыя - направа. Перайсці да задання1   Перайсці да задання2


Каманда  вываду

Write (англ. пісаць) - аператар, які выкарыстоўваецца для вываду інфармацыі на экран. Аператар WriteLn выконвае тое ж самае дзеянне, але так як у яго ёсць яшчэ канчатак Ln, то пасля вываду на экран патрэбнага паведамлення, ён пераводзіць курсор на наступны радок.
Агульны выгляд каманды:
   Write (спіс вываду);
   WriteLn (спіс вываду);

Спіс выводу- гэта адвольная паслядоўнасць тэкставых паведамленняў, велічынь, арыфметычных выразаў. Элементы ў спісе вываду аддзяляюцца коскай. Тэкст заключаецца ў апострафы.
Каманда Write(‘7 клас’);
Рэзультат выканання каманды 7 клас

Каманда Write(5+3);
Рэзультат выканання кманды 8

Каманда Write(‘Адлегласць =’, 60*5);
Рэзультат выканання каманды Адлегласць =300

Каманда Write(a);
Рэзультат выканання каманды Значэнне велічыні а (лік)
Каманды Write і WriteLn выкарыстоўваюцца не толькі для вываду рэзультата, але і для вываду розных паведамленняў або запытаў. Гэта дазваляе весці дыялог з карыстальнікам, паведамляць яму, калі яму трэба ўвесці значэнні, калі ён атрымлівае рэзультат, калі ён памыліўся і інш.


Каманда ўводу

Прыгадаем, што асноўнае прызначэнне камп'ютара - эканоміць чалавечы працу. Таму неабходна забяспечыць магчымасць, аднойчы напісаўшы праграму, шматразова яе выкарыстоўваць, уводзячы кожны раз іншыя дадзеныя. Гэта становіцца магчымым дзякуючы камандам (аператарам) Read і Readln.

Аператар Read чакае ўводу значэнняў з клавіятуры. Выбранае Вамі значэнне ён прысвайвае той зменнай, імя якой паказана ў дужках.

Агульны выгляд каманды:

Read (зменная, зменная ...)
Readln (зменная,
зменная ...)

Вельмі часта каманда ўводу выкарыстоўваецца разам з камандай вываду наступным чынам:
Write ('Увядзіце скорасць'); Readln (v);
або
Write ('Увядзіце два лікі'); Readln (a, b);

У камандзе вываду даецца тлумачальны тэкст, што трэба ўвесці, а ў камандзе ўводу паказваюцца імёны зменных.


Каманда прысвойвання

Задаць канкрэтныя значэнне велічыні можна пры дапамозе каманды прысвойвання, якая запісваецца так:

<імя зменнай>: = <выраз>

Знак «: =» чытаецца: «прысвоіць».

Напрыклад, запіс A: = B + 5 чытаецца так: «зменнай A прысвоіць значэнне выразу B плюс 5».

Знакі прысвойвання «: =» і роўнасці «=» - розныя знакі:
• знак «=» азначае роўнасць двух велічынь, запісаных па абодва бакі ад гэтага знака;
• знак «: =» прадпісвае выкананне аперацыі прысвойвання.

 Напрыклад, запіс A: = A + 1 выяўляе не роўнасць значэнняў A і A + 1, а ўказанне павялічыць значэнне зменнай A на адзінку.

 Пры выкананні каманды прысвойвання спачатку вылічаецца значэнне выразу, які стаіць справа ад знака “: =”, затым рэзультат прысвойваецца зменнай, якая стаіць злева ад знака ": =”. Пры гэтым тып выразу павінен быць сумяшчальны з тыпам адпаведнай зменнай.

Уласцівасці прысвойвання:

1. пакуль зменнай не прысвоена значэнне, яна застаецца нявызначанай;
2. значэнне, прысвоенае зменнай, захоўваецца ў ёй аж да выканання наступнага прысвойвання гэтай зменнай новага значэння;
3. калі мы прысвойваем некаторай зменнай чарговае значэнне, то папярэдняе яе значэнне губляецца безпаваротна.

Заданне 1. Запусціце праграму Pascal ABC. Набярыце і запусціце наступную праграму, якая запытвае значэнне зменнай а, вылічае а3 і выводзіць рэзультат на экран:

Program primer_1;
Uses crt;
Var а, b: integer;
Begin
writeln('Увядзіце значэнне а');
readln(a);
b:=a*a*a;
writeln(‘b=’,b);
End.
Перайсці да задання

Арыфметычныя выразы

Арыфметычны выраз - гэта сукупнасць канстант, зменных і функцый, аб'яднаны знакамі арыфметычных дзеянняў і круглымі дужкамі такім чынам, каб дадзены выраз меў матэматычны сэнс. У арыфметычным выразе выкарыстоўваюць наступныя аперацыі:

 №

 Функцыі

       Дзеянні

 

  1.

        +

складанне

(аперанды - любога тыпу)

  2.

         -

адніманне

(аперанды - любога тыпу) 

  3.

         *

множанне

(аперанды - любога тыпу) 

  4.

         /

дзяленне

(аперанды - любога тыпу)

  5.

      DIV

цэлалікавае дзяленне

(аперанды - цэлага тыпу)

  6.

     MOD

астатак  ад дзялення

(аперанды - цэлага тыпу)

Напрыклад, запішам па правілах Паскаля наступны матэматычны выраз:

На Паскалі гэта выглядае так: 

Для таго каб правільна запісваць арыфметычныя выразы, трэба выконваць наступныя правілы:
1. Усе сімвалы пішуцца ў радок на адным узроўні. Прастаўляюцца ўсе знакі аперацый (нельга прапускаць знак множання).
2. Не дапускаюцца два наступныя запар знака аперацый (нельга A + -B; можна А + (- B)).
3. Аперацыі з больш высокім прыярытэтам выконваюцца раней аперацый з меншым прыярытэтам.

Парадак змяншэння прыярытэтаў:
• вылічэнне функцыі;
• Унарная аперацыя змены знака (-);
• *, /, div, mod;
• +, -.
4. Некалькі запісаных запар аперацый аднолькавага прыярытэту выконваюцца паслядоўна злева направа.
5. Частка выразу, заключаная ў дужкі, вылічаецца ў першую чаргу.

Напрыклад, (A + B) * (C-D) - множанне праводзiцца пасля складання і аднімання.


Аперацыі DIV і MOD

Цэлалікавае дзяленне div (ад division, дзяленне) адрозніваецца ад звычайнай аперацыі дзялення тым, што вяртае цэлую частку дзелі, а дробавая частка адкідваецца - 13 div 3 = 4, а не 4, (3). Рэзультат div заўсёды роўны нулю, калі дзялімае менш дзельніка.

Напрыклад:
11 div 5 = 2
10 div 3 = 3
2 div 3 = 0
123 div 4 = 30
17 div -5 = -3
-17 div 5 = -3
-17 div -5 = 3


Знаходжанне астатку ад дзялення mod (ад modulus, мера) вылічае астатак, атрыманы пры выкананні цэлалікавага дзялення.

Напрыклад:
10 mod 5 = 0
11 mod 5 = 1
10 mod 3 = 1
14 mod 5 = 4
17 mod - 5 = 2
-17 mod 5 = -2
-17 mod -5 = -2


Аргументы аперацый div і mod - цэлыя лікі. Узаемасувязь паміж аперацыямі div і mod простая. Для а> 0 і b> 0 справядліва:

а mod b = a – (a div b)*b
(a div b)*b + (a mod b) = a


Звярніце ўвагу - аперацыю mod можна выкарыстоўваць, каб даведацца, ці кратна цэлае а цэламу b. А менавіта, а кратна b тады і толькі тады, калі а mod b = 0.

Перайсці да задання1

Перайсці да задання2

Перайсці да задання3


Тыпы выразаў

Тып канстанты вызначаецца выглядам самой канстанты.
Тып зменнай задаецца ў апісаннях.
Тып арыфметычнага выразы вызначаецца па наступным правілу:
1. Пры выкарыстанні аперацый складання, аднімання, множання:
           -калі хоць бы адзін аперанд мае тып Real, то вынік Real;
           -калі ўсе аперанды Integer, то вынік Integer
2. Пры выкарыстанні аперацыі дзялення вынік заўсёды мае тып Real.
3. Пры выкарыстанні аперацый DIV, MOD заўсёды прымяняюцца толькі цэлыя лікі.


Матэматычныя функцыі

Акрамя чатырох дзеянняў арыфметыкі, Паскаль можа выконваць і іншыя матэматычныя дзеянні, напрыклад ўзвядзенне ў квадрат, для чаго маецца спецыяльная функция - Sqr (скарачэнне ад англійскага слова square- "квадрат").
Няпоўны спіс матэматычных функцый Паскаля:

Дзеянне

Рэзультат

Сэнс

Sqr(5)

25

узвядзенне ў квадрат

Sqrt(25)

5

корань квадратны

Pi

3.1415..

лік пі

Frac(23.192)

0.192

дробавая частка ліку

Int(3.98)

3.0

цэлая частка ліку

Round(5.8)

6

акругленне

Abs(-20)

20

абсалютная велічыня (модуль) ліку

Random

0.73088

выпадковы лік з дыяпазону (0-1)

Random(200)

106

выпадковы цэлы лік з дыяпазону (0-199)

Перайсці да задання

Перайсці да задання1

Перайсці да задання2


Графічныя магчымасці мовы праграмавання PascalABC

У графічным рэжыме малюнак на экране манітора будуецца з пунктаў - пікселяў. Кожны піксель (пункт) мае дзве каардынаты: х і у. У якасці графічных каардынатаў выкарыстоўваюць парадкавыя нумары пунктаў.
Маляванне розных геаметрычных фігур ажыццяўляецца пры дапамозе спецыяльных стандартных працэдур (каманд).
Каманды для работы ў графічным рэжыме захоўваюцца ў бібліятэчным модулі GraphAbc, яго неабходна падключаць ў раздзеле апісанняў праграмы пры дапамозе зарэзерваванага слова Uses.
Каманда setpixel (x, y, c) малюе пункт з каардынатамі (х, у) колерам с.
Каманда setpencolor (color) устанаўлівае колер пяра, пры дапамозе якога малююцца геаметрычныя фігуры.
Каманда Line (x1, y1, x2, y2) малюе адрэзак ад пункта з каардынатамі (x1, y1) да пункта з каардынатамі (x2, y2).
Каманда Rectangle (x1, y1, x2, y2) малюе прамавугольнік, зададзены каардынатамі процілеглых вяршыняў (x1, y1) і (x2, y2).
Каманда Circle (x, y, r) малюе акружнасць з цэнтрам у пункце (x, y) і радыусам r.
Каманда setpenwidth (n) устанаўлівае шырыню лініі ў пікселях.
Каманда TextOut (x, y; 'тэкст') выводзіць тэкст s у пазіцыю (x, y) (пункт (х, y) задае верхні левы вугал прамавугольніка, які будзе змяшчаць тэкст з радка s).
Каманда FloodFill (x, y, color) залівае вобласць аднаго колера колерам color, пачынаючы з пункта (x, y).
Каманда FillRect (x1, y1, x2, y2) залівае прамавугольнік, зададзены каардынатамі процілеглых вяршыняў (х1, y1) і (x2, y2), колерам бягучага пэндзля.


Program dom;

Uses graphABC;
Begin
line(100,100,150,50);
line(150,50,200,100);
line(200,100,100,100);
floodfill(120,90,clgreen);
SetBrushcolor(clred);
rectangle(115,100,185,150);
SetBrushcolor(clblue);
circle(15
0,75,5);
SetBrushcolor(clgray);
rectangle(125,120,140,140);
SetBrushcolor(clred);
textOut(150,110,'Дом');
end.

Program snegovik;
uses graphABC;
begin
FloodFill(50, 80, clYellow);

ellipse(120, 350, 280, 480);
circle(200, 300, 60);
circle(200, 210, 40);
line(170, 120, 230, 120);  
line(160, 180, 240, 180);
line(170, 120, 160, 180);
line(230, 120, 240, 180);
floodfill(200, 173, clblack);
floodfill(200, 123, clblack);
setbrushcolor(clblack);
circle(190, 200, 5);
circle(210, 200, 5);
line(200, 210, 220, 220);
line(200, 220, 220, 220);
line(200, 210, 200, 220);
floodfill(204, 214, clblack);
setpenwidth(5);
line(210, 230, 190, 230);
line(70, 320, 170, 250);
line(230, 250, 330, 300);
line(327, 450, 327, 200);
circle(200, 265, 10);
circle(200, 300, 10);
circle(200, 338, 10);
circle(200, 390, 10);
circle(200, 428, 10);
circle(200, 460, 10);
end.





















Перайсці да задання
Comments