Поняття мови програмування, програмного коду, середовища розробки програм, компілятора. Етапи розв'язування задач з використанням комп'ютера.
Актуалізувати знання учнів про алгоритми, властивості алгоритмів, форми подання алгоритмів. Подати новий навчальний матеріал про мови програмування, програмний код, середовище розробки програм, компілятор. Описати основні етапи розв'язування задач з використанням комп'ютера.
Урок 11 кл.
Тема: Етапи розв’язування задач з використанням комп’ютера. Поняття мови програмування, програмного коду, середовища розробки програм.
Навчальна мета: Засвоїти відомості з основ алгоритмізації та програмування, познайомитися з поняттями програма, вхідні дані, результати, методом розв’язання задачі, виконанням та тестуванням програм, компіляцією.
Розвивальна мета: Розвивати координацію рухів, зорову пам’ять, вміння працювати з програмами
Виховна мета: Виховувати зосередженість, вміння активно сприймати новий матеріал.
Тип уроку: Урок вивчення нового матеріалу
Структура уроку
Хід уроку
І. Організаційний момент
Сьогодні ми з вами розглянемо тему: «Етапи розв’язування задач з використанням комп’ютера. Поняття мови програмування, програмного коду, середовища розробки програм, компілятора».
II. Етап орієнтації
Мета сьогоднішнього уроку якомога найкраще познайомитися з відомостями з основ алгоритмізації та програмування, навчатися створювати моделі та дослідити етапи моделювання
III. Етап проектування
План уроку
ІV. Етап навчальної діяльності
Етапи розв’язування задач з використанням комп’ютера.
Зараз важко уявити собі життя людини без комп'ютера. Люди використовують його для розв'язання найрізноманітніших задач: від виконання важких обчислень до виконання кропіткої домашньої роботи (прання білизни, приготування їжі, миття посуду і, навіть, домашній секретар).
Персональний комп'ютер зараз є майже в кожному будинку і без нього неможлива обробка такого величезного потоку інформації, який зараз буквально "наринув" на людину. Оформлення складної документації, створення та обробка графічних зображень, отримання даних з будь-якого питання з баз даних та світової мережі Інтернет, табличні розрахунки, розв'язування математичних задач, навчання. Ось далеко не повний перелік всіх можливостей нашого помічника - комп'ютера.
Для розв'язання цих задач в розпорядженні користувача є велика кількість різноманітного програмного забезпечення, яке поділяється на чотири великі категорій:
Отримавши задачу, користувач, виходячи з її умови, вирішує, яким програмним засобом можна скористатися для її розв'язання. Якщо в складі програмного забезпечення є програма, придатна для цього, то користувач вибирає її як інструмент, якщо ж ні, то доводиться створювати нову спеціальну програму, виконання якої призведе до очікуваного результату.
Наприклад, нам необхідно оформити газету, присвячену якійсь події. Вочевидь, що для розв'язування цієї задачі будь-який комп'ютер має необхідні програми, що дозволяють оформити тексти та графічні зображення різної складності (це текстові та графічні редактори, настільні видавницькі системи тощо).
Інший приклад: необхідно побудувати графік заданої функції. І для розв'язування цієї задачі комп'ютер має необхідне програмне забезпечення - електронні таблиці.
Примітка: можна запропонувати дітям дати свої приклади задач для комп'ютера.
Однак є величезна категорія задач, для розв'язку яких не існує відповідного програмного забезпечення, або існуюче програмне забезпечення з деяких причин нас не влаштовує. В цьому випадку ми повинні самостійно написати програму для виконання поставленої мети.
Розглянемо технологію розв'язання прикладної задачі на ЕОМ (зверніть увагу, що задачі будуть нескладні і тому можна було б скористатися і наявним програмним забезпечення для їх розв'язання, але з навчальною метою ми прослідкуємо етап створення самостійного програмного продукту).
Розв'язування будь-якої задачі починається з її постановки. На цьому етапі треба чітко з'ясувати, що дано і що треба знайти. Тобто треба добре уявити, в чому полягає дана задача, які необхідні початкові дані для її розв'язання, та що можна вважати за очікуваний результат.
Наприклад, батьки вирішили зробити ремонт вашої кімнати. Вочевидь, що безпосередньо зробити ремонт персональний комп'ютер не може. Але він може допомогти у виконання розрахунків на витратні матеріали, оплату виконаних робіт тощо. (Більш серйозні програмні засоби можуть допомогти, навіть, у виборі оптимального набору витратних матеріалів з урахуванням вартості безпосередньо матеріалів та вартості перевезень з пошуком найдешевших варіантів, але ми задачу спрощуємо.)
В нашому випадку вхідними даними повинні бути: розміри кімнати, що підлягає ремонту, набір необхідних витратних матеріалів (можна тільки поклеїти шпалери та виконати фарбувальні роботи, а можна замінити двері, вікна та меблі), ціни на витратні матеріали, вартість виконуваних робіт тощо. Результатом роботи програми повинна бути необхідна сума коштів на виконання ремонтних робіт з урахуванням витратних матеріалів.
Другим етапом розв'язування задач є побудова математичної моделі. Це дуже відповідальний етап, тому що не завжди в умові задачі міститься формула, придатна для застосування в програмі. Для цього створюється інформаційна математична модель об'єкта.
В нашому випадку математичною моделлю нашої задачі буде:
Примітка: ці формули отримати неважко і тому за бажанням можна дати це завдання учням безпосередньо на уроці або вдома.
Наступним етапом є розробка алгоритму на основі побудованої математичної моделі. Для цього можна використати вже відомі методи та способи розв'язування отриманих математичних співвідношень, причому при наявності кількох методів розв'язання необхідно вибрати оптимальний, провівши їх оцінку та аналіз. Якщо серед існуючих методів розв'язання необхідний відсутній, треба розробити власний.
Під час створення складних алгоритмів застосовується метод покрокової деталізації, який полягає в тому, що складний алгоритм розбивається на прості підзадачі, кожна з яких в свою чергу може розбиватися на ще простіші. Такий підхід дозволяє також розбити алгоритм на окремі частини - модулі, реалізацію кожного з яких доручити окремому програмісту. В цьому випадку програміст концентрується на розв'язанні окремої підзадачі, використовуючи для цього свої методи.
Останнім етапом у методі покрокової розробки є об'єднання окремих модулів у єдине ціле. Для цього між всіма модулями повинні бути встановлені зв'язки, тобто узгоджена передача інформації від одних модулів до інших. Це дуже важка робота і від оптимальності вибору вхідних та вихідних параметрів окремих модулів кінець кінцем залежить оптимальність роботі всієї програми.
Алгоритм, призначений для комп'ютерної реалізації, має бути записаний однією з мов програмування. На даному етапі розвитку комп'ютерної техніки різноманітність існуючих мов програмування дає програмісту можливість вибрати оптимальний варіант для отримання бажаного результату. А враховуючи можливість розбиття алгоритму на окремі модулі, реалізацію кожної підзадачі взагалі можна виконати різними засобами.
Написану вибраною мовою програмування програму необхідно тепер налагодити та протестувати. Під налагоджуванням програми розуміється процес випробування роботи програми з виправленням виявлених при цьому помилок. Виправити помилки, пов'язані з правилами написання програм, вам допомагає середовище програмування, а ось логічні помилки виправити набагато важче. В цьому вам можуть допомогти правильно підібрані тести.
Останній етап - це використання програми для отримання шуканих результатів. На цьому етапі обов'язково ще раз перевірити правильність очікуваних результатів. Якщо отримані результати являються помилковими, необхідно повернутися до одного з попередніх етапів (іноді, навіть, до найпершого - постановки задачі) і ще раз перевірити правильність зроблених робіт. Можливо, що на деяких етапах буде необхідно доопрацювати або повністю переробити весь етап.
Тепер програму можна експлуатувати і, навіть, пропонувати іншим користувачам, доповнивши її необхідною документацією.
Отже, основними етапами розв'язку задачі за допомогою ЕОМ є наступні:
Поетапне розв’язування задач за допомогою ЕОМ:
Програма.
Програмне забезпечення — сукупність всіх програм і документації.
Програма - це виконання комп’ютером окремих дій або інструкцій.
Дані – це те, що ми даємо, як вхідну інформацію для програми.
Існує безліч мов програмування, за допомогою яких можна писати програми для комп’ютера.
Мова, яка зрозуміла комп’ютеру називається мовою низького рівня або машинною мовою, а мови програмування високого рівня схожі на мови спілкування людей. Саме тому в більшості випадків люди користуються при написанні програм мовами високого рівню. Ось деякі з мов програмування: C, Java, Pascal, FORTRAN, BASIC, COBOL, Lisp, Ada, C++. Найбільш сьогодні використовуються такі мови програмування, як: BASIC, C++, Java.
Вхідні дані, результати.
Вхідні дані називають початковим кодом, а вихідні дані – об’єктним кодом
Інструкції – це команди виконані комп’ютером.
Створення програм дуже складна задача. Не існує повного набора правил та інструкцій по створенню алгоритму або написанню програми. Весь процес створення програми складається з двох фаз – фази рішення задачі та фазу реалізації. Результатом першої фази являється алгоритм рішення задачі, написаний на алгоритмічній мові, а потім цей алгоритм переводиться на мову програмування - це фаза реалізації.
Фаза рішення задачі Фаза реалізації
Життєвий цикл програми:
Виконання та тестування програм.
Тестування – це процес перевірки правильності моделі чи програми.
Тестування відбувається перевіркою результатів програми для певного набору вхідних даних, результати яких вже відомі (для звірки результатів з вихідними даними програми).
Якщо результати не коректні, то має місце налагодження моделі чи програми - пошук та усунення причини розбіжностей.
Компіляція
Мова програмування - це система позначень та правил для точного та зрозумілого записування алгоритмів та їх виконання. Алгоритм, записаний певною мовою програмування, називають комп'ютерною програмою.
Мови високого рівня максимально наближенні до «людської мови». Але такі мови не розуміє комп’ютер.
Для перекладу програми, яка написана на мові програмування високого рівня в машинну мову, використовують спеціальні програми – транслятори.
Розрізняють два види трансляторів:
Компілятор – це програма, що перекладає в машинні коди програми, написанні мовою високого рівня.
Програма, яка перетворює програми високого рівня в мови низького рівня, які може обробити комп’ютер називають компілятором. Компілятори – це особливий різновид програм, в яких вхідні дані та вихідні дані – це програми.
Інтерпретатор – це програма, що призначена для трансляції та ви-конання програми по командах.
Опис величин навчальною алгоритмічною мовою
Графічний вид |
Алгоримічний вид |
Початок і кінець
|
Алгоритм <Назва алгоритму> Початок(ПОЧ) Дії ….. Кінець(КІН) |
Введення/виведення
|
|
Дії
|
|
Перевірка умови |
Структура програми Навчальною алгоритмічною мовою АЛГО:
Програма <Назва програми>;
Початок
<Тіло програми>
Кінець.
Слова Програма, Початок і Кінець називаються службови словами навчальної алгоритмічної мови АЛГО.
Тіло програми - це і саме програма, яка складається із вказівок (інструкцій, команд) НАМ Алго.
Розв'язуючи будь-яку задачу, ми маємо справу із різними величинами.
Величини - це ті дані, з якими працює наша програма і з якими ми будемо виконувати ті чи інші дії.
Усі величини умовно поділяються на сталі та змінні.
СТАЛІ - це величини, що мають своє ім'я та значення, які не змінюються під час виконання програми.
ЗМІННІ - це величини, що змінюють своє значення в процесі виконання алгоритму.
Ім'я величин може мати довжину до 16 символів, але обов'язково має починатися з літери та не містити пропусків та спеціальних символів, як то +, -, /, &.
Змінні величини бувають різними, тобто, можуть приймати різні значення, отже в програмуванні необхідно розглядати величинирізних типів.
Змінні величини бувають наступних типів:
Отже, якщо внести в структуру програми розділ опису сталих та змінних структура програми прийме вигляд:
Програма <Назва програми>;
Стала імя = значення;
Змінна список імен : тип змінних;
Початок
<Тіло програми>
Кінець.
Наприклад, вирішення задачі на знаходження суми двох чисел:
Алгоритм Сума;
Арг а,в: цілі;
Рез с: цілі;
Поч
Вивід (‘Введіть а, в’);
Запит (а,в);
с : = а+в;
вивід (‘сума’,с)
Кін.
Задача 1. Скласти програму на знаходження різниці трьох чисел а,в,с в алгоритмічному вигляді та за допомогою блок схем.
Алгоритм Різниця;
Арг а,в,с: цілі;
Рез к: цілі;
Поч
Вивід (‘Введіть а, в,с’);
Запит (а,в,с);
к : = а-в-с;
вивід (‘різниця’,к)
Кін.
Задача 2. Дано квадрат зі стороною а, знайти площу в алгоритмічному вигляді та за допомогою блок схем.
Алгоритм Площа;
Арг а;
Рез S;
Поч
Вивід (‘Введіть а’);
Запит (а);
S : = а*a;
вивід (‘Площа’,S)
Кін.
Задача 3. Дано систему рівнянь написати програму в алгоритмічному вигляді та за допомогою блок схем.
Алгоритм Функції;
Арг х;
Рез у;
Поч
Вивід (‘Введіть х);
Запит (х);
Якщо х>0, то
у:=х+3*х*х;
Якщо х<0, то
у:=61-х;
вивід (‘Вивести у=’,у)
Кін.
VI. Контрольно-оцінювальний етап
Запитання для узагальнення
VII.Домашнє завдання
1