Вы находитесь на странице: 1из 5

Урок Дата

Тема: Алгоритмы, структуры алгоритмов, структурное программирование

Цель:
Учащиеся должны знать
- этапы решения задачи на компьютере:
- что такое исполнитель алгоритмов, система команд исполнителя
- какими возможностями обладает компьютер как исполнитель алгоритмов
- система команд компьютера
- классификация структур алгоритмов
- основные принципы структурного программирования

Ход урока

много различных определений алгоритма, так как это понятие достаточно широкое и используется в
различных областях науки, техники и повседневной жизни.
Алгоритм – понятная и точная  последовательность действий, описывающая процесс преобразования
объекта из начального состояния в конечное.
Понятие алгоритма так же фундаментально для информатики, как и понятие информации. Существует
Исполнителем алгоритма может быть как человек (кулинарные рецепты, различные инструкции,
алгоритмы математических вычислений), так и техническое устройство. Различные машины (компьютеры,
промышленные роботы, современная бытовая техника) являются формальными
исполнителями алгоритмов. От формального исполнителя не требуется понимание сущности
решаемой задачи, но требуется точное выполнение последовательности команд.  
Алгоритм можно записывать различными способами (словесное описание, графическое описание – блок
схема, программа на одном из языков программирования и т.д.). 
Программа – это алгоритм, записанный на языке программирования.
 Для создания алгоритма (программы) необходимо знать:
полный набор исходных данных задачи (начальное состояние объекта);
 цель создания алгоритма (конечное состояние объекта);
  систему команд исполнителя (то есть набор команд, которые исполнитель понимает и может
выполнить).
 Полученный алгоритм  (программа) должен обладать следующим набором свойств:
         дискретность (алгоритм разбит на отдельные шаги - команды);
         однозначность (каждая команда определяет единственно возможное действие исполнителя);
         понятность (все команды алгоритма входят в систему команд исполнителя);
         результативность (исполнитель должен решить задачу за конечное число шагов).
Большая часть алгоритмов обладает также свойством массовости (с помощью одного и того же алгоритма
можно решать множество однотипных задач).
 Способы описания алгоритмов.
Выше отмечалось, что один и тот же алгоритм может быть записан по-разному. Можно записывать
алгоритм естественным языком. В таком виде мы используем рецепты, инструкции и т.п. Для записи
алгоритмов, предназначенных формальным исполнителям, разработаны специальные языки
программирования. Любой алгоритм можно описать графически в виде блок-схемы. Для этого
разработана специальная система обозначений:
Обозначение Описание Примечания

Начало и конец алгоритма

Вывод данных иногда обозначают иначе:


Ввод и вывод данных. 

В вычислительных алгоритмах так обозначают


Действие
присваивание

Развилка - компонент, необходимый для


Развилка
реализации ветвлений и циклов
Начало цикла с параметром

В программировании - процедуры или


Типовой процесс
подпрограммы

Переходы между блоками

 Приведем пример описания алгоритма суммирования двух величин в виде блок-схемы:

Такой способ описания алгоритм наиболее нагляден и понятен человеку. Поэтому, алгоритмы формальных
исполнителей обычно разрабатывают сначала в виде блок-схемы, и только затем создают программу на
одном из языков программирования.
 Типовые алгоритмические структуры.
Программист имеет возможность конструировать и использовать нетипичные алгоритмические структуры,
однако, в этом нет необходимости. Любой сколь угодно сложный алгоритм может быть разработан на
основе трёх типовых структур: следования, ветвления и повторения. При этом структуры могут
располагаться последовательно друг за другом или вкладываться друг в друга.
Линейная структура (следование).
Наиболее простой алгоритмической структурой является линейная. В ней все операции выполняются один
раз в том порядке, в котором они записаны. 
 Ветвление.
В полном ветвлении предусмотрено два варианта действий исполнителя в зависимости от значения
логического выражения (условия). Если условие истинно, то выполняться будет только первая ветвь,
иначе только вторая ветвь.

        
Вторая ветвь может быть пустой. Такая структура называется неполным ветвлением или обходом.

 Из нескольких ветвлений можно сконструировать  структуру «выбор» (множественное ветвление), которая
будет выбирать не из двух, а из большего количества вариантов действий исполнителя, зависящих от
нескольких условий. Существенно, что выполняется только одна ветвь - в такой структуре важное значение
приобретает порядок следования условий: если выполняются несколько условий, то сработает только одно
из них - первое сверху.

      
 Цикл (повторение).
Цикл позволяет организовать многократное повторение одной и той же последовательности команд -
она называется телом цикла. В различных видах циклических алгоритмов количество повторений может
зависеть от значения логического выражения (условия) или может быть жестко задано в самой структуре.
Различают циклы : «до», «пока», циклы со счётчиком. В циклах «до» и «пока» логическое выражение
(условие) может предшествовать телу цикла (цикл с предусловием) или завершать цикл (цикл с
послеусловием).
  Циклы «до» - повторение тела цикла до выполнения условия:

   

                    
 Циклы «пока» - повторение тела цикла пока условие выполняется (истинно):
           

         
Циклы со счётчиком (с параметром)  – повторение тела цикла заданное число раз:

Вспомогательный алгоритм (подпрограмма, процедура).


Вспомогательный алгоритм представляет собой модуль, к которому можно многократно обращаться из
основного алгоритма.
Использование вспомогательных алгоритмов может существенно уменьшить размер алгоритма и упростить
его разработку.

1) Дано целое число. Если оно является положительным, то прибавить к нему 1, в


противном случае вычесть из него два. Вывести полученное число.
2) Даны три стороны одного треугольника и три стороны другого треугольника.
Определить, будут ли эти треугольники равновеликими, то есть имеют ли они равные
площади.
3) Составьте программу, выводящую на экран квадраты и кубы чисел от 10 до 20.