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



Гімназія №14


Лекції з курсу програмування

(Turbo Pascal)


Луцьк –2001


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

Алгоритми

Структура слідування

Структури розгалуження та циклу

Табличні величини

Програми розв’язку задач реалізовано в мові програмування Паскаль.


Відгуки та пропозиції надсилати за адресою:

^ 263000 м. Луцьк, вул. Черняховського, 8,

гімназія №14, кабінет № 23


Укладач: вчитель основ інформатики та обчислювальної техніки гімназії №14 І.В.Гісь


Лекція №1

Алгоритми (лекція 1 + практична 1)


Лекція (45+45хв)

Поняття алгоритму. Приклад. Виконавці алгоритмів. Способи опису алгоритмів. (пояснення кожної властивості; приклад масовості). Схема алгоритму. Основні конструкції алгоритмів. Лінійні, розгалужені та циклічні алгоритми. Приклади. Структурний підхід до побудови алгоритмів (блок-схеми). Приклади (по одному на лінійний, розгалужений та циклічний алгоритми.)


Практична (45+45)

Перевірка знань основних положень (теорія).

Перевірка блок-схем.

Приклади (розв’язування)

а) Складання блок-схем за заданою формулою і визначити значення величини у при х=…, а=…, в=…

б) Скласти початкову формулу, по якій записано блок схему.

Самостійна робота на 25-30 хв. по варіантах.

Завдання:

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

а) формула на розгалуження;

б) формула на цикл.

Записати початкову формулу, за якою побудовано блок-схему.

Лекція №1

Частина 1

Алгоритм. Базові конструкції

1. Основними поняттями інформатики є поняття інформації та алгоритму. Термін алгоритм походить від імені давнього філософа і математика з Хорезму – Аль – Хорезмі (ІХ століття).


(описав алгоритми

додавання, віднімання,

множення, ділення,

багатоцифрових чисел).

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


2. Приклад алгоритмів
Приклад 1
Завдання : закип’ятити чайник

Алгоритм: 1. Налити в чайник води.

2. Запалити газову камфорку.

3. Поставити чайник на плиту.

Обчислити вираз 2*(2+2)

Алгоритм.

1. Додати 2+2 і запам’ятати результат 4.

2. Виконати множення 2*4 і запам’ятати

результат 8 .

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


3.Властивості алгоритму:

а) Визначеність /алгоритми складаються з певної послідовності команд/.

б) Скінченність.

в) Результативність / дає результат (правильний або неправильний)/.

г) Правильність /якщо алгоритм досягає мети/.

д) Формальність /може бути виконаний не одним виконавцем, а декількома/.

е) Масовість /алгоритм придатний для розв’язування не однієї задачі а кількох/.


4.Виконавці алгоритмів:

людина

механічні виконавці (станки, роботи)

комп’ютер:

програми виконавці (Кенгурятко, середовище Алго і т. і.);

мови програмування (Pascal, Basic, Сі).


5. Існує три способи опису алгоритмів.

Алгоритми можуть задаватися:

Словесним або формульним способом. Таким способом ми описували алгоритми при розгляді прикладу 1.

Графічний у вигляді блок-схеми /буде розглядатись далі/.

3) Алгоритмічною мовою або мовою програмування.


Приклад 2

Наведемо приклад реалізації завдання знаходження площі прямокутника S зі сторонами а та b третім способом .


Алгоритмічною мовою Мовою програмування

Turbo Basic


алг Площа program square;

дійсн а, b, S var a,b,S:real;

поч begin

ввести а, b read(a,b);

S:=a*b S:=a*b;

вивести S write(S)

кін end

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


6. Алгоритмічні конструкції

Лінійний алгоритм (структура слідування) – послідовність простих команд.

Розгалужений алгоритм – крім простих команд, є умовна команда.

Умовна команда – це вказівка виконувати одну з двох команд

якщо умова то команда 1

інакше команда 2

все

3) Циклічний алгоритм (повторення) – виконання певних команд скінчене число разів.

а) цикл “поки”

поки умова пц

серія команд

кц

б) цикл “для”

для і від а до в пц

серія команд

кц

Частина 2

Блок схеми алгоритмів

Схема алгоритму:



арифметичний блок, математична формула.







логічний блок, логічні умови (відношення)






запис умови для циклу “для”






введення – виведення





початок – кінець




Основні типи блок-схем

Лінійна
Приклад 3
Знайти значення виразу:Z=y2+x2-5y+10, де y=3x+4




Розгалуження
Приклад 4
Розв’язати квадратне рівняння ax2+bx+c=0





Цикл (поки)
Приклад 5
Знайти n!

1!=1

2!=1*2=2

3!=1*2*3=6

4!=1*2*3*4=24

.

.

.

n!=1*2*3*4...(n-1)*n





Цикл (для)

Вивести на екран значення функції y=x2 для х від –5 до 5 з кроком 1.



Частина 3
Структурований підхід. Етапи розв’язування задач з використанням ЕОМ.


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

Основний алгоритм – для досягнення основної мети.

Допоміжний алгоритм – для досягнення проміжної мети.

4. Приклад 7

Визначити площу опуклого n-кутника




Модуль 1 (довжина сторін)





Модуль 2 (площа трикутника)





Етапи реалізації задач з використанням ПЕОМ.



Варіант 1


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

Побудова словесного алгоритму.

Запис алгоритму мовою програмування.

Реалізація алгоритму мовою програмування.

Аналіз результатів.


Варіант 2


Математична постановка задачі.

Визначення методу розв’язування.

Складання сценарію роботи з ПЕОМ.

Конструювання алгоритму.

Переведення алгоритму в програму.

Введення програми, запуск.

Отримання результатів.


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

Знати відповідь на запитання:

Яке походження терміну “алгоритм”?

Що ви розумієте під поняттям “алгоритм”?

Навести приклад алгоритму.

Навести приклади виконавців алгоритмів.

Навести приклади допустимих та недопустимих команд виконавця.

Навести приклади правильного і неправильного алгоритму.

Навести приклади визначеного та невизначеного алгоритму.

Навести приклади масового та немасового алгоритму.

Чи завжди можна в алгоритмі переставити будь-які дві команди місцями? Чи буде алгоритм правильним?

Перерахуйте властивості алгоритмів.

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

Дайте характеристику кожного з відомих вам способів опису алгоритмів.

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

а) слідування;

б) розгалуження;

в) циклу “поки”;

г) циклу “для”.

Запишіть структурні елементи (модулі) для алгоритму “Мій день” (майте на увазі деякі блоки алгоритмів повторюються).


Завдання


Написати словесний алгоритм:

переходу вулиці;

пошуку книги в бібліотеці;

наповнення водою 1)20-літрової 2) 25-літрової бочки за допомогою посудини ємністю 1) 1 л 2)2 л 3) 3 л 4)4 л 5)5 л.

Скільки разів треба виконати команду в циклі?

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


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


Варіант 1

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




Варіант 2

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




3) Зобразити блок схему обрахунку суми збіжного ряду






4) Зобразити блок схему для переведення дюймів в сантиметри (для d від 1 до 20 дюймів з кроком 1) з виведенням таблиці /1 дюйм=2.54 см/.



Практична робота №1 (алгоритми)


Теорія за теоретичними питаннями (диктант на 15 хв.)

Пояснити блок схему (словесний алгоритм).

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



Виконати завдання

Записати блок-схему обрахунку значення



з точністю 0.01. поки




4) Написати блок схему виведення таблицы Піфагора.



Самостійна практична робота

1.Записати словесний алгоритм (лінійний).

2. Записати словесний алгоритм та блок схему (розгалужений).

3. Намалювати блок схему (цикл).


Алгоритми та блок-схеми

Завдання 1

Варіант 1

Два резистори R1 і R2 з'єднані паралельно. Визначити сумарний

опір за формулою .

Варіант 2

Обчислити відстань між двома точками з координатами X1,Y1 і X2,Y2 за формулою L=

Варіант 3

Знайти площу кільця між колами з радіусами R1 і R2, R122-R12).

Варіант 4

Визначити об'єм циліндра з радіусом основи R і висотою H за фор­­­мулою V=3.14*R2*H.

Варіант 5

В рядку S символів, на сторінці R рядків. Скільки символів в книжці, у якої N сторінок?

За скільки хвилин учень прочитає книгу, якщо він одну сторінку читає за T хвилин?

Варіант 6

Обчислити суму арифметичної прогресії за заданими першим A1 і ос­­­таннім AN членами, кількістю елементів N за формулою S=(A1+AN)*N/2.

Варіант 7

Дано гіпотенузу c і катет a прямокутного трикутника. Знайти дру­­­ гий катет за формулою b=


Варіант 8

Відома довжина кола L. Знайти радіус кола і площу круга, обмеженого цим колом, за формулою S=3.14R2.


Варіант 9

Обчислити N-ий член геометричної прогресії за першим елементом B1 і знаменником G за формулою BN=B1G(N-1).

Варіант 10

Обчислити середнє геометричне трьох заданих чисел за формулою S=(A*B*C)1/3.

Варіант 11

Дано два катети прямокутного трикутника R і T. Знайти гіпотенузу за формулою .

Варіант 12

Відома площа круга S, визначити радіус замикаючого цей круг кола за формулою і довжину кола за формулою L=6.28R.

Варіант 13

Середньостатистичний українець з'їдає за місяць S кг сала і C кг

цибулі. Скільки сала і цибулі він з'їдає за N років життя?

Варіант 14

Відомий радіус кола R, визначіть довжину кола L і площу круга S, обмеженого цим колом, за формулами L=6.28R; S=3.14R2.

Варіант 15

Знайти площу рівнобічної трапеції з основами A і В, висотою Н за формулою .

Варіант 16

Відомі три сторони трикутника A, B і C. Знайти площу трикутника за формулою Герона.


Завдання 2

Варіант 1

1. Введене число перевірити: додатне, від'ємне чи дорівнює нулю.

Варіант 2

З трьох введених чисел вибрати найбільше.

Варіант 3

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

Варіант 4

Розв'язати рівняння виду AX=B. Розглянути випадки A=0 і B=0.

Варіант 5

Розв'язати квадратне рівняння з коефіцієнтами A, B і C.

Варіант 6

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

Варіант 7

Чи попаде точка (X,Y) в коло радіуса 50 і центром в точці (0,0)?

Варіант 8

Чи поміститься квадрат із стороною A в колі радіуса R?

Варіант 9

Перевірити, чи існує трикутник із сторонами A, B, C.

Варіант 10

З трьох введених чисел вибрати менше.

Варіант 11

За трьома сторонами перевірити, чи трикутник прямокутний.

Варіант 12

Відсортувати три введених числа по зростанню.

Варіант 13

Чи поміститься коло радіуса R у квадрат із стороною A.

Варіант 14

Відсортувати три введені числа по зменшенню.

Варіант 15

Введене число перевірити: менше, більше чи дорівнює воно 100.

Варіант 16

За трьома сторонами перевірити чи трикутник рівнобедрений.

Завдання 3

ВАРIАНТ 1.

1. Скласти програму знаходження суми всiх чисел кратних трьом вiд 10 до N.

2. За заданою формулою члена ряду з номером k скласти програму обрахунку всix членiв ряду , не менших заданого числа E.

1

────────

(2k-1)(2k+1)

ВАРIАНТ 2.

1. Скласти програму знаходження суми всiх парних чисел вiд N до 50.

2. За заданою формулою члена ряду з номером k скласти програму обрахунку cуми всix членiв ряду , не менших заданого числа E.

k

──────

(k+1)2+3

ВАРIАНТ 3.

1. Скласти програму виведення на екран квадратiв всiх натуральних чисел менших за 20.

2. За заданою формулою члена ряду з номером k скласти програму обрахунку всix членiв ряду , не менших заданого числа E.

2k

───────

(k+1)(k+2)

ВАРIАНТ 4.

1. Скласти програму знаходження суми кубiв всiх двохзначних чисел кратних 5.

2. За заданою формулою члена ряду з номером k скласти програму обрахунку суми всix членiв ряду , не менших заданого числа E.

2k+1

───────

(2k2+1)k

ВАРIАНТ 5.

1. Скласти програму виведення на екран модуля всiх непарних чисел вiд m до 10.

2. За заданою формулою члена ряду з номером k скласти програму обрахунку всix членiв ряду , не менших заданого числа E.

k+1

───────

k(k3+2)1/2


ВАРIАНТ 6.

1. Скласти програму знаходження суми коренiв квадратних цiлих чисел вiд 0 до 50.

2. За заданою формулою члена ряду з номером k скласти програму обрахунку суми всix членiв ряду , не менших заданого числа E.

8k

────────

3k2+10

ВАРIАНТ 7.

1. Скласти програму знаходження добутку всiх чисел, якi дiляться без остачi на 4 i лежать в межах вiд -20 до 20.

2. За заданою формулою члена ряду з номером k скласти програму обрахунку всix членiв ряду , не менших заданого числа E.

k3

─────

2k+3

ВАРIАНТ 8.

1. Скласти програму знаходження суми всiх чисел кратних трьом з вiдрiзка [n,50].

2. За заданою формулою члена ряду з номером k скласти програму обрахунку суми всix членiв ряду , не менших заданого числа E.

3(k+1)

───────

7k3+9

ВАРIАНТ 9.

1. Скласти програму знаходження суми всiх парних чисел вiд N до 50.

2. За заданою формулою члена ряду з номером k скласти програму обрахунку всix членiв ряду , не менших заданого числа E.

k+0,5

───────

3k2+2

ВАРIАНТ 10.

1. Скласти програму знаходження суми всiх чисел кратних трьом вiд 10 до N.

2. За заданою формулою члена ряду з номером k скласти програму обрахунку суми всix членiв ряду , не менших заданого числа E.

1

───────

(2k-1)(2k+1)


Лекція № 2


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

^ Лінійна програма


1) Алгоритм можна представити:

- словесно;

графічно (блок - схема);

програмою.

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

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


2)Мови програмування поділяють на :

- мова низького рівня ( мови машинних народів Macro Asambler ).

- мова високого рівня: команди, які називають операторами записуються звичайно звичною для людей мовою, частіше англійською (приклади Basic, Pascal, Ci – це найбільш поширені мови).

Є спеціальні мови програмування. Фортран, Ада, Пролог.


Ми будемо вивчати Pascal.

3) Мова програмування Паскаль була створена швейцарським вченим Ніклаусом Віртом в 1968 році. Названа звана на честь видатного французбкого математика і філософа Блеза Паскаля (1623-1662). Паскал розрахований на користувачів, які б могли вирішити свої задачі. (Мова придатна для створення великих прикладних систем ).

Для IBM PC машин створено фірмою Borland (США), в 1985 році створено середовище програмування Turbo Pascal.

Ми будемо вивчати Turbo Pascal версії 5.0.

4)Принцип роботи

1.Завантажити turbo.exe

2.Вигляд екрану:

- меню - вікна (Будемо використовувати в основному 2 з 4

Edit -вікно редактора для набору та редагування програми)

Run – вікно для введення інформації на екран при виконані програми

- Рядок статусу, інформаційний рядок.

Робота з меню:

- F10 – вхід в меню;

-ESC-повернення, вхід в меню:

Пункти меню:

1.File – робота з файлами.

Load (F3)- читання файлу з диску

Save (F2)- запис файлу на диск

New – відкриття вікна для нової програми.

Write to... – запис програми під іншим іменем на диск.

Exit (ALT-X)- вихід.


Програми записуються в текстові файли з розширенням PAS.

В процесі роботи необхідно вести діалог (Y/N).


2. Edit – редагування файлів.

3. Run – запуск програми на виконання.

4. Compile – компіляція програми.

Мови програмування є просто інтерпретаторами. Принцип їх роботи: виконання програми рядок за рядком, якщо виявиться помилка, виконання припиняється. Компіляція – це перевірка програми на наявність типових помилок перед її виконанням. Turbo Pascal є компілятор. За рахунок такого принципу роботи швидкість роботи в середовищі більша.

5. Options – опції компіляції та задання параметрів конфігурації.

6. Debug – задання режимів відлагодження.


5) Pascal – основні поняття.


Приклад програми:


Program pr;

Var x,y,z:integer;

Begin

Read(x);

Y:=x+5;

Z:=x*y;

Write(z);

End.


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


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

^ Структура PASCAL- програми

Програма на мові PASCAL складається з трьох частин: заголовка, описової частини і виконавчої частини.

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

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

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

^ Найпростіша програма на мові PASCAL схематично може бути зображена в такий спосіб:

program <ім'я програми>(<зв'язок з оточенням>); <- заголовок

var <список імен перемінних>:<тип>; <- описова частина

begin

{текст програми, що виконується}

end.


Алфавіт мови.

Турбо Паскаль використовує такі підмножини набору символів коду ASCII:

- Букви англійського алфавіту від А до Z і від а до z.

- Цифри - арабські цифри від 0 до 9.

- Шестнадцяткові цифри - арабські цифри від 0 до 9, букви від А до F і букви від а до f

- Пропуск - символ пропуску (ASCII 32) і усе керуючі символи коду ASCII (ASCII 0-31), включаючи символ кінця рядка або символ повернення каретки (ASCII 13).

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

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

Такі пари символів також являють собою спеціальні символи:

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

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

Зарезервовані слова Турбо Паскаля: and, export, nil, string, asm, fife, not, then, array, for, object, to, begin, function, of, type, case, goto, or, unit, const, if, packed, until, constructor, implementation, rocedure, uses, destructor, in, program, var, div, inline, record, while, do, interface, repeat, with, downto, label, set, xor, else, library, shi, end, mod, shr



Опис типу даних.

Сталі:

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


- Числові сталі: -цілі: -32868c32867.

- дійсні: числа, які містять до 7 цифр

межею 1038 (5.25, 5.3Е2(5.3 102),

3.21Е-5 (3.21 10-5).

- Символьні: - довільна послідовність символів

поміщена в одинарні лапки.

‘Const’ ‘Прізвище’ ’12.03’

Стала може бути описана

Const

A=5;

B=5.4;

C=’Const’;


Змінні:

Змінна – іменована величина, що може приймати різні значення в процесі виконання програми.

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

Ім’я і тип змінної описується в описовій частині після службового слова VAR.

- Цілочисельні: a:integer;

- Дійсні: b:real;

- Символьні: c:char;

- Логічні: d:boolean; (true,false)

- Рядкові: s:string;

Операції і вирази.

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

^ Числові вирази.

В них використовуються арифметичні операції і виклик числових функцій.

Тип integer: *,div(10 div 3=3),mod(10 mod 3=1),+,-.

Тип real: *,/,+,-.

Логічні вирази.

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

Операції відношення: <,>,<=<>=,<>,=.

Логічні операції: NOT(not(a=3) a<>3), and((a>3)and(a<5) 3
Дії в виразі виконуються в певному порядку:

визначаються значення функцій;

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

виконуються операції порівняння;

логічні операції.


Арифметичні функції



Функція

Призначення

Тип

1

ABS(X)

|X|

Integer, real

2

ARCTAN(X)

Arctg x

Real

3

COS(X)

Cos x

Real

4

EXP(X)

ex

Real

5

LN(X)

Ln x

Real

6

RANDOM(X)

Випадкове число в діапазоні [0;X]

Integer, real

6

SIN(X)

Sin x

Real

7

SQR(X)

X2

Integer, real

7

SQRT(X)



Real

8

EXP(Y*LN(X))

Xy, Х>0

Real




Рядкові вирази.

- операція + (з’єднання) ‘місто’+’ ’+’Луцьк’

^ Функції роботи з рядками:



Назва функції

Призначення

Приклад

Результат

1.

Length(S)

визначає кількість символів у заданому рядку

Length (‘місто Луцьк’)

11

2.

Сору(S,n,m)

виділяє m символів рядка S, починаючи від символу з номером n

Copy (‘місто Луцьк’, 6, 5)

‘Луцьк’

3.

Pos(S1, S2)

визначає номер символу, з якого починається входження рядка (тексту) S1 у рядок S2

Pos (‘ ‘,‘місто Луцьк’)

6

4.

Concat(S1, S2,...)

з'єднує рядки в один рядок

Concat('20', '01')

‘2001’

^ Процедури роботи з рядками:



Назва функції

Призначення

Приклад

Результат

1.

Insert (A:string, var В: string, n:integer)

вставляє рядок А у рядок В, починаючи від позиції з номером n

S1:=’місто’;

S2:=’Луцьк’;

Insert(S1,S2,1);

’містоЛуцьк’;


2.

Delete (var S:string, n:integer, m:integer)

вилучає m символів з рядка S, починаючи від позиції n

S:=’містоЛуцьк’;

delete(S,1,5);

’Луцьк’;


3.

Str (A:integer, var S:string)

переводить числове дане A у дане типу рядок

A:=2001;

Str(A,S);

‘2001’

4.

Val (S: string, var A, KOD: integer)

засилає у числову змінну A числовий образ рядка S, повертаючи код помилки KOD

S:=’2001’;

Val(S,A,Kod);

2001

Структура слідування.

Програма – це послідовність операторів, що вказують, в якому порядку і які дії над даними чи апаратними засобами ЕОМ повинні бути виконані. Запис оператора, звичайно ключове слово, набір виразів, що визначають параметри оператора і набір операндів, тобто констант і змінних, над котрими виконуються перетворення.

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

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

Оператори.

READ (READLN) – оператор введення значення змінної з клавіатури.

:= - оператор присвоєння.

WRITE(ERITELN) – оператор виведення даних на екран.


Приклад

{програма знаходження периметра і площі прямокутника}

program pram;

var a,b,p,s:integer;

begin

readln(a,b);

p:=2*(a+b);

writeln(‘Периметер рівний ‘,p);

s:=a*b;

writeln(‘Площа рівна ‘,s);

end.

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

1.Підготувати відповідь на теоретичні питання.

2. Виконати завдання 1 згідно варіанту з переліку завдань.

Практична робота №2

Диктант або тест на ком’ютері.

45

1

Як записати в виразі суму двох чисел A і В?

5

А і В

A&B

A+B

A*B

A/B

3

1

2

Як записати в командному рядку добуток двох чисел R i T?

5

A*B

RT

R/T

R*T

RxT

4

1

3

Як записати в командному рядку: поділити два числа K i L, результат записати в F?

4

K/L

F:=K/L

K=F/L

F=K:L

2

1

4

Як записати в командному рядку:суму двох чисел S i U помножити на P i записати в W?

5

(S+U)*P

W:=(S+U)P

W:=S+U*P

W:=(S+U)*P

W:=(S+U)xP

4

1

5

Як записати в командному рядку R більше W?

4

R
R>W

R*W

R/W

2

1

6

Як записати в командному рядку R не більше W?

4

R<=W

R/W

R<>W

R>=W

1

1

7

Якою командою знайти квадратний корінь?

5

SRQ

SQR

SQRTR

SQRT

READ

4

1

8

Як записати "Х не дорівнює У"?

3

X<=>Y

X<>Y

X<=Y

2

1

9

Як записати, щоб змінній J присвоїти значення 27?

5

J-27

J/27

Y:=27

U:=27

J:=27

5

1

10

Якими літерами позначаються змінні?

5

тільки латинськими

латинськими, російскими, українськими

турецькими і українськими

російскими

українськими

1

1

11

Знайдіть неправильне позначення змінної.

5

R

R1

RT

Ц

V

4

1

12

Знайдіть правильне позначення змінної.

5

W2

Й

KЛJ



ЖU

1

1

13

Обчисліть значення виразу SQRT(9+16).

3

5

25

625

1

1

14

Як записуються пояснювальні тексти в WRITE?

2

в круглих дужках

в лапках

2

1

15

Знайдіть правильний запис десяткового дробу.

4

12,45

12:45

12.45

12;45

3

1

16

Вкажіть неправильний запис десяткового дробу.

4

12.345

3,44.6

98.067

11.76

2

1

17

Необхідно написати в програмі 'Привіт, Вася!'. Вкажіть правильний запис.

5

Привіт, Вася

'Вася, привіт!'

"Привіт, Вася!

'"Привіт, Вася!'

"Вася з приветом!"

4

1

18

Виконали дії: A=6; B=7; C:=A*B;write(C);

4

67

24

42

76

3

1

19

Виконали дії: Х:=7; У:=8;Z:=A+B;Writ(Z);

3

0

15

56

2

1

20

Запишіть число 123097 у форматі з плаваючою комою.

4

123.097

1.23097E5

1.23097E-5

1.23097E4

2

1

21

Запишіть число 0.00067 у форматі з плаваючою комою.

3

6.7E-5

6.7E-4

0.67E-4

2

1

22

Який оператор виводить повідомлення на екран монітора?

3

WRITENL

READ

WRITE

3

1

23

Якою командою можна вводити інформацію в програму для її обробки?

4

WRITE

THEN

REAL

READ

4

1

24

Яку команду записати, щоб дані заносити в змінну R?

3

WRITE(R)

WRITELN(R)

READ(R)

3

1

25

Як записати команду, щоб ввести зразу дві змінні K i L?

4

READ K L

READ (K,L)

^ WRIELN (K,L)

K:=L;

2

1

26

Програма підрахувала значення S. Як вивести це значення з повідомленням, що це відстань в кілометрах?

4

WRITE(S);

WRITE "Відстань S кілометрів"

WRITELN('Відстань ',S,'кілометрів');

WRITE 'Відстань', S, 'кілометрів';

3

1


27

Нехай R=12. Що з'явиться на екрані після виконання команди: WRITE (R); ?

3

?

12

R=12

2

1

28

Нехай X=2 Y=3. Що з'явиться на екрані при виконанні команди: write(X*Y-1); ?

5

2


2) Практична робота.

Завантажити Паскаль.

Створити програму (завдання 1).

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

Записати програму на диск з іменем pr1.pas.

Створити нове вікно для програми (завдання 2).

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

Записати програму на диск з іменем pr2.pas.

Вийти з середовища програмування.

Можливо завдання 1 виконує одна група на комп’ютері, завдання 2 друга група теоретично і навпаки.


Завдання 1


1.Написати програму обрахунку заданого виразу:

a(x2-b)

y= ------------- .

b2c2 + 1

2.

2 3 2

f(x)=(x + -- + --- ) .

x2 x2

3.

m - n

A=-------------.

m2 + n + 1


4. х3

B = (--- ) - (x2y) 3.

y

5.

(m + n) 3

y = -------------.

M3 + 1


6. р5 - p4

y(p) = --------- .

p2 - 1


7.

(a - c2)(b - d2)

A= ------------------ .

a - d2


8.

x y z

f(x,y,z) = (--- + --- + ---- ) 2.

y z x


9. x2 - y3

B = _____________.

(x + y) 2x2


10.

p1q22 - p2q12

p = -----------------------

(p1p2) 2


11.

x(y - x) 2

z = --------------- .

xy2


12.

a(x2-b)

y= ------------------ .

b2c2 + 1

13.

2 3 2

Цикл для
1. For I:=a to b do Для і від a до b крок 1

begin початок циклу

тіло циклу виконувати тіло циклу

end; кінець циклу
^ Опис роботи
Виконання оператора циклу починається з присвоєння змінній циклу (l) вказаного початкового значення. Потім виконуються оператори, які складають тіло циклу. В результаті виконання оператора next до поточного значення змінної циклу добавляється приріст (крок) (1), після чого отримане значення порівнюється з кінцевим значенням (b). Якщо значення змінної циклу (і) стало більше кінцевого значення (b), то цикл закінчується і керування передається оператору, який слідує за оператором next. В противному випадку проходить наступне виконання операторів тіла циклу. Так виконується оператор циклу у випадку кроку (1).

2. For I:=a downto b do Для і від a до b крок -1

begin початок циклу

тіло циклу виконувати тіло циклу

end; кінець циклу


Якщо ж крок (-1) від’ємний (що дозволено), то в ході виконання циклу значення змінної (і) циклу зменшується і вихід з циклу проходить, коли змінна циклу стане менша кінцевого значення (b).

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

a > b, c > 0 або a < b, c < 0

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


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

Завдання 4.

Знайти суму ряду

S=0;

For k:=1 to 20

S=S+k/(2k^2)*(-1)^(k+1)

Next

?s

end


3. Цикл поки

While умова do begin

Тіло циклу

end;

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


Завдання 5. Знайти суми елементів збіжного ряду з точністю Е=0.01 (тобто рахувати суму поки елементи ряду більші за Е)

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


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

var n,f:integer;

s,a:real;

begin

S:=0;

F:=1;

N:=1; a:=1;

While a>0.01 do

begin

F:=F*n;

S:=S+n/F;

N:=n+1;

end;


writeln(S);

end.

Можна використовувати цикл для виведення таблиць.
Завдання 6
Протабулювати функцію y=x2 на відрізку [a,b] кроком h.

var x,,y,a,b,h:real;

begin

readln(a,b,H);

x:=a;

while x<=B do begin

Y:=x*x;

writeln(x,’ ‘,y);

end;

end.


Цикли можуть бути вкладеними
Завдання7
Вивести таблицю Піфагора.


var A,B,C:INTEGER;

BEGIN

For a:=2 to 9 DO BEGIN

For b:=2 to 9 DO BEGIN

C:=a*b; WRITE(C:3);

END;

WRITELN;

END;

END.


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


Підсумок лекції:

Використання розгалуження і циклу.

Перерахувати розглянуті програми:

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

знаходження суми, добутку елементів числового ряду

виведення і формування даних у вигляді таблиці

Запитання для самоконтролю

1.Який алгоритм називається розгалужений ?

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

3.Як записується повна і коротка форми розгалуження в Basic?

4.Перерахуйте операції відношення і логічні операції?

5.Як виконується структура розгалуження ?

6.Використання оператора безумовного переходу. Запис мітки.

7.Циклічний алгоритм. Що це ?

8.Яка блок схема циклу “для” ?

9.Який запис циклу мовою програмування ?

10.Як виконується цикл ?

11.Яка блок схема циклу “поки” ?

12.Який запис циклу “поки” мовою програмування ?

13.Які цикли називаються вкладеними ?

Завдання:

Знайти значення Z,



записати блок схему і програму.



Розв’язати квадратне рівняння:

ax2+bx+c=0, при a0.

записати блок схему і програму.

Знайти суму чисел кратних трьом з відрізка [n;100].

записати блок схему і програму циклами для (FOR/DO) і поки (WHILE/DO).

Практична робота

Розгалуження і цикл

Повторення теорії

тестування або усне опитування.

Розібрати детально завдання 1 з домашнього завдання.

До завдання 3 записати програми циклами для і поки.

Практична робота по завданнях 1-3.

Завдання 1

Структура розгалуження

1. Визначити, чи може цеглина, що має форму прямокутного паралелепіпеда з ребрами a,b,c, пройти через прямокутник зі сторонами x і y.

2. Визначити, чи є ціле число N парним.

3. Виз
еще рефераты
Еще работы по разное