Вступ до програмування

Розв'язування задач з використанням комп'ютера. Поняття інформаційної моделі. Способи описування алгоритмів. Базові структури алгоритмів. Інтегровані середовища програмування. Створення лінійних програм. Алгоритми роботи з рядковими величинами.

Рубрика Программирование, компьютеры и кибернетика
Вид учебное пособие
Язык украинский
Дата добавления 03.03.2013
Размер файла 618,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

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

Як правило, програми компілятори та інтерпретатори називаються так само, як і мови, для перекладу з яких вони призначені. Слова Паскаль, Бейсік, Сі можна сприймати і як назви мов, і як назви відповідних програм - трансляторів.

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

Домашнє завдання:

· вивчити означення, що прочитані на лекції (що таке програма, класифікація мов програмування, що таке транслятор, типи трансляторів).

Тема уроку: "Мова програмування. Особливості та призначення. Алфавіт мови програмування"

Мета уроку: дати дітям поняття мови програмування, на прикладі мови Паскаль дати поняття основним поняттям мови: алфавіт, оператори, ідентифікатори, рядки, описи.

Тип уроку: Лекційний.

Теоретичний матеріал:

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

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

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

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

Правила семантики пояснюють, яке смислове значення має кожний опис і які дії повинен виконати комп'ютер під час виконання кожної команди.

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

· символи,

· слова,

· вирази,

· команди (оператори).

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

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

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

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

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

Алфавіт і словник мови.

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

У якості літер використовуються великі та малі літери латинського алфавіту:

a b c d e f g h і j k l m n o p q r s t u v w x y z

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

і знак підкреслення.

У якості десяткових цифр:

1 2 3 4 5 6 7 8 9 0

Шістнадцяткові цифри будуються з десяткових цифр і літер від A до F (або від a до f).

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

+ плюс

- мінус

* зірочка (знак множення)

/ знак ділення

= дорівнює

> більше

< менше

# номер

$ знак грошової одиниці

[ ] квадратні дужки

( ) круглі дужки

{} фігурні дужки

. крапка

, кома

: двокрапка

; крапка з комою

' апостроф

^ тильда

@ комерційне а

Проміжок

Комбінації спеціальних символів можуть утворювати складені символи:

:= присвоювання

<> не дорівнює

.. діапазон значень

(* *) альтернатива { }

(..) альтернатива [ ]

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

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

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

Слова поділяються на:

· стандартні,

· зарезервовані,

· ідентифікатори користувача.

Зарезервовані слова є складовою частиною мови, мають фіксоване написання і назавжди визначений зміст. Наприклад: begin, else, function, goto, end, program і т.д.

Стандартні слова призначені для заздалегідь визначених розробником мови типів даних, констант, процедур і функцій (наприклад, sin, cos, Pi). Зарезервований ідентифікатор можна перевизначити, але це може привести до помилки, тому краще цього не робити.

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

1. Ідентифікатор починається тільки з літери або знака підкреслення.

2. Ідентифікатор може складатися з літер, цифр і знака підкреслення.

3. Між двома ідентифікаторами повинен бути хоча б один розділовий знак.

4. Максимальна довжина ідентифікатора 127 символів, але значущими є тільки 63 символи.

При написанні можна використовувати як великі, так і малі літери. Компілятор не визначає різниці між ними

Правила оформлення програм (пунктуації):

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

2. Крапка з комою розділяє оператори. Її відсутність між операторами викликає помилку компіляції. Наявність між операторами декількох крапок з комою не є помилкою, тому що компілятор сприймає їх як ознаку наявності порожніх операторів.

3. При використанні вкладених структур може виникнути ситуація:

End

End

end;

У цьому випадку крапка з комою ставиться тільки після останнього end. А наприкінці програми крапка з комою взагалі не ставиться.

4. В операторах циклу крапка з комою не ставиться після while, repeat, do і перед until.

5. В умовних операторах крапка з комою не ставиться після then і перед else.

Домашнє завдання:

· прочитати сторінки 23 - 24 запропонованого підручника;

· вивчити означення, що прочитані на лекції.

Тема уроку: "Величини. Типи даних. Стандартні типи даних. Набір функцій і операцій, введених для кожного зі стандартних типів."

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

Тип уроку: Лекційний.

Теоретичний матеріал:

В своїй роботі програміст завжди стикається з таким поняттям, як величина. Що ж таке величина? З точки зору програмування величини - це дані, що обробляються програмами.

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

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

Для визначення констант служить зарезервоване слово const.

Формат опису:

Сonst

< ідентифікатор > = < значення константи >;

Приклад:

Соnst

Мах=1000;

Vхоd='сегмент 5';

Є ряд констант, до значень яких можна звертатися без попереднього опису. Наприклад,

Ідентифікатор

Тип

Значення

Опис

True

boolean

True

"Істина"

False

boolean

False

"Хибність"

Maxint

integer

32767

Максимальне ціле

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

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

Формат опису:

Var

< ідентифікатор> : < тип >;

Приклад:

Var

Sum1, Sum2: real;

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

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

· скалярні (прості),

· структуровані (складені).

Скалярні типи у свою чергу підрозділяються на стандартні та типи користувача. Стандартні типи пропонуються користувачам розроблювачами системи Turbo Pascal. Типи користувача - розробляються самим програмістом.

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

· цілі,

· дійсні,

· літерні,

· булівські.

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

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

Тип

Діапазон

Необхідна пам'ять (байт)

Byte

0...255

1

Shortint

-128...127

1

Integer

-32768...32767

2

Word

0...65535

2

Longint

-2147483648...2147483647

4

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

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

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

mЕ+p,

де m - мантиса (ціле або дробове число з фіксованою десятковою крапкою),

Е - означає "десять у степені",

р - порядок (ціле число).

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

Приклад:

Число у форматі з плаваючою крапкою

Значення числа

0.4500E+02

0.45*102=45

-2.600E05

-2.6*105=-260000

+0.45670E-02

0.4567*10-2=0.004567

Стандартний найбільш часто використовуваний дійсний тип даних представлений у наступній таблиці :

Тип

Діапазон значень

Мантиса

Необхідна пам'ять (байт)

Real

2.9*10E-39...1.7*10E38

11-12

6

Літерний (символьний) тип може набувати значень кодової таблиці ПЕОМ (дивись таблицю ASCII кодів).

Таблиця ASCII кодів.

Символьній змінній в пам'яті виділяється один байт, тому вона можна зберегти тільки один символ ASCII таблиці.

Булівський тип подається двома значеннями: True (істина) або False (хибність). Він широко застосовується в логічних виразах і виразах відношення.

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

Змінні і константи всіх типів використовуються у виразах.

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

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

Операції в мові Паскаль підрозділяються на:

? арифметичні

? відношення (порівняння)

? логічні

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

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

Операція

Дія

Типи операндів

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

Бінарні

+

Додавання

Цілий Дійсний

Цілий Дійсний

-

Віднімання

Цілий Дійсний

Цілий Дійсний

*

Множення

Цілий Дійсний

Цілий Дійсний

/

Ділення

Цілий Дійсний

Цілий Дійсний

Div

Ділення націло

Цілий

Цілий

mod

Залишок від ділення

Цілий

Цілий

Унарні

+

Збереження знака

Цілий Дійсний

Цілий Дійсний

-

Збереження знака

Цілий Дійсний

Цілий Дійсний

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

Операції

Назва

Вираз

Результат

=

Дорівнює

А=В

True, якщо А дорівнює В

<>

Не дорівнює

А<>В

True, якщо А не дорівнює

>

Більше

A>B

True, якщо А більше В

<

Менше

A<B

True, якщо А менше В

>=

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

A>=B

True, якщо А більше або дорівнює В

<=

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

A<=B

True, якщо А менше або дорівнює В

Результатом виконання логічного (булівського) виразу є логічне значення True або False. Операндами служать дані тільки булівського типу. Список логічних операцій наведений у таблиці:

Операція

Дія

Вираз

А

В

Результ.

not

Логічне заперечення

not A

True

False

False

True

and

Логічне "ТА"

A and B

True True False False

True False True False

True False False False

or

Логічне "АБО"

A or B

True True False False

True False True False

True True True False

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

Операція

Пріоритет

Вид операції

Not, унарні "-" і "+"

Перший (вищий)

Унарна операція

*, /, div, mod, and

Другий

Операції типу множення

+, -, or

Третій

Операції типу додавання

=, <>, <, >, <=, >=

Четвертий (нижчий)

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

Арифметичні вирази у якості операндів можуть містити імена функцій. З поняттям функції ми будемо знайомитись пізніше в курсі програмування, але стандартні функції (cos, sin, x2 та інші) Вам знайомі з курсу математики і їх використання у курсі інформатики відрізняється тільки правилами запису (синтаксису). Так, на відміну від математики, в програмуванні аргумент функції обов'язково береться в круглі дужки. Нижче поданий список цих функцій, де літерами Х та І позначені відповідно: Х - цілі та дійсні типи, І - тільки цілі.

Abs(X) - обчислення абсолютного значення (модулю) Х. Тип результату збігається з типом параметра.

ArcTan(X) - обчислення кута, тангенс якого дорівнює Х, значення кута подано в радіанах і може знаходитися в діапазоні від -p/2 до p/2. Для перетворення значення кута з радіанної міри в градусну необхідно значення кута помножити на число 180/p. Результат має дійсний тип.

Cos(X) - обчислення косинуса Х, параметр задає значення кута в радіанах.

Для перетворення значення кута з радіанної міри в градусну необхідно значення кута помножити на число 180/p. Результат має дійсний тип.

Exp(x) - обчислення значення експоненти аргументу (Ex). Результат завжди має дійсний тип.

Frac(X) - знаходження дробової частини Х. Результат має дійсний тип.

Int(X) - знаходження цілої частини Х (дробова частина відкидається). Результат має дійсний тип.

Ln(x) - обчислюється натуральний логарифм аргументу. Результат має дійсний тип. За допомогою функцій Exp та Ln можна обчислити довільну степінь числа наступним чином: ab=Exp(b*Ln(a)).

Pi - повертає значення числа p (3.1415926).

Sin(X) - обчислення синуса Х. Параметр задає значення кута в радіанах. Для перетворення значення кута з радіанної міри в градусну необхідно значення кута помножити на число 180/p. Результат має дійсний тип.

Sqr(X) - піднесення до квадрату значення Х. Тип результату збігається з типом параметра.

Sqrt(X) - обчислення квадратного кореня з Х. Тип результату дійсний.

Random - генерує значення випадкового числа з діапазону від 0 до 0.99. Тип результату дійсний.

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

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

Dec(x,[dx]) - процедура зменшує значення змінної Х на величину DX, а якщо параметр DX не заданий - на 1.

Inc(x,[dx]) - процедура збільшує значення змінної Х на величину DX, а якщо параметр DX не заданий - на 1.

Pred(X) - функція, що визначає попереднє значення для даного типа. Наприклад, Pred(5)=4, Pred(True)=False, Pred('B')='A'.

Succ(X) - функція, що визначає наступне значення для даного типа. Наприклад, Succ(5)=6, Succ(True)=False, Succ('A')='B'.

Odd(X) - число перевіряється на парність. Аргументом цієї функції може бути тільки число типу longint, а результат дорівнює true, якщо аргумент парний, і false - в протилежному випадку.

Домашнє завдання:

· прочитати сторінки 26 - 31, 39 - 42 запропонованого підручника;

· вивчити означення, що прочитані на лекції;

· з запропонованого підручника розглянути практичні завдання на стор. 38 - 39.

Алгоритмічні структури

Тема уроку: "Вказівка надання значення. Вказівки введення та виведення. Структура програми на мові програмування Паскаль."

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

Тип уроку: Лекційний.

Теоретичний матеріал:

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

<ім'я змінної> := <вираз>;

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

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

(a-b)/(2*c+(a/(c+(b-5)/(c-b))))

А такий:

на мові Паскаль:

1E04*a-34.2*cos(beta).

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

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

Var

X: integer;

Y: real;

то оператор

Y := X+2;

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

X := 2.78;

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

Аналогічно не можна змішувати літерні та числові типи даних, тобто вираз типу:

5 + 'F'

являється помилковим.

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

Chr(I) - перетворює цілий тип у літерний, тобто повертає символ стандартного коду таблиці ASCII з номером, що дорівнює значенню I. Якщо значення більше 255, виникає програмне переривання.

Наприклад: Chr(105); результат='i'.

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

Наприклад: Ord('A'); результат = 65.

Trunc(X) - повертає найближче ціле число, яке менше або дорівнює Х, якщо Х>=0, і більше або рівне Х, якщо Х<0. Результат відноситься до цілого типу. Виходячи з цього наступний оператор: X := Y/X;

буде помилковим (X, як описано вище, має цілий, а Y - дійсний тип), а оператор

X := round(Y/X);

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

Наприклад, помилковими будуть вирази

1.5 div 3 (один з операндів - дійсне число)

5 mod Y (змінна Y має дійсний тип)

4 / 1 div 2 (результатом операції ділення 4/1 буде дійсне число 4.0)

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

Виведення - це зворотній процес, коли дані передаються після обробки з оперативної пам'яті на зовнішній носій. У мові Паскаль стандартним засобом спілкування людини з ЕОМ є консоль, що складається з таких пристроїв, як клавіатура та екран монітора.

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

Формат введення:

Read (x1,x2,...xn);

де x1, x2,... xn - змінні допустимих типів даних,

Значення x1, x2,...xn набираються мінімум через один проміжок на клавіатурі, при цьому вони відображаються на екрані для контролю правильності введення. Після набору даних однієї процедури Read натискається клавіша . Значення введених даних повинні строго відповідати типам цих даних, інакше компілятор виводить на екран повідомлення про помилку.

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

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

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

Формат виведення:

write (Y1, Y2,... Yn) - виведення на монітор;

де Y1, Y2,... Yn - дані, що виводяться,

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

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

Приклад:

Writeln('Y1=',Y1)

У процедурах виведення Write і Writeln є можливість запису виразу, що визначає ширину поля для виведення. У прикладах, що подаються далі, використовуються наступні умовні позначення:

І - ідентифікатор, що визначає ціле число,

R - ідентифікатор, що визначає дійсне число,

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

1. Виведення десяткового значення цілої величини I у крайні праворуч позиції поля шириною р (проміжки перед числом вказані знаком "_").

Значення I

Вираз

Результат

134

write(I:6);

___134

1

1 write(I:10); _________1

_________1

312

write(I+I:7);

____624

2. Виведення у крайні праворуч позиції поля шириною р значення дійсної величини R у форматі з фіксованою крапкою, причому після десяткової крапки виводиться q цифр (0<=q<=24), що представляють дробову частину числа. Якщо q=0, ні дробова частина, ні десяткова крапка не виводяться. Якщо q>24, то при виведенні використовується формат із плаваючою крапкою. Без використання форматування число також виводиться у форматі з плаваючою крапкою

Значення R

Вираз

Результат

511.04

write(R:8:4);

511.0400

-46.78

write(R:7:2);

_-46.78

-46.78

write(R:9:4);

_-46.7800

Програма на мові Паскаль складається з рядків, максимальна довжина яких не повинна перевищувати 127 символів. Програміст, набираючи текст програми, має право розміщувати рядки на екрані довільно. Рядок може починатися з будь-якої колонки. Кількість операторів у ньому довільна, причому відокремлюються вони один від одного крапкою з комою. Однак для яснішого сприйняття програми рекомендується розміщувати кожен оператор на окремому рядку, а складені оператори взагалі виокремлювати, роблячи відступи.

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

? описової;

? виконавчої.

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

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

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

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

· опис констант,

· опис типів користувача;

· опис змінних,

· опис процедур і функцій користувача,

· оператори.

Program <ім'я>;

Uses <ім'я1, ім'я2>; {список використаних бібліотечних модулів}

Const

< ідентифікатор > = < значення >;

Type

< ідентифікатор > = < опис типу >;

Var

< ідентифікатор > : < тип >;

{ розділ опису підпрограм}

Begin

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

End.

Будь-який розділ, крім розділу операторів, може бути відсутнім. Розділ uses завжди знаходиться в заголовку програми. Решта розділів можуть зустрічатися в програмі будь-яку кількість разів у довільному порядку. Головне, щоб всі описи об'єктів програми були зроблені до того, як вони будуть використані.

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

Формат опису:

Uses < ім'я 1 >,< ім'я 2 >,...;

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

Crt - містить засоби керування монітором у текстовому режимі, клавіатурою ПЕОМ, а також звукові ефекти.

Graph - містить пакет графічних засобів, що забезпечують ефективну роботу з екраном монітору у графічному режимі.

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

Формат опису:

Const < ідентифікатор> = < значення >;

Приклад: Const A = 10.25; Max = 1000;

V = 'Hello';

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

Формат опису:

Var

< ідентифікатор,... > : < тип >;

Приклад:

Var

A,S : real; n : integer;

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

У програмі на мові Паскаль розділ операторів є основним. Він починається зарезервованим словом Begin (початок), далі розміщуються оператори мови, відділені один від одного крапкою з комою. Завершує розділ зарезервоване слово End (кінець) і крапка:

Begin < серія >;

End.

В будь-якому місці програми можуть вживатися коментарі. Це текст, за допомогою якого програміст занотовує деякі пояснення для користувачів програми. Текст коментарю обмежується символами { } або (* *) і може містити комбінації латинських і російських літер, цифр і інших символів. В обмежувачах (* *) проміжки між дужкою і зірочкою заборонені і крім того, у тексті не повинні знаходитися знаки обмежувачів, з яких коментар починається. Обмежень на довжину коментарю немає.

Домашнє завдання:

· прочитати сторінки 31 - 32,43 - 47 запропонованого підручника;

· вивчити означення, що прочитані на лекції;

· з запропонованого підручника можна дати практичні завдання зі стор. 42 - 43.

Тема уроку: "Формування зображення на екрані ПЕОМ. Створення найпростіших лінійних програм"

Мета уроку: Дати дитині поняття про режими роботи монітору та принципи виведення зображення на екран в цих режимах.

Тип уроку: Лекційний з практичними прикладами.

Лекційний матеріал:

Будь-який монітор ПЕОМ може працювати в одному з двох режимів:

· текстовому;

· графічному.

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

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

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

· регулювати яскравість світіння символів;

· керувати кольором зображення і тла;

· керувати текстовим курсором;

· організовувати роботу з текстовими вікнами;

· організовувати звукові ефекти;

· керувати клавіатурою

Деякі з цих підпрограм ми розглянемо нижче.

Так, наприклад, наступні процедури дозволяють очищати екран та керувати рядками на екрані:

ClrScr повністю очищує екран або поточне вікно і переміщує курсор у лівий верхній кут екрана або поточного вікна (координати 1,1);

ClrEol витирає всі символи в рядку, починаючи з поточної позиції курсору до кінця рядка;

InsLine вставляє порожній рядок перед поточним рядком;

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

При роботі в текстових режимах із кольоровим дисплеєм кожний виведений на екран символ може бути одного з 16 (0-15) можливих кольорів. Тло може бути одним із 8 (0-7) кольорів. Для встановлення кольору виведених символів використовується процедура TextColor, для встановлення кольору тла - процедура TextBackGround. Є можливість організувати мерехтіння символів:

TextColor(Color:byte) - установити колір символів, що виводяться;

TextBackGraund(Color:byte) - установити колір тла.

Значення параметрів можуть задаватися, як константами (наприклад, Yellow), так і їх числовими еквівалентами (наприклад, 14), повний список яких наведений у таблиці:

Темні кольори

Світлі кольори

0(Black) - чорний

8(DarkGray) - Темно-сірий

1(Blue) - синій

9(LightBlue) - світло-синій

2(Green) - зелений

10(LightGreen) - світло-зелений

3(Cyan) - блакитний

11(LightCyan) - світло-блакитний

4(Red) - червоний

12(LightRed) - світло-червоний

5(Magenta) - фіолетовий

13(LightMagenta) - світло-фіолетовий

6(Brown) - коричневий

14(Yellow) - жовтий

7(LightGray) - світло-сірий

15(White) - білий

Щоб додати виведеним символам ефект мерехтіння, при встановленні кольорів вказується константа Blink (або 16). Мерехтіння буде підтримуватися доти, поки не відбудеться установка кольору символів, що виводяться, без мерехтіння.

Приклад:

TextColor(Yellow+Blink); Write('жовті символи, що миготять');

TextColor(12+16); Write('світло-червоні символи, що миготять');

TextColor(6); Write('коричневі символи');

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

LowVideo - встановлює режим мінімальної яскравості світіння виведених на екран символів.

NormVideo - встановлює режим нормальної яскравості світіння виведених на екран символів. Цей режим встановлюється автоматично при ініціалізації модуля Crt.

HighVideo - установлює режим максимальної яскравості світіння.

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

Window(X1,Y1,X2,Y2);

де X1, Y1 - координати лівого верхнього, а X2, Y2 - правого нижнього кута вікна. Розмір максимального вікна (повний екран) - (1,1,80,25), мінімального - один стовпчик на один рядок, тобто (1,1,1,1).

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

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

GoToXY(X,Y:byte) - процедура переводить курсор у задану позицію екрану (або вікна) з координатами Х (стовпчик), Y (рядок); верхній лівий кут екрана має координати (1,1), а правий нижній в стандартному режимі (80,25);

WhereХ, WhereY - функції, що дозволяють одержати відповідні значення X- або Y- координати курсору щодо поточного вікна. Діапазон значень, що повертаються, визначається розмірами поточного вікна або повного екрана.

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

program task;

uses crt;

begin

textbackground(blue); {встановлення кольору тла}

clrscr; {очищення екрану}

highvideo; {встановлення підвищеної яскравості зображення}

textcolor(red); {встановлення кольору виведення}

gotoxy(35,12); {переведення курсору в задану точку - центр екрану}

writeln('Ivanov'); {виведення прізвища}

normvideo;

textcolor(yellow+blink); {встановлення кольору виведення зображення з мерехтінням}

gotoxy(35,13);

writeln('Petro');

end.

В текстовому режимі операторами виведення можна виводити на екран будь-який символ ASCIIтаблиці, навіть той, що відсутній на клавіатурі. В цьому випадку його можна вивести або за допомогою символу # з наступним ASCII-кодом символу, або шляхом набирання ASCII- коду необхідного символу на додатковій цифровій клавіатурі при натиснутій клавіші Alt. Наприклад, один той самий символ "¤" можна вивести на екран так:

Writeln('¤'); - символ отриманий одночасним натисканням клавіш Alt+<ASCII код символу>

Writeln(#253);

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

Поряд із підпрограмами організації роботи з екраном модуль Crt включає засоби керування звуком. У персональних ЕОМ є можливість генерувати звукові сигнали за допомогою вбудованого динаміка частотою 37 - 32767 Гц. Голосність звука не регулюється. Стандартний звуковий сигнал ("біп") постійної тривалості (0.25 с) і частоти (800 Гц) викликається сьомим символом (^G) кодової таблиці ASCII.

Приклад:

writeln('помилка в даних',^G);

writeln('працює процедура',#7,#7);

writeln('підключен драйвер',Chr(7),Chr(7));

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

sound(І) - активізує звукові засоби ПЕОМ. Ціле значення I вказує частоту звучання звука в герцах. Звук зазначеної частоти буде генеруватися доти, поки не буде скасований процедурою NoSoud;

NoSound - скасування звука. Скасовує звуковий режим, заданий процедурою Sound;

Delay(I) - вказує час, у продовж якого лунає сигнал.

Приклад:

Begin

Sound(500);

Delay(2000);

NoSound

End;

У даному прикладі звуковий сигнал частотою 500 Гц буде звучати 2 секунди (2000 мс).

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

Нота

Велика октава

Мала октава

Перша октава

Друга октава

До

130.81

261.63

523.25

1046.50

Ре

146.83

293.66

587.33

1174.07

Мі

164.81

329.63

659.26

1318.05

Фа

174.61

349.23

698.46

1396.09

Соль

196.00

392.00

784.99

1568.00

Ля

220.00

440.00

880.00

1760.00

Сі

246.94

493.88

987.77

1975.00

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

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

program muzika;

uses crt;

begin

sound(785);

delay(10000);

nosound;

sound(659);

delay(5000);

nosound;

sound(659);

delay(5000);

nosound;

sound(785);

delay(10000);

nosound;

sound(659);

delay(5000);

nosound;

sound(659);

delay(5000);

nosound;

sound(785);

delay(5000);

nosound;

sound(698);

delay(5000);

nosound;

sound(659);

delay(5000);

nosound;

sound(587);

delay(5000);

nosound;

sound(523);

delay(20000);

nosound;

sound(785);

delay(10000);

nosound;

sound(1046);

delay(5000);

nosound;

sound(880);

delay(5000);

nosound;

sound(785);

delay(10000);

nosound;

sound(659);

delay(5000);

nosound;

sound(659);

delay(5000);

nosound;

sound(785);

delay(5000);

nosound;

sound(698);

delay(5000);

nosound;

sound(659);

delay(5000);

nosound;

sound(587);

delay(5000);

nosound;

sound(523);

delay(20000);

nosound;

end.

Домашнє завдання:

· прочитати сторінки 47 - 52 запропонованого підручника;

· вивчити означення, що прочитані на лекції;

· запропонувати дітям вдома створити програму, що виводить на екран деяке псевдографічне зображення, наприклад, таке

У якості цих символів можна використовувати символи ASCIIтаблиці з кодами 176 - 178, 219 - 223 (дивись відповідну таблицю).

Тема уроку: "Створення найпростіших лінійних програм"

Мета уроку: Дати дитині поняття про режими роботи монітору та принципи виведення зображення на екран в цих режимах.

Тип уроку: Практична робота.

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

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

· Яку структуру повинна мати правильно написана програма мовою програмування Паскаль;

· Які блоки в програмі обов'язкові, а які ні?

· Що таке лінійна програма?

· В яких режимах може працювати відеосистема комп'ютера?

· Охарактеризувати текстовий режим роботи монітору.

· Який бібліотечний модуль допомагає керувати виведенням зображення на екран в текстовому режимі?

· Які процедури керують кольором зображення та тла?

· Як можна керувати яскравістю зображення та мерехтінням символів?

· Скільки кольорів можна вивести на екран монітора в стандартному текстовому режимі?

· Як на екрані створити текстове вікно?

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

· Як вивести на екран псевдографічне зображення?

· Як задати позицію виведення зображення на екран?

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

Домашнє завдання:

· запропонувати дітям вдома створити програму, що "виконує" просту мелодію за допомогою вбудованого динаміка.

Тема уроку: "Розв'язування задач з лінійними алгоритмами "

Мета уроку: Навчитися розв'язувати прості задачі з лінійними алгоритмами.

Тип уроку: Практична робота.

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

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

Розв'язати наступні приклади (повторення):

· Якщо значення цілочисельних змінних наступне X=15, Y=25, Z=8, то чому будуть дорівнювати значення цих змінних після виконання операцій присвоювання:

X := sqrt(Y)*2; Y := Y-2; Z := Y div 2 mod 3;

Відповідь: X:= sqrt(25)*2 X = 10

Y:= 25 - 2 Y = 23

Z:= 23 div 2 mod 3 Z = 2

· Написати команду присвоєння, що надає значення середнього арифметичного змінних X та Y змінній Z.

Відповідь: Z := (X + Y) / 2

· За допомогою яких операторів присвоєння можна поміняти місцями значення двох змінних X таY.

Для цього необхідно використання третьої змінної того ж типу, що й змінні X та Y, наприклад, Z:

Z := X; X := Y; Y := Z

· Далі можна розв'язати задачі з запропонованого підручника на сторінках 55 - 58.

Приклади розв'язування задач:

№41.

Умова: Якщо на одну шальку терезів посадити Даринку, яка важить n кг, і Наталку, яка важить на 5 кг менше, а на іншу насипати m кг цукерок, то скільки кілограмів цукерок доведеться з'їсти дівчаткам, щоб шальки терезів врівноважились.

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

N - вага Даринки;

M - вага цукерок;

P - вага цукерок, що необхідно з'їсти дівчинкам.

Тоді програма для розв'язання задачі буде такою:

Program Task_41;

Uses crt;

Var M, N, P : real;

Begin

Clrscr;

Write(`Введіть вагу Даринки ');

Readln(N);

Write(`Введіть вагу цукерок, що лежать на терезах');

Readln(M);

P := N + N - 5 - M; {N - 5 - вага Наталки}

Writeln(`Дівчаткам необхідно з'їсти ',P,`кг цукерок.');

Readln; {Процедура затримує зображення на екрані до натискання клавіші Enter}

End.

№50.

Умова: Дано два дійсних числа a та b. Обчислити їх суму, різницю, добуток.

Необхідні змінні:

a, b - задані числа;

Add - сума чисел;

Sub - різниця чисел;

Multy - добуток чисел.

Програма має наступний вигляд:

Program Task_50;

Uses crt;

Var a, b, Add, Sub, Multy : real;

Begin

Clrscr;

Write(`Введіть два числа ');

Readln(a,b);

Add := a + b;

Sub := a - b;

Multy := a*b;

Writeln(`Результати обчислень:');

Writeln(`Сума = `, Add :8:2);

Writeln(`Різниця = ', Sub :8:2);

Writeln(`Добуток = ', Multy :8:2);

Readkey; {Процедура затримки зображення на екрані до натискання будь-якої клавіші}

End.

№51.

Умова: Дано дійсні числа x та y. Обчислити значення виразу:

Необхідні змінні:

x, y - задані числа;

Rez - результат обчислень.

Програма має наступний вигляд:

Program Task_51;

Uses crt;

Var x, y, Rez : real;

Begin

Clrscr;

Write(`Введіть два числа ');

Readln(x,y);

{Будьте уважні при розставлянні дужок у виразі}

Rez := (abs(x)-abs(y))/(1+abs(x*y));

Writeln(`Rez= `, Rez:8:2);

Readkey;

End.

№58.

Умова: Дано гіпотенуза і один з катетів прямокутного трикутника. Знайти другий його катет і площу вписаного круга.

Необхідні змінні:

a - катет прямокутного трикутника;

c - гіпотенуза прямокутного трикутника;

b - довжина невідомого катета;

S - площа вписаного круга.

Математична довідка:

· ь другий катет прямокутного трикутника знаходиться за теоремою Піфагора a^2 + b^2 = c^2, звідки випливає, що катет дорівнює:

· площа вписаного круга обчислюється за наступною формулою:

Програма має наступний вигляд:

Program Task_58;

Uses crt;

Var a, b, c, S : real;

Begin

Clrscr;

Write(`Введіть довжину гіпотенузи ');

Readln(с);

Write(`Введіть довжину відомого катета ');

Readln(a);

b := sqrt(sqr(c)-sqr(a));

S := Pi*(a+b-c)/2;

Writeln(`Довжина невідомого катета: ', b:8:2);

Writeln(`Площа вписаного кола: ', S:8:2);

Readkey;

End.

№62.

Умова: Обчислити відстань між двома точками з координатами (x1; y1) та (x2; y2).

Необхідні змінні:

x1, y1 - координати першої точки;

x2, y2 - координати другої точки

Математична довідка:

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

Тоді відстань між точками з координатами (x1, y1) та (x2, y2) буде обчислюватись за наступною формулою:

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

Програма має наступний вигляд:

Program Task_62;

Uses crt;

Var x1,x2,y1,y2,S : real;

Begin

Clrscr;

Write(`Введіть координати першої точки ');

Readln(x1,y1);

Write(`Введіть координати другої точки ');

Readln(x2,y2);

S := sqrt(sqr(x1-x2)-sqr(y1-y2));

Writeln(`Відстань між двома точками дорівнює: ', S:8:2);

Readkey;

End.

№66.

Умова: Визначити, яку роботу необхідно виконати, щоб підняти тіло масою m на висоту h від Землі.

Необхідні змінні:

m - маса тіла;

h - висота підйому тіла;

A - робота.

Математична довідка:

Робота, необхідна для підняття тіла масою m на висоту h, обчислюється за наступною формулою:

A = mgh,

де g = 9,8 - таблична константа (прискорення вільного падіння).

Програма має наступний вигляд:

Program Task_66;

Uses crt;

Var m,h,A : real;

Begin

Clrscr;

Write(`Введіть масу тіла ');

Readln(m);

Write(`Введіть висоту підйому тіла ');

Readln(h);

A := m*h*9.8;

Writeln(`Виконана робота дорівнює: ', А:8:2);

Readkey;

End.

№73.

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

Необхідні змінні:

S - сума нарахувань сумісника;

P - реальна платня, що він одержить у касі (за умовою вона становить 80% від нарахувань).

Програма має наступний вигляд:

Program Task_73;

Uses crt;

Var P,S : real;

Begin

Clrscr;

Write(`Введіть суму нарахувань робітника ');

Readln(S);

P := S*0.8;

Writeln(`Платня сумісника становить: ', P:8:2);

Readkey;

End.

№76.

Умова: Скласти програму, що подає звуковий сигнал з частотою H Гц та тривалістю Т мс.

Необхідні змінні:

H - частота звука;

T - тривалість звука.

Програма має наступний вигляд:

Program Task_76;

Uses crt;

Var H,T : integer;

Begin

Clrscr;

Write(`Введіть частоту звука ');

Readln(H);

Write(`Введіть тривалість звуку ');

Readln(T);

Sound(H);

Delay(T);

Nosound;

End.

№77.

Умова: Дано значення змінних x, y, z. Обчислити значення змінної t:

Необхідні змінні:

x, y, z - задані числа;

t1, t2, t3, t4 - результати обчислень за відповідними формулами завдання 77 підпункти 1), 2), 3), 4).

Математична довідка:

Для обчислення будь-якої степені будь-якого числа можна скористатися такою формулою:

Мовою Паскаль це буде мати наступний вигляд:

Exp(ln(x)*y)

Програма має наступний вигляд:

Program Task_77;

Uses crt;

Var x,y,z,t1,t2,t3,t4 : real;

Begin

Clrscr;

Write(`Введіть три числа');

Readln(x,y,z);

T1 := (x+y)/(x-1/2)-(x-z)/(x*y);

T2:= exp(ln(x)*exp(ln(y)*(z+2)))+ exp(ln(x)*exp)ln(y)*z)));

T3:= (1+z)*(x+y/z)/(x-1/(1+sqr(x));

T4:= x/(1+sqr(x)/(3+sqr(2*x)/(5+sqr(3*x))));

Writeln(`Т1= ', Т1:8:2);

Writeln(`Т2= ', Т2:8:2);

Writeln(`Т3= ', Т3:8:2);

Writeln(`Т4= ', Т4:8:2);

Readkey;

End.

Домашнє завдання:

· повторити теоретичний матеріал за попередні уроки;

· задачі з запропонованого підручника 42, 52, 59, 63, 74, 75, 78.

Тема уроку: "Вказівка розгалуження та її опис мовою програмування. Опис умов."

Мета уроку: Дати поняття про структурні оператори, вказівку розгалуження (повну та скорочену форми) та поняття про прості та складені умови.

Тип уроку: Лекційний з практичними прикладами.

Лекційний матеріал:

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

· складені;

· умовні;

· повтору.

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

Формат опису:

Begin

< оператор >;

...;

< оператор >;

end;

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

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

Паскаль допускає використання двох умовних операторів: if та case.

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

Перша або повна форма:

if < умова > then

begin

<серія 1>;

End

Else

Begin

<серія 2>;

end;

Мовою блок-схем ця команда записується у наступному вигляді:

Друга або скорочена форма команди розгалуження:

if < умова > then

begin

<серія>;

end;

Мовою блок-схем вона записується так:

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

Один оператор if може входити до складу іншого. У цьому випадку говорять про вкладеність операторів. При вкладеності операторів кожне else відповідає then, що йому передує.

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

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

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

Другий приклад: якщо сьогодні "вихідний" або (англійською or) "святковий день" або "канікули" або "я хворий", я не піду до школи. Виконання хоча б однієї з умов приведе до того, що я залишусь вдома і не піду до школи. Зовсім не обов'язково, щоб одночасно було свято, вихідний, канікули та ще й хвороба, щоб не треба було йти до школи.

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


Подобные документы

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

    курсовая работа [27,7 K], добавлен 03.04.2009

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

    практическая работа [1012,6 K], добавлен 19.02.2010

  • Визначення поняття "алгоритми", їх властивості, метод складання. Способи подання алгоритмів: письмовий, усний, схематичний, графічний, кодований. Навчальна алгоритмічна мова. Особливості створення блок-схеми. Алгоритм поданий мовою програмування.

    презентация [2,9 M], добавлен 06.05.2019

  • Алгоритми розв’язання задач у вигляді блок–схем. Використання мови програмування MS VisualBasic for Application для написання програм у ході вирішення задач на одномірний, двовимірний масив, порядок розв’язання задачі на використання символьних величин.

    контрольная работа [742,9 K], добавлен 27.04.2010

  • Огляд переваг та недоліків мови Пролог, історія її створення. Числення предикатів як математична основа її функціонування. Порівняльна характеристика середовищ програмування Prolog. Алгоритми розв’язування математичних задач за допомогою цієї мови.

    курсовая работа [504,5 K], добавлен 23.12.2014

  • Фундаментальні поняття об'єктно-орієнтованого програмування. Система лінійних нерівностей та опуклі багатогранники. Системи лінійних рівнянь лінійної алгебри як частковий випадок систем лінійних обмежень. Використання середовища програмування Delphi7.

    курсовая работа [222,7 K], добавлен 20.05.2015

  • Мoвa прoгрaмувaння як систeма пoзначень, що служить для точного опису програм або алгоритмів для ЕOM. Вимоги до мов програмування, класифікація за їх особливостям. Загальна характеристика найбільш поширених мов програмування: Сі, Паскаль, Delphi, Бейсік.

    реферат [24,4 K], добавлен 10.11.2012

  • Лінійне програмування як один з найбільш популярних апаратів математичної теорії оптимального управління рішень. Опис існуючих методів розв’язку задач лінійного програмування. Завдання, основні принципи, алгоритми і головна мета лінійного програмування.

    курсовая работа [363,8 K], добавлен 03.12.2009

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

    реферат [2,1 M], добавлен 22.04.2012

  • Аналіз особливостей мови програмування Java та середовища Android Studio. Розробка програмного забезпечення для якісного та ефективного вивчення іноземних слів. Побудова базових алгоритмів і структури даних. Вибір мови програмування, реалізація програми.

    курсовая работа [335,3 K], добавлен 11.01.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.