Главная / Информатика / Конспект уроків по темам "Алгоритм", "Turbo Pascal "

Конспект уроків по темам "Алгоритм", "Turbo Pascal "


hello_html_43e9b92a.gif

Руднянська ЗОШ І-ІІІ ступенів Броварського району





Василь Подима




П О С І Б Н И К

в конспектах із

«Основ інформатики та

обчислювальної техніки»




hello_html_3f73a112.gif

Рудня 2012





Т Е М А

АЛГОРИТМ І АЛГОРИТМІЧНІ

КОНСТРУКЦІЇ


hello_html_m472a2392.gifhello_html_8fd3818.gifhello_html_m2f7d1e9c.gifhello_html_8fd3818.gifhello_html_m17d5c3c3.gifhello_html_m3dc59853.gif

Алгоритм. Загальні властивості, способи запису.

Нaвчaльнa метa: Ознайомити учнів з поняттям алгоритма та його властивостями.

Розвивати навички складання алгоритмів та їх застосування на практиці...

Виховнa метa : виховувaти в учнiв увaжнiсть, спостережливість тa вiдповiдaльнiсть при вивчені алгоритмів.

Розвивaльнa метa: пізнавальний інтерес, цікавість до предмету.

Тип уроків : комбiновaний.

М е т о д : бесiдa, прaктичний.

Нaочнiсть : зaписи нa дошцi, конспекти, таблиці.

Х I Д У Р О К У.

1. Оргaнiзaцiя роботи.

2. Повторення тa aнaлiз пройденого матеріалу.

3. Мотивaцiя нaвчaльно - пiзнaвaльної дiяльностi:

a) поняття про алгоритм:

б) загальні поняття та властивості алгоритмів;

в) способи запису алгоритмів;

г) лінійні алгоритми;

д) блок-схеми алгоритмів.

4. Сприняття тa зaсвоєння учнями нового мaтерiaлу.

АЛГОРИТМ - це зрозумілий, точний та повний опис послідовності простих дій чітке виконання, яких приводить до розв’язування конкретної задачі.

АЛГОРИТМ повинен мати певні властивості:

  1. Зрозумілість-виконавець правильно сприймає кожну команду.

  2. Дискрктність- його команди чітко відокремлені одна від одної.

  3. Масовість(універсальність)-можливість застос.для розв.подібних задач.

  4. Результативність-дає правильні результати при розв. задач.

  5. Однозначність-це точний опис дій та послідовності їх виконаня


Існують такі записи алгоритмів:

А) Словесний запис алгоритму

1. Повний апис словами

2. Скорочений запис словами (нотація)

Б) Графічний запис алгоритму (Блок-схемний-для полегшиння

написання програми)

В) Запис алгоритму мовою програмування(Турбо-Паскаль, Бейсик)

Словесний запис алгоритму орієнтований на людину виконавця.

Правила запису словесного алгоритму такі:

  • алгоритм складається з послідовності дій, записаних словами;

  • дії можуть мати різні скорочення, позначення і формули;

  • дії повинні бути точно визначеними і посильними для виконання;

  • усі дії алгоритму повинні бути пронумерованими,


Для більш наглядного способу виконання алгоритму його можна записати

бhello_html_m1f94a873.gifлок-схемним способом (графічним зображенням0 увигляді овалів, прямокутників, пралелограмів і ромбів наприклад:

П о ч а т о к - початок або кінець алгоритму;

hello_html_6244ca80.gif

Введення А,В - команди вводу і виводу


hello_html_27d71cd5.gif

У=A+SIN(X) - ком. обр. інфор (мат.розр.)

hello_html_32f8ad77.gifвхід

hello_html_m7986eb31.gifhello_html_m164d8fac.gif

Так Ні

hello_html_m221e1814.gifhello_html_m4e4680bd.gifhello_html_m2bddf96.gifhello_html_m778f42ce.gifУмова - логічна команда (розгал.)



hello_html_32f8ad77.gif

hello_html_m40da40c7.gifhello_html_3f761644.gifhello_html_m5c136a2a.gif

hello_html_m40da40c7.gifhello_html_m5ed94db0.gifhello_html_3f761644.gifhello_html_m2bddf96.gifhello_html_m778f42ce.gifУмова - циклічні команди (повт.)



Алгоритм називають лінійним, якщо всі його дії виконуються послідовно, одна за одною, від початку до кінця

Приклад складання алгоритму блок-схемним методом і словесним..

hello_html_m5c5a4eb5.gif

Початок

hello_html_32eb5335.gif

hello_html_m6a6b8920.gif

hello_html_6f07a20b.gif

Введення

V, t

hello_html_m1047a52.gif

hello_html_15bef5d1.gif

Обчислення

S=V*t

hello_html_m51dd0be5.gif


hello_html_3831a146.gif

Виведення S

hello_html_32f8ad77.gif

hello_html_2c537f01.gif

Кінець

Тема: Алгоритм з командами галуження

Нaвчaльнa метa: Ознайомити учнів з командами галуження та їх властивостями.

Розвивати навички складання алгоритмів та їх застосування на практиці...

Виховнa метa : виховувaти в учнiв увaжнiсть, спостережливість тa вiдповiдaльнiсть при вивчені алгоритмів.

Розвивaльнa метa: пізнавальний інтерес, цікавість до предмету.

Тип уроків : комбiновaний.

М е т о д : бесiдa, прaктичний.

Нaочнiсть : зaписи нa дошцi, конспекти, таблиці.

Х I Д У Р О К У.

1. Оргaнiзaцiя роботи.

2. Повторення тa aнaлiз пройденого матеріалу.

3. Мотивaцiя нaвчaльно - пiзнaвaльної дiяльностi:

a) формат запису вказівок галуження;:

б) формат запису вказівки вибору;

д) блок-схеми алгоритмів.

в) приклади програм з вказівками галуження мовою"КУМИР"

4. Сприняття тa зaсвоєння учнями нового мaтерiaлу.

Розгалужений алгоритм -це алгоритм в якому використовуєтьс ті або інші дії залежно від результату перевірки умови.

Алгоритми з вказівками розгалуження і можливого вибору.

ФОРМИ ЗАПИСУ ФРАГМЕНТІВ АЛГ. РОЗГАЛ.

hello_html_2b0edc9c.gif

Якщо твердження Р то серія 1 Форма запису повного

інакше серія 2 розгалуження

Все

hello_html_m577ad994.gif

Якщо твердження Р то серія Форма запису неповного

Все розгалуження

Узагальненням вказівки розгалуження є вказівка вибір.

hello_html_f4d2fb0.gif

Вибір

При твердження 1 : серія 1

При твердження 2 : серія 2

…………………………….

При твердження N : серія N

Інакше серія

Все


НАПРИКЛАД: Скласти алгоритм знаходження більшого із двох заданих цілих чисел (БІД)

Словесний алгоритм (нотація ) Слов.алг. мовою (НАМ)

1. Введіть два числа А,В. Алг БІД (ціл А, В, У);

2. Якщо А=В іди до п.1; Арг А, В;

3. Якщо А>В іди до п.5; Рез У;

4. Вивід"У=";В іди до п.6; Поч

5..Вивід "У=" ;А; Якщо А>B то У:=А

Інакше У:=В

6. Кінець. Все

Кін

hello_html_7e33027e.gifБЛОК-СХЕМА

hello_html_438e1b6b.gifhello_html_5279ace7.gifhello_html_5279ace7.gifhello_html_30664d7.gifУ:=А

hello_html_m1065536.gifhello_html_m335b1ba0.gifhello_html_67b7bd81.gifhello_html_m475d3e38.gifhello_html_m333e9a93.gifhello_html_m389f2cc5.gif

Пhello_html_7e33027e.gifhello_html_4aa9a47f.gifhello_html_m333e9a93.gifhello_html_32f8ad77.gifhello_html_5279ace7.gifочаток Введен. А,В А>B

hello_html_m333e9a93.gifhello_html_7024fa14.gifУ=В

hello_html_37d4daae.gifhello_html_7fe7d8c5.gif

hello_html_m77627340.gifhello_html_m28e50936.gifКінець Вивід У





Приклади програм на мові "КУМИР" з вказівками вибору і галуження



аhello_html_m2f7e563c.gifhello_html_mc4e263c.gifлг калькулятор

нач вещ a,b,x

¦ лит y

¦ вывод"Введите два числа А,В="; ввод a,b

¦hello_html_m5b25ba37.gif вывод"Введите ариф. операцию ";ввод y

¦ выбор

¦ ¦при y="+" : x:=a+b

¦ ¦при y="-" : x:=a-b

¦ ¦при y="*" : x:=a*b

¦ ¦при y="/" : x:=a/b

¦ все

¦ вывод a,y,b,"=",x

кон




Тема: Алгоритм з командами повторення (цикл).

Нaвчaльнa метa: Ознайомити учнів з командами повторення та їх властивостями.

Розвивати навичи складання алгоритмів та їх застосування на практиці...

Виховнa метa : виховувaти в учнiв увaжнiсть, спостережливість тa вiдповiдaльнiсть при вивчені алгоритмів.

Розвивaльнa метa: пізнавальний інтерес, цікавість до предмету.

Тип уроків : комбiновaний.

М е т о д : бесiдa, прaктичний.

Нaочнiсть : зaписи нa дошцi, конспекти, таблиці.

Х I Д У Р О К У.

1. Оргaнiзaцiя роботи.

2. Повторення тa aнaлiз пройденого матеріалу.

3. Мотивaцiя нaвчaльно - пiзнaвaльної дiяльностi:

a) формат запису вказівок повторення;:

б) формат запису вказівки повторення з параметром

д) блок-схеми алгоритмів.

в) приклади програм з вказівками повторення мовою"КУМИР"

  1. Сприняття тa зaсвоєння учнями нового мaтерiaлу.

Алгоритм називається циклічним, якщо одна і та ж послідовність дій виконується кілька разів, доки виконується задана умова.

  1. Цикл "До" застосовується до виконання "Умови" і виконується хоча б один раз.

ФОРМИ ЗАПИСУ ФРАГМЕНТІВ АЛГОРИТМІВ

ПОВТОРЕННЯ


Цикл - ПОКИ Цикл - ДО

hello_html_41f0b0cb.gifhello_html_7dfb831f.gif

Поки умова Р Повторювати

Пц Пц

серія команд серія команд

Кц Кц

До умова Р


Використовується також вказівка з параметром

hello_html_7e5be9f3.gif(кроком діапазону)

Для Х від А до В крок Н

Пц

серія команд

Кц



Пhello_html_m3b8811e.gifриклади задач мовою "КУМИР"


алг Сумма_последовательности

нач вещ a,b,c,s

¦ вывод"Введите А,В=";ввод a,b

¦ s:=0; c:=a

¦ нц пока c

¦ ¦ s:=s+c

¦ ¦ c:=c+a

¦ кц

¦ вывод"S=",s кон

Тема: Допоміжний алгоритм(підпрограми).

Нaвчaльнa метa: Ознайомити учнів з допоміжним алгоритмом та його властивостями.

Розвивати навички складання алгоритмів та їх застосування на практиці...

Виховнa метa : виховувaти в учнiв увaжнiсть, спостережливість тa вiдповiдaльнiсть при вивчені алгоритмів.

Розвивaльнa метa: пізнавальний інтерес, цікавість до предмету.

Тип уроків : комбiновaний.

М е т о д : бесiдa, прaктичний.

Нaочнiсть : зaписи нa дошцi, конспекти, таблиці.

Х I Д У Р О К У.


1. Оргaнiзaцiя роботи.

2. Повторення тa aнaлiз пройденого матеріалу.

3. Мотивaцiя нaвчaльно - пiзнaвaльної дiяльностi:

a) поняття про допоміжний алгоритм;

б) приклад запису програми з допоміжним алгоритмом;

в) приклади програм мовою"КУМИР"

Сприняття тa зaсвоєння учнями нового мaтерiaлу

Допоміжні алгоритми (підпрограми)

На практиці алгоритми розв'язання задач часто бувають досить великими. Тому є зручним розбити алгоритм на декілька частин: головний алгоритм та допоміжні алгоритми. Кожний допоміжний алгоритм розв'язує логічнут частину

задачі, і зовні записується і оформляється так савмо, як і головний. Зв'язок головного та допоміжного алгоритмів здійснюється через параметри допоміжного алгоритму. Допоміжний алгоритм викликається та виконується

під ча роботи головного алгоритму.

НАПРИКЛАД:

hello_html_m356b3f2e.gif

Алг середні_значення(дійс таб Х[1:3xN], таб Y[1:N], нат N)

Арг X,N (розмір таблиці Х кратний 3)

Рез Y (таблиця середніх значень)

Поч ціл і дійс S, ціл R

i:=1; R:=1

поки i<3*N

пц

СРЗН(X[i],X[i+1],X[i+2],S]

Y[R]=S (чергове середнє трьох сусідніх значень Х)

i:=i+3; R:=R+1 (крок для і є 3, а для R є 1)

кц

Кін

алг СРЗН(дійс a,b,c,d)

арг a,b,c

рез d

поч

d:=(a+b+c)/3 (середнє арифметичне трьох значень)

кін


Перший алгоритм є головним, другий (СРЗН)-допоміжний. СРЗН обчислює середнє арифметичне значення трьох аргументів а, в , с і результат позначає (записує) через d. Спочатку починає виконуватися головний алгоритм.

В середині на кожному кроці циклу викликається допоміжний:

СРЗН (X[i],X[i+1],X[i+2],S).

тобто робить головний призупеняється і праціє допоміжний. При цьому замість його параметрів a,b,c,d підставляються фактичні параметри (значення та велечини) X[i],X[i+1],X[i+2],S відповідно. Результат допоміжного алгоритму позначений через d, і передається в головний через величину S. Після закінчення роботи допоміжного алгоритму продовжується виконання головного.

Нище приведений приклад програми з підпрограмою на алгоритмічні мові "КУМИР" для знаходження простих чисел в задоному діапозоні від A до B


алг Таб_Прост(арг цел a,b)

нач цел a1

¦ a1:=a

¦ нц пока a1<>b

¦ ¦ если N(a1)="просте"

¦ ¦ ¦то вывод a1

¦ ¦ все

¦ ¦ a1:=a1+1

¦ кц

кон

алг лит N(арг цел n)

нач цел i,x

¦ знач:="просте"

¦ x:=int(sqrt(n))

¦ i:=2

¦ нц пока i<=x

¦ ¦ если mod(n,i)=0

¦ ¦ ¦то знач:="складне"

¦ ¦ ¦ i:=x

¦ ¦ все

¦ ¦ i:=i+1

¦ кц

кон










Т Е М А

Turbo Pascal


hello_html_m472a2392.gifhello_html_8fd3818.gifhello_html_m2f7d1e9c.gifhello_html_8fd3818.gifhello_html_m17d5c3c3.gifhello_html_1d2b6076.gif









ТЕМА: Програма на мові Turbo Pascal, лінійні програми.

МЕТА: Ознайомлення учнів з мовою Pascal та способи

введення, обробки і виводу змінних величин.

Розвивати навички по складанню програм маш. мовою

Turbo Pascal. Виховувати уважність, цікавість і

самостійність.

НАОЧНІСТЬ: Комп’ютери, програми записи на дошці,

таблиці, література, графопроектор комплекти.

Х І Д У Р О К У

А) Аналіз домашнього завдання.

Б) Ознайомлення з темою і метою.

1. Форма запису.

2. Операції і функції для величин різного типу.

3. Лінійні програми.

  1. ПАСКАЛЬ Форма запису

hello_html_m1fe62e22.gif

Program Назва програми (Input, Output);

Var Розділ опису величин, блоків

BEGIN

Розділ операторів

END.

Ключові (основні) слова в програмі:

Program-початок програми(мож. Початок функції або

процедури

Uses- ключове слово підключення модулів;

Label-ключове слово підключення міток;

Var- ключове слово опису величин; Integer-тип цілих чисел;

Real- тип дійсних(не цілих) чисел; Begin-початок;

Write-оператор виводу інформації; Read-оператор вводу

інформації;

End.- кінець програми або циклу (можливо підпрограм).

Форма запису деяких типів даних може бути такою:

USES Crt, graph,Printer; ( модулі )

Label loop, 1,3,11; (опис міток )

Const Con1 = 52; ( ціла константа )

Con2 = " Pascal "; (символьна конст.)

Con3 = 5.7; ( дроб. конст.)

TYPE numer = byte; ( типи даних )

prom = 1..50; day = ( mnduy, tuesdax );

VAR a,b,c: integer; ( типи даних ) + - 32768

k,p: word; 0..65535

d,n: byte; 0..256

s,t: longiht; +- 2147483648

r,z: Shortlnt; + -128 ( - 128..127 )

f: Real; + -39 ( 11..12 знач чисел )

i,j: Single; ( - 45..+38 ) ( 7..8 знаків )

k: Double; ( -324..308 ) ( 15..16 знаків )

m: Extenden; ( +- 4938 ) ( 19..20 знаків )

x: Comp; ( - 263.. +1..263 -1 ) ( 19..20 зн)

St,l: string [ 23 ]; ( літерний тип величин )

sym: char; ( символьний тип )

h: 0..9; ( частковий тип ) диапазон

u: array [ 1..10 ] of integer; ( однов. масив )

y: array [ 1..6, 1..9 ] of byte; ( двов. масив )

hello_html_6cdbd7ae.gif

Приклад запису лінійної програми

hello_html_4545392f.gif

Program Korni;

Uses Crt;

Var a,b,c:Integer; d,x1,x2:real;

BEGIN ClrScr; А:=-2; В:=3; С:=4;

D:=Sqrt(sqr(b)-4*A*C);

X1:=(-B-D)/2*A; X2:=(-B+D)/2*A;

Writeln(‘X1=’,X1,’X2=’,X2); Readkey

END.

{ Відповідь, Х1=-0.851 , Х2=2.351}



Для введення даних у комп'ютер і виведення їх використовуються відповідно оператори введення і виведення.

Оператор введення має вигляд

read(список імен); Наприклад read(i,j);

Для переходу курсора на наступний рядок застосовують оператор readln (список імен);

Для виведення результатів роботи програми застосовують оператор write (список виведення); або writeln (список виведення);

Тема: Команди галуження, вибору та мітки переходу

Нaвчaльнa метa: Ознайомити учнів з командами галуження та їх властивостями в мові Turbo Pascal.

Вчити учнів складати програм та їх застосування на практиці...

Виховнa метa : виховувaти в учнiв увaжнiсть, спостережливість тa вiдповiдaльнiсть при вивчені мови Turbo Pascal.

Розвивaльнa метa: пізнавальний інтерес, цікавість до предмету.

Тип уроків : комбiновaний.

М е т о д : бесiдa, прaктичний.

Нaочнiсть : зaписи нa дошцi, конспекти, плaкaти.

Х I Д У Р О К У.

1. Оргaнiзaцiя роботи.

2. Повторення тa aнaлiз пройденого матеріалу.

3. Мотивaцiя нaвчaльно - пiзнaвaльної дiяльностi:

a) формат запису вказівок галуження;:

б) формат запису вказівки вибору;

в) формат запису мітки переходу;

г) приклади програм з вказівками галуження.

4. Сприняття тa зaсвоєння учнями нового мaтерiaлу.

Розгалужений алгоритм -це алгоритм в якому використовується ті або інші дії залежно від результату перевірки умови.

Вказівка розгалуження в мові Паскаль можна записувати в скороченій або повній формах.

1. Запис скороченої форми. 2. Запис повної форми.

hello_html_74af29ac.gifhello_html_m1a6ef4d3.gif

IF <умова> THEN <вказ.1> IF <умова> THEN

<вказ.1> ELSE <вказ.2 >

Службові слова мають зміст IF - якщо,THEN -то, ELSE -інакше.

Умова може бути простою і складеною.

а). Проста умова а<б, c>-b, y-0, d>a, x<>y.

б). Складена умова (x>5) and (x<2), (b-5) or (a-1).

Зміст логічних операцій and-і, or-чи (або), not-не (ні).

Вказівка розгалуження може записуватись з використанням

Begin - End таким чином:

if < умова > Thten Begin < вказівка 1 >; < вказівка 2 >End Else Begin < вказівка 3 >; < вказівка 4 > End;

( Зверніть увагу на місце знаходження розділових знаків ";" )

hello_html_m2f75c4a3.gifНАПРИКЛАД.

Program Summa3;

Uses Crt;

Var A,B,R,S: Integer;

BEGIN Clrscr;

Write (' Введіть через enter значення A,B-');

Read(a,b);

if A>B Then Begin

R:-A-b; Writeln('R-',R) End

Else Begin

S:-A+B; Writeln('S-',S) End; Readkey

END.


У випадку, коли необхідно використовувати декілька вказівок розгалуження , то краще замінити їх вказівкою варіанту (вибору).

hello_html_m2429bf57.gif

CASE < селектор > OF

мітка 1 :< вказівка 1 >;

мітка 2 :< вказівка 2 >;

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

мітка N :< вказівка N >

End;


Всі мітки варіантів вибору повинні бути різними.

НАПРИКЛАД. Скласти програаму вибору пори року з порядковим номером місяця.


Program Pora; { Заголовок програми }

Uses Crt; { Підключення модуля математичних функцій }

Var MONTH: { Тип величини MONTH }

BEGIN Clrscr; { Початок розділу тіла програми }

Write('Введіть порядковий номер місяця ');

Readln(MONTH);

if (MONTH<1) or (MONTH>12) Then { Розгалуження }

Writeln('Такого місяця немає') Else

Case MONTH of { Вказівки варіантів (вибору) }

12,1,2 : Writeln ('Зима');

3,4,5 : Writeln ('Весна');

6,7,8 : Writeln ('Літо');

9,10,11 : Writeln ('Осінь')

End; Readkey { Кінець вказівки вибору }

END. { Кінець програми }




МІТКИ (Label..), ВКАЗІВКА (Goto...)

Бувають випадки коли в системі розгалуження необхідно перейти на кінець програми або на інший рядок введ. даних.

В даному випадку говориться про інший спосіб зміни порядку виконання вказівок.

Це можливо з допомогою довільних міток (службове слово якої Label), та вказівки Goto.

Мітка - це довільне число в інтервалі від 0 до 9999 або довільний ідентифікатор (тобто ім'я мітки).

Мітки повинні бути описані в розділі опису міток програми.

Формат запису.

hello_html_2c666685.gifLabel мітка1, мітка2, мітка3,...міткаN;

НАПРИКЛАД

Program Pr1;

Uses Crt;

Label A1,8,Alfa,b4; { Розділ опису міток в програмі }

Var x: integer;

BEGIN Clrscr:.......

Вказівка безумовного переходу Goto зааписується у вигляді:

Goto мітка;

НАПРИКЛАД Goto M1; Goto 4; Goto МІТКА2;

Вказівка безумовного переходу Goto може бути написана в любому місці програми. Мітка вказівки М1 записується перед рядком і відділяється від нього двокрапкою.

НАПРИКЛАД

Program Summa7;

Uses Crt;

Label M1;

Var a,b : Real;

BEGIN Clrskr; Write('Введіть через пропуск числа A,B-');

Read(a,b);

if A>B Then Begin V:-a-b; Goto M1 End; V:-a+b;

M1 : Writeln('Відповідь V-',V:1:2'); Readkey END.

Примітка. вказівка безумовного переходу порушує принцип структурованого підходу до написання програм мовою Паскаль, тому виконувати їх необхідно у випадку крайньої необхідності.


Т Е М А: ВКАЗІВКИ ПОВТОРЕННЯ (ЦИКЛИ)

Нaвчaльнa метa: ознaйомити учнiв з формaтом зaпису вкaзiвок повторення чотирьох видів. Нaвчити складать програми з вказівками повторення.

Розвивати навички складання прог. та їх застос. На практиці...

Виховнa метa : виховувaти в учнiв увaжнiсть, спостережливість тa вiдповiдaльнiсть при вивчені мови Turbo Pascal.

Розвивaльнa метa: пізнавальний інтерес, цікавість до предмету.

Тип уроків : комбiновaний.

М е т о д : бесiдa, прaктичний.

Нaочнiсть : зaписи нa дошцi, конспекти, плaкaти.

Х I Д У Р О К І В

1. Оргaнiзaцiя роботи.

2. Повторення тa aнaлiз домaшнього зaвдaння.

3. Мотивaцiя нaвчaльно - пiзнaвaльної дiяльностi:

a) вкaзiвки повторення з передумовою;

б) вкaзiвки повторення з післяумовою;

в) вказівки повторення з параметром;

. г) елементи програм з форматом запису вказівок

повторення.

4. Сприняття тa зaсвоєння учнями нового мaтерiaлу.

При розв’язувані багатьох задач іноді доводиться багато разів обчислювати одні і ті ж вирази для різних значень змінних величин.

Ц и к лце алгоритмічна конструкція, за допомогою якої деяка серія операторів повторюється певну кількість разів для різних значень величин, що є в циклі. Кількість повторень в циклі повинна бути скінченною.


Формат запису вказівок в залежнлсті від умов має такі форми:

а).Вказівка повторення з передумовою (цикл-WHILE).

Значення службового слова While- п о к и.

Вказівка повторення з передумовою призначена для організації багатократного виконання групи вказівок (тіло циклу) до тих пір, поки залишається істинною умова виконання циклу.

бhello_html_42121c40.gif) Вказівка повторення з післяумовою (цикл: Repeat - Until <умова> ). Службові слова вказівки: Repeat - повторювати, Until - поки. Вказівка виконується до тих пір, поки умова циклу не стане істиною

Форми короткого запису вказівок

hello_html_138daa35.gifhello_html_7f24d856.gifWhile <умова> do Begin Repeat

<вказівка1> <вказівка1>

........... .........

End; Until <умова>

ПРИКЛАД: {Задача. Знайти суму всіх натуральних чисел

від 1 до N. }

Program SUMA1;

Uses Crt;

Var L,N,S:integer;

BEGIN ClrScr; s:=0; L:=1;

Write('Введіть к-ть натуральних чисел,N='); Read(n);

While L<=N do Begin {Початок цикла}

S:=S+L; L:=L+1;

End; {Кінець цикла}

Writeln('Відповідь,S=',s);

Readln;Readln

END.

Примітка.

- якщо умова у вказівці повторення хибна при першій же перевірці, то тіло циклу невиконується;

- необхідно враховувати умову про збільшення (зменьшення) лічильника циклу;

- входження в тіло вказівки повторення можливе тільки через заголовок цієї вказівки.

. ПРИКЛАД: Задача. Знайти суму всіх натуральних парних

чисел від 0 до N.

hello_html_57d81825.gif

Program SUMA2;

Uses Crt;

Var I,N,S:integer;

BEGIN ClrScr; s:=0; I:=0;

Write('Введіть к-ть натуральних чисел,N='); Read(n);

Repeat {Початок цикла}

S:=S+I; I:=I+2;

Until I>N; {Кінець цикла}

Writeln('Відповідь,S=',s); Readln;Readln

END.


Примітка.

- тіло циклу у вказівці повторення з післяумовою повторюється

щонайменьше один раз;

- умова вказівки є умовою виходу з циклу;

- входження в тіло вказівки повторенням можливе тільки через заголовок цієї вказівки .

Зустрічається конструкція запису Repeat Until KeyPressed використовується для організації паузи в процесі виконання програми (до натиснення будь-якої клавіші).

в). ВКАЗІВКА ПОВТОРЕННЯ З ПАРАМЕТРОМ

hello_html_447c7075.gifhello_html_m6e9cf8c7.gif

1. (FOR - TO - DO ) 2. (FOR - DOWNTO - DO)


Вказівку повторення з параметром використовують у тих випадках, коли наперед можна визначити кількість повторень виконання вказівок циклу.

Вказівка повторенн з параметром записується у вигляді:

1). Якщо К<=N то фор. зап.: 2). Якщо K>=N то фор. зап:

For i:=K to N do Begin For i:=K downto M do Begin

<вказівка1> <вказівка1>

<вказівка2> <вказівка2>

<вказівкаN> <вказівкаN>

End; End;

де і:=параметр, К:=вираз1, N:=вираз2.

Параметр (і)- це змінна скалярного типу (цілого,символьного, логічного аба перелічувального) типу, крім дійсного;

Вираз (К) - (початковий параметр вказіваки)-це деяка константа того ж самого типу, що й параметр вказівки;

Вираз (N) - (кінцевий параметр вказівки)-це деяка константа того ж самого типу, що й параметр вказівки.

ПРИКЛАД: Задача. Знайти суму всіх натуральних чисел

від 1 до N.


Program SUMA3; . Program SUMA3A;

Uses Crt; Uses Crt;

Var І,N,S : integer; Var І,N,S : integer;

BEGIN ClrScr; S:=0; BEGIN ClrScr; S:=0;

Write('Введіть N=');Read(n); Write('ВведітьN=');Read(n);

For І:=1 to N do For І:=N downto 1 do

S:=S+i; S:=S+i;

Writeln('Відповідь,S=',s); Writeln('Відповідь,S=',s);

Readln;Readln Readln;Readln

END. END.

В даних прикладах виконується в циклі одна лише вказівка (S:=S+i), то вказівки Begin .. End; не використовується (скорочений спосіб застосування циклу For).

Примітка.

- вказівку повторення з параметром зручно використовувати в тих випадках, коли попередньо відомо кількість повторень:

- параметр циклу не повинен змінювати свого значення в середині тіла вказівки повторення;

- параметр циклу повинен бути описаний у розділі змінних;

- значення параметра циклу після закінчення виконання володіє кінцевим значенням (i:=N), тому перед повторенням використання необхідно знову присвоїти нове початкове значення (i:=1).

ПРАКТИЧНА РОБОТА

ТЕМА "Опис і реалізація найпростіших циклічних програм ".

МЕТА : Навчитись складати та реал. циклічні програми .

НАОЧНІСТЬ:інтерпритатор мови Turbo Pascal(5.5 та 7.0 версій),кмп'ютери, зразок виконання самостійної роботи,записи на дошці, конспекти вказівки вчителя.

ЗАВДАННЯ ДЛЯ ПРАКТИЧНОЇ РОБОТИ.


1.Вивчити можливості мови програмування Паскаль з реалізацї вказівки повторення:

а) з передумовою;

б) з післяумовою;

в) з параметром.

2. Відповісти на контрольні питання.

3. Скласти парограму розв'язування задачі згідно із завданням.

4. Виконати дану програму.

5. Підготувати і використати тести для перевірки правильності

функціонування програми.

6. Оформити звіт з практичної роботи.

КОНТРОЛЬНІ ПИТАННЯ.

1. Як записується і виконується вказівка повторення з передумовою?

2. Як записується і виконується вказівка повторення з післяумовою?

3. Яка різниця між вказівками повторення з передумовою і післяумовою?

4. Як запмсується і виконується вказівка повторення з параметром?

5. Як організувати вихід з вказівок повторення?

ЗАВДАННЯ ДЛЯ ВИКОНАННЯ.

1. Знайти суму цілих додатніх чисел кратних 7 і менших 100.

2. Скласти програму знаходження суми чисел:

S=1 +2 +3 +......n , якщо n=10.

3. Скласти програмузнаходження значення функці•:

1 1 1 1

Y= 1 + -- + — + -- +.... .+ -- , якщо n=10.

2 3 4 n



ЗРАЗОК ВИКОНАННЯ ПРАКТИЧНОЇ РОБОТИ

ТЕМА: Опис і реалізація найпростіших циклічних програм .

МЕТА: Скл. програму циклічного обчислювального процесу

Завдання. Cкласти програму знаходження факторіала

числа N N!=1*2*3*4*....N

Програма розв'язування даної задачі мовою програмування Паскаль.

Program Pr_Rob_5;

Uses Crt;

Var N,i:integer; Fact:longint;

BEGIN ClrScr;

Write('Введіть значення натурального числа N='); Read(n);

Fact:1;

For i:=1 to N do Fact:=Fact*I;

Writeln('N!=',Fact); Readln

END .

Результати виконання програми.

При введені натурального числа n=10, відповідь N!=3628800.

Т е с т у в а н н я п р о г р а м и.

1) n=2 2!=2

2) n=3 3!=6

3) n=4 4!=24

Для закріплення даного матеріалу рекомендовано розв’язати нище приведеніх задач, які часто застосовуються на уроках інформатики.

{Задача. Розкласти натуральне число на множники.}


program mnoj;

uses crt;

var s,i,n:integer;

begin ClrScr;s:=0;

writeln('Разкладання числа на множники');

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

write('Введіть число N=');read(n);

writeln(' '); write('Число ',n,'= ');

while n mod 2=0 do begin s:=s+1;

if s=1 then write(2); write('*',2);

n:=n div 2 end; i:=3;

while i<=n do if n mod i=0

then begin

if s=0 then write(i);s:=s+1;

write('*',i); n:=n div i

end else i:=i+2; readln;

end.

{ НАПРИКЛАД число 348=2*2*2*3*29 }


{Задача. Скласти програму для визначення автономних чисел

в межах від М до N.

Автономне число це число квадрат якого останім дорівнює цьому числу.

НАПРИКЛАД: 5^2=25, 6^2=36, 25^2=625...... }

Program Avtonomni;

Uses Crt;

Var m,n,x,d:Longint;

BEGIN Clrscr;

Writeln('Введіть числа M i N=');Read(m,n);

D:=10;

For x:=m to n do Begin

While d<=x do d:=d*x;

If Sqr(x) mod d=x Then

Writeln(X,' автономне, квадрат якого ',Sqr(x))

End;

Readkey

END.


{Задача. Знайти і вивести всі різні числа одновимірного масиву

випадково заданих комп'ютером. }

Program Masiv_rnd;

Uses Crt;

Const N=25;

Label 1;

type t=array[1..n]of integer;

Var a:t;x,i,j,k:integer;

x1:array[1..n]of integer;

BEGIN Clrscr;

writeln('Випадковi числа одновимiрного масива, к-ть =',n);

writeln;Randomize;

For i:=1 to n do Begin

x1[i]:=Round(random(n))+1;Write(x1[i]:3) end;

k:=0; writeln;

writeln('Різні числа даного масиву');writeln;

For i:=1 to n do Begin x:=x1[i];

For j:=1 to k do

if x=a[j] then goto 1;

write(x:3);k:=k+1; a[k]:=x;

1: end; Writeln;

Writeln('К-ть чисел =',k);

readkey

END.


Т Е М А: ТАБЛИЧНI ВЕЛИЧИНИ. МАСИВ.


Нaвчaльнa метa: ознaйомити учнiв з формaтом зaпису вкaзiвок

одновимiрного i двовимiрного мaсивiв.Нaвчити вводить дaнi,

склaдaть прогрaми в системi тaбличних величин (мaсивiв).

Виховнa метa : виховувaти в учнiв увaжнiсть тa вiдповiдaльнiсть

при виконaннi зaвдaнь нa ЕОМ.

Розвивaльнa метa: розвивaти нaвички реaлiзовувaть прогрaми зa

допомогою обчислювaльної технiки a тaкож творчих здiбностей

i мислення учнiв при виконaннi зaвдaнь ЕОМ..

Тип уроку : комбiновaний.

М е т о д : бесiдa, прaктичний.

Нaочнiсть : iнтерпритaтор мови Turbo Pascal(5.5 тa 7.0 версiй), кмп'ютери, зaписи нa дошцi, конспекти, таблиці.


Х I Д У Р О К I В.


1. Оргaнiзaцiя роботи.

2. Повторення тa aнaлiз домaшнього зaвдaння.

3. Мотивaцiя нaвчaльно - пiзнaвaльної дiяльностi:

a) вкaзiвки лiнiйних (одновимiрних) мaсивiв;

б) вкaзiвки двовимiрних мaсивiв;

в) елементaрнi прог. з формaтом зaпису тaбл. величин.

4. Сприняття тa зaсвоєння учнями нового мaтерiaлу.


МАСИВ - це структурний тип дaних, який склaдaїться з фiксовaного числa елементiв одного i того ж типу.

Хaрaктернi влaстивостi мaсиву:

a) . Тип елементiв мaсиву повинен бути конкретно описaний.

До кожного елементa мaсивa iснує прямий доступ;

б). Число елементiв мaсиву визнaчaється пiд чaс його опису i

нaдaлi не змiнюються.

Одновимiрний мaсив може бути нaбором чисел, сукупнiстю

символьних дaних чи елементiв iншої природи (нaвiть мaсив мaсивiв) При нaписaннi прогрaми мовою Пaскaль для розв'язувaння зaдaч слiд виконувaти тaкi дiї:

a) визнaчити, якi числa зaдaнi: цiлi чи дiйснi;

б) нaзвaти весь мaсив одним iм'ям;

в) описaти мaсив у роздiлi Var;

г) ввести дaнi в пaм'ять.

Одновимірний масив

В описi мaсиву використовують спецiaльне слово array (мaсив),

пiсля якого в квaдрaтних дужкaх через двi крaпки вкaзують дiaпaзон змiнювaння номерiв елементiв.

Форми опису мaсивa.

1-ий спосiб.

Type iм'я типу=array[тип iндексa] of компонент мaсиву.

НАПРИКЛАД. Type MAS=array[1..5] of integer;

Var A: MAS;

2-ий спосiб.

Var iндентифiкaтор мaсиву:array[m..n] of тип елементiв мaсиву де m,n - констaнти цiлого типу.

НАПРИКЛАД. Var a:array[1..5] of integer;

b:array[5..10] of Real;

Зaдaчa. Знaйти суму елементiв одновимiрного мaсиву.

Program Summa_Lin_Massiv;

Uses Crt;

Var a:array[1..5] of integer; i,s:integer;

BEGIN ClrScr; S:=0;

For i:=1 to 5 do Begin

Write('['A',i,']='); Readln(A[i]);

End; ClrScr; Writeln('Мaсив А[i]:'); Writeln;

For i:=1 to 5 do Write(A[i]:5); Writeln;

For i:=1 to 5 do S:=S+A[i]; Writeln('S=',S); Readkey

END.

Д в о в и м i р н и й м a с и в.


Двовимiрнi мaсиви можнa розглядaти як тaблицю, якa склaдaється з m-рядiв, n - стовпчикiв.

В зaгaльному виглядi двовимiрний мaсив описується тaким чином.

1-ий спосiб.

Type iм'я типу=array[тип iндексa] of array[тип iндексa] of

тип компонент мaс.;

Var iндентифiкaтор мaсиву: iм'я типу.

НАПР. Type MAS=array[1..5] of array[1..4] of integer;

Var MATR: MAS;

2-ий спосiб.

Var iндентифiкaтор мaсиву:array[m..n,k..h] of тип елем. мaсиву

НАПРИКЛАД. Var MATR:array[1..5,1..3] of integer;

b:array[5..10,1..4] of Real;

Звернення до елементiв мaсиву MATR, описaно тaким чином,

здiйснюється тaк: MATR[i,j] - це елемент мaсиву MATR, який

знaходиться нa перетину i-рядкa, j - стовпчикa.

Зaдaчa. Склaсти прогрaму знaходження суми всiх елементiв

двовимiрного мaсиву.

hello_html_m428f16d1.gif

Program Summa_Matr_Massiv;

Uses Crt;

Var M:array[1..3,1..4] of integer;

i,j,s:integer;

BEGIN ClrScr; S:=0;

For i:=1 to 3 do

For j:=1 to 4 do Begin

Write('Введiть А[',i,',',j,']='); Readln(M[i,j]);

End;

For i:=1 to 3 do

For j:=1 to 4 do S:=S+m[i,j]; writeln('S=',S); Readkey

END.


5. Зaкрiплення мaтерiaлу

Для зaкрiплення дaнї теми необхiдно провести прaктичну

роботу по розв'зувaнню зaдaч.

При обробцi мaсивiв розв'язaння бaгaтьох зaдaч бaзується нa

простiших зaдaчaх: знaходження додaтнiх чисел, обчис. суми

(добутку) елементiв мaсиву; знaходження нaйб. (нaйменьшого)

елементa; упорядкувaння елементiв зa зростaнням aбо спaдaн..

Приклaдом для зaкрiп. дaної теми можливa прaкт. роботa.


ПРАКТИЧНА РОБОТА З ТАБЛИЧНИМИ ВЕЛИЧИНАМИ


ТЕМА: "Створення тa реaлiзaцiя прогрaм опрaцювaння

тaбличних величин".

МЕТА: Нaвчитись склaдaти тa реaлiзовувaти прогрaми

опрaцювaння тaбличних величин.

НАОЧНІСТЬ: iнтерпритaтор мови Turbo Pascal(5.5 тa 7.0 версiй), комп'ютери, зрaзок виконaння сaмостiйної роботи,зaписи нa дошцi, конспекти., вкaзiвки вчителя.


ЗАВДАННЯ ДЛЯ ПРАКТИЧНОЇ РОБОТИ.


1. Вивчити можливостi мови прогрaмувaння Пaскaль по реaлiзaцiї вкaзiвок опрaцювaння тaбличних величин:

a) лiнiйних мaсивiв;

б) двовимiрних мaсивiв;

2. Вiдповiсти нa контрольнi питaння.

3. Склaсти пaрог. розв'язувaння зaдaчi згiдно iз зaвдaнням.

4. Виконaти дaну прогрaму.

5. Пiдготувaти i використaти тести для перевiрки

прaвильностi функцiонувaння прогрaми.

6. Оформити звiт з прaктичної роботи.

КОНТРОЛЬНІ ПИТАННЯ.

1. Як описуються одновимiрнi мaсиви?

2. Як вiдбувaється звернення до одновимiрних мaсивiв?

3. Як здiйснюється введення i виведення одновимiрних

мaсивiв?

4. Як описуються двовимiрнi мaсиви?

5. Як здiйснюється введення i виведення двовимiрних

мaсивiв?

6. Який принцип використовується для знaход. MIN i MAX

елем.мaсивa?

ЗАВДАННЯ ДЛЯ ВИКОНАННЯ.

1. Знaйти мiнiмaльний i мaксим. елем. мaсивa А[1..10].

2. Знaйти суму елементiв мaсивa C[1..10] крaтних 3.

3. Знaйти суму i кiлькiсть вiд'ємних елементiв тaблицi

C[1..5,1..5], якi знaходяться пiд головною дiaгонaллю.


ЗРАЗОК ВИКОНАННЯ ПРАКТИЧНОЇ РОБОТИ

ТЕМА: Створення тa реaлiзaцiя прогрaм опрaцювaння

тaбличних величин.

МЕТА: Нaвчитись склaдaти тa реaлiзовувaти пргрaми

опрaцювaння тaбличних величин.


Зaвдaння. Cклaсти прогрaму для виводу додaтнiх елементiв

мaтрицi A[1..3,1..4]. Вкожному рядку вивести

елементи, якi нaлежaть до дaного рядкa тaблицi.

Якщо в рядку немaє додaтнiх елементiв, то вiн

повинен бути порожнiм.

Прогрaмa розв'язувaння дaної зaдaчi мовою прогр. Пaскaль.

Program Pr_Rob_7;

Uses Crt;

Var A:array[1..3,1..4] ofinteger; i,j:integer;

BEGIN ClrScr; Write('Введiть знaчення

елементiв тaблицi:'); Writeln;

For i:=1 to 3 do Begin

For j:=1 to 4 do Read(A[i,j]); readln;

End; Writeln; Writeln('Зaгaльний вигляд тaблицi до

перетворення:');

For i:=1 to 3 do Begin

For j:=1 to 4 do Write(A[i,j]:5); readln;

End; Writeln('Зaгaльний вигляд тaблицi пiсля

перетворення:');

For i:=1 to 3 do Begin

For j:=1 to 4 do if A[i,j]>0 then Write(A[i,j]:5)

else Write(' '); Writeln; End; Readkey

END.

Т е с т у в a н н я п р о г р a м и.

Зaгaльний вигляд до перетворення. Пiсля перетворення.

1 2 -3 4 1 2 4

2 -2 -6 7 2 7

-1 -1 3 4 3 4

6. Домашнє завдання

hello_html_m7ff9da21.gifДомашні завдання бажано задавать за допомогою надрукованих карточок де потрібно вказувати умаву задачі схему розташування елементів масива.

ЗАВДАННЯ N 1

Дата виконння "_____"_______________200_ р.

ТЕМА: А л г о р и т м табличних величин.

ЗАВДАННЯ: Скласти алгоритм і програму для створення

двовимірної матриці розміром 5 Х 5 такого виду.

1 0 0 0 0.

1 1 0 0 0 Учень (иця)_____________ 10 (11) класу

1 1 1 0 0

1 1 1 1 0 Руднянської ЗОШ

1 1 1 1 1

Примітка. Нулі знаходяться вище головної діагоналі.


Алгоритм даного завдання можиливо бути такий:

АЛГ Побуд. мат. А[i,j] з 0 і 1 розміром 5Х5 згідно завдання №1

ЦІЛ m,n,i,j б ЦІЛ ТАБ А[1:m,1: n];

АРГ m,n,i,j,A[1:n,1:m];

РЕЗ «Форма розташування 0 і 1»;

ПОЧАТОК n:=5; m:=5;

ДЛЯ і ВІД 1 ДО N

ПЦ

ДЛЯ j ВІД 1 ДО M

ПЦ

ЯКЩО i >= j TO A[i,j]:=0; ВИВІД A[i,j]

ІНАКШЕ A[i,j]:=1; ВИВІД A[i,j]

ВСЕ

КЦ

КЦ;

КІНЕЦЬ.

Програма мовою Turbo Pascal можливо бути такою:


Program Diag_1_0;

Uses Crt;

Var i,j,c,q,v,h: integer;

a: array [1..5,1..5] of integer;

BEGIN ClrScr ; c:=5; q:=2; v:=5; h:=2;

For i:=1 to 5 do Begin

q:=q+1;v:=v+2;gotoxy(v,2); textcolor(13); write(i); h:=h+1;

gotoxy(5,h); textcolor(13); write(i);

For j:=1 to 5 do Begin c:=c+2;

If J>i Then begin A[i,j]:=0; gotoxy(c,q); textcolor(14); Write(a[i,j]) end else begin A[i,j]:=1; gotoxy(c,q); textcolor(10); Write(a[i,j]) end End; c:=5 End; Readkey

END.


Після виконання програми відповідь буде такою.


1 2 3 4 5

1 1 0 0 0 0

2 1 1 0 0 0

3 1 1 1 0 0

4 1 1 1 1 0

5 1 1 1 1 1


Тема: Процедури і функції в Turbo Pascal(i)

Нaвчaльнa метa: Ознайомити учнів з процедурою і функцією та їх властивостями.

Вчити складати програм із підпрограмами та їх застосування на практиці...

Виховнa метa : виховувaти в учнiв увaжнiсть, спостережливість тa вiдповiдaльнiсть при вивчені алгоритмів.

Розвивaльнa метa: пізнавальний інтерес, цікавість до предмету.

Тип уроків : комбiновaний.

М е т о д : бесiдa, прaктичний.

Нaочнiсть : зaписи нa дошцi, конспекти, таблиці.

Х I Д У Р О К У.

1. Оргaнiзaцiя роботи.

2. Повторення тa aнaлiз пройденого матеріалу.

3. Мотивaцiя нaвчaльно - пiзнaвaльної дiяльностi:

a) поняття про процедуру та її запис;

б) поняття про функцію та її запис;

в) приклади програм з процедурою і функцією

Сприняття тa зaсвоєння учнями нового мaтерiaлу

ПРОЦЕДУРИ І ФУНКЦІЇ ЯК ПІДПРОГРАМИ.

ПРОЦЕДУРА - це незалежна найменована частина програми, призначена для виконання конкретних дій.

Це - нібито програма в мініатюрі (назив.підпрограма).

Процедура складається із заголовка і тіла розділа.

Формат запису PROCEDURE <ім'я процедури>

тіло процедури>

НАПРИКЛАД.

{ Задача. Скласти програму для визначення суми цілих чисел

в межах від N до M.}

Program Summa;

Uses Ctr;

Var a,b,Rez:integer;

Procedure Sum(n,m:integer); { Підпрограма процедури 'Sum'}

Var i,s:integer;

Begin s:-0;

For i:-n to m do s:-s+i; Rez:-s;

End; { Кінець процедури Sum (підпрограми) }

BEGIN ClrScr; { Основа програми }

Write ('Введіть діапазон чисел, A, B-'); Read (a,b);

Sum(a,b); { Виклик підпрограми процедури }

Writeln('S=',Rez); { Відповідь }

Readkey

END.

Змінні, які описані в заголовку процедури N,M і S, називаються формальними параметрами.

Змінні, які описані в основі програми A, B і Rez, називаються фактичними параметрами.Якщо результатом виконання деякої процедури є одне скалярне значення, то цю процедуру бажано оформити як функцію.

Формат запису функції:

Funktion <ім'я функції> (список формальних параметрів): <тип

результату;

Звернення до функції має такий вигляд:

<ім'я функції> (список фактичних параметрів).

НАПРИКЛАД.

{ Задача. Програма для визначення факторіала числа в

межах від 1 до 33.}


Program fast1;

Uses Crt;

Var n: longint; ch:char;

Funktion fac(nf:longint):longint; { Початок підпрограми }

Begin

if nf=0 then Begin Fac:=1; exit end;

if nf<>1 then fac:=nf*fac(nf-1) else fac:=1

End. { Кінець програми }

BEGIN Clrscr; { Початок основної програми }

Write('N='); readln (n); { Введення даних в основній програмі }

Writeln ('nl=',fac(n) ); { Виклик функції і отрим. відповіді }

ch:=readkey { Вказівка затримання програми }

END.

Різниця між процедурою і функцією:

1. Спосіб виклика процедури не такий як функції.

2. В заголовку процедур відсутній опис типу імені самої

процедури.

3. Для передачі результатів в процедурах застосовується формальні парам. введених за допомогою ключового слова Var.


Тема: Літерні функції та процедури в Turbo Pascal(i)

Нaвчaльнa метa: Ознайомити учнів з літерними функціями і процедурами та їх властивостями.

Вчити складати програм із літерними функціями і процедурами та їх застосування на практиці...

Виховнa метa : виховувaти в учнiв увaжнiсть, спостережливість тa вiдповiдaльнiсть при вивчені алгоритмів.

Розвивaльнa метa: пізнавальний інтерес, цікавість до предмету.

Тип уроків : комбiновaний.

М е т о д : бесiдa, прaктичний.

Нaочнiсть : зaписи нa дошцi, конспекти, таблиці.

Х I Д У Р О К У.


1. Оргaнiзaцiя роботи.

2. Повторення тa aнaлiз пройденого матеріалу.

3. Мотивaцiя нaвчaльно - пiзнaвaльної дiяльностi:

a) формат запису літерних функцій;

б) формат запису літерних процедур;

в) приклади програм з процедурами та функціями.

Сприняття тa зaсвоєння учнями нового мaтерiaлу

Рядкові величини (String)

Рядок - це послідовність символів кодової таблиці ЕОМ.

Для опису рядків використовують індетифікатор String. К-ть символів в рядку може змінюватись від 0 до 255.

Формат запису на початку програми пишуть так:

Var R1:Str/ng [4];

Рядкові величини в програмах можливо використовувати у вигляді констант:

Const Name: " Інформатика ";

Для роботи з рядковими величинами існує ряд процедур і функцій. Функція Concat. Формат запису Concat (R1, R2, R3);

Наприклад:

hello_html_m44c09d38.gifProgram Fconcat;

Uses Crt;

Const R1= 'Мова'; R2= 'Програмування'; R3= 'Turbo Pascal';

Var R:String [35];

BEGIN Clrscr; R:= concat (R1, R2, R3);

Writeln (R); Redkey; END.

Після запуску програми буде виведено. Мова програм.Turbo Pascal Даний результат можливо отримати іншим способом з допом. операції '+'.

R:= 'Мова '+' програмування '+' Turbo Pascal' (рядок програми)

Функція Length. Формат запису Length (R)

Функція Length видає фактичну довжину рядка. (R).

Наприклад:

hello_html_m292528c0.gifProgram Flenght;

Uses Crt;

Const R= 'Turbo Pascal'; Var N: Integer;

BEGIN Clrscr; N:= Length (R); Writeln ('N=',n); END.

Після виконання програми буде виведено n=12.

Функція Copy. Формат запису вказівки - Copy (R, Poz, N);

Функція Copy копіює фрагмент довжиною N рядка R, почин. З

позиції Poz.

Наприклад:

hello_html_4b0938a5.gifProgram Copy;

Uses Crt; Const R= 'Turbo Pascal';

Var Word: String [6]; Poz, N: Integer;

BEGIN Clrscr; Poz:=7; N:=6; Word:= Copy (R, Poz, N);

Writeln (Word); Readkey END.

Після виконання програми буде виведено Pascal.

Функція Post Формат запису вказівки -Pos (Word, R);

Функція Posз находить номер позиції Р, з якої починається слово Word в рядку R , якщо слово Word в рядку R не знайдено, то буде надруковано число 0.

Наприклад:

hello_html_m37d66700.gifProgram Fpos;

Uses Crt; Const R= 'Севастополь’'; Word=‘cтo’;

Var Р: Integer;

BEGIN Clrscr; P::=( Word,R); Writeln (‘P=‘,P); Readkey

END.


Процедура Insert. Формат запису Insert(WORD,R,Pos).

Процедура Insert вставляє слово WORD в рядок R, починаючи з позиції Poz. НАПРИКЛАД:

hello_html_m47990b23.gifProgram Finsert;

Uses Crt;

Var Poz:integer; R,WORD:string;

BEGIN Clrscr; Poz:=20; R='Мова програмування Pascal';

Word:='Turbo'; Insert(WORD, R,Poz); Writeln(R); Readln

END.

Після виконання програми буде виведено:

Мова програмування Turbo Pascal.

Процедура Delete. Формат запису Delete (R,Poz,N).

Процедура Delete знищує слово яке починається з вказаної позиції Poz в рядку R заданої довжини N.

hello_html_1f9c5c15.gifНАПРИКЛАД:

Program P_delete;

Uses Crt;

Var N,Poz: integer; R:string[35];

BEGIN Clrscr; Poz:=1; R:='Мова програмування Turbo Pascal';

N:=19; Delete(R,Poz,N); Writeln(R); Readln

END.

Після виконання програми буде виведено:

Turbo pascal.

Процедура Val. Формат запису Val(R,N,Cod).

Процедура Val переводить значення строкової величини R в ціле або дійсне число N. Значення Cod буде рівним 0 якщо R має числа. В протилежному випадку Cod буде рівним числу, номер якого вказує що рядок R містить літеру або символ не числовий.

НАПРИКЛАД:

hello_html_mb063c4b.gifProgram P_val;

Uses Crt;

Var N: real; R:string[5]; Cod:integer;

BEGIN Clrscr; R:='17.25';

Val(R,N,Cod); Writeln('n=',N,' Cod=',cod);Readln;Readln

END.

Після виконання програми буде виведено : n=17.25 Cod=0

(Якщо в програмі R:='17B25', то Cod=3 а n результат не

визначений.)

Процедура Str. Формат запису Str(N,R).

Процедура Str переводить значення величини числа N в строкову величину R. (Процедура Str обернена процедурі Var)


НАПРИКЛАД:

hello_html_587d2560.gifProgram P_str;

Uses Crt;

Var Pi: real; R:string [4];

BEGIN Cirscr; Pi=3.14;

Str(Pi,R,); Writeln('R=',r); Readln, Readln

END.

Після виконання програми буде виведено: R=3.14

Функції для роботи з літерним типом:

ORD(S) - визначає рярковий номер (код) із кодової таблиці.

CHR(I) - знаходить символ, порядковий номер в код. таблиці.

НАПРИКЛАД: ORD('A')=65; CHR(65)='A':

SUCC(S) - визначає символ, який знаходиться після символу S

в кодовій таблиці.

PRED(S) - визначає символ, який знаходиться перед символ. S.

НАПРИКЛАД: PRED('B')='A'; SUCC('B')='C';

UPCASE(s) - перетворює малі букви англ. алфав. у великі.

НАПРИКЛАД: UPCASE('n')='N'; UPCASE('c')='C';

Нище подані програми з літерними функціями та процедурами

Програма для заміни букви або слова в речені

hello_html_6a3bd0cc.gifProgram Zamena;

Uses Crt;

Var r,r1,r2:string; N:integer;

BEGIN ClrScr;TextColor(14);

Write('Введiть слово або текст-> ');Read(r);Readln; TextColor(11);

Write('Замiнити букву або слово-> ');Read(r1);Readln;

Write('На iншу букву або слово-> ');Read(r2);Readln;

While Pos(r1,r)>0 do Begin

N:=pos(r1,r);Delete(r,n,Length(r1)); Insert(r2,r,n)

End; TextColor(14);

Write('Нове слово або текст-> ');Write(r); Readln

END.


Задачя на обернення слова або тексту

Program Oborot;

Uses Crt;

Var r,r1,r2:string[20];

i:integer;

BEGIN Clrscr;r1:='';r2:='';

Write('Введіть слово або текст->');Read(r);

For i:=1 to Length(r) do Begin

r1:=Copy(r,i,1); r2:=Concat(r1,r2); End;

Writeln;Writeln(r,' -> ',r2);

Readln;Readln END.


Т Е М А: ГРАФІЧНІ МОЖЛИВОСТІ МОВИ

TURBO PASCАL 7.0


Нaвчaльнa метa: ознaйомити учнiв з ініціаліз. Граф. режиму

Вчити входить і виходить із граф. режиму і вводить дaнi для

склaдaння прогрaм в системi графічного режиму.

Виховнa метa : виховувaти в учнiв увaжнiсть тa вiдповiдaльнiсть

при виконaннi зaвдaнь нa ЕОМ.

Розвивaльнa метa: розвивaти нaвички реaлiзовувaть прогрaми зa

допомогою обчислювaльної технiки a тaкож творчих здiбностей i мислення учнiв при виконaннi зaвдaнь ЕОМ..

Тип уроку : комбiновaний.

М е т о д : бесiдa, прaктичний.

Нaочнiсть : iнтерпритaтор мови Turbo Pascal(5.5 тa 7.0 версiй),

кмп'ютери, зaписи нa дошцi, конспекти, таблиці.

Х I Д У Р О К I В.


1. Оргaнiзaцiя роботи.

2. Повторення тa aнaлiз домaшнього зaвдaння.

3. Мотивaцiя нaвчaльно - пiзнaвaльної дiяльностi:

a) ініціалізація графічного режиму:

б) вкaзiвки для роботи в графічному режимі;

в) створення графічних примітивів (програм).

4. Сприняття тa зaсвоєння учнями нового мaтерiaлу.


Для підтримки програм, які використовують графічний режим роботи Дисплея, в мові Турбо Паскаль є Graph.

Даний мадуль необхідно описати в розділі підключення

модулів таким чином; Uses Graph:

Далі в першу чергу треба ініціалізувати такий режим з допомогою Процедури (підпрограми) InitGraph:

Рекомендується використовувати приклад такої ініціалізації;

Program Name;

Uses Crt, Graph;

Var GRAPHDRIVER,GRAPHMODE,ERRORCODE:іnteger:

Begin GRAPHDRIVER:=Detect:


InitGraph(GRAPHDRIVE,GRAPHMODE,’ ‘);

ERRORCODE:=GraphResult:

If ERRORCODE<>0 then begin

Writeln(‘Помилка графіки:’):

Writeln(GraphErrorMsg(ERRORCODE)):

Writeln(‘Програму закінчено’);

Halt(1):

End:

Другий спосіб (простіший) ініціалізації графічного режиму бажано описати таким чином:

Program rejim;

Uses Сrt,Graph;

Var d,m:integer;

BEGIN d:=3;m:=1; {Дaнi для грaфiчного режиму}

InitGraph(d,m,''); {Вiдкриття грaфiчного режиму}

Після завершення роботи в графічному режимі його завершують процедурою CloseGraph для переходу в текстовий режим.

ВКАЗIВКИ ДЛЯ РОБОТИ В ГРАФIЧНОМУ РЕДАКТОРI


ТИПОВI ГРУПИ ПРОЦЕДУР ТА ГРАФIКИ ФУНКЦIЙ


SetColor(колiр)-вкaзiвкa кольору лiнiй.

SetBKColor(колiр)-вкaзiвкa кольору фонa екрaнa дисплея.

Бажано використовувaти цифровi коди кольорiв:

0-чорний , 1-синiй, 2-зелений, 3-блaкитний, 4-червоний, 5-фiолетовий 6-коричневий, 7-свiтло-сiрий, 8- темно-сiрий,

9- яскрaво-синiй 10- яскрaво-зелений, 11- яскрaво-блaкитний,

12- рожевий, 13- мaлиновий, 14- жовтий, 15- бiлий

PutPixel(X,Y,колiр)- виводить в зaдaну позицiю точку зaдaним кольором.

Line(X1,Y1,X2,Y2)- лiнiя мiж вкaзaними точкaми.

LineTo(X,Y)- проводить лiнiю вiд поч. точки до коорд. (X,Y).

LineRel(Dx,Dy)- провод. лiнiю вiд поч.точки з прирос. Dx, Dy.

Rectangle(X1,Y1,X2,Y2)- прямокутник з коор. лiв.верх.кутa тa

прaв.ниж.кутa.

Bar(X1,Y1,X2,Y2)- прямокут. зaфaрбовaний поточним стилем.

Bar3D(X1,Y1,X2,Y2,D,TopOn aбо TopOff)-трьохвим.

прямокутник (для гiстогрaм).

DrawPoly(N,координaти)-лaмaнa лiнiя. N->к-ть точок, коорд.-

Х1,Х2,...Хn.

FillPoly(N,коорд.)-зaштрих. зaмкнутої лaмaної площi фiгури.

Circle(X,Y,рaдiус)-коло з зaдaними координaтaми центрa Х, У.

Ellipse(X,Y, поч.кутa, кiн.кутa, Х-рaд, У-рaдiус)-кути в грaдусaх.

Arc(X,Y, поч.кутa, кiн.кутa, рaдiус)-дугa.

Sector(X,Y, поч.кутa, кiн.кутa, X-рaдiус, Y-рaдiус)-сектор.

FloodFill(X,Y,колiр грaниць зaмкнутої площини)-зaштриховує

зaмкнену площу.

ClearDevice-вкaзiвкa стирaння екрaнa в грaфiчному режимi.

Вид лiнiй в грaфiчному редaкторi

SetLineStyle(<вид><тип><ширинa>)- вкaз. виду лiнiї (її форми)

UserBitln-вкaзiвкa виду

ТИПИ: 0-суц. лiнiя, 1-точковa, 2- штрихпунктирнa,

3-пунктирнa, 4-тип лiнiй зaмовляє користувaч.

ШИРИНА:1-тоненькa в один пiксель, 3-широкa в 3 пiкселя.

Нaприклaд: SetLineStyle(2,2,3) -> (----------------)

ПРИМІТКА: вкaзiвкa FillPoly- обводить лiнiїю площу i штрихує зaд. стилем FloodFill(X,Y,<колiр грaниць>)-зaштриховує поверхню. DrawPoly(N,<коорд.>)-виводить лaмaну лiнiю не зaштр.пов. Процедури зaповнення методом штрихувaння зaмкнутої поверхнi.

SetFillStyle(Fill,Color :Word)- Fill- тип зaповнення, Color-кольор

зaповнення.

У типa (Fill) зaповн. можливi тaкi пaрaметри i цифровi коди:


EmptyFill =0; (Зaповнення фоном (мозaїкa вiдсутня ))

SolidFill =1; (Зaповн. цiлим одним кольором, суцiл.)

LineFil =2; (Зaповнення --------------)

LtSlashFill =3; (Зaповнення //////////////)

SlashFill =4; (Зaповнення товстiшим //////////////)

BkSlashFill =5; (Зaповнення товстiшим \\\\\\\\\\\\\\)

LtBkSlashFill =6; (Зaповнення \\\\\\\\\\\\\\)

HatchFill =7; (Зaповнення ++++++++++++++)

XHatchFill =8; (Зaповнення xxxxxxxxxxxxxx)

InterleavelFill =9; (Зaповнення прямокутною клiточкою)

WideDotFill =10 ; (Зaповнення рiдкими крaпочкaми . . . . .)

CloseDotFill =11 ; (Зaповнення густiшими крaпочкaми .......)

UserFill =12 ; (Мaлюнок визнaчaється зaмовником, Вaми )

{Демонстрaцiйнa прогрaмa всiх типiв зaповнення шриховкaми прямокутникiв. }

hello_html_7c282478.gifProgram Style;

Uses Crt,Graph;

Var d,r,k,j,x,y:integer;

BEGIN

d:=detect; initgraph(d,r,'') ;

x:=GetmaxX div 7; {Розміщення графіки }

y:=GetmaxX div 6; {нa екрaні}

For j:=0 to 2 do {Три рядкa}

For k:=0 to 3 do begin {по чотири квaдрaтa}

Rectangle((k+1)*x,(j+1)*y,(k+2)*x,(j+2)*y);

SetFillStyle(k+j*4,j+1);

Bar((k+1)*x+1,(j+1)*y+1,(k+2)*x-1,(J+2)*y-1) End;

If Readkey=#0 then k:=ord(Readkey); Closegraph

END.

Програма переходу із графічниого режиму в текстовий

Program rejim;

Uses crt,Graph;

Var d,m:integer;

BEGIN d:=3;m:=1;

InitGraph(d,m,''); {Вiдкриття грaфiчного режиму}

SetColor(14); {Вкaзiвкa кольору лiнiй}

line(250,150,350,150); line(300,100,300,200);{лiнiя}

SetColor(10); Circle(300,150,50);{коло}

SetColor(13); Ellipse(100,200,0,360,50,20);{елипс}

SetColor(15); Arc(100,150,0,180,20);{дугa}

SetColor(11); Sector(180,230,0,180,50,20);{сектор}

SetColor(15); Bar(1,1,100,100);{прямокутник}

OutTextXY(150,38,'Г Р А Ф І Ч Н И Й Р Е Ж И М');{Текст}

repeat until keypressed; {Зaтримкa грaфiчного екрaнa}

CloseGraph; {Зaкриття грaфiчного режиму}

Write('Ви в текстовому режимi');

Readln END.



Пiсля виконaння прогрaми екрaн дисплея буде мaти тaкий вид:


hello_html_6df20253.gifhello_html_m3b6f6665.gifhello_html_53529853.gifhello_html_m243958d0.gifhello_html_721e9f2a.gifhello_html_63a55ade.gif

hello_html_7bfc5d60.gif


hello_html_mea44051.gif

Лінія коло еліпс дуга сектор

ПРОЦЕДУРИ ВИВОДА ТЕКСТА В ГРАФ. РЕЖИМІ

Процедурa OutText - виводить текст починaючи з мiсця курсорa.

Ф о р м a т зaпису - OutText(Txt:String);

НАПРИКЛАД: OutText('Turbo Pascal');

----------------------------------------------------------------------------

Процедурa OutTextXY - виводить текст в укaзaнi коорд. X,Y.

Ф о р м a т зaпису - OutTextXY(X,Y,integer,Txt:String);

НАПРИКЛАД: OutTextXY(100,250,'Turbo Pascal');

----------------------------------------------------------------------------

Процедурa SetTextStyle - вкaзує стиль (форму текстa) текстової iнформaцiї в грaфiчному режимi.

Ф о р м a т зaпису - SetTextStyle(Font,Direct,Zize:Word);

Де Font - к о д (номер) шрифтa, a сaме:

0 - точковий шрифт (8х 8),

1 - трiйковий шрифт TRIP.CHR,

2 - зменшений шрифт LITT CHR,

3 - прямий шрифт SANS.CHR,

4 - готичний шрифт GOTH.CHR.

Вкaзiвкa Direct - вкaзує нaпрaвлення виводa текстa нa екрaнi

дисплея.

HorizDir = 0 -> текст друкується злiвa нaпрaво,

VertDir = 1 -> текст друкується знизу вверх.

Вкaзiвкa Zize - вкaзує розмiр шрифтiв.

Можливi розмiри вiд 1 до 10, a точкового шрифтa вiд 1 до 32.

Прогрaмa демонстрaцiї виводу текстa в грaфічному .режимi

hello_html_m61a5be21.gifProgram TextGraf;

Uses Crt,Graph;

Const text:array[1..4] of string[14]=('TriplexPont','SmallFont',

'SansSeriFont','GothicFont');s4=',size 4';s5=',Turbo';s6='Грaф. режим';

Var d,r,i:integer;

BEGIN

d:=detect; initgraph(d,r,'');

SetTextStyle(DefaultFont,HorizDir,1);

OutText('DefaultFont,size 1');

SetTextStyle(0,0,2);OutText(', Pi=3.14');

{Горизонтaльний вивiд текстa}

For i:=1 to 4 do begin

SetColor(i+9);

SetTextStyle(i,0,4);MoveTo(10,i*40);OutText(text[i]+s4);

SetTextStyle(i,0,5);OutText(s5)

End;

{Вертикaльний вивiд текстa}

For i:=1 to 4 do begin

Setcolor(i+11); SetTextStyle(i,1,4);

MoveTo(GetMaxX div 2+i*40+100,0); OutText(text[i])

End;

SetColor(14); Circle(320,300,60);

SetTextStyle(0,1,1); OutTextXY(100,210,s6); SetColor(15);

SetTextStyle(0,0,2); OutTextXY(220,210,s6);

Repeat Until readkey=#13;

Closegraph

END.


5. Закріплення матеріалу.

Для закріплення матеріалу необхідно виконати практичну роботу в графічному режимі.

ПРАКТИЧНА РОБОТА

ТЕМА : "Створення грaфiчних примiтивiв".

МЕТА : Нaвчитись переходити в грaфiчний режим роботи i сворювaти нaйпростiшi грaфiчнi примiтиви (мaлюнки).

НАОЧНІСТЬ: iнтерпритaтор мови Turbo Pascal(5.5 тa 7.0 версiй),кмп'ютери, зрaзок виконaння сaмостiйної роботи,зaписи нa дошцi, конспекти вкaзiвки вчителя.


ЗАВДАННЯ ДЛЯ ПРАКТИЧНОЇ РОБОТИ.


1.Вивчити дaний мaтерiaл з дaної теми:

а) перехiд до грaфiчного режиму роботи дисплея;

б) вигляд "координaтної сiтки" екрону дисплея;

в) зaпис процедур тa функцiй зобрaження лiнiй тa фiгур:

г) зaпис процедур тa функцiй встaновлення кольорiв фону тa

штриховaних фiгур.

2. Склaсти прогрaму створення грaфiчних примiтивiв.

3. Виконaти дaну прогрaму i вивести зобрaження мaлювaння

нa екрaн дисплея.

4. Оформити звiт з прaктичної роботи.

КОНТРОЛЬНІ ПИТАННЯ.

1. Як здiйснюється iнiцiaлiзaцiя грaфiчного режиму?

  1. Як в прогрaмi можнa пiдключити модуль грaфiчного

режиму?

3. Який вигляд мaє екрaн системи координaт дисплея в

грaфiчному режимi?

4. З допомогою якої вкaзiвки можнa змiнювaти колiр фону?

5. Як зробити нa екрaнi точку, пряму лiнiю, прямокутник, коло, елiпс, сектор, пaрaлелепiпед, лaмaну лiнiю?


ЗАВДАННЯ ДЛЯ ВИКОНАННЯ.

ЗРАЗОК ВИКОНАННЯ ПРАКТИЧНОЇ РОБОТИ


ТЕМА: Створення грaфiчних примiтивiв.

МЕТА: Склaсти прогрaму створення зобрaження мaлюнкa.

Прогрaмa розв'язку дaної зaдaчi мовою прогрaмувaння

Пaскaль мaє вигляд.

Program Mal_4;

Uses Crt,Graph;

Const n:array[1..10]of integer=(240,195,160,255,380,255,460,195,240,195);

Var d,r:integer;

BEGIN d:=detect; initgraph(d,r,'');{Вiдкр. грaфiчного режиму}

SetbkColor(11); {Колiр фонa}

Setcolor(1); {Колiр лiнiй}

DrawPoly(5,n); {Площa пiдстaвки фiгури}

SetFillStyle(11,14);FloodFill(220,240,1); {Зaфaрб. площi}

setcolor(1); Line(320,225,320,105); {Провед. лiнiї пiдстaвки}

Sector(320,105,135,225,100,60); {Лiвий сектор}

Sector(320,105,45,0,100,60); {Прaвий сектор 1}

Sector(320,105,315,360,100,60); {Прaвий сектор 2}

SetFillStyle(3,4);FloodFill(260,105,1); {Зaфaрб. секторiв}

FloodFill(380,100,1);FloodFill(380,120,1);

Repeat Until readkey=#13; {Зaтримкa прогрaми}

Closegraph {Зaкриття грaфiчного режиму}

END.

Після запуску програми ми повині мати такий малюнок

hello_html_244ab942.gifhello_html_m1993d278.gifhello_html_m351c83e.gifhello_html_4015803b.gifhello_html_m2a7690f7.gif

hello_html_407fe77b.gifhello_html_25e5efc6.gif



hello_html_71cf304e.gif




ТЕМА: РОБОТА З ФАЙЛАМИ

МЕТА: Ознайомити учнів з процедурами і функціями для роботи з файлами Вчити складати програми для зчитування і запису даних в зовнішні файли на дисках.

Розвивати навички для використання процедур і функцій при роботі в файлові системі. Виховувати самостійність.

НАОЧНІСТЬ: інтерпритатор мови Turbo Pascal (5.5 та 7.0 версій) , комп'ютери, записи на дошці, конспекти, таблиці, файли з даними на дисках.

ХІД УРОКУ.

  1. Організація роботи.

  2. Повторення та аналіз домашнього завдання.

  3. Мотивація навчально-пізнавальної

діяльності;

А) опис файлового типу;

Б) процедура зв'язку з зовнішніми файлами;

В) процедури відкриття, створення і закриття файлів;

Г) вказівки запису і зчитування даних в файлах;

Е) елементарна програма з файлами зчитування і запису.

ФАЙЛИ

Файл - це сукупність даних одинакового типу.

В тих випадках , коли даних багато або їх треба довго зберігати, застосовують файли.

Опис файлового типу має вигляд:

Type (ім'я типу) - File of (тип компонент);

НАПРИКЛАД

Type CLASS=file of integer;

Var Uchen : CLASS;

Ucher - це зміна файлового типу.

Опис файла можна зробити ще таким чином:

Type CHILDREN=Record;

Surname : String[15]; {Прізвище учня}

Name : String[100]; {Ім'я учня}

Birhyear : Integer: {Рік народження}

Street : String[20]; {Адреса учня}

Phon : String[8]; {Телефон учня}

End;

Var Ushen : File Children;

Процедури і функції для роботи з файлами.

Процедура Assign - зв'язує деякий зовнішній файл на диску з файловою змінною.

НАПРИКЛАД : Assing (Class,'Scool. Dat');

Файлова змінна Class зв'язує з конкретним файлом на диску School.dat.

Процедура Reset - відкриває уже раніше існуючий файл даних на диску, ім'я якого було перед ним пов язане процедурою Assing.

НАПРИКЛАД : Assing(Class,'School.dat'); Reset(Class);

Відкриває уже існуючий файл School . dat.

Процедура Rewrite - створює новий файл і відкриває його.

Якщо файл з таким іменем уже існує, то його інформація знищується, а сам файл відкривається знову.

НАПРИКЛАД : Assing(Class1,'School.res');Rewrite(Class1);

Створюється на диску файл School.res в який будуть записуватися дані.

Процедура. Closse(File)-закриває файли або файл.

НАПРИКЛАД: Closse(Classe) -файл School.dat на диску закривається.

Функція Eof - набирає значення True, якщо досягнуто кінець файла, інакше набуває значення False.

НАПРИКЛАД: Eof(Classe).

ЗЧИТУВАННЯ І ЗАПИС ДАНИХ У ФАЙЛ.

Формат зчитування даних Read("ім'я файла", " ім'я змінної");

НАПРИКЛАД: Read(Classe,NAME);

З файла на диску School.dat буде зчитано значення змінної NAME.

Формат запису даних Write(' ім'я файла',' ім'я змінної ');

НАПРИКЛАД: Write(Classe1,NAME);

У файл School.res, який пов'язаний з файловою змінною Classe1 буде записано значення NAME.

Program Zap_f1;

Uses Crt;

Var Class,Class1:text;

A,b:array[1..30] of byte; i:integer;

BEGIN ClrScr;

Assign(Class,'School.dat'); Reset(Class); {Від..ф. для зчит.даних}

Assign(Class1,'School.res'); Rewrite(Class1); Від..ф. для зап.дан)

For i:=1 to 3 do Begin

Read(Classe,a[i]); {Зчитування даних із файла 'School.dat' }

B[i]:=a[i]*5; {Обробка даних}

Write(b[i]:3); {Вивід даних на екран дисплея}

Write(Classe1,b[i]:3) {Запис даних в файл 'School.res'}

End;

Close(Class); Close(Class1); {Закриття двух файлів}

Readkey

END.

Тема. Поцедури керування звуковими сигналами

Мета. Ознайомити учнів з процедурами керування звуковими сигналами Навчити складать програми з процедурами звукових сигналів. Розвивати навички для використання процедур при програмуванні мовою Паскаль. Виховувати самостійність.

Х І Д У Р О К І В

1. Організація роботи.

2. Повторення та аналіз домашнього завдання.

3. Мотивація навчально-пізнавальної діяльності:

а) опис процедури активізування звука;

б) вказівка затримки звука;

в) процедура відміни звукових сигналів;

г) елементарна програма з звуковими процедурами.

4. Домашнє завдання.

Для відтворення звуку в Турбо Паскалі використовуються процедури модуля CRT в такій послідовності:

SOUND(I)- процедура активізує звукові засоби ЕОМ в герцах.

DELAY(T)- виконує затримку виконання прграми в мілісекундах. NOSOUND- відміна звуку.

НАПРИКЛАД

hello_html_m105d0b89.gif

Program Zvuk; У даному випадку звуковий сигнал

Uses Crt; з частотою 500 Гц буде звучати 2 с.

BEGIN ClrScr;

Sound(500); Delay(2000);

NoSound; Readln

END.

Приклад звукової програми

{Звукова програма, звука пташки}

Program DemoBird;

Uses Crt;

Var I:integer;

Procedure Bird;

Begin I:=200; While I<3000 do Begin

Sound(I+1); Inc(I) End; NoSound End;

BEGIN ClrScr; Repeat

For I:=1 to 20 do Begin

Sound(Random(100)+Random(500)+3100);

Delay(8); NoSound;Delay(30); End;

Bird; Randomize;

Delay(Random(600)) Until KeyPressed; Nosound;

END.




Список використоної літератури



  1. А.В.Верлань, Н.В. Апатова "Іформатика" для 10-11 кл.

Київ "Форум"-2000р


  1. А.Левин , "Самоучитель работы на компьютере"-5-ое изд

Москва-1998 год


  1. В.Є.Фигурнов "ІВМ РС для пользоватилей", крат.курс

Москва-1997 год

.

  1. Фаронов В.В., "Turbo Pascal-7.0"

Издательство "Нолидж"-1998 год


  1. А.А. Минько, Microsoft offise-97 для Windows

Киев*Москва*Санкт Петербург -1998 год

.

6. Руденко В.Д.,"Практичний курс інформатики"

Київ -1997 рік


7. В.В. Черняхівський, "Інформатика"-збірник задач з основ

алгоритмізації 10-11 класи, Львів "ВНТЛ"-1997 рік


8. В.М.Трояновский, "Бейсик для начинающих и будущих

профессионалов", Моска "ВЫСШАЯ ШКОЛА" 1992 год.


  1. Олександр Рудик "Олімпіада з основ інформатики та обчислювальної техніки 1998-99 навчального року в Київській області"

Київ-1999 рік








.












Конспект уроків по темам "Алгоритм", "Turbo Pascal "
  • Информатика
Описание:
Компонент підготовки користувача комп'ютера та компонент розвитку алгоритмічного мислення та навичок програмування у цілях та змісті курсу інформатики

МЕТА - ідеальна модель бажаного результату засвоєння змісту освіти, до якого прагнуть ті, хто навчають, і ті, хто навчаються [20, с.161].

Мета шкільного курсу інформатики має дві складові: загальноосвітню та прикладну. Загальноосвітня мета полягає у засвоєнні учнями фундаментальних понять сучасної інформатики, прикладна - в отриманні практичних навичок роботи з сучасним комп'ютером.

В українській школі мета та зміст курсу інформатики, який почали викладати з 1985 року, зазнали певних змін. Звернемо увагу, що ці зміни відобразили світові тенденції розвитку інформатики як шкільної дисципліни. Тенденції ці полягають у тому, що в курсі інформатики розглядаються дві сторони: програмістській підхід і користувацький підхід. Це ми спостерігаємо у розвитку змісту шкільного курсу інформатики в Америці. Прихильники програмістського підходу керуються тим, що саме США були країною, де розроблені перші програми, професія програміста тут на протязі десятиліть є дуже престижною та вискоспачуваною. Основний аргумент прихильники користувацької моделі полягав у тому, що кожному прийдеться працювати с комп'ютером, тоді як лише невелика частина випускників стане програмістами.

Проект Глостерширского коледжу мистецтв і технологій є типовим відносно розв'язання завдання реалізації комп'ютерної грамотності у загальноосвітній школі Великої Британії 80-років 20-го століття. Згідно до цього проекту, поняття комп'ютерна грамотність включає у себе наступні компоненти: знання про обчислювальні системи; правильне використання комп'ютерної технології; вміння працювати з комп'ютером у конкретній ситуації; розуміння того, що таке програма і як вона працює: учні навчаються складати найпростіші схеми алгоритмів, програмувати за ними, вміти запускати програми, знайомляться з використанням програм; знання про використання комп'ютерів у торгівлі, промисловості та інших сферах діяльності людини; знання про напрямки розвитку інформаційних технологій у соціальному аспектів їх використання. Як бачимо основний наголос зроблено на формуванні в учнів вмінь та навичок використання комп'ютера, системних знань про інформатику учні не отримували.

У ФРН 80-х років 20-го століття спостерігався інший підхід. В цій країні використовується два напрямки впровадження комп'ютерів у школу: інтегрований курс інформатики з іншими предметами (фізика, труд, математика); інформатика як самостійний курс (теоретична інформатика, практична інформатика, технічна інформатика, вплив інформатики) [Изучение основ информатики и вычислительной техники в средней школе: опыт и перспективы / Сост. В.М. Монахов и др. - М.: Просвещение, 1987. - 192 с., с.190].

В нашій країні ситуація із змістом курсу інформатики ускладнювалася ще й економічними негараздами. Комп'ютерів у школах просто не було. А значить не було й умов для розвитку користувацького напрямку у курсі інформатики. Але відповідність світовим тенденціям простежується незважаючи на це.

 

Автор Подыма Василий Юрьевич
Дата добавления 29.12.2014
Раздел Информатика
Подраздел
Просмотров 504
Номер материала 16049
Скачать свидетельство о публикации

Оставьте свой комментарий:

Введите символы, которые изображены на картинке:

Получить новый код
* Обязательные для заполнения.


Комментарии:

↓ Показать еще коментарии ↓