Вступ до програмування
Розв'язування задач з використанням комп'ютера. Поняття інформаційної моделі. Способи описування алгоритмів. Базові структури алгоритмів. Інтегровані середовища програмування. Створення лінійних програм. Алгоритми роботи з рядковими величинами.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | учебное пособие |
Язык | украинский |
Дата добавления | 03.03.2013 |
Размер файла | 618,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Вступ до програмування
Тема уроку: "Основні етапи розв'язування задачі з використанням комп'ютера"
Мета уроку: Дати поняття про основні етапи розв'язування задачі з використанням комп'ютера.
Тип уроку: Лекційний.
Теоретичний матеріал:
Зараз важко уявити собі життя людини без комп'ютера. Люди використовують його для розв'язання найрізноманітніших задач: від виконання важких обчислень до виконання кропіткої домашньої роботи (прання білизни, приготування їжі, миття посуду і, навіть, домашній секретар).
Персональний комп'ютер зараз є майже в кожному будинку і без нього неможлива обробка такого величезного потоку інформації, який зараз буквально "наринув" на людину. Оформлення складної документації, створення та обробка графічних зображень, отримання даних з будь-якого питання з баз даних та світової мережі Інтернет, табличні розрахунки, розв'язування математичних задач, навчання. Ось далеко не повний перелік всіх можливостей нашого помічника - комп'ютера.
Для розв'язання цих задач в розпорядженні користувача є велика кількість різноманітного програмного забезпечення, яке поділяється на чотири великі категорій:
· операційні системи - програми, що забезпечують працездатність комп'ютера;
· системні утиліти - програми, що оптимізують роботу з комп'ютером (архіватори, антивірусні засоби, програми роботи з дисками і таке інше);
· інструментальні засоби - системи програмування, що дозволяють створювати інші програми;
· прикладне програмне забезпечення - програми, призначені для розв'язання певного класу задач.
Отримавши задачу, користувач, виходячи з її умови, вирішує, яким програмним засобом можна скористатися для її розв'язання. Якщо в складі програмного забезпечення є програма, придатна для цього, то користувач вибирає її як інструмент, якщо ж ні, то доводиться створювати нову спеціальну програму, виконання якої призведе до очікуваного результату.
Наприклад, нам необхідно оформити газету, присвячену якійсь події. Вочевидь, що для розв'язування цієї задачі будь-який комп'ютер має необхідні програми, що дозволяють оформити тексти та графічні зображення різної складності (це текстові та графічні редактори, настільні видавницькі системи тощо).
Інший приклад: необхідно побудувати графік заданої функції. І для розв'язування цієї задачі комп'ютер має необхідне програмне забезпечення - електронні таблиці.
Примітка: можна запропонувати дітям дати свої приклади задач для комп'ютера.
Однак є величезна категорія задач, для розв'язку яких не існує відповідного програмного забезпечення, або існуюче програмне забезпечення з деяких причин нас не влаштовує. В цьому випадку ми повинні самостійно написати програму для виконання поставленої мети.
Розглянемо технологію розв'язання прикладної задачі на ЕОМ (зверніть увагу, що задачі будуть нескладні і тому можна було б скористатися і наявним програмним забезпечення для їх розв'язання, але з навчальною метою ми прослідкуємо етап створення самостійного програмного продукту).
Розв'язування будь-якої задачі починається з її постановки. На цьому етапі треба чітко з'ясувати, що дано і що треба знайти. Тобто треба добре уявити, в чому полягає дана задача, які необхідні початкові дані для її розв'язання, та що можна вважати за очікуваний результат.
Наприклад, батьки вирішили зробити ремонт вашої кімнати. Вочевидь, що безпосередньо зробити ремонт персональний комп'ютер не може. Але він може допомогти у виконання розрахунків на витратні матеріали, оплату виконаних робіт тощо. (Більш серйозні програмні засоби можуть допомогти, навіть, у виборі оптимального набору витратних матеріалів з урахуванням вартості безпосередньо матеріалів та вартості перевезень з пошуком найдешевших варіантів, але ми задачу спрощуємо.)
В нашому випадку вхідними даними повинні бути: розміри кімнати, що підлягає ремонту, набір необхідних витратних матеріалів (можна тільки поклеїти шпалери та виконати фарбувальні роботи, а можна замінити двері, вікна та меблі), ціни на витратні матеріали, вартість виконуваних робіт тощо. Результатом роботи програми повинна бути необхідна сума коштів на виконання ремонтних робіт з урахуванням витратних матеріалів.
Другим етапом розв'язування задач є побудова математичної моделі. Це дуже відповідальний етап, тому що не завжди в умові задачі міститься формула, придатна для застосування в програмі. Для цього створюється інформаційна математична модель об'єкта.
В нашому випадку математичною моделлю нашої задачі буде:
· по-перше, розрахунок площі поверхні, що підлягає ремонту (для спрощення ми будемо тільки наклеювати шпалери);
· по-друге, розрахунок необхідних витратних матеріалів з урахуванням площі шпалер, що знаходяться в рулоні, та проценту додаткових шпалер для співпадання малюнків;
· по-третє, розрахунок вартості витратних матеріалів та виконаних робіт.
Примітка: ці формули отримати неважко і тому за бажанням можна дати це завдання учням безпосередньо на уроці або вдома.
Наступним етапом є розробка алгоритму на основі побудованої математичної моделі. Для цього можна використати вже відомі методи та способи розв'язування отриманих математичних співвідношень, причому при наявності кількох методів розв'язання необхідно вибрати оптимальний, провівши їх оцінку та аналіз. Якщо серед існуючих методів розв'язання необхідний відсутній, треба розробити власний.
Під час створення складних алгоритмів застосовується метод покрокової деталізації, який полягає в тому, що складний алгоритм розбивається на прості підзадачі, кожна з яких в свою чергу може розбиватися на ще простіші. Такий підхід дозволяє також розбити алгоритм на окремі частини - модулі, реалізацію кожного з яких доручити окремому програмісту. В цьому випадку програміст концентрується на розв'язанні окремої підзадачі, використовуючи для цього свої методи.
Останнім етапом у методі покрокової розробки є об'єднання окремих модулів у єдине ціле. Для цього між всіма модулями повинні бути встановлені зв'язки, тобто узгоджена передача інформації від одних модулів до інших. Це дуже важка робота і від оптимальності вибору вхідних та вихідних параметрів окремих модулів кінець кінцем залежить оптимальність роботі всієї програми.
Алгоритм, призначений для комп'ютерної реалізації, має бути записаний однією з мов програмування. На даному етапі розвитку комп'ютерної техніки різноманітність існуючих мов програмування дає програмісту можливість вибрати оптимальний варіант для отримання бажаного результату. А враховуючи можливість розбиття алгоритму на окремі модулі, реалізацію кожної підзадачі взагалі можна виконати різними засобами.
Написану вибраною мовою програмування програму необхідно тепер налагодити та протестувати. Під налагоджуванням програми розуміється процес випробування роботи програми з виправленням виявлених при цьому помилок. Виправити помилки, пов'язані з правилами написання програм, вам допомагає середовище програмування, а ось логічні помилки виправити набагато важче. В цьому вам можуть допомогти правильно підібрані тести.
Останній етап - це використання програми для отримання шуканих результатів. На цьому етапі обов'язково ще раз перевірити правильність очікуваних результатів. Якщо отримані результати являються помилковими, необхідно повернутися до одного з попередніх етапів (іноді, навіть, до найпершого - постановки задачі) і ще раз перевірити правильність зроблених робіт. Можливо, що на деяких етапах буде необхідно доопрацювати або повністю переробити весь етап.
Тепер програму можна експлуатувати і, навіть, пропонувати іншим користувачам, доповнивши її необхідною документацією.
Отже, основними етапами розв'язку задачі за допомогою ЕОМ є наступні:
1. постановка задачі;
2. побудова математичної моделі;
3. розробка алгоритму;
4. опис алгоритму мовою програмування;
5. тестування та налагоджування програм;
6. експлуатація програми.
Домашнє завдання:
· прочитати сторінки 21 - 24 запропонованого підручника;
· вивчити означення, що прочитані на лекції (етапи розв'язку задачі за допомогою ЕОМ);
· придумати задачу, що може бути розв'язана за допомогою ЕОМ, та розбити її розв'язок на етапи;
· створити математичну модель задачі підрахунку кількості необхідного матеріалу для фарбування заданої поверхні (вид поверхні - квадрат, прямокутник, шар тощо задається вчителем), якщо відома норма витрат фарби на квадратний метр поверхні.
Тема уроку: "Поняття інформаційної моделі"
Мета уроку: Дати поняття про моделювання та створення інформаційних моделей об'єктів.
Тип уроку: Лекційний.
На початку уроку рекомендується провести усне опитування за темою попереднього уроку з метою визначення засвоєного матеріалу.
Теоретичний матеріал:
З давніх часів людина використовує моделювання для дослідження об'єктів, процесів та явищ в різних галузях своєї діяльності. Результати цих досліджень допомагають визначити та покращити характеристики реальних об'єктів та процесів, краще зрозуміти сутність явищ та пристосуватись до них або керувати ними, конструювати нові та модернізувати старі об'єкти. Моделювання допомагає людині приймати обґрунтовані рішення та передбачати наслідки своєї діяльності.
Поняття комп'ютерного моделювання відображає використання в цьому процесі комп'ютера, як потужного сучасного засобу обробки інформації. Завдяки комп'ютеру суттєво розширюються галузі застосування моделювання, а також забезпечується всебічний аналіз отриманих результатів.
Що ж таке модель? Під цим словом ховаються і матеріальні моделі реально існуючих об'єктів на виставці, і телевізійна красуня, що рекламує товари та сучасний одяг, і макет Ейфелевої башти, і теорія розвитку суспільства, і всім відома формула земного тяжіння P = mgh, і багато чого іншого. Як же в одному слові можна об'єднати такі різні поняття?
Справа в тому, що поняття моделі об'єднує дещо спільне, а саме те, що модель - це штучно створений людиною абстрактний або матеріальний об'єкт. Аналіз та спостереження моделі дозволяє пізнати сутність реально існуючого складного об'єкта, процесу чи явища, що називаються прототипами об'єкта. Таким чином, модель - це спрощене уявлення про реальний об'єкт, процес чи явище, а моделювання - побудова моделей для дослідження та вивчення об'єктів, процесів та явищ.
Може виникнути питання, чому не можна дослідити сам оригінал, навіщо створювати моделі? Для цього може існувати багато причин:
· оригінал може не існувати в часі (гіпотеза про загиблий материк Атлантида, про побудову Єгипетських пірамід, про можливу "ядерну зиму", що може початися після атомного бомбардування);
· реально цей об'єкт не можна побачити (модель земної кулі, сонячної системи або атома);
· людина хоче побачити об'єкт, але не має можливості потрапити на місце його знаходження (модель Ейфелевої башти, єгипетської піраміди, Софіївського собору тощо);
· процес, який досліджує вчений, небезпечний для життя (ядерна реакція).
Таких прикладів можна придумати багато. І ви, якщо подумаєте, можете згадати багато моделей, що бачили у своєму житті.
Примітка: запропонуйте дітям згадати, які моделі вони бачили у своєму житті (сама тривіальна відповідь - іграшки). Зверніть увагу дітей на те, що навіть, коли вони зранку складають план своїх дій на день, це теж можна вважати моделюванням.
Для одного і того ж об'єкта можна створити велику кількість моделей. Все залежить, по-перше, від мети, що ви поставили перед собою, а по-друге, від методів та засобів, за допомогою яких ви збираєте інформацію про прототип. Наприклад, якщо ви хочете познайомитись з новим містом, то карта цього міста, фотографії, розповіді мешканців або кіноальманах дадуть вам зовсім різні уявлення про об'єкт, причому ці уявлення можуть зовсім не співпасти з тими враженнями, що ви отримаєте потім після відвідування цього міста безпосередньо. Модель цього ж самого міста для його мешканців взагалі буде іншою, тому що для них головне - це забезпечення нормальної життєдіяльності.
Як ви вже переконались, кількість моделей та їх різноманітність дуже велика. Щоб не загубитися в цьому розмаїтті, необхідно мати якусь класифікацію моделей. Розглянемо найбільш суттєві ознаки, за якими класифікуються моделі:
· галузі використання;
· урахування в моделі фактора часу;
· спосіб представлення моделей.
Розглядаючи моделі з позиції галузі використання, можна сказати, що вони бувають:
· учбові - наочні посібники, тренажери, навчальні програми;
· дослідні - створюються для дослідження характеристик реального об'єкта (модель теплоходу перевіряється на усталеність, а модель літака - на аеродинамічні характеристики);
· науково-технічні - для дослідження процесів та явищ (ядерний реактор або синхрофазотрон);
· ігрові моделі - для вивчення можливої поведінки об'єкта в запрограмованих або непередбачених ситуаціях (військові, економічні, спортивні ігри тощо);
· імітаційні моделі - виконується імітація дійсної ситуації, що багато повторюється для вивчення реальних обставин (випробування лікарських препаратів на мишах або інших тваринах, політ собаки в космос).
З урахуванням фактора часу моделі можуть бути динамічні та статичні. В першому випадку над об'єктом виконуються дослідження на протязі деякого терміну, а в другому - робиться одноразовий зріз стану (наприклад, постійний нагляд сімейного лікаря та одноразове обстеження в поліклініці).
За способом представлення моделі можуть бути матеріальні та інформаційні. Матеріальні моделі - це предметне відображення об'єкта зі збереженням геометричних та фізичних властивостей. Наприклад, іграшки, чучела тварин, географічні карти, глобус і таке інше - це матеріальні моделі реально існуючих об'єктів. Матеріальною моделлю можна також назвати хімічний або фізичний дослід. Ці моделі реалізують матеріальний підхід до вивчення об'єкта чи явища.
Інформаційна модель - це сукупність інформації, що характеризує властивості та стан об'єкта, процесу чи явища, а також взаємодію із зовнішнім світом. Інформаційні моделі можуть бути:
· вербальними - моделі отримані в результаті розумової діяльності людини і представлені в розумовій або словесній формі;
· знаковими - моделі, що виражені спеціальними знаками (малюнками, текстами, схемами, графіками, формулами тощо).
За формою представлення можна виділити наступні види інформаційних моделей:
· геометричні - графічні форми та об'ємні конструкції;
· словесні - усні та письмові описи з використанням ілюстрацій;
· математичні - математичні формули, що відображають зв'язок різних параметрів об'єкта;
· структурні - схеми, графіки, таблиці;
· логічні - моделі, в яких представлені різні варіанти вибору дій на основі різних умовиводів та аналізу умов;
· спеціальні - ноти, хімічні формули і таке інше;
· комп'ютерні та некомп'ютерні.
В сучасному світі розв'язування складних наукових та виробничих задач неможливе без використання моделей та моделювання. Серед різних видів моделей особливе місце займають математичні моделі, тому що вони дозволяють враховувати кількісні та просторові параметри явищ та використовувати точні математичні методи.
Вивчення реальних явищ за допомогою математичних моделей, як правило, вимагає застосування обчислювальних методів. При цьому широко використовуються методи прикладної математики, математичної статистики та інформатики.
Домашнє завдання:
· вивчити означення, що прочитані на лекції (що таке модель та моделювання, класифікація моделей, комп'ютерне моделювання);
· придумати приклади моделей, що зустрічаються нам у повсякденному житті;
· придумати набір елементів конструктора, з якого потім можна зібрати яку-небудь іграшку.
Тема уроку: "Поняття алгоритму. Властивості алгоритму. Способи описування алгоритмів"
Мета уроку: Дати поняття про алгоритм, його властивості та способи подачі. Навчити розпізнавати алгоритми навколо себе. Вміти розрізняти правильно та неправильно сформульовані алгоритми.
Тип уроку: Лекційний з елементами гри (розбір алгоритмів можна організувати у вигляді гри "знайди помилку").
Теоретичний матеріал, що викладається на уроці:
Кожна людина щодня зустрічається з безліччю задач від найпростіших і добре відомих до дуже складних. Для багатьох задач існують визначені правила (інструкції, команди), що пояснюють виконавцю, як розв'язувати дану проблему. Ці правила людина може вивчити чи заздалегідь сформулювати сама в процесі розв'язування задачі. Чим точніше описані правила, тим швидше людина опанує ними і буде ефективніше їх застосовувати.
У нашому житті ми постійно складаємо опис деякої послідовності дій для досягнення бажаного результату, тому поняття алгоритму не є для нас чимось новим і незвичайним. Так, ранком мама перед твоїм виходом до школи, дає вказівку: "Коли прийдеш зі школи, відразу пообідай і вимий посуд. Після цього підмети підлогу, сходи в магазин і можеш трохи погуляти. Гуляти дозволяю не більше години, а потім відразу за уроки".
Ця інструкція складається з послідовності окремих вказівок, що і визначають твою поведінку після повернення зі школи. Це і є алгоритм.
Кожний з нас використовує сотні різних алгоритмів. Спробуйте згадати деякі з них (алгоритми виконання арифметичних дій, розв'язування задач, прибирання квартири, миття посуду, готування їжі - рецепти тощо).
Отже, після обговорення кількох прикладів алгоритмів, давайте спробуємо сформулювати визначення, що ж таке алгоритм.
Алгоритмом називається зрозуміле і точне розпорядження виконавцю виконати послідовність дій, спрямованих на досягнення зазначеної мети чи на розв'язання поставленої задачі.
В цьому означенні використовується поняття "виконавець". Що це означає? Під виконавцем алгоритму ми розуміємо будь-яку істоту (живу чи неживу), яка спроможна виконати алгоритм. Все залежить від того, якої мети ми намагаємося досягнути. Наприклад: риття ями (виконавці - людина або екскаватор), покупка деяких товарів (один із членів родини), розв'язування математичної задачі (учень або комп'ютер) тощо.
Поняття алгоритму в інформатиці є фундаментальним, тобто таким, котре не визначається через інші ще більш прості поняття (для порівняння у фізиці - поняття простору і часу, у математиці - крапка).
Будь-який виконавець (і комп'ютер зокрема) може виконувати тільки обмежений набір операцій (екскаватор копає яму, вчитель вчить, комп'ютер виконує арифметичні дії). Тому алгоритми повинні мати наступні властивості.
1. Зрозумілість. Щоб виконавець міг досягти поставленої перед ним мети, використовуючи даний алгоритм, він повинен уміти виконувати кожну його вказівку, тобто розуміти кожну з команд, що входять до алгоритму.
Наприклад: Мамі потрібно купити в магазині їжу. Виконавцем цього алгоритму може бути хтось із родини: батько, син, бабуся, маленька дочка тощо. Зрозуміло, що для тата достатньо сказати, які купити продукти, а далі деталізувати алгоритм не потрібно. Дорослому сину-підлітку необхідно детальніше пояснити в яких магазинах можна придбати потрібний товар, що можна купити замість відсутнього товару і таке інше. Маленькій дочці алгоритм необхідно деталізувати ще більше: де взяти сумку, щоб принести товар, яку решту грошей необхідно повернути з магазину, як дійти до магазину і як там поводитись (якщо дитина вперше йде за покупками).
Подібних прикладів можна навести безліч і запропонувати дітям самостійно підібрати ситуацію, в якій в залежності від виконавця алгоритм буде набувати все більшої деталізації. Висновок з цього діти можуть зробити самостійно: зрозумілість - це властивість алгоритму, що полягає в тім, що кожен алгоритм повинен бути написаний у командах, зрозумілих даному виконавцю.
2. Визначеність (однозначність). Зрозумілий алгоритм все ж таки не повинен містити вказівки, зміст яких може сприйматися неоднозначно. Наприклад, вказівки "почисти картоплю", "посоли за смаком", "прибери в квартирі" є неоднозначними, тому що в різних випадках можуть призвести до різних результатів. Крім того, в алгоритмах неприпустимі такі ситуації, коли після виконання чергового розпорядження алгоритму виконавцю не зрозуміло, що потрібно робити на наступному кроці. Наприклад: вас послали за яким-небудь товаром у магазин, та ще попередили "без (хліба, цукру і таке інше) не повертайся", а що робити, якщо товар відсутній?
Отож, точність - це властивість алгоритму, що полягає в тім, що алгоритм повинен бути однозначно витлумачений і на кожному кроці виконавець повинен знати, що йому робити далі.
3. Дискретність. Як було згадано вище, алгоритм задає повну послідовність дій, які необхідно виконувати для розв'язання задачі. При цьому, для виконання цих дій їх розбивають у визначеній послідовності на прості кроки. Виконати дії наступного розпорядження можна лише виконавши дії попереднього. Ця розбивка алгоритму на окремі елементарні дії (команди), що легко виконуються даним виконавцем, і називається дискретністю.
4. Масовість. Дуже важливо, щоб складений алгоритм забезпечував розв'язання не однієї окремої задачі, а міг виконувати розв'язання широкого класу задач даного типу. Наприклад, алгоритм покупки якого-небудь товару буде завжди однаковий, незалежно від товару, що купується. Або алгоритм прання не залежить від білизни, що переться, і таке інше. Отож, під масовістю алгоритму мається на увазі можливість його застосування для вирішення великої кількості однотипних завдань.
5. Результативність. Взагалі кажучи, очевидно, що виконання будь-якого алгоритму повинне завершуватися одержанням кінцевих результатів. Тобто ситуації, що в деяких випадках можуть призвести до так званого "зациклення", повинні бути виключені при написанні алгоритму. Наприклад, розглянемо таку ситуацію: роботу дано завдання залишити кімнату (замкнутий простір), не виконуючи руйнівних дій. У цьому випадку, якщо роботу не дати вказівки відкрити двері (що, можливо, закриті), то спроби залишити приміщення можуть бути безуспішними.
Примітка: У процесі та по закінченні викладання матеріалу дітям пропонується навести приклади інструкцій, що не відповідають визначенню алгоритму чи не володіють властивостями алгоритму.
Тепер залишається з'ясувати, яким чином можна подати алгоритм виконавцю. Існує кілька методів запису алгоритмів, вибір яких залежить від виконавця та того, хто його задає.
Першій спосіб - це словесний опис алгоритму. Сьогодні на уроці розібрано вже кілька алгоритмів, і всі вони подавалися виконавцю за допомогою словесного опису.
Другий спосіб - це подача алгоритму у вигляді таблиць, формул, схем, малюнків тощо. Наприклад, всіх вас вчили в дитячому садочку правилам поведінки на дорозі. І найкраще діти, вочевидь, сприймають алгоритм, що поданий у вигляді схематичних малюнків. Дивлячись на них, дитина, а потім і доросла людина, відпрацьовує ту лінію поведінки, що їй пропонується. Аналогічно можна навести приклади алгоритмів, що записані у вигляді умовних позначок на купленому товарі, щодо його користування (заварювання чаю, прання білизни тощо). В математиці наявність формул дозволяє розв'язати задачу, навіть "не використовуючи слів".
Третій спосіб - запис алгоритмів за допомогою блок-схеми. Цей метод був запропонований в інформатиці для наочності представлення алгоритму за допомогою набору спеціальних блоків. Основні з цих блоків наступні:
Використовуючи дані блоки, можна подати, наприклад, алгоритм чищення картоплі в такому вигляді:
Примітка: В цьому алгоритмі діти, як правило, знаходять неточності (наприклад, не відомо, що значить "взяти" і де "взяти", що значить "почистити" і таке інше). Необхідно пояснити дітям, що степінь деталізації алгоритму залежить від виконавця. Ми, наприклад, передбачаємо, що наш виконавець в своїй системі команд має (тобто їх розуміє) команди "взяти чергову картоплю", "почистити картоплю", "помити" тощо.
Четвертий спосіб - навчальні алгоритмічні мови (псевдокоди). Ці мови мають жорстко визначений синтаксис і вже максимально наближені до машинної мови (мови програмування). Але створені вони з навчальною метою, тому мають зрозумілий для людей вигляд. Таких псевдокодів зараз існує велика кількість, починаючи з графічних середовищ "Алгоритміка", "Роботландія", "Лого-світи", "Черепашка" тощо і закінчуючи текстовими "національними" реалізаціями алгоритмічних мов, подібних до Паскаля. Ці псевдокоди мають програмну реалізацію і дуже широко застосовуються на етапі навчання основам програмування.
П'ятий спосіб максимально наближений до комп'ютера - це мови програмування. Справа в тому, що найчастіше в практиці виконавцем створеного людиною алгоритму являється машина і тому він повинен бути написаний мовою, зрозумілою для комп'ютера, тобто мовою програмування.
Домашнє завдання:
· прочитати сторінки 7 - 16 запропонованого підручника;
· вивчити означення, що прочитані на лекції (що таке алгоритм, властивості алгоритму, способи подачі алгоритму);
· придумати будь-який алгоритм на побутову тему (кулінарний, прибирання кімнати, виконання уроків тощо);
· продумати варіанти, коли в запропонованих алгоритмах можуть не виконуватися властивості алгорит
Тема уроку: "Базові структури алгоритмів"
Мета уроку: Дати дитині поняття про базові структури алгоритмів Навчити розпізнавати базові структури в запропонованих алгоритмах.
Тип уроку: Лекційний з елементами гри.
На початку уроку рекомендується провести інформатичний диктант, за допомогою якого перевірити, як засвоєні означення попереднього уроку (алгоритм, властивості алгоритму, способи подачі алгоритму тощо).
Теоретичний матеріал:
Навіть ще не маючи досвіду в створенні алгоритмів, ми інтуїтивно розуміємо, що вони розрізняються за своєю структурою. Так є алгоритми, що виконуються за будь-яких обставин. Але таке трапляється нечасто, тому що людина завжди коригує свої плани в залежності від оточуючих умов і тому виникає ситуація "якщо трапиться...", "якщо зустрінуся...", "якщо встигну..." тощо. А іноді ми змушені повторювати якийсь процес кілька разів, доки не отримаємо бажаного результату. Найчастіше ж ми і умови враховуємо, і повторюємо щось. Ось так і виникають різні типи алгоритмів.
Всього існують чотири базових структури алгоритмів:
· лінійні;
· розгалужені;
· циклічні;
· змішані.
Найпростіша в написанні та виконанні перша з цих структур - лінійна. До неї відносяться алгоритми, що складаються лише з простих команд. Які ж команди можна назвати простими? Простими з точки зору комп'ютера являються ті команди, що виконуються виконавцем безумовно, тобто після першої команди виконується друга, потім третя і т.д.
Загальний вигляд лінійного алгоритму, поданий мовою блок-схем, наступний:
На відміну від людини виконавець "комп'ютер" не може відмовитися від виконання команди, він не може подібно недбалому учню сказати "не хочу", "не можу", " в мене болить голова і поганий настрій". Команда, записана в алгоритмі, повинна бути виконаною, тому, якщо знехтувати суто людськими якостями ("не хочу", "не можу" і т.д.), лінійним можна назвати алгоритм ранкового збирання до школи.
· проснутися;
· зробити ранковий туалет;
· одягнутися;
· поснідати;
· зібрати речі;
· одягнути верхній одяг;
· вийти до школи.
Та, навіть, в такому простому алгоритмі в зразу ж знайдете недоліки. А що робити, якщо я себе погано почуваю (захворів), а якщо я вже зібрав речі ввечері, а якщо я не встиг напередодні вивчити всі уроки і мені необхідно щось повторити, а що значить одягнути верхній одяг (він залежить від пори року, погоди тощо). Якщо ж спробувати прослідкувати за вашою поведінкою на протязі дня, то з'ясується, що майже ніколи ви не дієте за лінійним алгоритмом. Весь час ви аналізуєте ситуацію, змінюєте свою поведінку та свої плани, пристосовуєтесь до обставин.
Тому набагато частіше зустрічається другий тип алгоритму - розгалужений. Цей алгоритм обов'язково містить в собі хоча б одну умову (як правило, їх набагато більше) і виконується він в залежності від цієї умови.
Мовою блок-схем розгалужений алгоритм подається наступним чином:
Тепер розберемось, що ж таке умова з точки зору виконавця. Умовою називається таке речення, на яке можна дати відповідь "так" чи "ні". Як правило, кажуть, що в першому випадку (коли ми відповіли на речення "так") умова являється істиною, а в другому хибною.
Виходячи з цього, речення "Якого кольору твій піджак?" не можна вважати умовою, а речення "Твоє волосся русяве?" - можна.
Примітка: На цьому етапі можна запропонувати дітям пограти і придумати речення, що можна вважати умовами, а потім перефразувати їх так, щоб вони стали помилковими і запропонувати дітям знайти помилки.
Дуже часто в житті ми змушені враховувати велику кількість найрізноманітніших умов. Наприклад, ми йдемо гуляти на вулицю, якщо "мама відпустила" та "гарна погода", а ще якщо "подруга покликала". Уроки ми робимо, якщо знов таки "мама примусила" або "тато лається" або "вчителька дуже сувора". Такі умови в інформатиці називаються складеними. Вони містять кілька простих умов і об'єднуються між собою словами "або" або "та".
Перше з цих слів ("або") використовується у тих випадках, коли необхідно виконання хоча б однієї з умов, тобто хоча б одна з умов являється істиною. Наприклад, діти залишаються вдома (не йдуть до школи), якщо "сьогодні вихідний" або "сьогодні канікули" або "сьогодні свято" або "дитина хвора". Ясно, що зовсім не обов'язково, щоб сьогодні були одночасно і канікули, і свято, і вихідний та ще й хвороба, щоб не піти до школи.
Друге слово ("та"), навпаки, використовується лише в тих випадках, коли тільки одночасне виконання всіх умов призводить до результату. Наприклад, тільки у випадку вже зроблених домашніх справ та виконаних домашніх завдань та гарної погоди у нас є надія, що мама дозволить погуляти з подругою.
Примітка: На цьому етапі уроку теж рекомендується дати відпочити дітям і пограти з ними в гру "Чи виконається подія, якщо?", запропонувавши кілька умов, що повинні виконуватися одночасно або по черзі.
Однак, навіть маючи в своєму арсеналі команду розгалуження, важко реалізувати алгоритми, що потребують багаторазового повторення деякої послідовності однакових дій. В цих випадках нас виручає циклічний алгоритм.
У нашому житті дуже часто зустрічаються алгоритми з повторами, причому чітко визначаються два типи повторів. В одному випадку ми чітко знаємо, скільки разів необхідно повторити задану послідовність команд, а в іншому - ні.
Наприклад, в першому класі вчителька дає завдання дітям: "Діти, напишіть, будь ласка, в зошитах десять цифр "1", а потім рядочок цифр "2". Чим відрізняються ці два завдання? В першому випадку дитина отримала чітку вказівку написати десять одиниць, а в другому - ця вказівка була не точною (рядочок двійок). Чому другий випадок не такий точний? Тому що кількість отриманих кожним учнем цифр буде залежати від їх власного почерку: одні учні пишуть охайно маленькими цифрами, інші - неохайно величезними кривулями.
В залежності від того, чи знаємо ми скільки разів необхідно повторювати якусь послідовність команд розрізняють цикли з лічильником (кількість повторень відома заздалегідь) та цикли з умовою (цикл робиться доки не виконається якась умова).
Примітка: Знов запропонуйте дітям пофантазувати і придумати ситуації, коли можна визначити кількість повторень, а коли не можна.
Крім того, в циклах з умовою теж можна виділити два різних випадки:
· цикл з передумовою - коли ми спочатку перевіряємо умову, а потім виконуємо деяку послідовність дій (так, ми спочатку перевіряємо, чи вимита підлога в тій класній кімнаті, де нам потрібно чергувати, а потім починаємо прибирання);
· цикл с післяумовою - спочатку ми виконуємо хоч один раз необхідну послідовність дій, а потім перевіряємо, чи не досягли ми бажаного результату (коли ми хочемо пити, ми спочатку ковтаємо хоч глоток води, а потім починаємо контролювати, чи не вгамували ми свою спрагу).
Мовою блок-схем обидва типи циклів виглядають наступним чином:
Найчастіше ж у житті ми використовуємо змішані алгоритми. Так, дійсно, зранку ми контролюємо свій стан здоров'я, погоду, розклад уроків (коли збираємо речі), свій одяг і таке інше. Коли ми снідаємо, ми повторюємо одну й ту саму послідовність дій (зачерпнути ложкою їжу, піднести до рота, забрати в рот, прожувати, проковтнути, зачерпнути ложкою їжу, піднести до рота і т.д.), коли ми миємо посуд, ми теж повторюємо одну й ту саму послідовність дій. Навіть, коли ми йдемо, ми повторюємо визначені дії (подумайте, які).
От ми й підійшли до того, що найбільш поширеним являється змішаний тип алгоритму, в якому поєднуються елементи лінійних, розгалужених та циклічних алгоритмів.
Під час складання алгоритмів іноді виникає ситуація, коли необхідно виконати повторювану послідовність дій, але не зовсім ідентичну. Наприклад, необхідно почистити картоплю, моркву, буряк та цибулю. Всі алгоритми чищення загалом схожі, але все ж таки є деякі відмінності. Щоб не переписувати алгоритми, що суттєво не розрізняються, використовують так звані допоміжні алгоритми, що викликаються і виконуються тільки тоді, коли в них є потреба.
Перевага використання допоміжних алгоритмів полягає ще в тому, що склавши їх один раз, ми можемо їх потім використовувати при написанні навіть інших алгоритмів. В цьому випадку вони об'єднуються в так звані бібліотеки і ними можна користуватися так, як в реальному житті ми користуємось справжніми бібліотеками (тобто не доходячи до суті справи).
Домашнє завдання:
· прочитати сторінки 14 - 16 запропонованого підручника;
· вивчити означення, що прочитані на лекції (базові структури алгоритмів, що таке складені умови, типи циклів);
· придумати будь-який алгоритм на побутову тему (кулінарний, прибирання кімнати, виконання уроків і т.д.), виділивши в ньому базову структуру.
Тема уроку: "Структурний підхід до побудови алгоритмів"
Мета уроку: Дати дитині поняття про основні ідеї технології структурного програмування, сутність метода покрокової деталізації та послідовного уточнення алгоритму,
Тип уроку: Лекційний з елементами гри.
На початку уроку рекомендується провести інформатичний диктант, за допомогою якого перевірити, як засвоєні означення попереднього уроку (алгоритм, властивості алгоритму, способи подачі алгоритму, базові структури алгоритмів).
Теоретичний матеріал:
При побудові алгоритму часто виникає необхідність пояснити виконавцю деякі складні дії, якщо їх виконання не входить в систему команд виконавця. Наприклад, перший раз даючи дитині завдання пришити ґудзик до плаття, їй треба пояснити, як необхідно підбирати нитки для шиття, як вдягати нитку в голку, як тримати голку та ґудзик при роботі, яка різниця між пришиванням ґудзика до тоненької сорочки та товстої куртки (в другому випадку ґудзик робиться на "ніжці"). В подальшому такі пояснення будуть вже зайві, бо алгоритм "пришивання ґудзика" стає вже командою в системі команд виконавця "дитина".
Взагалі кажучи кожна дія людини (якщо вона її може виконати) може вважатися командою її "системи команд", хоча колись, на етапі навчання, учитель або хтось інший ретельно пояснював, яку треба виконати послідовність дій, щоб досягти поставленої мети.
Узагальнюючи сказане, можна сказати, що кінець кінцем кожну задачу можна вважати окремою командою виконавцю, якщо його навчено виконувати поставлене завдання. Якщо ж виконавець не знає, як розв'язувати запропоновану задачу, виникає потреба розкласти її на такі підзадачі, що являються "посильними" для виконання, тобто входять до системи команд виконавця. Продовжуючи цей процес, остаточно отримують алгоритм, що складається з простих команд, зрозумілих виконавцю, або остаточно переконуються, що дана задача непосильна для вибраного виконавця, тому що в його системі команд не існує необхідних для цього команд. Наприклад, як би ми не деталізували алгоритм побудови багатоповерхової будівлі для дитини, задача кінець кінцем являється для неї непосильною.
Примітка: на даному етапі уроку можна дати дітям завдання придумати задачу, яка б була непосильною для вибраного виконавця (виконавцем може бути людина, комп'ютер, якийсь пристрій тощо). Наприклад, спробуйте створити алгоритм виконання ремонту кімнати, розрахований на виконавця "екскаватор".
Запропонований підхід до конструювання алгоритмів називається методом покрокової деталізації зверху вниз. Вочевидь, що при такому підході кожна операція остаточно буде подана у вигляді лише одного з трьох типів базових структур алгоритмів - лінійної (в літературі часто ця структура називається слідування), розгалуження або повторення (циклу). Степінь деталізації алгоритму при цьому сильно залежить від того, на якого виконавця його орієнтовано.
Досить складну конструкторську задачу неможливо розв'язати без поступового заглиблення в деталі. Подумайте, наприклад, як розробляється конструкція сучасного теплохода, автомобіля або літака. (Можна дати дітям можливість самостійно це продумати).
Розглянутий принцип конструювання алгоритмів не залежить від конкретних особливостей поставленої задачі та вибору виконавця. Проте набір команд системи команд вибраного виконавця суттєво впливає на ступінь деталізації алгоритму та, кінець кінцем, на його структуру.
Візьмемо, наприклад, простий алгоритм "переходу через вулицю". Взагалі для кожної дитини можна вважати це командою, що входить до її "системи команд". Але кожен пам'ятає, як в дитинстві батьки та вихователі неодноразово повторювали: якщо в місті, де необхідно перейти вулицю, є підземний перехід, скористуйся ним, якщо немає, відшукай місце, де є світлофор, і перейди вулицю, користуючись правилами; якщо немає ні підземного переходу, ні світлофора... (далі діти самостійно продовжать це алгоритм). Однак, навіть в цьому алгоритмі є необхідність дещо деталізувати. Наприклад, що значить "перейди вулицю, користуючись правилами", при наявності світлофора? А якщо алгоритм складається для зовсім маленької дитини, то що таке світлофор і як його шукати? А якщо виконавець взагалі прибулець з інших світів? Що таке "зелений", "червоний", "жовтий"? Що таке підземний перехід? Перелік питань можна доповнити нескінченою послідовністю непорозумінь.
Алгоритми, що складаються для розв'язування окремих підзадач основної задачі, називаються допоміжними. Вони створюються при поділі складної задачі на прості або при необхідності багаторазового використання одного ж того набору дій в одному або різних алгоритмах.
Допоміжний алгоритм повинен мати тільки один вхід та один вихід, причому того, хто користується ним, зовсім не цікавить, як реалізований цей алгоритм. Головне, щоб всі команди, що входять до складу допоміжного алгоритму входили до системи команд обраного виконавця. Зверніть увагу ще на те, що в реальному житті допоміжні алгоритми можуть виконувати, навіть, зовсім інші виконавці. Наприклад, якщо батьки вдома вирішили зробити ремонт, це не значить, що вони самостійно повинні зробити собі шпалери та клей. Алгоритми виробництва матеріалів існують і їх хтось виконує, а ми тільки користуємось результатами їх роботи.
Таким чином, можна вважати допоміжний алгоритм своєрідним "чорним ящиком", на вхід якого подаються деякі вхідні дані, а на виході ми отримуємо очікуваний результат. Головне чітко домовитись про правила оформлення вхідних даних та вигляд результату. Невиконання домовленостей може привести до збою у виконанні допоміжного алгоритму або до отримання неочікуваного результату.
Описаний метод послідовної деталізації лежить в основі технології структурного програмування і широко застосовується при використанні таких мов програмування, як Паскаль, С, С++ та інших.
При описуванні програми для комп'ютера мовами високого рівня допоміжні алгоритми реалізовуються у вигляді підпрограм. Правила опису, звернення до них та повернення в точку виклику визначаються конкретною мовою програмування. Для зручності часто використовувані підпрограми можна об'єднувати в бібліотечні модулі і при необхідності підключати їх в свої програми.
Домашнє завдання:
· вивчити означення, що прочитані на лекції (що таке допоміжний алгоритм, в чому сутність метода покрокової деталізації та проектування зверху вниз);
· придумати будь-який алгоритм, в якому в залежності від виконавця необхідна різна степінь деталізації;
· продумати приклади алгоритмів, для яких будь-яка степінь деталізації не дозволить виконати їх заданим виконавцем.
Тема уроку: "Поняття програми. Класифікація мов програмування"
Мета уроку: Дати дитині поняття про програму, класифікацію мов програмування, поняття системи програмування, поняття про інтерпретацію та компіляцію.
Тип уроку: Лекційний.
Теоретичний матеріал:
Процес роботи комп'ютера полягає у виконанні програм, тобто деякого набору команд, що надходять у визначеному порядку. Машинний код команди складається з нулів та одиниць та указує, яку саме дію треба виконати центральному процесору. Отже, щоб задати комп'ютеру послідовність дій, яку він має виконати, треба задати послідовність двійкових кодів відповідних команд. Писати такі програми дуже складна справа. Раніше для цього програміст повинен був пам'ятати не тільки всі комбінації нулів та одиниць двійкового коду кожної команди, але й двійкові коди адрес даних, що використовувалися під час виконання програми. Щоб полегшити роботу програмістів, було розроблено багато мов програмування, які в більш наочному для людини вигляді подавали послідовність дій комп'ютера.
Алгоритмічні мови, призначені для побудови описів алгоритмів, що виконуються електронними обчислювальними машинами, називаються мовами програмування.
Описи алгоритмів мовою програмування називають програмами.
Набагато легше написати програму мовою, що наближена до людської, а перекладання цієї програми на машинні коди доручити комп'ютеру. Так з'явилися мови, що призначені спеціально для написання програм - мови програмування.
Існує багато різних мов програмування (дивись малюнок). Взагалі, для розв'язування більшості задач можна використовувати будь-яку з них. Тільки досвідчені програмісти знають, яку мову програмування краще використовувати для розв'язування складних спеціалізованих задач, щоб урахувати особливості тієї чи іншої з них.
Всі існуючи мови програмування можна поділити на дві групи:
· мови низького рівня;
· мови високого рівня.
До мов низького рівня належать мови асемблера (від англ. to assemble - складати, компонувати). У мові асемблера використовуються символьні позначення команд, які легко зрозуміти і запам'ятати. Замість послідовностей двійкових кодів команд записуються їх символьні позначення, а замість двійкових адрес даних, які використовуються під час виконання програми, - символьні імена цих даних. Іноді мову асемблера називають мнемокодом або автокодом.
Основи програмування мовою Паскаль
Тема уроку: "Інтегровані середовища програмування. Поняття редактора, транслятора, налагоджувача"
Мета уроку: навчити дітей працювати в середовищі Паскаля, основним прийомам роботи з текстовим редактором, методам налагоджування програм
Тип уроку: Інтегрований (лекційний матеріал з практичним опрацюванням).
Теоретичний матеріал:
Написавши програму мовою Паскаль на папері, ми повинні мати можливість ввести цю програму до пам'яті комп'ютера, причому не тільки в текстовому вигляді, а й у відкомпільованому, (машинному) вигляді. Для цього створено інтерактивне інтегроване середовище, яке об'єднує в собі функції:
· текстового редактора - для набирання та редагування текстів програм;
· компілятора - для трансляції текстової програми в машинний код;
· налагоджувача - для покрокового виконання програм і виявлення прихованих алгоритмічних помилок в програмі.
Інтерактивним середовище називається тому, що воно знаходиться в режимі постійного діалогу з програмістом, а інтегрованим, тому що об'єднує в собі всі перелічені функції.
Робота в інтегрованому середовищі починається після запуску завантажуваного файлу turbo.exe. Після цього на екрані з'являється: у верхній частині екрана - головне меню, а в нижній - рядок повідомлень.
Можливості середовища Turbo Pascal дуже потужні, тому розглянемо тільки ті, що будуть вам у нагоді.
При роботі в середовищі за допомогою маніпулятора миші прийоми роботи являються стандартними і особливого пояснення не потребують. При роботі з клавіатурою для виходу у основне меню треба натиснути клавішу F10, або можна скористатися службовими комбінаціями клавіш, що складаються з комбінації Alt+виділена іншим кольором буква пункту меню. Крім того, найчастіше використовувані функції мають "гарячі клавіші", що зазначені в рядку повідомлень.
Середовище програмування Turbo Pascal надає програмісту можливість працювати одночасно зі 100 вікнами, але активним може бути в кожен момент часу тільки одне вікно (воно має яскраво висвітлений рядок заголовку синього кольору).
Розглянемо основні пункти меню, що вам знадобляться для роботи. Перші три з них (File, Edit та Search) являються пунктами інтегрованого текстового редактора. Їх призначення наступне:
· File - меню для роботи з файлами (створення, відкриття, збереження тощо);
· Edit - редагування програми в активному вікні з використанням буферу обміну;
· Search - пошук у активному вікні необхідного елемента.
Крім того, пункт меню Window дозволяє швидко працювати з вікнами. Його підпунктами являються наступні:
Tile - розміщення всіх відкритих вікон на екрані мозаїкою рівномірно на весь екран;
Cascade - розташування всіх відкритих вікон на екрані каскадом (видимими являються тільки заготовочні рядки);
Close all - закриття всіх відкритих вікон (якщо у вікні знаходиться не збережена програма, система про це повідомить і запропонує вам її зберегти);
Size/Move - зміна розмірів та положення активного вікна (в рядку повідомлень в цьому випадку зазначені клавіші, що дозволяють виконати ці дії);
Zoom - розгортання активного вікна на весь екран;
Next - активізація наступного вікна;
Previous - активізація попереднього вікна;
Close - закриття активного вікна;
List - виведення на екран списку всіх відкритих вікон.
Для роботи з файлами (пункт меню File) система пропонує наступні пункти меню:
New - відкриття нового вікна для створення програми;
Open - відкриття файлу, що був збережений раніше, для подальшого редагування та відлагодження;
Save - збереження вмісту активного вікна під "старим" іменем (тим іменем, з яким цей файл вже був збережений); якщо файл зберігається вперше, система автоматично пропонує режим Save as;
Save as - збереження вмісту активного вікна під новим іменем;
Save all - збереження вмісту всіх відкритих вікон під визначеними іменами (якщо серед них будуть такі, вміст яких ще не зберігався, система запропонує надати йому ім'я);
Change dir - зміна поточного каталогу;
Dos shell - тимчасовий вихід з середовища в операційну систему Dos (для повернення назад необхідно набрати на клавіатурі команду EXIT);
Exit - завершення роботи інтегрованого середовища.
Для роботи з буфером обміну в середовищі Turbo Pascal існують стандартні засобі: Cut (Copy) - вирізати (скопіювати) виділений фрагмент в буфер обміну; Paste - вставити фрагмент з буферу обміну; Show Clipboard - передивитися вміст буферу обміну в окремому вікні; Clear - знищити виділений фрагмент.
Дуже зручним засобом при роботі з великими програмами є пошукова система, що міститься в пункті меню Search. В підпунктах цього меню є наступні:
Find - пошук заданого підрядка в тексті з урахуванням таких параметрів як регістр введення даних (case sensitive), пошук окремого слова (whole words only), напрямок пошуку (forward або backward), діапазон пошуку (Global або Selected text) та початкової точки пошуку (From cursor або Entire scope);
Replace - пошук та заміна одного підрядка іншим (параметри пошуку співпадають з попереднім пунктом);
Search again - продовження пошуку зі встановленими на попередньому етапі параметрами;
Find procedure - пошук процедури із заданим ім'ям.
Наступний пункт меню Run призначений для виконання компіляції (перекладання програми з мови високого рівня на мову машинного коду) та запуску програми на виконання. В цьому пункті також кілька зручних підпунктів:
Run - компіляція та запуск програми на виконання;
Step over - покрокове виконання програми (після натискання клавіші F7 будуть виконуватися всі команди, що містяться в одному рядку програми, до наступного натискання цієї клавіші);
Trace into - теж покрокове виконання програми, але різниця від попереднього режиму в тому, що допоміжні алгоритми в цьому випадку будуть виконуватися, як одна команда ("гаряча" клавіша для цього пункту меню - F8);
Go to cursor - виконання програми до курсору.
При відлагодженні складних програм останні три пункти меню будуть вам у нагоді, щоб прослідкувати її роботу покроково. Дуже зручно в цьому випадку користуватися вікном Watch (вмикається в пункті меню Debug - Watch), в якому за бажанням програміста можуть бути виведені значення змінних (для вибору необхідних змінних користуються клавішами Alt - F7 з наступним введенням у діалогову вікні імені потрібної змінної).
Домашнє завдання:
· прочитати сторінки 32 - 38 запропонованого підручника;
· ознайомитись з середовищем Turbo Pascal, переглянути всі перелічені пункти меню;
· продумати алгоритм поведінки учня при наборі, редагуванні та відлагодженні програми
Більшість програмістів при складанні програм користуються деякою мовою високого рівня. Для описування алгоритмів такою мовою використовується певний набір символів - алфавіт мови. З цих символів складаються так звані службові слова мови, кожне з яких має певне призначення. Службові слова зв'язуються одне з одним в речення за певними синтаксичними правилами мови і визначають деяку послідовність дій, які мусить виконати комп'ютер.
Використання мов високого рівня надає можливість описувати програми для комп'ютера, використовуючи загальноприйняті позначення операцій і функцій.
Та програми, що написані на мовах програмування високого рівня (алгоритмічних мовах програмування), комп'ютер "не розуміє". Для того, щоб він міг виконати програму, її потрібно перекласти на машинну мову. Для такого перекладу використовують спеціальні програми, що мають назву - транслятори.
Транслятор - це програма, що призначена для перекладу тексту програми з однієї мови програмування на іншу. Процес перекладання називається трансляцією.
Розрізняють два типи трансляторів:
· компілятори
· інтерпретатори.
Компілятор - це програма, призначена для перекладу в машинні коди програми, що написана мовою високого рівня. Процес такого перекладання називається компіляцією.
Кінцевим результатом роботи компілятора є програма в машинних кодах, яка потім виконується ЕОМ. Скомпільований варіант програми можна зберігати на дискові. Для повторного виконання програми компілятор вже не потрібен. Досить завантажити з диска в пам'ять комп'ютера скомпільований перед цим варіант і виконати його.
Існує інший спосіб поєднання процесів трансляції та виконання програм. Він називається інтерпретацією.
Інтерпретатор - це програма, що призначена для трансляції та виконання вихідної програми по командах (на відміну від транслятора, який цей процес виконує в цілому). Такий процес називається інтерпретацією.
Подобные документы
Методика та порядок програмування алгоритмів циклічної структури із заданим числом повторень за допомогою мови програмування 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