АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Тема №16 (время – 3 мин)

Читайте также:
  1. Тема №1 (время – 1 мин)
  2. Тема №11 (время – 3 мин)
  3. Тема №12 (время – 5 мин)
  4. Тема №14 (время – 1 мин)
  5. Тема №17 (время – 2 мин)
  6. Тема №18 (время – 2 мин)
  7. Тема №19 (время – 2 мин)
  8. Тема №2 (время – 2 мин)
  9. Тема №20 (время – 6 мин)
  10. Тема №21 (время – 2 мин)
  11. Тема №22 (время – 3 мин)

Тема: Анализ программы.

Что нужно знать:

· основные конструкции языка программирования:

o объявление переменных

o оператор присваивания

o оператор вывода

o циклы

· уметь выполнять ручную прокрутку программы

· уметь выделять переменную цикла, от изменения которой зависит количество шагов цикла

· уметь определять количество шагов цикла

· уметь определять переменную, которая выводится на экран

· формулу для вычисления -ого элемента арифметической прогрессии:

· формулу для вычисления суммы первых членов арифметической прогрессии:

где -ый элемент последовательности, – шаг (разность) последовательности

Пример задания:

Определите, что будет напечатано в результате работы следующего фрагмента программы:

var k, s: integer;

Begin

s:=0;

k:=0;

while s < 1024 do begin

s:=s+10;

k:=k+1;

end;

write(k);

End.

Решение:

12) из программы видно, что начальные значения переменных k и s равны нулю

13) цикл заканчивается, когда нарушается условие s < 1024, то есть количество шагов цикла определяется изменением переменной s

14) после окончания цикла выводится значение переменной k

15) таким образом, задача сводится к тому, чтобы определить число шагов цикла, необходимое для того, чтобы значение s стало не меньше 1024

16) с каждым шагом цикла значение s увеличивается на 10, а значение k – на единицу, так что фактически k – это счётчик шагов цикла

17) поскольку s увеличивается на 10, конечное значение s должно быть кратно 10, то есть это 1030 > 1024

18) для достижения этого значения переменную s нужно 103 раза увеличить на 10, поэтому цикл выполнится 103 раза

19) так как k – это счётчик шагов цикла, конечное значение k будет равно 103

20) Ответ: 103.

Возможные ловушки и проблемы: · можно перепутать переменную, которая выводится на экран (внимательно смотрим на оператор вывода)

Ещё пример задания:

Определите, что будет напечатано в результате работы следующего фрагмента программы:

var k, s: integer;

Begin

k:=5;

s:=2;

while k < 120 do begin

s:=s+k;

k:=k+2;

end;

write(s);

End.

Решение:

1) начальные значения переменных k и s равны соответственно 5 и 2

2) цикл заканчивается, когда нарушается условие k < 120, то есть количество шагов цикла определяется изменением переменной k

3) после окончания цикла выводится значение переменной s

4) с каждым шагом цикла значение s увеличивается на k, а затем значение k – на 2, так что к начальному значению s добавляется сумма членов арифметической прогрессии с начальным значением и разностью

5) поскольку начальное значение k равно 5 и с каждым шагом оно увеличивается на 2, переменная k принимает последовательно нечётные значения: 5, 7, 9, …

6) цикл заканчивается, когда значение k становится не меньше 120; поскольку k всегда нечётное, конечное значение k равно 121

7) поскольку значение k увеличивается после того, как увеличивается значение s, значение 121 уже не входит в сумму, то есть последний элемент последовательности :

8) количество членов последовательности, которые входят в сумму, можно вычислить: чтобы из 5 получить 119 нужно 57 раз добавить шаг 2, поэтому общее число элементов последовательности равно (на один больше)

9) теперь используем формулу для вычисления суммы членов арифметической прогрессии:

10) к этой сумме нужно добавить начальное значение переменной s, равное 2:

11) Ответ: 3598.

Возможные ловушки и проблемы: · попытка делать ручную трассировку, скорее всего, приведет к вычислительной ошибке, потому что число шагов слишком велико · легко забыть, что начальные значения переменных s и k не равны нулю · нужно помнить, что количество членов арифметической прогрессии на 1 больше, чем количество шагов, которые необходимы для перехода от первого значения к последнему

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)