14 поняття про мову розмітки гіпертексту

Вид материалаУрок
Тема 14 основи алгоритмізації і програмування
Тема 14 основи алгоритмізації і програмування
Приклад алгоритму, написаного на НАМ
Тема 14 основи алгоритмізації і програмування
Перелік деяких функцій роботи з числовими типами даних алгоритмічної мови
Тип результату
14 Основи алгоритмізації і програмування
Позначка операції
Логічні операції
Команда присвоювання
Приклади використання команди присвоювання
Команда розгалуження
Приклади команд розгалуження
Подобный материал:
1   2   3   4   5
ТЕМА 14 ОСНОВИ АЛГОРИТМІЗАЦІЇ І ПРОГРАМУВАННЯ


УРОК 6 НАВЧАЛЬНА АЛГОРИТМІЧНА МОВА (НАМ)


Основні поняття навчальної алгоритмічної мови

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

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

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

До алфавіту НАМ входять: великі та малі літери латинської мови; великі та малі літери української мови; цифри від 0 до 9; символ проміжку « » (проміжок виконує функції розподільника в мові; якщо між двома символами стоїть проміжок, то вважається, що ці символи нале-

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

+-_*/=<>. , ( ) ; _ :

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

Список службових слів алгоритмічної мови:

або

знач

повторювати

алг

І

поки

арг

інакше поч

від

кв

при

вибір

кін

пс

для

крок

рез

дійс

кс

таб

до

літ

то

нат

ціл

доти

не

якщо

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

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

Наприклад:

Вася, X, А12345, П1І2БЗ.

Кожне ім'я в алгоритмі має бути унікальним, тобто не може бути двох об'єктів з однаковими іменами. В іменах алгоритмічної мови маленькі і великі літери не розрізняються, тобто «Name» і «name» -- однакові імена. Крім того, в іменах не розрізняються англійські та українські літери, схожі за написанням (наприклад, «с», «а» тощо).


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


УРОК 7 Стандартний опис алгоритму на алгоритмічній мові


Алгоритм на НАМ завжди оформлюється стандартним чином і має такий вигляд:

алг <ім'я алгоритму> (<список змінних вели-

чин>)

<список аргументів та результатів> поч

<група команд> кін

<ім'я програми> — це ім'я, створене за правилами алгоритмічної мови.

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

су. Група може складатися з однієї команди або бути порожньою (не містити жодної команди). Команди можна записувати як по одній в рядку, так і по декілька в рядок. В останньому випадку команди відокремлюються одна від одної крапкою з комою «;». Якщо команда не вміщується на одному рядку, її можна продовжити на наступному.

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

Приклад алгоритму, написаного на НАМ: алг Розрізання_лирога_на_чотири_рівних_час-

тини поч

Розрізати пиріг на дві рівні частини Розвернути пиріг на 90 градусів Розрізати пиріг на дві рівні частини, в

тому ж напрямку, що й перший раз кін

Величини

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

1234; 6.7; 35.7889; -23.99; 9.0.

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

"Інформатика", "?", "Моє улюблене місто", "Кінофільм ""Матриця"

Величина в НАМ — це об'єкт, який має стале або змінне значення.

Константа в НАМ — це величина зі сталим значенням. Константи записуються в тексті безпосередньо, наприклад, 4.22, «Рядок».

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

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

Ім'я змінної створюється за правилами алгоритмічної мови.

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

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

Змінних в алгоритмі може бути необмежена

кількість.

В алгоритмічній мові змінна може належати

до одного з п'яти типів. Числові типи даних:

нат — натуральний; всі можливі натуральні числа;

діл — цілий; всі можливі цілі числа;

дійс — дійсний; всі можливі дійсні числа — десяткові дроби;

літ — літерний; будь-які символи, групи символів, рядки, які беруться в лапки;

таб — табличний (докладно див. далі).

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

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

Наприклад: алг Приклад (наг А, А1, літ Слово, нат Інша)

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

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

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

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

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

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

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

Наприклад:

алг Приклад (нат А, А1, літ Слово, нат Інша)

арг А, Інша, Слово

рез А1 поч ціл X, У літ Речення

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

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

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


УРОК 1 основні поняття

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

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

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

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

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

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

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

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

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

+

Додавання

-

Віднімання

*

Множення

/

Ділення



Ступінь числа

(XY=XY)

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

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

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

• результат операції «/» належить до дійсного типу;

• результат операції «"», де другий операнд — цілий від'ємний, належить до дійсного типу. Наприклад:

нат / ціл = дійсн

ціл + над = ціл

нат * дійсн = дійсн

нат -5 = дійсн

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

два рядки на алгоритмічній мові можна записати двома однаково правильними способа-такими як: 1/(3Ÿ4) або 1/3/4.


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

Функція

Опис

ТипХ

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

abs(X)

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

числовий

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

sqrt(X)

корінь квадратний числа X (=Х°'6)

числовий

дійсний

sin(X)

синус числа X

числовий

дійсний

cos(X)

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

числовий

дійсний

ln(X)

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

числовий

дійсний

exp(X)

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

числовий

дійсний

round(X)

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

числовий

цілий

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

a)A+679-4455*sin(Xl+p/2);

б)5б*ln(А1-34)/57.7.

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

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

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

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

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

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

Наприклад:

2 + 15 2 = 2 + 225 = 227;

12 * 5 / 3 + 1 = 60 / 3 +1 = 20.0 + 1 = 21.0.

Над величинами літерного типу визначена операція вирізки:

<змінна вєличина> = [Хп : Хк]

де Хп, Хк — константи натурального типу.

Результатом застосування операції вирізки до змінної літерного типу є її частина, яка починається з літери під номером Хп та закінчується літерою з номером Хк (літери тексту нумеруються зліва направо, починаючи з 1).

Наприклад, якщо змінна Сл мала значення «Інформатика», то

Сл[1:3] = "Інф";

Сл[3:7] = "форма".

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

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

"Ін"+"форма"+"тика"="Інформатика".

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

На відміну від імен усіх інших функцій слово «довж» є службовим і підкреслюється при написанні в алгоритмах.

Наприклад: .

довж(«Київ») = 4;

довж(«І love you!») = 11.

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

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

Не дозволяється порівнювати одне з одним дані числового та літерного типів (наприклад, неправильною є умова 5 < «Рядок»).

14 ОСНОВИ АЛГОРИТМІЗАЦІЇ І ПРОГРАМУВАННЯ

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


УРОК 2 логічні операції та операції відношення

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

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

=

дорівнює

<

менше

<=

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

>

більше

>=

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

<>

не дорівнює


Для даних літерного типу використовуються тільки операції «=» та «<>».

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

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

Приклади запису умов на алгоритмічній мові:

X >= 5;

5.67 > 56-4/Х;

"Ганна" <> "Ганнуся".

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

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


ЛОГІЧНІ ОПЕРАЦІЇ

1. Заперечення «не».

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

Наприклад:

не 7<12 = не "так" = "ні"? не 4<>4 = не "ні" = "так".

2, Логічне «і».

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

Наприклад:

7<12 і 2<>3 = "так" і "так" = "так";

4=4 і 1<2 і 2>0 = "так" і "так" і "ні" = "ні".

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

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

Наприклад:

7>12 або 2=3 = "ні" або "ні" = "ні";

4<>4 1<2 afo 2X) = "ні" або "так" або "ні" = "так".

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

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

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

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

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

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

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

4>=3 і не 2<=3 = "так" і не "так" = = "так" і "ні" = "ні";

2<7 або 4=3 і 7<0 = "так" або "ні" і "ні" = = "так" або "ні" = "так";

(2<7 або 2>3) і 3<5 = ("так" або "ні") і "так" = "так" і "так" = "так".


Команда присвоювання

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

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

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

Приклади використання команди присвоювання (для змінних А і Б — цілого типу, Д — дійсного, С, СІ — літерного): А: =2+7

А набуває значення 9 Б:=А-4

Б набуває значення 5 Д:=2*А-7/Б

Д набуває значення 2*9-7/5, тобто 16,6 Б:=Б+3

значення Б збільшується на 3 і стає таким,

що дорівнює 8 С:="Алгоритм"

С набуває значення «Алгоритм» С1:=С[3:5]+"од"

СІ набуває значення «город» С[4:4]:="0"

С набуває значення «АлгОритм»


Команда розгалуження

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

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

Повна форма:

якщо <умова>

то <серія команд 1>

інакше <серія команд 2>

Принцип роботи: якщо <умова> виконується, то виконується <серія команд 1>, у протилежному випадку — <серія команд 2>.

Коротка форма команди розгалуження:

якщо <умова>

то <серія команд>

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

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

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

Приклади команд розгалуження:

а)якщо А>0 то А:=1

Результат виконання: якщо значення змінної А додатне, то в результаті виконання команди воно дорівнюватиме одиниці; якщо значення А дорівнює нулю або від'ємне, то воно зміниться на нуль. б)якаю А>=10 і А<100

то пс

С:=" Число двозначне";

Б:=А/10

кс

інакше

С:="Число не двозначне"

Якщо значення змінної А двозначне, то у змінну С запишеться відповідне повідомлення, змінна Б набуде значення А/10; якщо А не двозначне, то у змінну С запишеться повідомлення про це.