У вас вопросы?
У нас ответы:) SamZan.net

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

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 29.12.2024

 К. Поляков, 2009-2013

B5 (базовый уровень, время – 2 мин)

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

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

  •  основные конструкции языка программирования:
    •  объявление переменных
    •  оператор присваивания
    •  оператор вывода
    •  циклы
  •  уметь выполнять ручную прокрутку программы
  •  уметь выделять переменную цикла, от изменения которой зависит количество шагов цикла
  •  уметь определять количество шагов цикла
  •  уметь определять переменную, которая выводится на экран
  •  формулу для вычисления -ого элемента арифметической прогрессии:

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

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

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

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

var k, s: integer;

begin

 s:=0;

 k:=0;

 while s < 1024 do begin

   s:=s+10;

   k:=k+1;

 end;

 write(k);

end.

Решение:

  1.  из программы видно, что начальные значения переменных k и s равны нулю
  2.  цикл заканчивается, когда нарушается условие s < 1024, то есть количество шагов цикла определяется изменением переменной s
  3.  после окончания цикла выводится значение переменной k 
  4.  таким образом, задача сводится к тому, чтобы определить число шагов цикла, необходимое для того, чтобы значение s стало не меньше 1024
  5.  с каждым шагом цикла значение s увеличивается на 10, а значение k – на единицу, так что фактически k – это счётчик шагов цикла
  6.  поскольку s увеличивается на 10, конечное значение s должно быть кратно 10, то есть это 1030 > 1024
  7.  для достижения этого значения переменную s нужно 103 раза увеличить на 10, поэтому цикл выполнится 103 раза
  8.  так как k – это счётчик шагов цикла, конечное значение k будет равно 103
  9.  Ответ:  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 уже не входит в сумму, то есть последний элемент последовательности :

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

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

  1.  Ответ:  3598.

Возможные ловушки и проблемы:

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


Задачи для тренировки
1:

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

var k, s: integer;

begin

 s:=0;

 k:=1;

 while k < 11 do begin

   s:=s+k;

   k:=k+1;

 end;

 write(s);

end.

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

var k, s: integer;

begin

 s:=0;

 k:=0;

 while k < 30 do begin

   k:=k+3;

   s:=s+k;

 end;

 write(s);

end.

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

var k, s: integer;

begin

 s:=3;

 k:=1;

 while k < 25 do begin

   s:=s+k;

   k:=k+2;

 end;

 write(s);

end.

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

var k, s: integer;

begin

 s:=2;

 k:=2;

 while s < 50 do begin

   s:=s+k;

   k:=k+2;

 end;

 write(k);

end.

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

var k, s: integer;

begin

 s:=0;

 k:=0;

 while s < 100 do begin

   s:=s+k;

   k:=k+4;

 end;

 write(k);

end.

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

var k, s: integer;

begin

 s:=0;

 k:=1;

 while s < 66 do begin

   k:=k+3;

   s:=s+k;

 end;

 write(k);

end.

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

var k, s: integer;

begin

 s:=5;

 k:=0;

 while k < 15 do begin

   k:=k+2;

   s:=s+k;

 end;

 write(s);

end.

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

var k, s: integer;

begin

 s:=0;

 k:=0;

 while k < 12 do begin

   s:=s+2*k;

   k:=k+3;

 end;

 write(s);

end.

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

var k, s: integer;

begin

 s:=0;

 k:=0;

 while s < 80 do begin

   s:=s+2*k;

   k:=k+4;

 end;

 write(s);

end.

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

var k, s: integer;

begin

 s:=1;

 k:=0;

 while k < 13 do begin

   s:=s+2*k;

   k:=k+4;

 end;

 write(s+k);

end.

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

var n, s: integer;

begin

 n := 3;

 s := 0;

 while n <= 7 do begin

   s := s + n;

   n := n + 1

 end;  

 write(s)

end.

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

var n, s: integer;

begin

 n := 4;

 s := 0;

 while n <= 8 do begin

   s := s + n;

   n := n + 1

 end;  

 write(s)

end.

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

var n, s: integer;

begin

n := 4;

s := 0;

while n <= 13 do begin

 s := s + 15;

 n := n + 1

end;

write(s)

end.

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

var n, s: integer;

begin

n := 1;

s := 0;

while n <= 20 do begin

 s := s + 33;

 n := n + 1

end;

write(s)

end.

  1.  (http://ege.yandex.ru) Определите, что будет напечатано в результате работы следующего фрагмента программы:

var n, s: integer;

begin

 n := 1;

 s := 0;

 while n <= 101 do begin

   s := s + 7;

   n := n + 1

 end;

 write(s)

end.

  1.  (http://ege.yandex.ru) Определите, что будет напечатано в результате работы следующего фрагмента программы:

var n, s: integer;

begin

 n := 0;

 s := 512;

 while s >= 0 do begin

   s := s - 20;

   n := n + 1

 end;

 write(n)

end.

  1.  (http://ege.yandex.ru) Определите, что будет напечатано в результате работы следующего фрагмента программы:

var n, s: integer;

begin

 n := 24;

 s := 0;

 while n <= 28 do begin

   s := s + 20;

   n := n + 2

 end;

 write(s)

end.

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

var n, s: integer;

begin

 n := 12;

 s := 5;

 while n <= 25 do begin

   s := s + 12;

   n := n + 2

 end;

 write(s)

end.

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

var n, s: integer;

begin

 n := 2;

 s := 35;

 while n <= 25 do begin

   s := s + 20;

   n := n + 5

 end;

 write(s)

end.

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

var n, s: integer;

begin

 n := 4;

 s := 15;

 while s <= 250 do begin

   s := s + 12;

   n := n + 2

 end;

 write(n)

end.

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

var n, s: integer;

begin

 n := 0;

 s := 0;

 while s <= 35 do begin

   n := n + 1;

   s := s + 4

 end;

 write(n)

end.

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

var n, s: integer;

begin

n := 0;

s := 0;

while s <= 256 do begin

 s := s + 25;

 n := n + 1

end;

write(n)

end.

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

var n, s: integer;

begin

n:= 0;

s:= 0;

while s <= 365 do begin

 s:= s + 33;

 n:= n + 5

end;

write(n)

end.

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

var n, s: integer;

begin

n:= 0;

s:= 0;

while s <= 365 do begin

 s:= s + 36;

 n:= n + 10

end;

write(n)

end.

1 Источники заданий:


Демо-варианты ЕГЭ 2012-2013 гг.


Тренировочные и диагностические работы МИОО.

 12 http://kpolyakov.spb.ru




1. Первичные документы по учету материалов
2. Московский шелк Инструкция по охране труда слесарей ремонтн
3. курсовой проект - ПЗ ~ 2530 листов формата А4 ГЧ 12 листа формата А1; дипломный проект - ПЗ ~ 5070 листов фо
4. Еducation in Australi
5. Стратегии работы с грамматическими явлениями
6. социальная физика
7. тема України ЗАТВЕРДЖУЮ Завідувач циклу кримінально правових дисципл
8. вариант При ишемическом инсульте вследствие тромбоза мозговых сосудов вводятся препараты- кровоостанав
9. Сільськогосподарська культура українців.html
10. совокупные расходы общества состоят из четырёх компонентов- личное потребление населения; инвестиционное.html
11. D S ~лгісіндегі экономикалы~ ~су ~алай к~рінеді S ~исы~ыны~ о~~а жылжуы;экономикалы~ ~су моделіні~ аз к~рсе
12. темам курса Контроль и оценивание теоретических знаний студентов на основе выполненных самостоятельных раб
13. Тема Анализ финансовых результатов предприятия ОАО Гостиница Москвич
14. ir Pollution in Russi
15. РЕФЕРАТ дисертації на здобуття наукового ступеня кандидата ветеринарних наук
16. ся процес Бізнеспроцес являє собою систему послідовних цілеспрямованих і регламентованих видів діяльнос
17. Совершенствование мотивации труда как функции управления в ОАО Хлебная база 52
18. Определении концепта
19. Тема 5. Параметрические методы ценообразования ЦО.html
20.  Центры социального обслуживания населения- правовое положение структура задачи функции 2