О ПЕРАТОР РОЗГАЛУЖЕННЯ Основи інформатики. 7 клас Володіна І.Л., Володін В.В.,

Презентация:



Advertisements
Похожие презентации
Коротка О.Б.. Це зрозуміла та точна інструкція (указівка) виконавцю, як йому реалізувати певну послідовність дій, призначених досягнути поставленої мети.
Advertisements

Розділ 3. Алгоритмізація і програмування п Алгоритми й основні алгоритмічні структури. Складання обчислювальних алгоритмів.
Розгалуження в алгоритмах і програмах Алгоритми з розгалуженням.
Що таке цикл? Чим характерний цикл як фрагмент алгоритму? Що таке розгалуження? Чим характерне розгалуження як фрагмент алгоритму?. Чим цикл відрізняється.
Урок 27 5 клас. АЛГОРИТМИ З РОЗГАЛУЖЕННЯМИ.
Тема 1. Вступ. Основи алгоритмізації Урок 5. Позначення операцій на блок схемі. Урок 6. Основні алгоритмічні структури : послідовність Основи алгоритмізації.
Основи алгоритмізації та програмування Програми з розгалуженнями.
Базові структури алгоритмів Інформатика-11 Тема-2.
РОЗВЯЗУВАННЯ ЗАДАЧ ЗА ДОПОМОГОЮ ЛІНІЙНИХ РІВНЯНЬ. РІВНЯННЯ ЯК МАТЕМАТИЧНА МОДЕЛЬ ЗАДАЧІ.
Тема 2. Розгалуження. Алгоритми розгалуження Задача. Ввести два цілих числа і вивести на екран більше з них. Ідея розвязання: потрібно вивести на екран.
Основи алгоритмізації та програмування Вказівка повторення. Цикли.
ВИРАЗИ. ЧИСЛОВІ ВИРАЗИ. Виконання усних вправ 1. Виконайте дії:.
Основи алгоритмізації та програмування Надання значень величинам. Вказівки присвоєння та введення.
Електронні таблиці Excel 7.8. Використання логічних функцій.
Мета уроку : повторити вивчений матеріал по темі «Функція»; вивчити поняття області визначення та області значень функції;навчитися шукати область визначення.
Основи алгоритмізації і програмування. Тема 2. Моделі та моделювання (3 год) Етапи розв'язування задач на комп'ютері.
Програми з розгалуженнями.Команда IF Підготувала Крилік Анастасія 7-Д.
Ізяславський НВК 2, Гульчак І.В. Функції в електронних таблицях.
6 За новою програмою Урок 4 Форми подання алгоритмів.
Оператори. Введення і виведення даних. Оператор присвоювання Оператори це команди програми. Оператор присвоювання є основним оператором мови програмування.
Транксрипт:

О ПЕРАТОР РОЗГАЛУЖЕННЯ Основи інформатики. 7 клас Володіна І.Л., Володін В.В.,

З АДАЧА 1 Нехай Дуся спіймала x метеликів, а Айбоша вполював у метеликів. Зазирнувши до Червоної книги, Айбоша відпустив на волю а метеликів. Дусі довелося позбутися с хижаків з крильцями, щоб вони не зїли всіх інших учасників салюту. Хто з песиків назбирав більше метеликів для святкового феєрверку? Л ОГІЧНІ УМОВИ. З АГАЛЬНА СТРУКТУРА ОПЕРАТОРА РОЗГАЛУЖЕННЯ

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

З АГАЛЬНА СТРУКТУРА ПРОГРАМИ Програма Метелик; Змінна х, у, а, с, Дуся, Айбоша: ціла; Початок Вивести (Кількість метеликів, що вполювала Дуся =>); Ввести ( х ); Вивести (Кількість метеликів, що вполював Айбоша =>); Ввести ( у ); Вивести (Кількість метеликів, що відпустив Айбоша=>); Ввести ( а ); Вивести (Кількість хижих метеликів, яких позбулася Дуся =>); Ввести ( с ); Кінець.

Далі визначимо кількість метеликів, які кожен песик поклав до своєї коробки: Дуся : = х - с; Айбоша: = у – а; Для порівняння кількості метеликів використаємо оператор розгалуження: Якщо то інакше ; Це один оператор, тому між його рядками символ,, ;, що розділяє оператори, не ставиться.

Зобразимо оператор розгалуження на блок-схемі: Серія команд 2 Серія команд 1 Умова

Значення умови: істина (+) чи хибність (-). Якщо умова виконується, то говорять, що вона має істинне значення. А при невиконанні умови її значення хибне. Ромбиком домовилися зображати умови

Запишемо оператор розгалуження для нашої задачі. Слід міркувати таким чином: якщо в коробці у Дусі метеликів більше, ніж в Айбоші, то перемогла Дуся, інакше – Айбоша. Конструкцію потрібно записати так: Якщо Дуся > Айбоша то вивести ( Перемогла Дуся ) інакше Вивести (Переміг Айбоша );

О ФОРМИМО ТЕКСТ ПРОГРАМИ : Програма Метелик; Змінна х, у, а, с, Дуся, Айбоша: ціла; Початок Вивести (Кількість метеликів, що вполювала Дуся =>); Ввести ( х ); Вивести (Кількість метеликів, що вполював Айбоша =>); Ввести ( у ); Вивести (Кількість метеликів, що відпустив Айбоша=>); Ввести ( а ); Вивести (Кількість хижих метеликів, яких позбулася Дуся =>); Ввести ( с ); Дуся : = х - с; Айбоша: = у – а; Якщо Дуся > Айбоша то вивести( Перемогла Дуся ) інакше вивести(Переміг Айбоша ); Кінець.

П ЕРЕВІР СЕБЕ 1. Для чого використовують оператор розгалуження? Як записати за правилами НАМ загальну структуру оператора розгалуження? 2. Як розуміти вислови,,умова істинна та,,умова хибна? 3. Зобразіть за допомогою блок-схеми оператор розгалуження. 4. Які умовні позначення використовують при зображенні блок-схем?

Н АВЧАЛЬНО - ТРЕНУВАЛЬНІ ЗАВДАННЯ добуток <3а с*3 сума = 9 маса * маса = густина 5<3 а + х > с - у 1. Які з наведених записів є умовами, а які ні? Чому? 2. Нехай а = 2, с =1, х = 3, у = -4. Визначте, які значення мають наведені умови: а + с < х 2*х + 3*у > а*с/х а + с – (у + 2) = х а*а + с*с - 2*х*у < х*х*а - с*у*х (х – 5) – (у + 8)*4 > (а + с*3) – (у + 4)/2

3. Запишіть наведені висловлювання у вигляді умови: 1. Число а не дорівнює нулю. 2. Сума чисел а та с більша за квадрат числа х. 3. Добуток чисел х та у – число невідємне. 4. Швидкість першого тіла υ1 менша за швидкість другого тіла υ2. 5. Відстань S1, яку пройшло перше тіло, не дорівнює відстані S2, що здолало друге тіло.

4.* ЗОБРАЗІТЬ ЗА ДОПОМОГОЮ БЛОК- СХЕМИ КОНСТРУКЦІЮ РОЗГАЛУЖЕННЯ, ЩО ВИКОРИСТОВУЄТЬСЯ В ЗАДАЧІ МЕТЕЛИК.

С ТРУКТУРА ТАБЛИЦІ ВИКОНАВЦЯ : хуасДусяАйбошаУмоварезультат Номер показує, який крок виконання програми ми зараз робимо. У стовпчиках, які названі іменами змінних, буде вказуватися значення відповідної змінної на даний момент виконання програми. У комірці Умова будемо визначати, яке значення має умова, що записана в операторі розгалуження. У комірці Результат зафіксуємо результат виконання програми. Т АБЛИЦЯ ВИКОНАВЦЯ. В КЛАДЕНІ ОПЕРАТОРИ

Т ЕСТ 1 Дуся спіймала 25 метеликів, Айбоша – 23, з них занесено до Червоної книги 4, а хижаків виявилося 2. За першими кроками виконання програми утвориться така таблиця виконавця: хуасДусяАйбошаУмоварезультат

Визначимо значення змінних Дуся та Айбоша, в яких зберігається кількість метеликів у коробках. Тому таблиця збільшиться на два рядки, оскільки ми виконали два наступні кроки програми: хуасДусяАйбошаУмоварезультат

Умова в нас була записана так: Дуся > Айбоша Умова приймає значення істина, оскільки 23 метелики, що залишились у коробці Дусі, більше, ніж 19 Айбошиних. Таким чином, для подальшої роботи ми маємо обрати ті команди, що записані після службового слова то. Тому на екрані має зявитися напис,,Перемогла Дуся, що і буде результатом роботи програми. Отже, завершимо заповнення таблиці виконавця:

хуасДусяАйбошаУмоварезультат >19 - істина Перемогла Дуся

Т ЕСТ 2 Нехай кількість метеликів буде така: х=20; у=25; а=7; с=2. Таблиця матиме такий вигляд: хуасДусяАйбошаУмоварезультат >18 - хибність

В КЛАДЕНІ ОПЕРАТОРИ Коли кількість метеликів, які кожен поклав у коробку однакова: Якщо Дуся > Айбоша то Вивести (Перемогла Дуся) інакше якщо Дуся = Айбоша то Вивести (Внесок песиків однаковий) інакше Вивести (Переміг Айбоша); Така структура називається вкладеними операторами та використовується в програмуванні досить часто.

Умова Перемогла Дуся Дуся>Айбоша Дуся=Айбоша Вклад песиків однаковий Переміг Айбоша

Програма Метелик; Змінна х, у, а, с, Дуся, Айбоша: ціла; Початок Вивести (Кількість метеликів, що вполювала Дуся =>); Ввести ( х ); Вивести (Кількість метеликів, що вполював Айбоша =>); Ввести ( у ); Вивести (Кількість метеликів, що відпустив Айбоша=>); Ввести ( а ); Вивести (Кількість хижих метеликів, яких позбулася Дуся =>); Ввести ( с ); Дуся : = х - с; Айбоша: = у – а; Якщо Дуся > Айбоша то вивести ( Перемогла Дуся) інакше якщо Дуся = Айбоша то Вивести (Внесок песиків однаковий) інакше Вивести (Переміг Айбоша); Кінець.

П ЕРЕВІР СЕБЕ 5.Що таке таблиця виконавця? Для чого вона призначена? 6.Яких правил потрібно дотримуватися, заповнюючи таблицю виконавця? 7.Що називається вкладеним оператором? 8.Яка послідовність виконання команд вкладеного оператора розгалуження? 9.*Намалюйте блок-схему вкладеного оператора розгалуження.

НАВЧАЛЬНО-ТРЕНУВАЛЬНІ ЗАВДАННЯ 5. Заповніть таблицю виконавця для відредагованої програми Метелик, використовуючи аргументи, наведені в останньому тесті. хуасДусяАйбошаУмоварезультат

Задача про перевантаження продуктів Тарасик переніс х мішків рису, а Стасик перевантажив у ящиків бананів. Маса рису, що знаходиться в одному мішку, дорівнює т1 фунтів, а маса бананів в одному ящику становить т2 кілограмів. Визначте, хто перевантажив більшу масу продуктів. ПРАКТИЧНА РОБОТА 10 РОЗВЯЗУВАННЯ ТА ПЕРЕВІРКА ЗАДАЧ З ВИКОРИСТАННЯМ СТРУКТУРИ РОЗГАЛУЖЕННЯ

1. Д ЛЯ РОЗВ ЯЗАННЯ ЦІЄЇ ЗАДАЧІ ПРОПОНУЄМО СКОРИСТАТИСЯ ТАКИМ АЛГОРИТМОМ : Визначимо загальну масу всіх мішків рису. Для цього потрібно масу рису, що міститься в одному мішку, помножити на кількість мішків. Переведемо отриману масу у кілограми ( 1 фунт = 0.45 кг). Визначимо загальну масу всіх бананів, які перевантажив Стасик. Для цього перемножимо масу бананів в одному ящику на кількість перевантажених ящиків. Порівняємо масу рису та бананів, що вже переведені в одну систему вимірювань. В залежності від результату порівняння визначимо переможця.

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

тесту АргументиРезультат 1 Кількість мішків з рисом, які перевантажував Тарасик: х=5 Кількість ящиків бананів, які перетаскував Стасик: у=10 Маса рису в одному мішку: m1=20 фунтів Маса бананів в одному ящику: m2=10 кг Переміг Стасик 2 Кількість мішків з рисом, які перевантажував Тарасик: х=15 Кількість ящиків бананів, які перетаскував Стасик: у=6 Маса рису в одному мішку: m1=14 фунтів Маса бананів в одному ящику: m2=10 кг Переміг Тарасик 3 Кількість мішків з рисом, які перевантажував Тарасик: х=20 Кількість ящиків бананів, які перетаскував Стасик: у=18 Маса рису в одному мішку: m1=10 фунтів Маса бананів в одному ящику: m2=5 кг Хлопці перевантажи ли продукти однакової маси

5.Наберіть текст програми у середовищі програмування АЛГО. Збережіть її у файлі з імям вантаж.pas. 6.Використовуючи різні режими виконання програми, перевірте правильність роботи програми за наведеними тестами. 7.*Розробіть власну систему тестів для перевірки правильності роботи програми. Запишіть у зошит аргументи та очікувані результати роботи програми за наведеною вище схемою. 8.*Використовуючи самостійно розроблені тести, перевірте правильність роботи програми. У разі потреби, внесіть зміни у її текст та повторіть перевірку.

*Завдання від Петрика Сидячи тихесенько у густому чагарнику, ми підрахували, що газель робить х стрибків за хвилину, а за відбитками копит змогли визначити, що довжина її стрибка становить у метрів. Ягуар мчить за газелькою зі швидкістю υ км/год. Допоможіть нам будь ласка, написати програму, яка визначатиме, чи зможе голодний ягуар наздогнати газельку. Н АВЧАЛЬНО - ТРЕНУВАЛЬНІ ЗАВДАННЯ

* Завдання від Стасика За 10 хвилин я зміг спіймати х рибин, а Тарасик – у рибин. На риболовлі ми провели годину. Визначте, у кого з нас риболовля пройшла краще та на скільки рибин більше спіймав переможець.

*Завдання від Тарасика Наш теплохід,,Дельфін може витримати хвилі висотою h1 метрів, а при припливі утворилася хвиля, що має висоту h2 метрів та h3 сантиметрів. Сховатися у бічній протоці ми не встигли. Визначте, чи зможемо ми продовжити мандри на теплоході,,Дельфін, чи будемо змушені змінити вид транспорту при подальшій мандрівці.