Урок 1 Історія створення мов програмування icon

Урок 1 Історія створення мов програмування



НазваниеУрок 1 Історія створення мов програмування
Дата17.10.2016
Размер
ТипУрок

Тема 15 МОВИ ПРОГРАМУВАННЯ

УРОК 1 Історія створення мов програмування



Системи команд, навіть найсучасніших автоматичних пристроїв, у тому числі комп'ютерів, дуже примітивні і часто обмежуються набором елементарних команд (наприклад, додати одне число до іншого, записати число в задану комірку пам'яті тощо). Кожна команда має власний двійковий код. Саме за двійковим кодом автоматичний пристрій розпізнає та виконує команду. Подання алгоритму у вигляді послідовності двійкових кодів називається програмою. Програма записується в окремому exe-файлі. Таким чином, програма — це алгоритм, який призначається для виконання комп'ютером.

Двійкове подання команд комп'ютера називається машинним кодом. Першу програму на комп'ютері, написану в машинних кодах, було запущено 1948 року в Англії. До 1950 року всі програми для комп'ютерів складалися виключно в машинних кодах. Такий спосіб складання програм був дуже трудомістким, тому що алгоритм було необхідно деталізувати до елементарних дій, яким відповідали команди комп'ютера. Як наслідок, програми були громіздкими, містили велику кількість помилок, знаходження та вилучення яких, у свою чергу, вимагало кропіткої та тривалої роботи.

Досить швидко стало зрозуміло, що процес формування машинного коду можна автоматизувати. Вже 1950 року для запису програм почали застосовувати мнемонічну мову (від грецького слова jxvejaoviKov — уміння запам'ятовувати) — мову асемблера. Мова асемблера дозволила подавати машинний код в більш зручній для людини формі: для позначення команд та об'єктів, над якими ці команди виконуються, замість двійкових кодів використовувалися літери або скорочені слова, які відбивали сутність команди. Наприклад, на мові асемблера команда додавання двох чисел позначається словом add (в перекладі з англійської «додати»), тоді як її машинний код може бути таким: 000010. Запис програми на мові асемблера є фактично тим самим машинним кодом, тільки поданим за допомогою спеціальних позначень.

Машинні коди (і мова асемблера) і досі є єдиною системою команд кожного комп'ютера.

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

словесного опису, а з іншого — були придатними для перекладу алгоритму у машинний код. Такі засоби дістали назву мов програмування.

Мова програмування — це штучна мова, призначена для .написання програм для комп'ютера. Мова програмування є своєрідним компромісом між людиною та комп'ютером: кожному з них потрібно зробити певний крок, щоб їхнє спілкування на цій мові стало можливим. Людині треба навчитися застосовувати конструкції мови (слова, вирази тощо) для описання алгоритму, а комп'ютерові — «навчитися» розуміти написаний текст. Таку функцію «вчителя» для комп'ютера відіграють спеціальні програ-ми-посередники, які здійснюють автоматичний переклад тексту з мови програмування на машинний код.

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

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

Програма-компілятор (від англ, compile — складати, збирати) перекладає вхідний текст на машинний код і записує його на диск у формі exe-файла. Раніше програми-компілятори так і називали — трансляторами (перекладачами).

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

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

Інколи користуються режимом «псевдоком-Ішіяції»: прискорюють інтерпретацію за раху-

нок попереднього запам'ятовування тих або інших елементів розібраних команд у пам'яті машини.

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

У період з 1960 року по наш час було створено тисячі мов програмування, проте лише деякі з них здобули всесвітнє визнання, для них було затверджено стандарт мови програмування. Найбільш відомими мовами, якими й досі користуються у багатьох країнах світу, є Бейсік, Кобол, Паскаль, С (та її продовження C++), Фортран та інші.

Стандарт мови програмування — це набір правил, згідно з якими повинні записуватися тексти алгоритмів цією мовою. Затвердженням стандартів займається Американський національний інститут стандартів (скорочено ANSI).

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

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

• програма - налагоджувач (програма, яка дозволяє покроково стежити за процесом виконання програми);

• бібліотеки (містять готові блоки коду і надають багато додаткових можливостей для створення програм).

Такий комплекс називають інтегрованим середовищем (або системою) програмування. Найбільш поширеними інтегрованими середовищами є QuickBasic (на базі мови програмування Бейсік), Turbo Pascal (на базі мови програмування Паскаль), Borland C++ (на базі мов С та C++).

Останнім часом дедалі більшу популярність завойовують середовища візуального програмування, які дозволяють користувачеві створювати програмні продукти, застосовуючи широкий спектр стандартних елементів (таких як вікна, кнопки, меню тощо). Найбільш поширеними середовищами візуального програмування є Visual Basic (на базі мови програмування Бейсік), Delphi (на базі мови програмування Паскаль), Visual C++ (на базі мов С та C++), Java (візуальне середовище-інтерпретатор, за синтаксисом схоже на C++).


Тема 15 МОВИ ПРОГРАМУВАННЯ
^

УРОК 2 Класифікація мов програмування



Серед тисяч створених на сьогодні мов програмування можна умовно виділити певні групи. Якщо класифікувати мови програмування з точки зору урахування ними конкретних особливостей комп'ютера (точніше, процесора), то можна ввести поняття «рівень мови програмування».

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

Для будь-якого процесора мовою найнижчого рівня є мова асемблера. У кожного типу процесорів своя мова асемблера, тому програми, написані асемблером на одному комп'ютері; можуть зовсім на працювати на іншому. За допомогою мов програмування низького рівня створюються дуже ефективні програми (з точки зору швидкості та розміру). Можна навіть вважати, що чим нижчий рівень мови програмування, тим програми на ньому ефективніші. Недоліком мов програмування низького рівня є складність у вивченні цих мов, тому звичайно такими мовами володіють тільки висококласні програмісти.

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

Серед мов програмування високого рівня звичайно виділяють дві основні групи:

Алгоритмічні мови програмування слугують для подання алгоритмів. Часто вони використовують символіку, близьку до математичної. Звичайно сучасні алгоритмічні мови програмування мають засоби для реалізації структурного (процедурного) програмування (див. вище). Алгоритмічні мови складають переважну більшість сучасних мов програмування, до них належать Паскаль, Сі, сучасні версії Бейсіка та інші.

Мови дескриптивного програмування (від англійського слова descriptive — описовий) — це мови, які описують не способи розв'язання задач (як це роблять алгоритмічні мови), а логічний або функціональний взаємозв'язок між

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


^ Огляд мов програмування високого рівня фортран (fortran)

Мова програмування Фортран була розроблена в 1954—1958 pp. Джимом Бекусом. Його назва — це скорочення від словосполучення «транслятор формул». Фортран — це перша ком-пільовна мова програмування, її базові принципи та поняття (такі як оператор, змінна, типи даних, масиви даних, підпрограми і функції, форматоване виведення інформації та інші) лягли в основу багатьох мов програмування високого рівня. Як видно з його назви, Фортран призначався для виконання складних науково-технічних обчислень. Порівняно простий на свій час, Фортран став дуже популярним серед вчених та інженерів.

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

кобол (Совоь)

Компільовна мова програмування Кобол була розроблена в 1959—1961 pp. Назва походить від словосполучення COmmon Business Oriented Language (загальноприйнята мова, орієнтована на завдання бізнесу). Основна відмінність цієї мови програмування від інших алгоритмічних мов полягала в тому, що Кобол мав засоби роботи зі спеціальними структурами даних (передвісниками баз даних). Тривалий час Кобол був єдиною мовою, яка використовувалася в економіці, бізнесі, банківській справі, хоч мала важкий та громіздкий синтаксис. Зараз Кобол не використовується і поступився своїми позиціями перед мовами та системами програмування баз даних (FoxPro, Oracle, SQL тощо).

Алгол (algol)

Компільовна мова програмування Алгол була розроблена в 1958—1960 pp. Назва походить від словосполучення ALGOrithmic Language (алгоритмічна мова). В Алголі основні ідеї алгорит-

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


Тема 15 МОВИ ПРОГРАМУВАННЯ
^

УРОК 3 Паскаль.



Компільовна мова програмування Паскаль була розроблена в 1967—1971 pp. Ніклаусом Віртом і названа на честь французького математика і механіка XVII ст. Б леза Паскаля. Порівняно з Алголом, Паскаль мав дещо спрощені синтаксичні правила, тому став більш популярним. Особливої популярності Паскаль набув після випуску 1984 року зручного компілятора Турбо Паскаль, розробленого компанією Borland International.

У Паскалі було введено декілька принципово нових типів даних, в ньому вперше стала можливою розробка програм у стилі структурного (процедурного) програмування, ідеї якого було розвинуто в інших мовах та системах програмування. Паскаль (та породжене ним візуальне середовище Delphi) і зараз залишається однією із найпопулярніших мов програмування. Завдяки простоті та чіткості його основна сфера використання — це навчання основ програмування в середніх та вищих освітніх закладах.

бейсік (BASIC)

Інтерпретаційна мова програмування Бейсік була розроблена в середині 1960 pp. Назва походить від словосполучення Beginner's All-purpose Symbolic Instruction Code (багатоцільовий символьний код для початківців). Бейсік створювався для навчальних цілей і вважається найпростішою серед мов програмування високого рівня. За допомогою Бейсіка можна було легко створювати невеликі програми, для вели-

ких проектів він не підходив через погану підтримку процедурного програмування. Серед позитивних рис Бейсіка треба виділити невели--кий розмір його інтерпретатора (деякі версії -до кількох кілобайт). Завдяки цьому Бейсік часто використовувався для вбудови в ПЗП 8-роз-рядних комп'ютерів.

У наш час мова Бейсік (та його візуальне продовження Visual Basic) — одна із найпопулярніших мов програмування з дуже широким спектром використання. За кількістю версій Бейсік посідає перше місце серед мов програмування (серед його версій є навіть компільовні, наприклад, Microsoft Quick Basic).

СІ (С) ТА СІ++ (C++)

Компільовна мова програмування Сі була розроблена 1972 року в компанії Bell Laboratories Деннісом Рітчі. Назва походить від номера проекту, який створювався в компанії Bell (С -третя буква англійського алфавіту). Спочатку Сі не призначалася для масового використання та мислилася як проміжна між мовами програмування високого та низького рівнів. Вона поєднує дуже високу продуктивність та компактність коду (близьку до мови асемблера) та всі переваги структурної мови програмування. Завдяки цьому Сі невдовзі стала найпопулярні-шою мовою програмування. Серед її недоліків треба відмітити дещо високу складність вивчення мови порівняно з Паскалем чи Бейсіком.

Сі++ — об'єктно-орієнтована версія мови програмування Сі розроблена 1980 року в компанії Bell Laboratories Б'ярном Страуструпом. Сі++ унаслідувала всі переваги мови Сі і значно розширила її можливості. В наш час ця мова (та її візуальні середовища Visual C++, C++ Builder) вважається найбільш універсальною і популярною (наприклад, з її допомогою були створені операційні системи Windows). Мова Сі++ стала своєрідним стандартом у програмуванні, сьогодні її повинен знати кожний програміст.


^ Основні поняття мови програмування Паскаль

Кожна мова програмування, як і будь-яка інша мова, має свій алфавіт.

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

До алфавіту мови програмування Паскаль входять:

1. Великі та малі літери латинської мови: А В С ... Z a b с ... z.

2. Цифри від 0 до 9.

3. Символ проміжку " " (ASCII код 32). Проміжок виконує функції розподільника в мові. Якщо між двома символами стоїть проміжок, то вважається, що ці символи належать до різ-

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

«2 + 3» і «2 + 3»

У ролі розподільників також можуть виступати символи табуляції (код 9) та кінця рядка (коди 13 і 10). Так, еквівалентними є також вирази:

«2 + 3» і

«2

+

З»

4. Спеціальні символи, що використовуються у записі конструкцій мови:

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

5. Складені символи, які сприймаються як один символ:

<= >= <> := (* *) (• •) ..

Розподільники (проміжки та інші) між елементами складених символів є неприпустимими.

Символи !, %, «, ?, & та деякі інші, а також символи з розширеного коду ASCII з номерами від 128 до 255 (до яких належать великі та маленькі букви кирилиці, символи псевдографіки) не входять до алфавіту мови програмування Паскаль. Використовувати їх можна тільки в рядкових або символьних константах, а також в коментарях.

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

Синтаксис — це сукупність правил для утворення припустимих конструкцій мови.

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

Команди мови програмування називають операторами.

Оператор мови програмування — це вказівка комп'ютеру про виконання певної дії.

Алфавіт мови програмування — це набір правил щодо того, яке значення має кожен оператор мови програмування і які дії повинен виконувати комп'ютер під час виконання оператора.

Ідентифікатор мови програмування — це ім'я, яке припускається використовувати для іменування об'єктів мови програмування.

Ідентифікатори вибираються довільно, але відповідно до таких правил:

1. Ідентифікатор може містити будь-яку (в Турбо Паскалі не більше від 256) кількість

літер латинського алфавіту (великих або малих), цифр 0, 1 ... 9 і знаків підкреслення «_» (код ASCII номер 95).

2. Ідентифікатор може починатися з літери або знака підкреслення «_».

3. Ідентифікатор не може збігатися з жодним із зарезервованих слів.

Зарезервовані (або службові) слова — це сло-

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

льне значення.

Список зарезервованих слів мови програмування Турбо Паскаль:

absolute

function

record

and

array

begin

case

goto

if implementation

in

inline

repeat

set

shl

shr

const

constructor

interface

interrupt

string

then

destructor

div

do

label

mod

nil

to

type

unit

downto

not

until

else

object

uses

end

external

of

var

virtual

file

or

while

for

forward

packed

procedure

with

xor



program



Ідентифікатор у програмі повинен бути унікальним, тобто не може бути об'єктів з однаковими ідентифікаторами.

В ідентифікаторах мови програмування Паскаль маленькі і великі літери не розрізняються, тобто «Name» і «name» — однакові ідентифікатори.

Приклади ідентифікаторів:

Nadja, w1, _sss1, __t__, i1i1, beggin,

My_program_about_something.


Тема 16 МОВИ ПРОГРАМУВАННЯ
^

УРОК 4 Стандартний вигляд програми на мові програмування Паскаль


Програма на мові програмування Паскаль завжди оформлюється стандартно і має такий вигляд:

Program <ім'я програми?-;

... <розділ описів> Begin

... <серія операторів> End.

У перекладі з англійської program означає «програма», begin - - «початок», end - - «кінець». Після слова end, яке завершує програму, обов'язково ставиться крапка.

<Ім'я програми> — це ідентифікатор, створений за правилами мови програмування.

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

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

• Опис бібліотек (модулів), які використовуються у програмі.

• Опис поміток.

• Опис констант програми та їх визначення.

• Опис типів.

• Опис змінних програми.

• Опис підпрограм (процедур і функцій).

Частини розділу описів записуються у програмі саме в такому порядку (у Турбо-Паскалі це обмеження знято). Деякі частини можуть бути відсутніми, у простих програмах розділ описів може бути навіть порожнім.

Приклад найкоротшої програми на мові програмування Паскаль: Program рг;

Begin

End.

Хоч ця програма і не виконує ніяких дій, її можна прокомпілювати, налагодити та виконати.

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

Коментар у мові програмування Паскаль -це довільний текст у фігурних дужках { та }. Коментарі додають для пояснення тексту програми, для наведення відомостей про автора тощо.

^ Подання даних у мові програмування Паскаль

У мові програмування Паскаль застосовуються два способи подання числових даних — у природній і показовій формах.

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

Наприклад:

1234; 6.7; 35.7889; -23.99; 9.0.

При записі десяткового дробу в показовій формі він записується так: ±а Е п (або ±а е п), де 1<а<10 — десятковий дріб у природній формі (він називається мантисою), п — ціле число (воно називається порядком).

Буква «Е» (або «е») означає помноження на ступінь числа 10, тобто значення дробу ±а Е п можна дістати як ±а • 10". Наприклад:

1.23Е+2 = 1.23 -102 = 123;

-1.9е-3 = -1.9-10 -3 = -0.0019;

6.0Е+0 = 6.0-10° = 6.

У пам'яті комп'ютера всі дроби зберігаються у показовій формі.

Таким чином, десятковий дріб 0,012 можна записати на Паскалі двома правильними способами: як 0 .012 чи 1.2е-2 (або 1.2Е-2).

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

Наприклад:

'Інформатика', '?', 'Моє улюблене місто', 'комг/'ютер'.

Тема 15 МОВИ ПРОГРАМУВАННЯ
^

УРОК 5 Паскаль Типи даних



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

^ Тип даних однозначно визначає обсяг фізичної пам'яті комп'ютера, який є необхідним для збереження даних цього типу, та перелік операцій (арифметичних, логічних тощо) і функцій (математичних тощо), які є припустимими над величинами даного типу.

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

Власні типи описуються в розділі опису типів, який починається зі службового слова type, якому слідує перелік відокремлених символами «;» визначень нових типів у форматі:

<Ім'я типу> = <визначення типу>;

де <ім'я типу> — це ідентифікатор, створений за правилами мови програмування.

Наприклад:

type

month = 1..12;

name = string[20];

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

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


  1. Числові типи




Назва типу

Опис

Діапазон

Розмір пам'яті у байтах

byte

Коротке ціле без знака

0..255

1

shortint

Коротке ціле зі знаком

-128. .127

1

word

Ціле без знака

0.. 65536

2

integer

Ціле зі- знаком

-32768. .32767

2

longint

Довге ціле зі знаком

-2147483648.. 2147483647

4

real


Дійсне з точністю 11 знаків після коми

приблизно -1038..1038


6

extended

Дійсне з точністю 19 знаків після коми

приблизно -104931..104931

10 '

2. Символьний тип — char (1 байт).

3. Рядковий тип — string, string[n] (рядок з п символів, якщо розмір не зазначено — то 255 символів).

4. Логічний тип — boolean (два значення — true (істина) і false (неправда), 1 байт).

Одним із найбільш розповсюджених складених типів даних є масив (див. далі тему «Табличні величини»).
^

Стандартні функції та операції


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

Операція в мові програмування визначається подібно до операції в математиці.

Вирази, над якими виконується операція, називаються операндами. Якщо операція виконується над двома величинами, вона називається бінарною, якщо над однією — унарною.

У мові програмування Паскаль визначені такі операції для даних простих типів:

• для числових типів — арифметичні операції та операції відношення;

• для символьного типу — операції відношення;

• для рядкового типу — операції відношення та операція конкатенації (поєднання);

• для логічного типу — операції відношення та логічні операції.

У мові програмування Паскаль визначено багато стандартних функцій, доступ до яких відкрито в будь-якій програмі (для того щоб використати функцію, не треба вживати ніяких спеціальних заходів). Більшість цих функцій буде описано нижче.

^ Арифметичні операції над числовими типами даних

За допомогою арифметичних операцій створюються арифметичні вирази.

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

^ Арифметичні операції

Позначка операції

Назва операції

+

Додавання

-

Віднімання

*

Множення

/

Ділення

div

Ділення без остачі (відкидання дробової частини)

mod

Остача від ділення

Операції «div» і «mod» застосовуються тільки до величин цілих типів даних, операції « + », «-», «*», «/» застосовуються до величин будь-яких числових типів. Результат виконання операції ділення «/» завжди буде мати дійсний тип даних. Для інших операцій тип результату здобувається за такими правилами:

• якщо хоч один операнд був дійсного типу, то результат буде дійсного типу;

• якщо хоч один операнд належав до цілого типу зі знаком, то результат теж буде належати до цілого типу зі знаком;

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

byte / integer = real;

byte + integer = integer;

word * longint = longint;

real - extended = extended.

При написанні слова div і mod відокремлюються з обох боків проміжками.

Всі тексти програм на мові програмування Паскаль записуються в рядок, у тому числі й арифметичні вирази. Звичайний дріб, що записується в математиці в два рядки 1/(3*4) ,на мові програмування можна записати двома однаково правильними способами так: 1/(3*4) або 1/3/4.

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

а)34+679-4455

б)56*(45-34)/57.7+57

в) 45 div 4-56*43 mod 67+45.788888

г) -5е+6+67Е-8

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

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

Далі виконуються операції «*», «/», «div», «mod».

Нижчий пріоритет у операцій «+», «—», вони виконуються останніми.

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

Наприклад:

2+15 mod 4=2+3=5;

12 div 5*3+1=2*3+1=6+1=7.


^ Операції відношення над числовими типами даних

За допомогою операцій відношення створюються прості умови.

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


^ Операції відношення

Позначка операції

Назва операції дорівнює

менше менше або дорівнює

більше

більше або дорівнює не дорівнює

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

Всі операції відношення є бінарними (мають лише два операнди), використання двох операцій відношення поспіль у мові програмування Паскаль неможливе (наприклад, у виразі 1<=3<8 результатом виконання операції 1<=3 буде величина логічного типу true, яку не можна порівнювати з 8).

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

1>=5 -> false

5.67>56-4Е-4 div 3 -> true

7 mod 3 div 5<>1 -> true.


^ Стандартні функції роботи з числовими типами даних

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


Функція

Опис

ТипХ

Тип результату

abs(X)

Модуль числа X

числовий

такий самий як у X

sqr(X)

Квадрат числа X

числовий

такий самий як у X

sqrt(X)

Корінь квадратний числа X

числовий

дійсний

sin(X)

Синус числа X

числовий

дійсний

cos(X)

Косинус числа X

числовий

дійсний

ln(X)

Натуральний логарифм числа X

числовий

дійсний

exp(X)

Експонента числа X (ех)

числовий

дійсний

round(X)

Найближче ціле число до X

числовий

цілий

trunc(X)

Ціла частина числа X

числовий

цілий

frac(X)

Дробова частина числа X

числовий

дійсний

odd(X)

Перевірка X на непарність

цілий

логічний

Примітки:

1. Функція trunc для від'ємних значень X працює не за правилами математики і просто відкидає дробову частину: trunc(—6.8) = —6.

2. Для обчислення значення аь можна скористатися формулою аь = еь'1п(о).

Операції та стандартні функції над символьним типом даних

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

Наприклад:

'5'>'а'; '%'<0; 'Z'

Для роботи із символьним типом даних визначені дві стандартні функції:

ord( С) — повертає номер символу С (результат має тип longint);

chr(X) — повертає символ з номером X (результат має тип char, X має належати інтервалу 0..255).

^ Операції та стандартні функції над рядковим типом даних

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

Операція конкатенації (поєднання) має синтаксис і пріоритет подібно до операції додавання « + ». Результатом конкатенації двох рядків sl+s2 є рядок, який складається з рядка si, в кінець якого приєднаний рядок s2.

Наприклад:

'Ін' + 'форма' -t- 'тика' = 'Інформатика'.

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

'Ганна' < 'Ганнуся';

'12345' < 'Київ';

'сор' < 'сорочка'.

Порівнювати та поєднувати дозволяється рядки та символи, у цьому разі символ вважається рядком довжини 1.

У мові програмування Турбо Паскаль для рядкового типу даних визначено такі стандартні функції:

1. length(s)

Результатом функції є довжина рядка s в символах (тип integer). Наприклад:

length ('Київ') = 4;

length ('I love you!') =11.

2. pos(s, si)

Якщо рядок s вміщується в рядку si, то результатом функції (тип byte) буде номер символу рядка s,.j3 якого вперше починається рядок si. Якщо в рядку si немає рядка s, то результатом буде 0.

Наприклад:

pos('a', 'Інформатика') = 7;

pos('форма', 'Інформатика') = 3;

pos('норма', 'Інформатика') = 0.

3. copy(s, start, len)

Результатом функції є рядок довжиною len, що є підрядком s та починається в ньому з позиції start. При спробі виділити з рядка s кількості символів, якої в ньому немає (тобто коли start+len більше від довжини s). результатом функції є підрядок s від позиції start до кінця.

Наприклад:

copy ('Інформатика', 3, 5) ='форма';

copy ('Інформатика', 1, 1) = 'І';

copy ('Інформатика', 10, 10) = 'ка'.

4. insert(s, si, len)

В результаті роботи оператора рядок s вставляється в рядок si, починаючи з позиції len. Якщо len перевищує довжину рядка si, то s додасться в кінець si.

Наприклад, якщо до початку виконання оператора s1 було «Інформатика», то після insert ('123', s1, 5)

s1 буде «Інфо123рматика»; insert('123', s1, 1)

s1 буде «123Інформатика»; insert('123', s1, 12)

s1 буде «Інформатика123».

5. delete(s, start, len)

В результаті роботи оператора із рядку s вилучається len символів, починаючи з позиції start. При спробі вилучити з рядка s кількості символів, якої в ньому немає (тобто коли start+len більше від довжини s), вилучаються всі символи до кінця рядка. Наприклад, якщо до початку виконання оператора s було «Інформатика», то після delete(s, 5, 3)

s буде «Інфатика»; delete(s, 1, 3)

збуде «орматика»; delete(s, 10, 10) s буде «Інформати».

^ Операції над логічним типом даних

У мові програмування Паскаль для логічного типу даних визначено операції відношення (див. вище) та логічні операції. При порівнянні true вважається більшим за false.

Наприклад:

true >= false; (7<3) < (5<>6).

За допомогою логічних операцій створюються складені умови.

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

Логічні операції


1. Заперечення — not.

Результатом застосування унарної операції «not» до умови є обернення значення умови, тобто

not true = false;

not false = true.

Наприклад:

not (7<12) = not true = false;

not (4<>4) = not false = true.

^ 2. Логічне «і» — and.

Складена умова, утворена з простих, поєднаних логічними операціями «and», вважається виконаною, якщо виконуються всі прості умови, що входять до неї.

Наприклад:

(7<12) and (2<>3) = true and true = true;

(4=4) and (1<2) and (2>0) =

= true and true and false = false.

^ 3. Логічне «або» — or.

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

Наприклад:

(7>12) xor (2<>3) = false or false = false;

(4<>4) xor (1<2) = false or true or false = true.

4. Логічне виключне «або» — xor. Складена умова, утворена з двох простих,

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

Наприклад:

(7<12) xor (2<>3) = true xor true = false;

(4<>4) xor (1<2) = false xor true = true.

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

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

Далі виконуються операції «not».

Далі виконуються операції «and».

Нижчий пріори вони виконуються останніми.

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

Приклади обчислення складених умов:

(4>=3) and not (2<=3) = true and not true = true and false — false;

(2<7) or (4=3) and (7<0) = true or false and false = true or false = true;

(2<7) xor (4>3) and (4<5) = true xor true and true = true xor true = false;

((2<7) or (2>3)) and (3<5) = (true or false) and true = true and true = true.
^

Константні величини


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

Константна величина (або просто константа) в мові програмування — це іменована величина, яка має значення, що не може змінюватися в процесі виконання програми.

У мові програмування Паскаль константи описуються в розділі опису констант, що починається зі службового слова const, за яким іде перелік відокремлених символами «;» визначень констант користувача:

<Ім'я константи> = <значення>;

де <ім'я константи> - - це ідентифікатор, створений за правилами мови програмування.

Наприклад:

const

month = 12;

language = 'Pascal';

symbol = 'S';

Ім'я константи встановлює зв'язок між об'єктом програми і певним значенням. Застосування в тілі програми імені константи означає його контекстну заміну на значення константи.

Константи можна використовувати у арифметичних, логічних виразах тощо за умови придатності типу даних. Так, для констант вище-наведеного прикладу вважається, що month має цілий числовий тип даних, language — рядковий, symbol — символьний або рядковий залежно від контексту.
^

Змінні величини


Змінна величина (або просто змінна) в мові програмування — це іменована величина, яка може набувати і зберігати різні значення в процесі виконання програми.

Змінна має ім'я, тип і значення.

Ім'я змінної — це ідентифікатор, який встановлює зв'язок між об'єктом програми і певною

ділянкою пам'яті. Застосування в тілі програми імені змінної еквівалентне зазначенню адреси пам'яті, звідки має бути взяте значення змінної.

Тип змінної (див. вище «Типи даних») однозначно вказує, який обсяг пам'яті буде виділено для збереження її значення, та перелік операцій, які є припустимими над змінними вказаного типу.

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

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

Змінних у програмі, написаній мовою програмування Паскаль, може бути необмежена кількість (у Турбо Паскалі 7,0 загальний обсяг пам'яті, який приділяється для змінних, не може перевищувати 64 Kb).

У мові програмування Паскаль змінні описуються в розділі опису змінних (або оголошення змінних), який починається зі службового слова var (скорочення англійського слова variable — «змінна»), далі перелічуються змінні, що використовуються у програмі, із зазначенням їх типів. Імена змінних відокремлюються одне від одного комами, від назви типу — двокрапкою. Після назви кожного типу ставиться крапка з комою.

Після оголошення змінних їх значення не визначені.

Наприклад:

var a, b, al: integer; {змінні цілого типу} f,My_count: real; {змінні дійсного типу} і:string; {змінна рядкового типу)

У цьому прикладі оголошено шість змінних: чотири цілого типу й дві дійсного.
^

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


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

write (<послідовність елементів виведення>);

writeln (послідовність елементів виведення?»);

У перекладі з англійської write означає «писати»; writeln — скорочення від write line — «писати рядок».

Оператори write і writeln виводять на екран <послідовність елементів виведеннях Елементами можуть бути величини числових, рядко-

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

Відмінність між write і writeln полягає в тому, що writeln після виведення інформації переводить курсор на новий рядок. Наступне виведення, реалізоване за допомогою write або writeln, буде здійснюватися з нового рядка.

При порожній послідовності виведення оператор write не робить нічого, a writeln переводить курсор на новий рядок.

^ Приклади використання оператора виведення:

Оператор

write('1234 відняти 123 буде ',1234-123);

Результат виведення на екран

1234 відняти 123 буде 1111

Оператори

writeln('1234 відняти 123 буде ');

write(1234-123);

Результат виведення на екран

1234 відняти 123 буде

1111 .

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

Наприклад:

Оператори

writeln(1234:4,' відняти',123:4,

' буде ',1234-123:4);

writeln(12:4,' відняти',10:4,

' буде',12-10:4);

Результат виведення на екран

1234 відняти 123 буде 1111 12 відняти 10 буде 2

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

Наприклад:

Оператор:

write(12.34:5:5,' ',12.34:5:1);

Результат виведення на екран:

12.34000 12.3

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

read(<послідовність змінних>};

readln(<послідовність змінних>);

(у перекладі з англійської read означає «читати»; readln — скорочення від read line — «читати рядок»).

Послідовність змінних — це перелік імен змінних через кому.

При виконанні оператора read (або readln) послідовність значень, введених з клавіатури, записується у відповідні змінні. Значення, що вводяться, можуть відокремлюватися проміжками (для read) або розташовуватися кожне на новому рядку (для readln). Значення рядкового типу повинні розміщуватись кожне на новому рядку.

Послідовність змінних може складатися з однієї змінної або навіть бути порожньою (у такому разі круглі дужки можна опустити). При порожній послідовності виведення оператор read не робить нічого, a readln чекає натиснення клавіші Enter.

^ Приклади використання оператора введення:

read(a,b,c);

readln(a);

readln;

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

<змінна>:=<вираз>;

Оператор присвоювання виконується за правилом: обчислюється значення <виразу>, здобуте значення надається <змінній>.

^ Приклади використання оператора присвоювання (для змінних а і с — цілого типу, b — дійсного):

а:=2+7; a набуває значення 9

с:=а-4; с набуває значення 5

b:=2*a-7/c; b набуває значення 2*9-7/5, тобто 16,6

с:=с+3; с збільшується на 3 і стає таким, що дорівнює 8
^

Умовний оператор


Для опису розгалужень у мові програмування Паскаль застосовується умовний оператор.

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

Повна форма:

if <умова> then <оператор41>

else <оператор2>;

(if — у перекладі з англійської означає «якщо», then — «то», else — «інакше»).

Принцип роботи: якщо <умова> виконується (інакше кажучи, логічний вираз має значення true), то виконується <оператор!>, якщо ні — <оператор2>.

Коротка форма умовного оператора:

if <умова> then <оператор>;

Принцип роботи: якщо виконується <умова>, то <оператор> виконується (тобто якщо умова не виконується, то виконується оператор, який в програмі стоїть після умовного).

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

begin

<серія операторів>

end;

Роль <оператора> може відігравати будь-який оператор, у тому числі й умовний оператор (таких вкладених умовних операторів може бути за правилами мови програмування Паскаль скільки завгодно, в Турбо Паскалі 7,0 — не більше восьми).

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

^ Приклади умовних операторів:

a) if a>0 then a:=1

else a:=0;

Результат виконання: якщо значення змінної а додатне, то в результаті виконання оператора воно дорівнюватиме 1; якщо значення а дорівнює 0 або від'ємне, то воно зміниться на 0.

б) if a>=100 then begin

writeln( 'Цифра одиниць:' ,airad 10);

writeln( 'Цифра десятків:' ,а div 10 mod 10);

end

else

writeln( 'Число менше за 100');

Якщо значення змінної а більше або дорівнює 100, на екран виводяться цифра одиниць та цифра десятків цього числа; якщо число менше за 100, на екран виводиться відповідне повідомлення.
^

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


Для зручного запису розгалужень з багатьма альтернативами в мову програмування Паскаль введено оператор варіанта. Існують дві форми оператора варіанта: повна і коротка. Повна форма має вигляд: case <вираз> of

<набір_значень_1> : <оператор1>;

<набір_значень_2> : <оператор2>;

<набір_значень_№> : <оператор№>;

else <оператор>;

end;

(case — у перекладі з англійської означає «випадок», «варіант»),

де <вираз> — це арифметичний вираз, значенням якого є величина цілого або символьного типу даних (іноді <вираз> називається селектором від англійського select — вибирати), <на-бір_значень> — це одна або декілька величин відповідного типу, розділених комами; у наборі можна також указувати діапазони значень через дві крапки,наприклад:

1, 2, 6. .9, 20 — до цього набору значень входять числа 1, 2, 6, 7, 8, 9, 20;

'a', .'d', 'x'. ,'z' - до цього набору значень входять символи «a», «b», «c», «d», «x», «у», « z ».

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

Принцип роботи: значення <виразу> обчислюється і шукається серед <наборів_значень>. Якщо значення знаходиться у деякому <наборі_значень>, то виконується відповідний оператор, інакше виконується оператор, який стоїть після слова else. Оскільки значення в наборах не можуть збігатися, то виконується тільки один із операторів.

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

^ У короткій формі оператора варіанта else-гілка опускається, і, якщо значення <виразу> не збігається з жодним значенням із наборів, то відразу виконується оператор, який стоїть після оператора варіанта.

Приклади використання оператора варіанта:

a)case і of

0..9 : writeln ('Число однозначне/); 10.. 9 9 : writeln ('Число двозначне.'); 100.. 9 99 : writeln ('Число тризначне.'); 1000..9999 :

writeln ('Число чотиризначне.'); end;

б) write ('Котра.година?');

readln(h); case h of

6.. 11 : writeln ('Зараз ранок.');

12..17 : writeln ('Зараз день.');

18..22 : writeln ('Зараз вечір.');

23,0..5 : writeln ('Зараз ніч.');

else

writeln ('Неправильно введено час.'); end;

в) case c of

'а', 'о' /е' /і', У, 'й': writeln ('Буква голосна.'); else writeln('Буква приголосна.'); end;
^

Цикл із передумовою


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

Оператор циклу з передумовою записується таким чином:

while <умова> do

<оператор>;

У перекладі з англійської while означає «поки», do — «робити».

Принцип роботи:

Перевіряється <умова>; якщо вона виконується, то виконується <оператор> і здійснюється повернення до перевірки <умови>. Якщо <умова> виявляється невиконаною, відбувається вихід з циклу. Оскільки <умова> перевіряється до початку виконання <оператора>, цикл може не виконуватися жодного разу.

<0ператор> називається тілом циклу. Якщо тіло циклу містить понад один оператор, їх треба взяти в операторні дужки begin ... end.

Некоректне використання оператора while може призвести до «зависання» комп'ютера. Це може статися у разі, коли виконання тіла циклу не буде впливати на <умову>.

Наприклад:

while a
Приклади циклів з передумовою:

а)і:=1;

while i<10 do

begin

write('*');

і:=і+1;

end;

Змінна і пробігає значення від 1 до 10, на екран буде виведено 9 зірочок (для і=10 зірочка не виводиться).

б)і:=1;

readln(m);

while i
i:=i*2;

writeln(i);

Змінна і множиться на 2 до тих пір, поки не перевищить значення заданого числа f. Інакше кажучи, наприкінці цього фрагмента програми .значення і дорівнюватиме найменшому степеню числа 2, що перевищує f. Наприклад, якщо f дорівнює 1000, то на екран виведеться число 1024 (210),
^

Цикл із післяумовою


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

<серія операторів>; until <:умова>;

. У перекладі з англійської repeat означає «повторювати», until — «до тих пір». Принцип роботи:

Виконується <серія оііераторів>, після чого перевіряється <умова>; Якщо <умова> виконується, відбувається вихід з циклу, інакше — повернення до виконання <серії операторів>.

Оскільки <умова> перевіряється після виконання <серії олераторів>, цикл буде виконано хоча б один раз.

Тілом циклу є саме серія, тобто послідовність операторів, і її (на відміну від циклу з передумовою) не треба брати в оператори! дужки, тому що роль дужок відіграють службові слова repeat — until.

Приклади використання оператора циклу з •післяумовою:

а)і:=1;

repeat write(.'*');

і:=і+1;

until i=11;

. Результат роботи: змінна і пробігає значення від 1 до 11, на екран буде виведено десять зірочок.

б) repeat

readln(n);

until (n>9) and (n<100);

Результат роботи: програма запрошуватиме введення цілого числа до тих пір, поки не буде введене двозначне число, воно і стане остаточним значенням змінної n.
^

Цикл із лічильником


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

У мові програмування Паскаль існує дві форми оператора циклу з лічильником: пряма та зворотна. ^ Пряма форма:

for <змінна>:=<ПЗ> to do

<оператор>;

У перекладі з англійської for означає «для», to — «до», do — «робити».

<3мінна> — це змінна цілого або символьного типу даних, вона називається лічильником циклу; ПЗ (початкове значення) і КЗ (кінцеве значення) — величини відповідного тилу.

Принцип роботи:

<0ператор> (тіло циклу) виконується КЗ-ПЗ+1 разів (для лічильника цілого типу, для символьного тут і далі треба замість КЗ і ПЗ підставляти відповідні номери в таблиці кодів ASCII) для всієї послідовності значень лічильника циклу від початкового до кінцевого -включно. Тож, перший раз значення <змінної> дорі»* нює ПЗ, другий — ПЗ+1, третій — ПЗ+2 і так далі доКЗ.

Звичайно КЗ>ПЗ. Якщо ПЗ виявляється більшим за КЗ, то <оператор> не виконується жодного разу, якщо вони рівні, цикл буде виконано один раз.

Для того щоб тіло циклу містило не один, а декілька операторів, їх треба взяти в оцерато-рні дужки begin ... end.

Якщо треба, щоб значення лічильника циклу змінювалися від більших до менших, застосовується зворотна форма циклу з лічильником:

for <змінна>:=<ПЗ> downto do <оператор>;

У перекладі з англійської down to означає «вниз до».

Тут звичайно ПЗ>КЗ, <оператор> виконується ПЗ-КЗ+1 разів для всієї послідовності цілих значень лічильника циклу, які послідовно зменшуються від початкового до кінцевого включно. Перший раз значення <змінної> до,-. рівнює ПЗ, другий — ПЗ-1, третій — ПЗ-2» в останній — КЗ. Якщо ПЗ виявляється менше КЗ, то <оператор> не виконується жодного разу.

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

Наприклад, фрагмент програми

for i:=1 to 100 do

write('A');

можна записати з використанням циклу з передумовою так:

1:=1

while i<=100 do

begin

write('A');

і:=і+1;

end;

^ Приклади використання оператора циклу з лічильником:

а) for і:=1 to 6 do

write('*');

Результат роботи: змінна і пробігає значення від 1 до 6, усього шість значень, на екран буде іибедено шість зірочок.

б) for с:='А' to 'Z' do

write(c);

Результат роботи: на екран в рядок будуть виведені всі великі букви латинського алфавіту «ABCDEF...XYZ».

в) for m:=-4 to 4 do

begin

n:=m*m; - write(n,' ');

end;

Результат роботи: на екран будуть виведені в рядок квадрати цілих чисел від -4 до 4 (загалом дев'ять чисел).
^

Підпрограми. Процедури


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

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

"У мові програмування Паскаль визначено два види підпрограм: процедури та функції. Підпрограми описуються в розділі опису програми після розділу опису змінних.

Процедура в мові програмування Паскаль завжди оформлюється стандартним чином і має такий вигляд:

procedure <ім'я процедури>

(<список параметрів>);

...<розділ описів> . Begin

... <серія операторів>

End;

У перекладі з англійської procedure означає «метод дій». Після слова end, яке завершує процедуру, ставиться крапка з комою.

<Ім'я процедури> — це ідентифікатор, ство-і рений за правилами мови програмування.

<Серія операторів> (називається тілом прoцедури) містить скінченну послідовність операн торів, відокремлених крапкою з комою. Оператори виконуються один за одним, у порядку їх запису. Серія може складатися з одного оператора або бути порожньою (не містити жодного оператора).

<Розділ описів> призначається для опису тих величин, які опрацьовуються чи використовуються процедурою. Розділ описів процедури складається з тих самих розділів, що й розділи описів програми. Змінні, константи, типи даних тощо, описані в процедурі, носять назву локальних (на відміну від об'єктів головної програми, які називаються глобальними). Процедура має доступ до глобальних об'єктів, воваї може використовувати їх, змінювати тощо. Локальні об'єкти недоступні у головній прогрв та в інших підпрограмах.

У <списку параметрів> перелічуються змінні, які використовуються у процедурі, із зазна~ ченням їх типів. Імена змінних відокремлю» ся одне від одного комами, від назви типу двокрапкою. Після назви кожного типу ставиться крапка з комою.

Існує два типи параметрів процедури; метри-змінні та параметри-знлценпя. У <списку параметрів> перед параметрами-змінними ставиться службове слово var.

Наприклад:

procedure Example (var a, b: integer ;

с:char; var d:real; e:integerjf У цьому прикладі змінні a, b, d — це nap метри-змінні, с,-е — це параметри-значенщя.

Використовуються процедури через»

процедури, який записується так:

<ім'я процедури>(<список значеаь>)т де <ім'я процедури> — це ім'я процедури, яку необхідно використати;

<список значень> — це перелік відділених ркомами змінних (для відповідних параметрів-: змінних) та довільних виразів (для відповідних параметрів-значень).

Наприклад:

Example(x,y,'?',f,y*(x+5));

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

При виконанні оператора процедури (це називають ще виклик процедури) формальні параметри дістають конкретні значення. Ці значення називаються фактичними параметрами.

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

Головна програма може викликати будь-яку підпрограму, підпрограма може викликати тільки підпрограми, які описані вище від неї.

При виклику процедури параметри-значення вабувають нових значень, які здобуваються в результаті обчислення виразів оператора процедури. Наприклад, у вищенаведеному прикладі якщо до виклику процедури змінна х мала значення 5, а змінна у значення 2, то параметр е набуде значення 20, а параметр с значення «?». Параметри-значення >в процедурі можна використовувати як звичайні змінні, нові значення, яких вони набудуть, не матимуть впливу на будь-які змінні головної програми.

При виклику процедури параметри-змінні .отримують доступ до комірок пам'яті, де знаходяться значення змінних, які стоять в операторі виклику процедури. Починаючи з моменту виклику, всі зміни значень параметрів-змінних будуть автоматично відображатися на значен--вях пов'язаних з ними змінних. Наприклад, у вищенаведеному прикладі після виклику продедури змінна зв'яжеться зі змінною а, у sb, fsd.

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


^ Приклад використання процедури:

Знайти периметр трикутника, який заданий координатами своїх вершин. Для визначення периметра трикутника мож-ла використати процедуру знаходження довжини відрізка.

Program triangle;

var Xl,ylfx2,y2,x3,y3,dl,d2.,d3jreal;

procedure dist(xxl,yyl,xx2,yy2:real;

var d:real);

begin

d:=sgrt(sqr(xx2-xxl)+sqr{yy2-yyl)); end;

Begin

write('Введіть координати перші вершшн:'If

readln(xl,yl);

write('Введіть координати другої верпини:')?,

readln(x2,y2);

write( 'Введіть координати третьої веряшиї') f

readln(x3,y3);

dist(xl,yl,x2,y2,dl);

dist(x2,y2,x3,y3,d2);

dist(xl,yl,x3,y3,d3);

writeln( 'Периметр трикутника дорівнює',

dl+d2+d3); End.
^

Підпрограми. Функції


Функція в мові програмування Паскаль зав* жди оформлюється стандартно і має такий вигляд:

function <ім'я функції>(<списокпарамварів>^г «тип результату>; ... <розділ описів>

Begin

... <серія операторів>

End;

У перекладі з англійської function означає «функція». Після слова end, яке завершує функцію, ставиться крапка з комою.

За принципами роботи зі змінними та пара* метрами функції повністю ідентичні процедурам (див. вище).

Функція як результат повертає одне значення простого типу даних, в тілі функції обов'язково має міститись оператор присвоєння:

<ім'я функції> := <вираз>;

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

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

^ Приклад використання функції:

Знайти периметр трикутника•,. який заданий координатами своїх вершин.

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

відрізка.

Program triangle;

var Xl,yl,x2,y2,x3,y3:real;

function dist(xxl,yyl ,xx2 ,yy2: real): real; begin

dist:=sqrt(sqr(xx2-xxl)+sqr(yy2-yyl)); end; .

Begin ' write СВведіть координати першої вершини:');

readln(xl,yl);

writeCBBeniTb координати другої вершини:'); readln(x2,y2);

тагіЬеСВведіть координати третьої вершини:'); readln(x3,y3);

writelnCnepHMerp трикутника дорівнює',

dist(xl,yl,x2,y2) + dist(x2,y2,x3,y3)+ dist(xl,yl,x3,y3));

End
^

Робота з масивами


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

Масив у мові програмування — це сукупність даних одного типу.

Змінні типу масив на мові програмування Паскаль описуються у вигляді: <ім'я масиву> : array[ПЗ.,КЗ] of <тип даних>; де <тип даних> — це тип змінних, які складають масив; тип даних — це будь-який тип даних, у тому числі і масив; <ім'я масиву> — це ідентифікатор, він створюється за тими самими правилами, що й імена змінних; ПЗ — це номер першого елемента масиву, КЗ — номер останнього елемента (тобто загалом масив матиме КЗ-ПЗ+1 елемент); значення ПЗ та КЗ повинні бути константами одного типу даних, тип даних має бути таким, щоб його значення можна було перелічити (наприклад, цілий або символьний, але не дійсний).

Масиви часто називають ще лінійними таблицями.

Наприклад: .

Atarrayfl.. 100] of integer;

      • масив із сотні цілих чисел;

B:array[*a'..'d'] of real;

      • масив із 4 дійсних чисел;

С:аггау[-5. .5] of array[0..3] of char;

— масив із 44 змінних символьного типу

(11 масивів-по 4 елементи в кожному).

Масиви масивів називають ще двомірними масивами, або матрицями. Якщо представити

двомірний масив у вигляді прямокутної таблиці, то перший номер буде номером рядка масиву, а другий— номером стовпчика.

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

Для звертання до конкретного елемента масиву (для надання йому значення або для його і зчитування) після назви масиву в квадратних., дужках зазначається номер елемента, наприклад:

А[3] :=8;

А[Х+6] := А[Х+7] - б;

В['с'] := А[4] / 65.89;

С[4][3] :='?';

Двомірні масиви часто трапляються в прак-1 тичних задачах (тримірні та вище — майже ні-| коли), тому для них у.мові програмування Паскаль дозволений скорочений опис: <ім'я масиву>:array[П31..К31,П32..К32] of

<тип даних>;

П31..К31 — це діапазон зміни номера pядка масиву, а П32..К32 — діапазон номера стовпця.

(тобто загалом масив матиме

(К31-П31+1) • (К32-П32+1) елемент).

Наприклад:

М:аггау{5..10,1..5] of integer;

- двомірний масив із ЗО змінних цілої* типу (6 рядків по 5 елементів у кожному).

М[6,3]:=8;

M[g+l,gdiv4]:=g-7;

Стандартні алгоритми робот з настами

Існує багато алгоритмів обробки масивів Нижче наведені деякі найпоширеніші з них? Обробка буде проводитися на прикладах маси-| вів:

А:array[1..100] of integer;

M:array[l..20,1..10] of integer;

1. Введення масиву з клавіатури.

for(i:=l to 100 do

begin

write{'Введіть ',і,'-ий елемент:');

readln(A[i]); end;

for i:=l to 20 do for j:=l to 10 do

begin

write ('Введіть ',i/ ', j,' елемент:');

readln(M[i,j]);

end;

2, ^ Виведення масиву на екран,

for і:=1 to 100 do

write(A[i'] :4);

for i:=l to 20 do

begin

for j:=l to 10 do

write(M[i, j]:4);

writeln;

end;

  1. ^ Обчислення суми елементів масиву.

s:=0;

for i:=l to 100 do s:=s+A[i];

s:=0;

for i:=l.to 20 do

for j:=l to 10 do

s:=s+M[i,j];

Для підрахунку добутку чисел до тексту фрагмента необхідно внести такі зміни: значення змін-.вої s спочатку повинно дорівнювати 1; наступне значення змінної s можна дістати через попереднє - шляхом помноження s:=s*A[i] (або M[i,j]).

4. ^ Обчислення кількості елементів масиву за ознакою (наприклад, кількості парних елементів).

• k:=0;

' for i:=l to 100 do

if A[i] mod 2 = 0 then

k::=k+l;

k::=0;

for i:=l to 20 do

for j:=l to 10 do

if M(i,j] mod 2 = 0 then

k::=k+l;

Для обчислення кількості елементів за іншою ознакою змінюється тільки умова.

5. ^ Знаходження найбільшого елемента масиву.мах:=А[1];

for i:=2 to 100 do

if A[i]>max then

max:=A[i];

мах:=М[1,1];

for i:=l to 20 do

for j:=l to 10 do

if M[i,jJ>max then

max:=M[i,j];

Для знаходження найменшого з елементів " > масиву в умові треба замінити знак більше «>» на менше «<».

6. ^ Пошук заданого елемента в масиві (лінійний пошук).

Метод лінійного пошуку полягає в тому, ще перевіряються всі елементи масиву з початку де кінця по черзі. Якщо при перевірці зщрсодняьед-елемент, перевірка зупиняється, інакше доходить до кінця масиву. Лінійний пошу»-не дуже ефективний спосіб пошуку елемента масиві, але для довільного масиву цей спосіб єдиний.

Приклад фрагмента програми:

і:=0;

repeat

і:=і+1;

until (і-ЮО) ог (А[і]=х);

if A[i]<>x then

write ('Елемент не знайдено.')

else

write('Елемент має номер:',і);

Пошук у двомірному масиві зручно реалізовувати за допомогою однієї змінної, яка буде пробігати значення від 1 до N*M, де N та М —це розміри двомірного масиву. Номер рядка можна обчислити через і за формулою:

(і - 1) div 10 .+ 1,...

номер стовпця:

(і - 1) mod 10 + 1.

Приклад фрагмента програми:

і:=0;

repeat

і:=і+1;

until (i=200.) or: (M[ (i-1) div 10+1,

(і-1) mod 10+1 ]=х); ,

if (Mf(i-l) div ІО+І; (i-1) mod 10+1] o=xj

then

write {'Елемент не знайдено.')

else

write ('Елемент знаходиться за номером:',

(i-1) div 10+1,", (i-1) mod 10+1);

Існує три можливих види пошуку:

• знаходження номера першого входження ^заданого елемента в масив (приклад фрагмента програми наведено вище);

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

• знаходження номерів всіх входжень; го елемента в масив.

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

«Прапорець»— це Змінна, яка може набувати одне з двох значень, звичайно це true та false. Таку змінну доцільно застосовувати в циклічних алгоритмах як сигнал виконання певної умови. До початку роботи циклу «прапорцю» надається значення false. У тілі циклу розміщується умовний оператор, в якому при виконанні умови, що перевіряється, значення змінної.— «прапорця» змінюється на true («Прапорець» піднято). Якщо після закінчення роботи циклу значення «прапорця» дорівнює false, то умова в тілі циклу не виконалася жодного разу.

Приклад фрагмента програми:

flag:=false;

for i:=l to 100 do

if x=A[i] then

begin

Writeln ( 'Елемент має номером:' ,i);

flag:=true;

end;

if not flag then

write('Елемент не знайдено.');

7. ^ Пошук заданого елемента у впорядкованому масиві (двійковий пошук).

Суттєво скоротити кількість операцій, які необхідні для знаходження заданого числа у впорядкованому (наприклад, за зростанням) масиві, дозволяє алгоритм так званого двійкового пошуку (його називають також алгоритмом бінарного пошуку, або алгоритмом ділення навпіл). За цим алгоритмом задане число порівнюється із середнім за номером елементом. Якщо серединне число виявляється більшим за задане, то задане число має знаходитися у першій половині масиву, якщо менше — у другій. Tаким чином, за одне порівняння діапазон пошуку зменшується удвічі. Зазначена процедура повторюється далі для зменшеного діапазону пошуку і так далі до тих пір, поки довжина діапазону не зменшиться до 1.

Двійковий пошук дозволяє значною мірою скоротити кількість необхідних для пошуку перевірок, наприклад для масиву з 1000 чисел задане число буде знайдене щонайбільше за 10 порівнянь.

Приклад фрагмента програми:

1:=1; {ліва межа діапазону пошуку}

г:=п;

{права межа діапазону пошуку}

fl:=false;

{ознака того, що число знайдене}

repeat

m:=(l+r)div 2; {обчислення середини діапазону}

if x=A[m] then fl:=true;

{число знайдене}

if x
{менше, зміна правої межі}

else 1:=ггН-1;

{більше, зміна лівої межі}

until (1>г) or fl;

{число знайдене або ліва границя більша за праву}

if fl then

writeln('Число знаходиться на місці ', м)

else writelh('Такого числа немає.');

З використанням двійкового пошуку можна швидко знайти номер одного із входжень заданого елемента в масив. Якщо в упорядковане масиві таких елементів декілька, то вони ять поспіль. Тож знайти всі входження заданого елемента — це означає знайти діапазон. знайшовши одне входження елемента двійкові пошуком, можна від нього зміщуватися ліворуч, доки не буде знайдений початок діапазону, потім праворуч до кінця діапазону.

8. ^ Сортування (упорядкування) масиву.

Сортування — дуже розповсюджений процес обробки даних.

Сортування (упорядкування) — це розміщення елементів за певним порядком. Дані масиві можна упорядковувати за незростанням (кожний наступний елемент менше або дорі попередньому), за неспаданням (кожний нася ний елемент більший або дорівнює поперередньому), за іншим принципом (наприклад, спочатку парні, потім непарні, або за; кількість дільників тощо). Тут будуть розглянуті тільк методи сортування за незростанням та неспаданням.

На сьогодні створено десятки методів сортування, які розрізняються за швидкістю, простотою тощо. Тут будуть розглянуті три прості (і малоефективні) методи.

Розглянемо сортування методом обміну (а методом «бульбашки»), наприклад, за неспаданням.

Опис методу:

Зліва направо послідовно порівнюються І сусідніх елементів: якщо лівий більший за І вий, то вони міняються позиціями і на другу позицію (як бульбашка), переміщується ший з двох елементів; Спочатку порівнюються перший та другий, потім другий та третій і далі до передостаннього та останнього. Після такого проходу на останню позицію переміщується найбільший елемент масиву. Перший перегляд масиву завершено. Далі здійснюється

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

Приклад фрагмента програми:

for і:=1 to 99 do

{і - номер перегляду масиву,перегляд здійснюється від позиції 1 до п-і+1}

for j:=l to 100-i do

if A[j]>A[j+l] then {обмін}

begin

t:=A[j+l];A[j+l]:=A[j];A[j]:=t;

end;

Для упорядкування масиву за незростанням треба замінити в умові знак більше «>» на менше «<» (на останню позицію буде переміщуватися найменший елемент).

Сортування обміном має ефективність приблизно удвічі нижчу, ніж наведений нижче метод вставляння. Алгоритм обміну можна поліпшити, якщо на кожному перегляді масиву .перевіряти, чи не є весь масив вже відсортованим. Це можна реалізувати за допомогою «прапорця» (див. вище «Лінійний пошук»).

Приклад фрагмента програми:

і:=1; flag:=true;

while flag do .

begin

flag:=false;

forj:=lto100-ido if A[j]>A[j+l] then

begin

t:=A[j+l];A[j+l]:=A[j];A[j]:=t; flag:=true;

end; i:=i+l;

end;

Розглянемо сортування методом вибору, наприклад за незростанням.

Опис методу:

Серед усіх елементів масиву знаходиться найбільший елемент, який потім міняється позиціями з першим. Далі від другого елемента до остан-Інього знаходиться найбільший елемент та міняється позиціями з другим. Третій за розміром елемент перемішується на третє місце і так далі. Приклад фрагмента програми:

for i:=l. to 99 do

{і - номер перегляду масиву}

begin

mi: =і; {в mi зберігається номер найбільшого елемента}

forj:=i+l to 100 do

if A[ j]>A[mi] then mi:=j;-t:=A[i];A[i]:=A[mi];A[mi]:=t;

end;

Для упорядкування масиву за неспаданиям треба замінити в умові знак менше «<» на більше «>» (на першу позицію буде переміщуватися найменший елемент).

Метод вибору дещо менш ефективний, віяк метод вставляння, але значно ефективніший* ніж метод обміну.

Розглянемо сортування методом вставляя? ня, наприклад за незростанням.

Опис методу:

Порівнюються перші два елементи масиву АРІ і А2: якщо А[1]<А[2], то елементи міняються позиціями. Таким чином, отримаємо перші два елементи масиву упорядкованими. Далі береться А[3] та вставляється в упорядковану послідовність попередніх елементів так, щоб упорядку= вання не порушилось. Цей процес продовжується до останнього елемента масиву.

Приклад фрагмента програми (для коректне! роботи фрагмента в масиві має бути додатковий елемент з номером 0):

for i:=l to 99 do

begin

j:=i; t=A[j+l];

whj.le(A[ j]>t)

and( j>=l> do

begin

A[j+l]:=A[j];

j:=j-l

end;

A[j+l]:=t;

end;

Для упорядкування масиву за неспаданням треба замінити в умові знак більше «>» на менше «<».
^

Стандартні алгоритми роботи з рядками


Існує багато алгоритмів обробки текстової інформації. Нижче наведені деякі найпоширеніші з них. Обробка буде проводитися для рядка:

s:string;

1. ^ Заміна всіх входжень заданого слова. , * Наприклад, треба замінити в рядку всі слеші; «Паскаль» на «Бейсік».

repeat

t: =pos(ТІаскапь',s); {знаходження слова 'Паскаль'}

if t>0 then {якщо слово знайдене}

begin

delete(s,t,7); {видалення 7 літер}

insert('BeftciK'fSjt); {вставляння слова 'Бейсік'}

end;

until t=0;

2. ^ Видалення зайвих символів. Наприклад, треба в рядку видалити всі зайві проміжки між словами, залишивши їх по одному.

і:=І;

repeat

while fs[i]o' ') and (i
{знаходження проміжку}

i:=i+l;

ifs{i]="then

while (s[i+l]=' ') and (i+l
delete(s,i+1,1);

{видалення проміжку}

until i>=length (s);

3, ^ Розділення рядка на окремі слова.

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

Words:array{l..100] of string;

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

і:=1; {номер символу в рядку}

prt=0; {номер попереднього проміжку}.

w:=l; {номер слова}

repeat while (s [ і ] о") and (i
i:=i+l; {пошук проміжку}

if s[i]=" then

begin

Words[w] :=copy(s,pr+1,i-pr);

pr:=i;

w:=w+l; i:=i+l;

end;

else

Words[w]:=copy(s,pr+l,i-pr+l);

until i>=length(s); Після виконання цього фрагмента програми w слів рядка s будуть записані в рядки масиву; Words.


ВІТАЄМО З ЗАКІНЧЕННЯМ КУРСУ ІНФОРМАТИКИ.








Похожие:

Урок 1 Історія створення мов програмування iconКурс лекцій з методики викладання іноземних мов у загальноосвітній школі для студентів 4 курсу
У лекціях враховані загальноосвітні, виховні та розвиваючі цілі вивчення іноземних мов
Урок 1 Історія створення мов програмування iconУрок Перше знайомство з мовою програмування Паскаль Уся наша гідність міститься в думці. Не простір і не час, які ми не можемо заповнити, піднімають нас, а саме наша думка. Тому навчаймося правильно мислити Блез Паскаль
Мову програмування Паскаль для навчання студентів основам програмування створив у 1968-1971 рр швейцарський учений Ніклаус Вірт (рис....
Урок 1 Історія створення мов програмування iconУрок №4. Тема: Історія розвитку обчислювальної техніки
Тема: Історія розвитку обчислювальної техніки. Покоління еом. Історія обчислювальної техніки. Структура комп’ютера за фон Нейманом....
Урок 1 Історія створення мов програмування iconРекомендації щодо оформлення навчального кабінету іноземних мов середньої загальноосвітньої школи
Кабінет іноземних мов — це навчальний підрозділ школи, оснащений наочними посібниками, навчальним обладнанням, меблями та пристроями,...
Урок 1 Історія створення мов програмування iconУрок №15. Тема: Події та їх обробники. Створення процедур-обробників подій
Мета: Актуалізувати знання учнів про створення, виконання та збереження нового проекту, розміщення елементів керування на формі....
Урок 1 Історія створення мов програмування iconЗадача №3 Тема. Моделі оптимального планування на рівні підприємства. «Розрахунок оптимальної виробничої програми карамельного цеху» Лінійне програмування Теоретичні
Загальна модель задачі лінійного програмування повинна відповідати наступним вимогам
Урок 1 Історія створення мов програмування iconОрганізація класу до роботи
Створення психологічного настрою на робота, збудження інтересу до майбутньої навчальної діяльності, створення сприятливої емоційної...
Урок 1 Історія створення мов програмування iconУрок №22 Великі європейські стилі. Античність. Готика Термін «античність» в перекладі з латинської аntiguus «давній» ввели італійські діячі епохи
Греції та Стародавнього Риму. Історія античної культури розглядається наукою як історія формування, розквіту та розпаду стародавніх...
Урок 1 Історія створення мов програмування iconЛабораторна робота N6 Мета роботи Вивчення методики програмування переривань
Вивчення методики програмування переривань від зовнішніх пристроїв, ознайомлення з організацією мультипрограмних систем
Урок 1 Історія створення мов програмування iconУрок №18. Тема: Підсумкове заняття з теми «Базові поняття програмування. Засоби візуальної розробки програм»
Мета: Узагальнити та систематизувати знання учнів з теми «Базові поняття програмування. Засоби візуальної розробки програм»; здійснити...
Разместите ссылку на наш сайт:
Уроки, сочинения


База данных защищена авторским правом ©izlov.ru 2000-2014
При копировании материала обязательно указание активной ссылки открытой для индексации.
связаться с нами