Програма на мові Turbo Pascal, лінійні програми Команди галуження, вибору та мітки переходу
Вид материала | Конспект |
- Компоновать программы из отдельных частей отлаживать программы выполнять программы., 197.76kb.
- Програма Turbo Pascal хід урок, 100.3kb.
- Б. В. Ващук Turbo Pascal, 715.52kb.
- Розділ лінійні програми вступ поняття програми. Мова програмування середовище програмування., 1210.78kb.
- Программирование на языке высокого уровня, 59.92kb.
- Конспект урока по информатике для десятого класса по теме «Условный оператор в Turbo, 32.44kb.
- Доманская Юлия Георгиевна г. Вилейка 2006г пояснительная записка, 74.95kb.
- Опис програми та даних 8 Тестування 9 Список літератури 10 Додаток (роздрук програми), 90.22kb.
- Курс «Программирование на языке Turbo Pascal 0» Цель курса, 19.6kb.
- Задачи работы Научиться создавать программы на языке Turbo Pascal с использованием, 598.05kb.
Тема: Процедури і функції в 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);
Наприклад:
Program 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).
Наприклад:
Program 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.
Наприклад:
Program 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.
Наприклад:
Program 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. НАПРИКЛАД:
Program 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.
НАПРИКЛАД:
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 містить літеру або символ не числовий.
НАПРИКЛАД:
Program 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) НАПРИКЛАД:
Program 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';
Нище подані програми з літерними функціями та процедурами
Програма для заміни букви або слова в речені
Program 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: