14 поняття про мову розмітки гіпертексту
Вид материала | Урок |
- Розділ: Мовознавство Ще раз про мову, 22.54kb.
- Кодування інформації, 193.39kb.
- Українська мова: походження, поняття І форми, сучасна мова, 91.87kb.
- Навчальна програма з курсу філософії для магістрів іноземних громадян факультету заочного,, 207.33kb.
- Зміст, 435.96kb.
- Законів України "Про мову", "Про освіту", 1355.12kb.
- Зміст навчальної програми з вищої математики для студентів 1 курсу фармацевтичного, 32.69kb.
- Програма вступного іспиту з фаху на напрям 100101"Енергетика та електротехнічні системи, 43.34kb.
- Найбільш важливі закон, 9288.95kb.
- План Поняття про екологію, її структуру та значення. Фактори середовища та їх класифікація, 277.37kb.
УРОК 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; якщо А не двозначне, то у змінну С запишеться повідомлення про це.
5>7>0>7>2>2>12>12>