Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка з програмування (школа).doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1 Мб
Скачать
☆

Var n: longint; Counter: integer;

Begin

Clrscr;

Write('Введіть число: ');

Readln(N);

Counter:= 0;

While N > 0 do

Begin

Counter:=Counter+1; {Підрахунок кількості цифр}

N:=N div 10; {Відкидання останньої, цифри}

End;

Writeln("Кількість цифр у заданому числі дорівнює', N);

Readkey;

End.

Домашнє завдання:

  • Прочитати сторінки 83 — 89 із запропонованого підручника;

  • Вивчити означення, що прочитані на лекції.

УРОК 19. Цикли з параметром

Мета уроку: навчити використовувати цикл з параметром для розв'язування типових задач.

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

Задача №183

Умова задачі: Компанія бабусь поїхала на мотоциклах на курси комп'ютерної грамотності. Попереду на мотоциклі без глушника їхала одна бабуся, за нею - дві, потім - три і т.д. Скільки бабусь їхало на заняття, якщо приголомшені пішоходи всього нарахували N рядів? Чи змогли бабусі зайняти всі місця у класі, якщо там стояло k рядів по / комп'ютерів у кожному? Скільки вільних місць залишилося?

Розв'язання: Зверніть увагу на те, що фактично ця задача зводиться до знаходження суми всіх натуральних чисел від 1 до N. У кінці задачі для повторення команди розгалуження учням пропонується визначити кількість зайнятих бабусями та вільних місць. Програма розв'язання даної задачі має такий вигляд:

Program Example_183;

Uses crt;

Var I,N,Sum:word;{I - параметр циклу, N - кількість рядів мотоциклів. Sum - кількість бабусь, що приїхали на курси} Place,k,l:word;{k - кількість рядів у комп'ютерному класі, 1 - кількість комп'ютерів у кожному ряду, Place - кількість місць, якої вистачило для бабусь}

Begin

Clrscr;

Sum:=0;

Write('Введіть кількість рядів мотоциклів: ');

Readln(N);

For I:=1 to N do Sum:=Sum+I;

Writeln('Кількість бабусь, що приїхали на курси ',Sum);

Writeln('Кількість комп'ютерів на курсах ',к*1) ;

If Sum<k*l

Then writeln('Бабусі не змогли зайняти всі місця.')

Else writeln('Бабусі зайняли всі місця.');

Place:=Sum - к*1;

If Place>0

Then writeln('Бабусям не вистачило ',Place,' місць.');

Readkey;

End.

Задача № 189

Умова: Знайти значення

(1 + 0.1)(2 + 0.2)...(9 + 0.9)

Розв'язання: У даному випадку кількість повторів буде дорівнювати 9, тобто програма буде мати вигляд:

Program Example_189_2;

Uses crt; Var I:word; {I - параметр циклу}

Rez:real; {Rez - результат обчислень}

Begin

Clrscr;

Rez:=1; {Початкове значення дорівнює 1, тому що результат є накопиченням добутку}

For I:=1 to 9 do Rez:=Rez*(I+0.1*I);

Writeln('Rez= ',Rez:8:2);

Readkey;

End.