Розробка уроку — практичної роботи

Тема: складання та виконання алгоритмів з використанням величин логічного типу в навчальному середовищі програмування CodeBlocks.

Мета: навчитися складати та виконувати алгоритми з використанням величин логічного типу в середовищі програмування CodeBlocks.

Учень повинен вміти:

Обладнання: ПК із встановленим ОС й інтегрованим середовищем програмування CodeBlocks.

Структура уроку

  1. Організаційний момент.
  2. Актуалізація опорних знань.
  3. Інструктаж з ТБ.
  4. Вироблення практичних навичок.
  5. Підбиття підсумків уроку, виставлення оцінок.
  6. Домашнє завдання.

Хід уроку

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

2. Актуалізація опорних знань

  1. Що таке CodeBlocks?
  2. Що таке компіляція?
  3. Що таке стала (величина)?
  4. Що таке змінна (величина)?
  5. Яких значень може набувати тип bool?

3. Інструктаж з ТБ
4. Вироблення практичних навичок

Скласти програми розв'язання таких завдань і записати з назвою Ваше прізвище-номер завдання у вказану вчителем теку.

Завдання 1. Дано три цілих числа: A, B, C. Перевірити істинність висловлювання: «Число B розташоване між числами A і C».

Алгоритм

  1. Ввести числа A, B, C.
  2. Булевій змінній L надати величину такого виразу:
    (A < B) ∨ (B < C) ∨ (A > B) ∨ (B > C).
  3. Вивести величину L.

Загальна структура програми

#include <iostream>
#include <clocale>
using namespace std;
int main()
{ int A, B, C, L;
  setlocale(LC_CTYPE,"rus");
  …
}

Завдання 2. Є 26 лампочок, прозначених малими літерами латиниці, що незалежно під'єднано до електричної мережі. У початковий момент усіх їх вимкнено. Єдиний рядок файлу input.txt містить послідовність малих літер латиниці, що задає послідовність перемикань вимикачів відповідних ламп. Визначити, скільки ламп буде увікнено після таких маніпуляцій і яку найбільшу кількість ламп буде увімкнено протягом цих маніпуляцій.

Алгоритм

  1. Надати величинам on і maxon нульових значень.
  2. Булевим змінним, позначени літерами латиниці, надати значення false.
  3. Поки вхідні дані не закінчилися, робити таке:
    • зчитати символ;
    • змінити величину булевої змінної, чию назву зчитано, на протилежне;
    • якщо змінене значення true, збільшити on на 1,
      інакше — зменшити on на 1;
    • якщо maxon<on, змінити величину maxon на величину on.
  4. Вивести значення on і maxon.

Вказівка до виконання. Частину пункту 3 реалізувати за допомогою процедури change.

#include<iostream>
#include<clocale>
#include<cstdlib>
#include<stdio.h>
using namespace std;
…
void change(bool& ch)   // Зміна булевої змінної
{…
}
int main()
{
  setlocale(LC_CTYPE,"rus");
  FILE* fp = fopen("input.txt","r"); // Відкрити файл
  if(fp != NULL)
  {
    char ch;
    while((ch = getc(fp)) != EOF)   // Зчитати символ
    switch (ch)
    {
      case 'a': change (a);  break; // Зміна булевої змінної
      …
    }
    …
  }
  else cout<<"Неможливо вiдкрити файл на читання.\n";
  fclose(fp);
  return 0;
}

5. Підбиття підсумків уроку
Виставлення оцінок.

6. Домашнє завдання

Порівняти створені у класі програми з демонстраційними розв'язаннями 1 i 2 та виконати наступні завдання.

Завдання 3. Вхідний (як завгодно великий) файл input.txt містить послідовність чисел зі значеннями у межах діапазону базового типу int. Встановити тип впорядкованості послідовності: стала, зростає, спадає, не зростає, не спадає, не впорядкована.

Завдання 4. Вхідний файл input.txt містить послідовність чисел зі значеннями у межах діапазону базового типу int. Встановити, чи є послідовність арифметичною прогресією, тобто чи різниця двох послідовних членів є сталою.


Текст упорядкувала Вітязь Руслана Іванівна, вчитель середньої загально­освітньої школи № 222 Святошинського району міста Києва, під час виконання випускної роботи на курсах підвищення кваліфікації з 8.09.2013 по 12.09.2013.