Програма на мові Turbo Pascal, лінійні програми Команди галуження, вибору та мітки переходу

Вид материалаКонспект
Х i д у р о к у.
Форми запису фрагментів алгоритмів повторення
Тема: Допоміжний алгоритм(підпрограми).
Виховнa метa
Х i д у р о к у.
Допоміжні алгоритми (підпрограми
Програми і мови програмування
Мова програмування
Компілятори та інтерпретатори
Мова програмування pascal
Мова складається з трьох основних компонентів: абетка + синтаксис + семантика
Службові слова
Знаки пунктуації
Структура програми.
Program та імені програми, після якого ставиться ;. Наприклад. Program SUMMA
Uses CRT; {Розділ підключення модулів з системної бібліотеки! Label
Crt, dos, graph
Var- ключове слово опису величин; Integer
Подобный материал:
1   ...   4   5   6   7   8   9   10   11   ...   17

Х 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. Цикл "До" застосовується до виконання "Умови" і виконується хоча б один раз.

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


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




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

Пц Пц

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

Кц Кц

До умова Р


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

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

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

Пц

серія команд

Кц

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


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

нач вещ 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лу. Допоміжні алгоритми (підпрограми)

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

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

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

НАПРИКЛАД:




Алг середні значення(дійс таб Х[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



¦ i:=2

¦ нц пока i<=x

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

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

¦ ¦ ¦ i:=x

¦ ¦ все

¦ ¦ i:=i+1

¦ кц

кон


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

нач цел a1

¦ a1:=a

¦ нц пока a1<>b

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

¦ ¦ ¦то вывод a1

¦ ¦ все

¦ ¦ a1:=a1+1

¦ кц

кон

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

нач цел i,x

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

¦ x:=int(sqrt(n))


Загальні відомості про програмування

У цьому розділу ви ознайомитесь з:
  • історією програм і програмування;
  • поняттям мови програмування, алфавіту і синтаксису;
  • поняттям компілятора й інтерпретатора.

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

Програми і мови програмування

Що таке програма і коли з'явилося це поняття? Нині, мабуть, не кожен програміст відповість на це запитання. Історія програм починається в далеких 0-х роках XIX століття, коли англійський дослідник Ч. Бебідж висунув ідею про попереднІй запис дій обчислювальної машини.



До появи обчислювальних машин робилися спроби керувати ткацькими верстатами. Програми для вер­статів записувалися на перфокарти, що були вигадані Чарлзом БебІджем і французьким винахідником Жозе-фом Жаккаром. З них почалася історія програмування, а трохи пізніше почали закладатися теоретичні основи цієї науки. Разом з Бебіджем працювала його сучасниця Ада Лавлейс (дочка великого англійського поета Джорджа Байрона), яку називають першим у світі про­грамістом. Вона ввела до програмування терміни і по­няття, які застосовуються і донині (наприклад, поняття циклу - найважливішої структури будь-якої сучасної мови програмування). На честь першої програмістки ула названа мова програмування «Ада», розроблена уже за наших часів.

У XX столітті з'явилися електронні обчислювальні машини. Перші програми пя них записувалися в машинних кодах. Для написання правильної програми

прогаміст мав детально уявляти роботу ЕОМ. Це дуже ускладнювало

спілкування людини з комп'ютером, тому вони стали серйозно замислюватися над кодуванням програм і дійшли висновку, що програма має складатися мовою, доступнішою для людини, ніж мова машинних команд. Тому необхідно було створити мови програмування.

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

Оскільки мова програмування незрозуміла для обчислювальної машини, має бути спеціальна програма, яка перекладала б символи цієї мови мовою машинних команд. Така програма перекладу символів, або, простіше, транслятор (від англійського слова translation - переклад), була створена на початку 50-х років XX століття аме­риканською програмісткою, контр-адміралом морських сил США Грейс Хопер.

Транслятор - це програма, яка перетворює команди мови програму­вання на машинний код.

З винаходом трансляторів роль машинних команд у програмуванні різко зменшилася. Перші транслятори призначалися для мов Асемблера (мов низь­кого рівня). У 50 - 60-ті роки почали створюватися мови програмування висо­кого рівня. Зазначимо, що близькі до числового коду процесора мови називають мовами низького рівня, а мови, зручні для людини, - мовами високого рівня. Мова найнижчого рівня - мова машинного кодування. Трохи вище - мова Асемблера, у якій машинні команди замінюються мнемонічними скороченнями. Всі інші мови програмування є мовами вищого, ніж мова Асемблера, рівня. Дві популярні нині мови високого рівня - Basic (Бейсік) і Pascal (Паскаль) - розгля­датимуться в наступних двох главах книги.

Програма записується в текстовому редакторі мовою програмування і на­зивається вихідним кодом (текстом). Він складається зі спеціальних команд -операторів мови програмування. За допомогою перекладача-транслятора вихід­ний код програми перетвориться на машинний код. Під час виконання програми комп'ютер діє так, як йому запропоновано заздалегідь (див. пункт «Основні терміни», § 7).

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

Компілятори та інтерпретатори

Отже, для перекладу тексту програми на мову, зрозумілу для комп'ютера, має існувати окрема програмна оболонка транслятор. Транслятори бувають двох видів: компілятори й інтерпретатори. Компілятор перетворює вихідний код програми на машинну мову, тобто мову нулів і одиниць. До одержаного коду підключаються стандартні процедури, використані програмістом, вна­слідок чого з'являється робоча програма - її називають робочим кодом. Файли таких програм мають розширення .ехе чи .com і є машинним кодом.

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

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

Щоб краще зрозуміти відмінність між компілятором і інтерпретатором, на­ведемо порівняння. Робота програми компілятора схожа на роботу літератур­ного перекладача, що спочатку читає текст, аналізує його, а потім виконує переклад. Роботу програми інтерпретатора можна порівняти з роботою синх­ронного перекладача, який перекладає відразу під час озвучення тексту. Зрозу­міло, що літературний переклад буде якіснішим, ніж синхронний. Аналогічно код, отриманий під час компіляції, буде компактнішим і ефективнішим, ніж код інтерпретатора. Як наслідок, відкомпільовані програми можуть працювати в десятки разів швидше, ніж виконувані під керуванням інтерпретатора. Крім того, компілятори під час своєї роботи займають меншу частину ресурсів ком­п'ютера.

Отже, компілятори - ефективніші перекладачі програм. Тому всі прикладні та службові програми поставляються у відкомпільованому вигляді. Мови, для яких Існують програми-компілятори, - це компільовані мови Pascal, C++, Delphi, Fortran тощо.

Коли час виконання програми не занадто критичний, наприклад під час нав­чання і виконання приватних завдань, зручно використовувати інтерпретовану мову. Найпростіша і найпоширеніша з них - мова програмування Basic. Іншими прикладами є інтерпретовані мови " onclick="return false">
Інтегроване середовище програмування

Сучасні мови програмування - це не тільки мова програмування з ком­пілятором. Мови програмування як програмні продукти комплектуються інстру­ментами для створення програм. Такий комплект називається інтегрованим середовищем програмування. Він призначений не тільки для полегшення процесу складання програм, а й для професійної розробки додатків. До складу інтегро­ваного середовища програмування входять, як правило, такі інструменти:
  • текстовий редактор для набору і редагування програми;
  • мова програмування з компілятором;
  • компонувальник;
  • система усунення синтаксичних помилок; покроковий наладчик;
  • бібліотека готових програмних модулів;
  • довідкова система з питань розробки програм у даному середовищі.

Прикладами інтегрованих середовищ програмування є Turbo Pascal, Delphi, Visual Basic і безліч інших. Використання цих середовищ під час розробки додатків дозволяє користувачам докладати набагато менше зусиль, ніж при написанні програм мовами низького рівня.

Створення програми починається зі складання алгоритму, орієнтованого на певне інтегроване середовище програмування. Алгоритм перекладається на мову програми і вводиться з клавіатури у вікно текстового редактора. Після набору тексту з клавіатури і виправлення помилок потрібно відправити програму

МОВА ПРОГРАМУВАННЯ PASCAL

Мова програмування Паскаль є однією із сучасних мов профамування високого рівня. Її автор Ніклуас Вірт, професор Цюріхського університету, директор. Інституту інформатики Швейцарської вищої політехнічної школи.

Перше повідомлення про мову програмування Паскаль опубліковано в 1971 році. Мова програмування Паскаль вимагає від програміста визначення всіх змінних на початку програми в певному розділі оголошень. Оскільки це визначення задано у явному вигляді, то в Паскаль-програмі незрівнянно легше виявити, зрозуміти і виправити помилки програмістові, що не є автором програми. Це визначило мову програмування Паскаль як навчальну мову у багатьох навчальних закладах.

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

Успіх мови програмування Паскаль набагато перевищив надії її творця. В 70-і роки зароджувався рух за структуроване програмування, що в свою чергу ставило метою перегляд способів розробки програм, і початок тому було покладено книжкою "Структуроване програмування" К.А.Р. Хоара, норвежця О.Дж.Дала та гол панд ця Ь.Дійкстри у 1972 році.

Для персональних ЕОМ Філіпом Каном — засновником фірми "Борланд Інтернешнл" була розроблена, а потім фірмою неодноразово вдосконалена версія Турбо Паскаля..

Мова складається з трьох основних компонентів:
абетка + синтаксис + семантика


Набір допустимих Лексеми та правила Робота компілятора
символів складання речень та обробка помилок

ASCII коди Команди, вирази Тлумачення


АБЕТКА

1. Латинські літери та символ 2. Десять арабських цифр:

підкреслення: 0,1,2,3,4,5,6,7,8,9

А.В.С X,Y,Z,a1b,c...,а,в,с, _;


3. Двадцять два спецсимволи:

+ -*/ = ><., ;:@'(){ }[ ]# $ ”

ЛЕКСЕМИ

Мінімальна одиниця мови, що має самостійний зміст:

1.Службові (зарезервовані) 2.Ідентифікатори 3.Роздільники (слова) 4, Знаки, операцій

СЛУЖБОВІ СЛОВА

Кожне службове слово має фіксований зміст Службові слова не можна

використовувати як ідентифікатори програміста

absolute

do

implementation

Or

then

and

downto

in

packed

to

array

else

inline

private

type

asm

end

interface

procedure

unit

assembler

external

interrupt

program

until

begin

file

label

record

uses

case

for

mod

repeat

var

const

forward

Nil

set

virtual

constructor

function

not

shl

while

destructor

goto

object

shr

with

div

if

of

string

xor



ІДЕНТИФІКАТОРИ

Ідентифікатори (імена) вводяться для позначення в програмі змінних, констант, типів,

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

довільна, але тільки перші 63 символи значущі. Ідентифікатор завжди починається з літери.

ЗНАКИ ПУНКТУАЦІЇ

{} — Коментар;

(* *) — Коментар

[ ] — Визначення індексів масивів, множин, довжини символьних послідовностей

( ) — Виділення виразів, списків параметрів

‘ — Апостроф для символа, символьної послідовності

:= — Знак присвоєння значень ;

; — Роздільник речень програми

: — Роздільник призначення типів та мітки від оператора

= — Роздільник ідентифікатора типів від опису; константи від значення ,

@ —Позначення адреси змінної, типізованої константи, підпрограми, методу

# — Позначення символа за його кодом

$ — Позначення директиви компілятора; знак шістнадцяткового числа

Структура програми.

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

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

Заголовок програми складається з службового слова Program та імені програми, після якого

ставиться ;.

Наприклад. Program SUMMA;

Ім'я програми може бути довільним (але бажано щоб співп; дало зі змістом програми) і записується згідно з правилами запі су ідентифікаторів.

Блок програми може містити до 7 розділів, які записуються такому порядку:

Uses CRT; {Розділ підключення модулів з системної бібліотеки!

Label ...; {Розділ опису міток}

Const ...; {Розділ опису констант}

Туре ...; {Розділ опису типів даних}

Var ...; {Розділ опису змінних}

procedure ІМ'Я ПРОЦЕДУРИ; {Розділ опису процедур І функцій}

riegm ..-, .-., {Розділ вказівок — тіло програми)

End.

В розділі Uses записується список стандартних бібліотечних модулів і модулів користувача.

Модуль — це бібліотека констант, типів даних, змінних, під­програм (процедур і функцій), ... .

В Турбо-Паскалі можна використовувати 8 наперед визначе­них модулів: CRT, DOS, GRAPH,

OVERLAY, PRINTER, SYSTEM, TURB03, GRAPHS.

Окремі розділи програми, крім розділу вказівок, можуть бути відсутніми. Розділи опису (крім розділу Uses, який завжди запи­сується після заголовка програми) можуть зустрічатися в програмі декілька разів і в довільному порядку. Головне, щоб всі описи об'єктів програми були зроблені до того, як вони будуть викори­стовуватися.

Між будь-якими двома вказівками ставиться крапка з комою, яка відокремлює їх одну від одної. Якщо в одному рядку запису­вати одну вказівку, то практично кожен рядок програми повинен я закінчуватися — ;. В програмі можна використовувати коментарі, які з двох боків необхідно брати у фігурні дужки. Коментарі д] допомагають краще розуміти програму і ніякого впливу на її иконанння не мають. Програма закінчується словом End, після якого ставиться крапка.

Program SUMMA;

Var A,B,C,S: integer;

begin

Write('A=');Read(‘A=’);Write('B=');Read(‘B=’);Write('C=');Read(‘C=’);

S:=A+B+C;Write(‘S=’,s)

END.


Т Е М А

Turbo Pascal







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

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

змінних величин.

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

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

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

графопроектор комплекти.

Х І Д У Р О К У

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

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

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

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

3. Лінійні програми.
  1. ПАСКАЛЬ Форма запису




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; ( двов. масив )




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

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 (список виведення);