25. Методика навчання процедурного програмування


Скачати 67.36 Kb.
Назва25. Методика навчання процедурного програмування
Дата05.04.2013
Розмір67.36 Kb.
ТипДокументи
bibl.com.ua > Література > Документи
25. Методика навчання процедурного програмування.

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

Кожна мова програмування має свій алфавіт, фіксований словник, синтаксис і семантику. Для описування алгоритму такою мовою використовується певний набір символів – алфавіт мови. Алфавіт складається зазвичай з літер латинської абетки, цифр, спеціальних символів (дужки, роздільники), знаків логічних операцій (not, and, or та ін.), знаків операцій порівняння (=, <, > та ін.). З цих символів складаються і так звані ключові слова мови. Кожне з ключових слів має певне призначення. Ключові слова зв’язуються одне з одним за певними синтаксичними правилами мови. Кожне речення визначає певну послідовність дій, які повинен виконати комп’ютер. Словник мови програмування складається з кінцевого фіксованого набору ключових слів, наприклад, integer, while, var тощо. Сукупність правил побудови описів програм деякою мовою програмування називають синтаксисом мови програмування. Правила семантики пояснюють, яке смислове значення має опис кожної з вказівок програми і які дії повинен виконати комп’ютер під час виконання кожної з таких вказівок. У будь-якій мові програмування можна виділити чотири типи елементів, що використовуються при побудові описів програм: символи, слова, виразі і вказівки (оператори). Символи мови – це основні неподільні знаки, за допомогою яких описують програми і дані. Слова мови – структури, утворені із символів і які є мінімальними одиницями, що мають деякий смисл. Слова – це імена (позначення, ідентифікатори) змінних величин, числа, службові слова, які використовуються в описах вказівок. Правила запису ідентифікаторів: 1) Усі ідентифікатори складаються з літер латинської абетки, цифр, починаються з літери або знака підкреслення "_"; 2) Великі і малі літери на розрізняються; 3) Ідентифікатори можуть мати різну довжину, але використовуються тільки перші 63 символи. Вираз – це текст, який задає правило обчислення одного значення того чи іншого типу. Якщо одержуване значення числове, о вираз називають арифметичним. Якщо одержуване значення логічне, то вираз називають логічним, чи булівським. Якщо одержуване значення – текст, то вираз називають літерним. Вказівка – це вказівка про виконання певної дії. У мовах програмування застосовуються вказівки трьох типів: 1) вказівки про безумовне виконання деякої дії чи набору дій: надання значень, уведення, виведення, виконання алгоритму; 2) Вказівки розгалуження; 3) Вказівки повторення.

Структура опису програми мовою Паскаль.

1. Заголовок програми: Службове слово program та ім’я програми

program <ім’я програми>

2. Розділ описів: описуються всі ідентифікатори об’єктів, що використовуються в даній програмі. Описати ідентифікатор – значить указати його ім’я і тип

uses <опис модулів>;

label <мітки>;

const <оголошення констант>;

type <визначення типів даних>;

var <оголошення змінних>;

<опис процедур і функцій>

3. Розділ операторів (тіло програми): зазначається послідовність дій, які необхідно виконати над описаними об’єктами. Починається службовим словом begin, закінчується – end.

begin

оператор 1;

оператор 2;

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

оператор n;

end.
Опис процедур та функцій процедурною мовою програмування. Формальнi та фактичнi параметри. Стандартні процедури та функції, локальні та глобальні змiннi.

Підпрограма – це самостійна частина програми, що реалізує певний алгоритм. Підпрограми зручно використовувати, коли в програмі доводиться виконувати ті самі дії, але з різними даними. Розрізняють два типи підпрограм: процедури і функції. Головна відмінність між ними полягає у тому, що функція повертає значення і може бути використана у виразі, а процедура може бути викликана на виконання.

Формальні параметри – це параметри, описані в заголовку процедури. Значення величини, що вказується у виклику процедури, називається фактичним параметром процедури, або параметром виклику процедури. Кількість і тип фактичних параметрів мають суворо відповідати кількості й типам формальних параметрів. Зміст використовуваних фактичних параметрів залежить від того, у якому порядку вони перераховані при виклику процедури. Фактичний параметр є значенням, що замінює собою формальний параметр при виконанні процедури; з цим значенням параметра виконується викликана процедура. Локальні змінні (від лат. – місце) – це змінні, описані в розділі описів підпрограми. Локальні змінні можуть використовуватися й мінятися тільки операторами даної підпрограми. Локальні об’єкти створюються при вході в процедуру і знищуються при виході з неї.

1. Локальні змінні недоступні поза процедурою чи функцією.

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

Глобальні змінні – це змінні, описані в розділі описів головної програми.

1. Глобальні змінні доступні поза процедурою чи функцією.

2. Будь-яка зміна глобальної змінної у процедурі змінює її значення поза процедурою.

Процедури:

1. Стандартні (є частиною ТУРБО-системи і можуть бути викликані без оголошення): процедури для роботи з рядками; процедури для роботи з файлами; процедури розміщення динамічних параметрів; процедури введння-виведення; процедури завершення

2. Які визначаються користувачем (оголошуються у розділі описів)

Для використання процедур у програмі широко розповсюдженою мовою програмування Паскаль їх необхідно описати в розділі описів головної програми. Опис міститься в програмі після розділу опису змінних і складається і з заголовка і тіла процедури. Заголовок процедури складається із службового слова procedure, ідентифікатора процедури і списку формальних параметрів, взятого в круглі дужки. Елементи списку параметрів відокремлюються один від одного комами:

procedure <ім’я процедури> (<параметри>);

Тіло процедури за структурою аналогічне програмі, тобто містить описи об’єктів: міток, констант, типів, змінних, а також розділ операторів. Розглянемо як приклад процедуру обчислення дискримінанта квадратного рівняння:

procedure Discr (A, B, C, D: real);

begin

D:=B*B-4*A*C;

end;

У цій процедурі використано змінні A, B, C, D типу real, що виступають як формальні параметри

Функція – це різновид підпрограми. Функція повертає значення і може бути використана у виразі. Правила відповідності між фактичними і формальними параметрами у разі алгоритмів-функцій залишаються такими самими, як і для алгоритмів-процедур. Відмінність функцій від процедур полягає у тому, що результати обчислень, виконаних процедурою, присвоюються певним аргументам процедури, в той час як результат обчислення функції присвоюється самій функції.

Для використання функції в програмі мовою Паскаль її необхідно описати в розділі головної програми. Опис функції починається з заголовка function і закінчується типом даних значення, що повертається:

function <ім’я функції> (<параметри>): <тип даних>;

Складений оператор, що розташовується в описі функцій після заголовка і, можливо, після опису локальних міток і змінних, повинен обов’язково містити у собі оператор присвоювання, у якому ліворуч від := розміщене ім’я функції.

Розглянемо як приклад функцію обчислення площі трикутника за формулою Герона:

function Geron (a,b,c: real): real;

var p: real;

begin

p:=(a+b+c)/2;

Geron:=Sqrt(p*(p-a)*(p-b)*(p-c))

end;
Рекурсивнi алгоритми. Реалізація рекурсивних алгоритмів процедурною мовою програмування

Рекурсія – спосіб звернення процедури або функції до самої себе, але із зміненими вхідними даними. Рекурсію зручно використовувати в задачах, що зводяться до розв’язання підзадач одного типу, але різної розмірності. Наприклад, обчислення факторіала числа n можна подати через звертання до обчислення факторіала числа n-1:

n!=n(n-1)!

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

Будь-яка рекурсія містить три елементи: 1) початкове значення проміжного результату (на нульовому кроці) перед початком прямого ходу; 2) спосіб одержання проміжного результату на і-му кроці прямого ходу через проміжний результат, одержаний на (і-1)-му кроці; 3) умова завершення процесу.

Приклад: задача Фібоначчі

fib(1)=1; fib(2)=1;..., fib(n)=fib(n-1)=fib(n-2).

Одержали рекурентне співвідношення, де черговий член послідовності виражається через два попередні, за винятком перших двох членів.

function fib (n: integer): integer;

begin

if (n=1) or (n=2)

then fib:=1

else fib(n)=fib(n-1)=fib(n-2)

end;
Модульне програмування та його реалізація в системах процедурного програмування.

Модуль – це автономно компілююча програмна одиниця, що включає в себе різні компоненти розділу описів (типи, константи, змінні, процедури і функції)

Структура

Unit <ім’я>;

Interface <інтерфейсна частина>;

Implementation <виконуюча частина>;

Begin <ініціююча частина>;

End.

Огляд стандартних модулів

В ТР є 8 стандартних модулів: system, dos, crt, printer, graph, overlay, turbo3, graph3.

system. До нього входять всі стандартні процедури і функції Паскаля, а також вбудовані процедури і функції, що не ввійшли в інші стандартні модулі.

printer. Вивід тексту на принтер

crt. Входять процедури і функції, що забезпечують управління текстовим режимом роботи екрана. Можна переміщувати курсор в будь-яку позицію екрана, змінювати колір символів і фону.

Схожі:

26. Методика навчання процедурного програмування
Програма в машинних кодах являє собою послідовність команд, які процесор може сприйняти і виконати безпосередньо. Кожний тип машин...
29. Опис та використання підпрограм
Реалізація базових алгоритмічних структур процедурною мовою програмування. Опис процедур та функцій процедурною мовою програмування....
27. Методика навчання обєктно-орієнтованого програмування. Об'єктно́-орієнтоване́...
Не зважаючи на те, що ця парадигма з'явилась в 1960-тих роках, вона не мала широкого застосування до 1990-тих. На сьогодні багато...
Методика навчання фізики як наука. Методологія педагогічних досліджень
Актуальні проблеми методики навчання фізики Вступ. Методика навчання фізики як наука
Програма курсу програмування на мов і С++
Курс націлений на отримання знань і практичних навиків програмування на мовах C і C + + в рамках процедурно-орієнтованого програмування....
Основні методології (стилі, парадигми) програмування. Поняття програми....
Дів розробки програм Граді Буча “О’єктно-орієнтоване програмування (ООП) – це методологія програмування, яка заснована на представленні...
2. Дробово-лінійне програмування Постановка задачі дробово-лінійного...
Дослідження операцій”, “Економетрія”, “Моделювання економіки”, “Економічна кібернетика” а також дисциплін циклу загальноекономічної...
Курс програмування на С #
Зусилля, які ви витратите на вивчення С #, будуть винагороджені, так як Сі Шарп був розроблений в якості основної мови програмування,...
ПОРЯДОК проведення відкритої Всеукраїнської студентської олімпіади з програмування
Першості світу) з програмування АСМ-ICPC (Association for Computing Machinery International Collegiate Programming Contest), яка...
27. Процедурні мови програмування
Процедурні мови програмування. Характеристика процедурних мов програмування. Алфавіт. Основні поняття мови: числа, рядки, ідентифікатори,...
Додайте кнопку на своєму сайті:
Портал навчання


При копіюванні матеріалу обов'язкове зазначення активного посилання © 2013
звернутися до адміністрації
bibl.com.ua
Головна сторінка