Розробка заняття на тему: Скорочені арифметичні форми. Поняття інкремент та декремент.

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

 

Первомайський ЦНТТУМ

Гурток «Сучасні технології програмування»

Керівник гуртка Семенова Олена Анатоліївна

 

 

Розробка заняття на тему:

Скорочені арифметичні форми. Поняття інкремента та декремента. Постфіксна та префіксна форма.

 

Тема: Скорочені арифметичні форми. Інкремент та декремент. Постфіксна та префіксна форми.

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

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

Тип заняття: вивчення нового матеріалу.

 

Хід заняття

1. Вступ та розминка.

 Для початку розімнемось. Називайте слова, що містять букви ф, і, в, а, п, р, о, л, д, ж, у, к, е, н, с, г, ш, т, м, але «тематично» - сьогодні наша тема «математика». :)

*** При дистанційній формі заняття заходимо на дошку на ресурсі Jamboard і далі 2 варіанта складання і запису слів:

1. Учасники по черзі записують свій варіант слова (онлайн ручкою або в текстовому вікні набором).

2. Учасники по черзі називають свій варіант слова — запис робить керівник.

1. Мінус    7. Сектор

2. Кут    8. Піфагор 

3. Овал    9. Фалес

4. Коло    10. Теорема

5. Квадрат    11. Аксіома

6. Сегмент     12. Лінь (а може, краще «вправа»?)

 Впевненість,  що більшості з нас останнє слово найприємніше, росте із кожним наступним заняттям. :)

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

*** При дистанційній формі заняття на дошці ресурсу Jamboard можна кожному учаснику обрати колір текстового вікна і провести набір «у прямому ефірі». (цей варіант, на жаль, має сенс лише при невеликій кількості учасників).

 

 2. Основна частина. Розгляд нової теми.

*** При дистанційній формі заняття використовуємо подання у вигляді презентації або вмикаємо демонстрацію екрана і працюємо разом в «прямому ефірі».

 Сподіваюсь, ви не забули, що на минулому занятті ми вже торкнулись таких операцій як інкремент та декремент та пам’ятаємо (? :)), що в перекладі з англійської increment - збільшення, decrement, відповідно…- зменшення, саме це повністю пояснює зміст їх застосування. Ці оператори ще називають операторами скорочення.

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

 n=n+1;

 Якщо використати інкремент, форма запису значно скорочується, і при цьому не змінює зміст:

n++;

 Відповідно, якщо в програмі необхідно зменшення значення змінної на одиницю:

n=n-1;

А з використанням декременту:

n--;

 Нашу задачу знаходження суми чисел від 1 до 100 можна розв’язувати з використанням інкремента:

int n=1, s=0;

while (n<101)

{

s=s+n;

n++; // в цьому випадку лічильник циклу збільшується з кожною ітерацією від 1 до 100 на одиницю

}

cout<<s;

 

 Але цю задачу можна розв’язати і з використанням декремента:

int n=100, s=0;

while (n>0)

{

s=s+n;

n--; // в цьому випадку лічильник циклу зменшується з кожною ітерацією від 100 до 1 на одиницю

}

cout<<s;

 

Тепер ознайомимось із цікавою властивістю цих операторів: формою. Вони обидва мають дві форми запису:

n++; та ++n;

n--; та…аналогічно ? так.. --n;

Чим вони цікаві? Про це нам розкаже і все пояснить наш улюблений cout<<...

 Давайте надамо змінній n значення 1.

int n=1;

cout<<n++; // Скажіть, який результат ви побачите на екрані, коли запустите програму? Двійка?

Спробуйте… Здивовані? А тепер доповніть програму:

int n=1;

cout<<n++<<endl;

cout<<n; // А як ви гадаєте, чому такий результат?

 

Давайте пригадаємо правила арифметики.

Скажіть, який результат цього виразу:

2+2*2?

Справа в тому, що інкремент в даному випадку аналогія отого плюсика… Він “другорядна” операція. Тобто при виконанні команди

cout<<n++<<endl;

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

Це так звана постфіксна форма інкремента. Зрозуміти нескладно: виконується, а потім (постфактум) - фіксується. Запам’ятовується (фіксується) після (пост) виконання.

А якщо ви поставите плюсики перед змінною - отримаєте префіксну форму інкремента: («перед» «фіксацією»)

int n=1;

cout<<++n<<endl;

cout<<n;

Тепер різницю бачите?

Іноді в програмах це має значення для подальшого виконання.

Аналогічні форми для декремента: постфіксна n-- та префіксна? ...--n .

Подивіться за допомогою cout<<, як вони працюють. Самостійно :).

Окрім інкремента та декремента є ще декілька операторів скорочення, які можна використовувати при написанні програм: це практично всі відомі вам арифметичні оператори.

 Додавання:

запис х=х+2 можна записати таким чином: х+=2, або х=х+у ? ...х+=у

Віднімання:

запис х=х-5 запишемо як… х-=5, або х=х-у як х-=у

Аналогічно для множення та ділення.

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

Страшно? :)

Підказки та інформація для тих, хто не в «тренді» :)

1. Факторіал позначується в математиці символом “!” і означає добуток всіх чисел від одиниці до заданого, тобто факторіал п’ятірки запишеться в математиці 5! і буде мати значення 1*2*3*4*5=120.

2. “Задане число” означає, що воно невідоме: його вводить користувач програми :).

Приємного кодування :)

P.S. В кого проблеми із пам’яттю або інші складності, інформацію про всі оператори можна в будь-який момент спитати у всезнаючої Wiki :) https://uk.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B8_%D0%B2_C_%D1%82%D0%B0_C%2B%2B

docx
Додано
26 листопада 2022
Переглядів
197
Оцінка розробки
Відгуки відсутні
Безкоштовний сертифікат
про публікацію авторської розробки
Щоб отримати, додайте розробку

Додати розробку