Реферат: Блок-схемы алгоритмов. Переменные, присваивание значений. Ветвления. Организация циклов с помощью блока «ветвление»
Тема: Блок-схемы алгоритмов. Переменные, присваивание значений. Ветвления. Организация циклов с помощью блока «ветвление».
Что нужно знать:
переменная – это величина, которая имеет имя, тип и значение; переменная может изменяться во время выполнения программы
оператор присваивания (в Паскале обозначается сочетанием символов «:=») служит для записи нового значения в переменную (для изменения ее значения)
если в переменную записывают новое значение, старое стирается
знаки +, -, *, / используются для обозначения операций сложения, вычитания, умножения и деления
запись вида a := a + 2; – это не уравнение, а команда «прочитать текущее значение переменной a, добавить к нему 2 и записать результат обратно в переменную a»;
для наглядной записи небольших алгоритмов используют блок-схемы; они состоят из блоков разного назначения и соединительных линий со стрелками, которые показывают порядок выполнения блоков
в задачах ЕГЭ встречаются два блока: процесс (выполнение некоторых действий) и ветвление (условие, в зависимости от которого выполнение алгоритма продолжается по одной или другой «ветке» )
с помощью ветвления можно организовать цикл (многократное выполнение одинаковых действий), в этом случае в блок-схеме будет соединительная линия, идущая «в обратном направлении» (петля, замкнутый контур)
цикл на рисунке (выделен зеленым фоном) закончится только тогда, когда выполнится условие a = 256
^ Пример задания:
Запишите значение переменной b после выполнения фрагмента алгоритма:
Решение (вариант 1, ручная прокрутка):
по схеме видим, что алгоритм содержит цикл (есть петля, контур)
ручную прокрутку удобнее всего выполнять в виде таблицы, в первом столбце будем записывать выполняемые команды, во втором и третьем – изменение значений переменных
a и b
после выполнения первого блока получаем
a
b
a:=1;
1
?
b:=1;
1
знак вопроса означает, что после выполнения первого оператора значение b не определено
затем выполняется проверка условия; поскольку а не равно 256, ответ на вопрос «a = 256?» будет «нет»:
a
b
a:=1;
1
?
b:=1;
1
a = 256?
нет
далее алгоритм уходит на выполнение тела цикла; здесь сначала меняется переменная a, а потом – b, причем нужно помнить, что для вычисления b используется новое значение a, равное 2, поэтому новое значение b равно
1 + 2 = 3:
a
b
a:=1;
1
?
b:=1;
1
a = 256?
нет
a:=a*2;
2
b:=b+a;
3
после этого по стрелке переходим на проверку условия; поскольку a = 2, ответ на вопрос «a = 256?» снова будет «нет», и выполняется очередной шаг цикла:
a
b
a:=1;
1
?
b:=1;
1
a = 256?
нет
a:=a*2;
2
b:=b+a;
3
a = 256?
нет
a:=a*2;
4
b:=b+a;
7
аналогично можно выполнить вручную все шаги цикла, результаты последнего из них выглядят так:
a
b
a:=a*2;
256
b:=b+a;
511
a = 256?
да
как только значение a стало равно 256, цикл завершает работу
таким образом, верный ответ – 511 .
Возможные проблемы:
таблица получается длинной, много вычислений, можно запутаться
нужно не забыть, что при выполнении двух операторов в теле цикла к значению b добавляется уже новое значение a, полученное в предыдущей строке
не перепутайте переменную, значение которой нужно определить (можно по ошибке вписать в ответ полученное значение a)
Решение (вариант 2, анализ алгоритма):
«прокрутив» начало алгоритма, можно заметить, что последовательные значения a – это степени двойки
a = 1, 2, 4, 8, … 256
поскольку оператор b:=b+a означает «взять текущее значение b, прибавить к нему текущее значение a и результат записать обратно в b», изменение b сводится к тому, что эти степени двойки складываются:
b = 1 + 2 + 4 + 8 + … + 256
теперь можно, конечно, сложить эти числа вручную (их всего 9), но можно заметить (или вспомнить), что сумма всех последовательных степеней двойки, начиная с 1, на единицу меньше, чем следующая степень двойки1 (первая, не вошедшая в сумму, здесь – 512); это легко проверяется по начальной части таблицы
таким образом, верный ответ 512 – 1 = 511 .
Возможные проблемы:
для такого анализа требуется некоторое напряжение ума, здесь не обойтись формальным выполнением каких-то заученных действий
не всегда удается найти короткое решение, «свернув» алгоритм таким образом (в этом случае поможет ручная прокрутка)
1 Попробуйте доказать это, используя знания по теме «Двоичная система счисления».
еще рефераты
Еще работы по разное
Реферат по разное
Алгоритм экспертного оценивания результативности педагогической деятельности социального педагога Уважаемый эксперт!
18 Сентября 2013
Реферат по разное
Свойства алгоритма
18 Сентября 2013
Реферат по разное
Создать замечательную книгу для детей значительно труднее, чем для взрослых
18 Сентября 2013
Реферат по разное
Обзорная экскурсия по городу с осмотром основных достопримечательностей г. Ижевска
18 Сентября 2013