Циклічні завдання з інформатики

Предмет: Інформатика та ІКТ. Урок ознайомлення з новим матеріалом

Тема: «циклічні алгоритми»

Тривалість: 1 урок - 45 хвилин

Технології: Презентація, інтерактивна дошка

Мета: вивчення алгоритмічної структури цикли, створення моделей і алгоритмів для вирішення практичних завдань.

  1. актуалізація знань
  • Повторити поняття алгоритму, основні конструкції алгоритмічної мови.
  • Вміти розробляти математичну модель, алгоритм і блок схему рішення задачі.
  • Мати поняття про мови програмування і їх призначення.
  • Вміти працювати в середовищі програмування.
  • Знати структури програми.
  • Вміти записувати вирази, що містять числові і символьні величини.
  • Знати структури операторів і особливості їх роботи.
  • Вміти застосовувати оператори при написанні програм з лінійними і гілкуюються.
  • Вміти на комп'ютері створювати і запускати програми на налагодження.

II. Теоретичний матеріал уроку

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

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

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

Циклом називається багаторазово виконуваний ділянку алгоритму (програми). Відповідно циклічний алгоритм - це алгоритм, який містить цикли.

Розрізняють два типи циклів: з відомим числом повторень і з невідомим числом повторень. При цьому в обох випадках мається на увазі число повторень на стадії розробки алгоритму.

Існує 3 типи циклічних структур:

  • Цикл з передумовою;
  • Цикл з умовою поста;
  • Цикл з параметром;

Інакше дані структури називають циклами типу «Поки», «До», «Для».

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

Цикл з передумовою (інакше цикл поки) має вигляд:

умова - вираз логічного типу.

Цикл може не виконуватися жодного разу, якщо значення логічного виразу відразу ж виявляється брехня.

Серія команд, які перебувають між begin і end, виконуються до тих пір, поки умова істинна.

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

Цикл з умовою поста (інакше цикл до) має вигляд:

Формати запису операторів алгоритму

Формати запису операторів на Паскалі

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

repeat серія команд

умова - вираз логічного типу.

Послідовність інструкцій між repeat і until завжди буде виконано хоча б один раз;

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

Інструкція repeat, як і інструкція while, використовується в програмі, якщо треба провести деякі повторювані обчислення (цикл), проте число повторів наперед не відомо і визначається самим ходом обчислення.

Цикл з параметром (інакше цикл для) має вигляд:

Формати запису операторів алгоритму

i- параметр циклу;

a - початкове значення циклу;

b- кінцеве значення циклу;

h-крок зміни параметра.

Структура даного циклу інакше називають циклом i раз.

Ця команда виконується таким чином: параметру i присвоюється початкове значення а, порівнюється з кінцевим значенням b і, якщо воно менше або дорівнює кінцевому значенню b, виконується серія команд. Параметру привласнюється значення попереднього, збільшеного на величину h - кроку зміни параметра і знову порівнюється з кінцевим значенням b.

На мові програмування Паскаль крок зміни параметра може бути рівним одному або мінус одному.

Якщо між begin і end знаходиться тільки один оператор, то операторні дужки можна не писати. Це правило працює для циклу типу «Поки» і «Для».

Розглянемо приклад вирішення завдань з використанням даних структур

Обчислити добуток чисел від 1 до 5 використовуючи різні варіанти циклу

Складемо алгоритм у вигляді блок-схеми.

Для перевірки правильності алгоритму заповнимо трасувальні таблицю.

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

Крок перший. Р присвоюється значення один.

Крок другий. i присвоюється значення один.

Крок третій. при i дорівнює одиниці перевіряємо умову один менше або дорівнює п'яти, так, умова істинно, значить Р присвоюється значення один помножене на один, буде два. Для i: один плюс один, буде два.

Крок четвертий: при i дорівнює двом перевіряємо умова два менше або дорівнює п'яти, так, умова істинно, значить Р присвоюється значення 2 помножене на один, буде 2. Для i: два плюс один, буде три.

Крок п'ятий: при i рівному трьом перевіряємо умова три менше або дорівнює п'яти, так, умова істинно, значить Р присвоюється значення два помножене на три, буде шість. Для i: три плюс один, буде чотири.

Крок шостий: при i рівному чотирьом перевіряємо умова чотири менше або дорівнює п'яти, так, умова істинно, значить Р присвоюється значення шість помножене на чотири, буде двадцять чотири. Для i: чотири плюс один, буде п'ять.

Крок сьомий: при i рівному п'яти перевіряємо умова п'ять менше або дорівнює п'яти, так, умова істинно, значить Р присвоюється значення двадцять чотири помножене на п'ять, буде сто двадцять. Для i: п'ять плюс один, буде шість.

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

Для циклу з умовою поста побудуємо блок-схему і трасування таблицю. (Слайд16)

В результаті отримуємо останнє значення рівне сто двадцяти на сьомому кроці

І для Циклу з параметром побудуємо блок-схему і трасування таблицю. (Слайд17)

В результаті отримуємо останнє значення рівне сто двадцяти на шостому кроці

Вивести на екран числа від 1 до 5 в:

a) прямому порядку;

b) зворотному порядку.

Блок-схема і програма рішення задачі представлена ​​для чисел в прямому порядку і зворотному порядку.

Запишемо розглянуті алгоритми на мові програмування Паскаль.

III. Підведення підсумків уроку

І так ми розглянули такі питання:

  1. Алгоритмічна структура цикл;
  2. Види алгоритмічних структур:
  1. Цикл з передумовою;
  2. Цикл з послеусловіем;
  3. Цикл з параметром;
  1. Розглянули способи запису даних структур;
  2. Розібрали приклади розв'язання задач за допомогою цих структур.

Список використаної літератури

Мета. Відпрацювання навичок розробки циклічних алгоритмів і програм.

- повторити основні поняття по темі «алгоритм»;

- поглиблення знань про циклічні алгоритми;

- формувати вміння розробляти циклічні алгоритми і програми.

- підвищення інтересу до предмета;

- виховання культури взаємодії;

- виховання самостійності, чіткості та організованості.

- розвивати інформаційну культуру та пізнавальні інтереси вихованок;

- сприяти розвитку логічного і алгоритмічного мислення;

- розвивати навички співпраці;

- розвивати навички індивідуальної практичної діяльності.

1. Організаційний момент. Повідомлення теми, мети і завдань уроку.

Слайд 1: Тема сьогоднішнього уроку «циклічні алгоритми і програми» і ми будемо вчитися їх розробляти.

2. Основний етап уроку

2. 1. Повторення основних понять по темі «Алгоритм» - рішення кросворду

2) Для того щоб запам'ятати або змінити значення величини, в алгоритмі використовується команда ... присвоювання

3) Об'єкт (людина, тварина, робот), вміє виконувати певний набір дій - це виконавець

4) Окреме дію алгоритму - крок

5) Кожен алгоритм повинен бути розбитий на окремі команди - кроки. Вкажіть, яке властивість підходить цим визначенням - дискретність

6) Виконання алгоритму повинно завершуватися отриманням результат (а)

7) Окремий інформаційний об'єкт, який має ім'я, значення, тип ... величина

8) Алгоритм, в якому передбачена перевірка умови, називається розгалужений

9) Властивість, що означає можливість застосування алгоритму для вирішення класу однотипних задач - масовість

Питання: Що таке алгоритм?

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

2. 2. Поняття циклічного алгоритму. Види циклів.

Циклічні завдання з інформатики

Який алгоритм називається циклічним?

Як називається ця послідовність команд? (Тіло циклу)

Де в житті ми можемо спостерігати циклічність (повторення)? (Дні тижня, пори року, зміна дня і ночі, зміна місяців у році і т. Д.)

Назвіть види циклів (цикл з передумовою «Поки», цикл з умовою поста «До», цикл з параметром «Для»)

Дайте характеристику циклу «Поки»

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

Завдання 1. Обчислити твір P чисел від 1 до 10. Складіть блок - схему рішення задачі.

Як буде змінюватися величина а?

Що для цього необхідно передбачити?

Початкове значення а = 1, кінцеве значення а = 10

Взаимопроверка. За правильне рішення 1б в оцінний лист.

Завдання 1 (змінні можуть бути іншими) Завдання 2

Назвіть основні особливості циклу з умовою поста «ДО»

Завдання 2. Складіть алгоритм планування покупки товару. Запишіть у вигляді блок - схеми.

Список змінних. S - дана сума, P - вартість покупки, c - ціна товару, k - кількість товару.

З чого складається вартість покупки? (P = p + c * k)

Початкове значення (р = 0)

Робота в парах. Перевірка. За правильне рішення 1б в оцінний лист.

Цикл з параметром «Для»

Назвіть основні елементи циклу з параметром «Для»

Які його особливості?

Для розробки програм з циклом «Для» існують спеціальні оператори. З ними ми познайомимося на наступному уроці.

2. 3. Физминутку - вправи для очей (Слайд 9 - 15)

2. 4. Практична робота на закріплення (лист практичної роботи):

1) Організація роботи

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

Для роботи необхідно взяти зошит і ручку.

2) Формулювання і розбір завдань

Завдання 3. Напишіть програму, яка запитує ваш вік і друкує текст «Ти молодець!» За кількістю прожитих років.

Дані, необхідні для вирішення завдання? (Input n)

Які дії необхідно повторити? (Print «Ти молодець!»)

Необхідно ввести змінну циклу, н - р 1≤ t ≤ n

Коков буде тип циклу? (Цикл «Поки»)

Яким оператором можемо скористатися для вирішення завдання в середовищі програмування Бейсік - 256?

Весь матеріал - дивіться архів.

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

Отже, що таке цикл. Уявіть, що ми знаходимося на уроці фізичної культури і перед нами стоїть завдання зробити 7 присідань. Це завдання можна оформити у вигляді лінійного алгоритму і тоді воно буде виглядати приблизно так:

Т. е ми повторили команду зроби присідання 7 разів. А чи є сенс писати 7 однакових команд? Може простіше дати команду зроби 7 присідань. Звичайно простіше і правильніше. Це і є цикл. Ви можете самі згадати приклади циклів з життя - їх досить багато.

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

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

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

Для того, щоб написати цикл з лічильником для виконавця необхідно знати його синтаксис. А він такий:

Тут ми повинні вказати кількість повторень (число) і команди, які будуть повторюватися. Команди, які повторюються в циклі називають тілом циклу.

Давайте розглянемо це на прикладі.

Закрасимо 7 клітин, як на малюнку. Рекомендую почитати про і про його.

Завдання на цикл з лічильником

Спочатку Робот знаходився в лівій верхній клітині.

Давайте для початку вирішимо завдання лінійно. В цьому випадку ми буде зафарбовувати поточну клітку і переміщатися на 1 клітку вправо і програма буде виглядати так:
використовувати Робот
алг
нач

Як бачимо, команди зафарбувати і вправо повторюються 7 раз. Давайте тепер перепишемо програму з використанням циклу. До речі, щоб вставити цикл в свою програму можна в меню Вставка вибрати пункт нц-раз-кц або натиснути одну з комбінацій клавіш Esc, Р (російська буква Р) або Esc, H (латинська буква H). Причому клавіші треба натискати послідовно - спочатку Esc, відпустити її і тільки потім Р або H.

Так ось, наша програма з циклом буде виглядати так:

Якщо ми її запустимо, то побачимо, що в результаті вийде те ж саме - 7 зафарбованих клітин. Однак програма стала коротше і значно грамотніше з алгоритмічної точки зору!

При вирішенні задачі 19 ДПА з інформатики з Роботом використовувати цикл з лічильником не вийде. Так як там поле, як правило, нескінченне і стіни не мають конкретної довжини. Тому ми не зможемо визначити кількість повторень для циклу з лічильником. Але не біда - нам допоможе цикл з умовою.

Повернемося до фізкультури і змінимо завдання. Адже хтось може і не зробити 7 присідань, а інший здатний зробити 27. Чи можна врахувати це при створенні циклу? Звичайно. Тільки тепер ми будемо використовувати не лічильник (кількість повторень), а умова. Наприклад, поки не втомився, роби присідання. У цьому випадку людина буде робити не конкретне число присідань, а присідати до тих пір, поки не втомиться. І наш цикл на абстрактному мовою прийме такий вигляд:

Слова не втомився в нашому випадку - це умова. Коли воно істинне, цикл виконується. Якщо ж воно помилкове (втомився) тіло циклу не буде виконано. У виконавця Робот є кілька умов

але в умові завдання 19 ДПА вказані тільки перші 4. Так що будемо користуватися тільки ними.

Тепер давайте вирішимо наступну задачу для Робота - намалювати вертикальну лінію від лівого до правого кордону поля використовую цикл з умовою. Спочатку Робот знаходиться в лівому верхньому кутку.

Давайте спочатку сформулюємо словесний алгоритм - т. Е. Опишемо словами що потрібно робити Роботу. Цей алгоритм буде звучати приблизно так:

«Поки справа вільно роби крок вправо і зафарбовувати клітку»

В результаті Робот пробіжить по всіх клітках вправо і буде їх зафарбовувати до тих пір, поки справа не опиниться стіна.

Вихідний код нашої програми для Робота буде приблизно такою:

нц поки справа вільно

В результаті виконання цієї програми ми побачимо ось таку картину:

Завдання для Робота цикл з умовою

Як бачимо, не вистачає тільки зафарбованою першої клітини. Для цього перед циклом необхідно виконати команду зафарбувати.

Рішення завдання з циклом

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

Завдання для самостійного рішення

Схожі статті