- •1 Понятие алгоритма формы представления алгоритмов
- •2 Линейные и разветвляющиеся алгоритмы.
- •3 Циклические алгоритмы
- •4 Понятие прикладного и системного программирования
- •5 Структура программ на языке си
- •6 Арифметико-логические операции над переменными
- •Арифметические операции
- •Операции увеличения и уменьшения
- •Операции "увеличить на", "домножить на" и т.П.
- •Логические операции
- •Операции сравнения
- •Побитовые логические операции
- •7 Два вида оператора выбора Оператор if
- •8 Понятие цикла
- •1.4.6. Оператор break
- •1.4.7. Оператор for
- •1.4.8. Оператор while
- •1.4.9. Оператор do while
- •1.4.10. Оператор continue
- •1.4.11. Оператор return
- •9 Массив
- •12 Указатели
- •13 Адресная арифметика
- •14 Операции над указателями
- •15 Массивы указателей
- •16 Указатели на функции Указатели на функции
- •17 Структуры
- •18 Доступ к элементам структуры
- •19 Структуры как аргументы
- •6.2. Структуры и функции
- •20 Динамические структуры на массиве
- •21 Динамическое распределение памяти Функции динамического распределения
- •Динамическое выделение памяти для массивов
- •23 Организация доступа к файлам
- •Закрытие потока при помощи fclose
- •Чтение из потока при помощи fgetc
- •«Ловушка» eof
- •При помощи fgets
- •24 Форматированный ввод –вывод Функции форматированного ввода и вывода в си
- •Спецификатор типа
- •Спецификатор типа
- •25 Верификация тестирование отладка программ
- •Введение
- •26 Причины и последствия появления ошибок
- •27 Идея модульного программирования
- •28 Технология проектирования сверху-вниз
- •29 Итерация рекурсия
- •30 Методы сортировки
- •34 Способы защиты информации
2 Линейные и разветвляющиеся алгоритмы.
Линейный алгоритм - это такой, в котором все операции выполняются последовательно одна за другой (рис. 1.6).
|
Рис. 1.6 Размещение блоков в линейном алгоритме |
Алгоритмы разветвленной структуры применяются, когда в зависимости от некоторого условия необходимо выполнить либо одно, либо другое действие. В блок-схемах разветвленные алгоритмы изображаются так, как показано на рис. 1.10 - 1.11.
|
|
Рис. 1.10 Фрагмент алгоритма |
Рис. 1.11 Пример разветвления |
Блок-схема - это графическое представление программы.
Блок-схемы строятся из отдельных блоков. При этом разные средства языков программирования на блок-схемах изображаются разными блоками. Например, для условия, на основе которого строится ветвление, изображается ромбом. Оператор, в котором происходит обработка информации, изображается прямоугольником. Давайте более подробно обсудим разные блоки.
Любая программа имеет начало и конец. На блок-схемах начало и конец программ обозначаются прямоугольниками со скруглёнными углами. Внутри этих прямоугольников пишутся слова: "Начало", "Конец".
В блок-схемах выделяют два вида операторов: операторы обработки данных и операторы ввода/вывода.
Блок обработки данных изображается прямоугольником. В операторе обработки данных происходят различные вычисления (сложение, вычитание, деление, умножение чисел). Давайте посмотрим на простую программу с тремя операторами:
Псевдоко́д — компактный (зачастую неформальный) язык описания алгоритмов, использующий ключевые слова императивных языков программирования, но опускающий несущественные подробности и специфический синтаксис. Псевдокод обычно опускает детали, несущественные для понимания алгоритма человеком. Такими несущественными деталями могут быть описания переменных, системно-зависимый код и подпрограммы. Главная цель использования псевдокода — обеспечить понимание алгоритма человеком, сделать описание более воспринимаемым, чем исходный код на языке программирования. Псевдокод широко используется в учебниках и научно-технических публикациях, а также на начальных стадиях разработки компьютерных программ.
если (условие) то
действия1
иначе
действия2
3 Циклические алгоритмы
Алгоритм, который предусматривает многократное повторение одного и того же действия, называется циклическим. В отличие от линейных алгоритмов, в которых команды выполняются последовательно одна за другой, в циклические алгоритмы входит последовательность команд, выполняемая многократно. Такая последовательность команд называется телом цикла.
Существуют три основных типа циклов – пока, до и для. Отличие первых двух циклов состоит в том, что в них количество повторений заранее определено. В первом случае, если препятствие никогда не встретится, движение будет продолжаться бесконечно долго. Такие явления при выполнении алгоритмов называются “зацикливанием”.
Любой цикл состоит из нескольких этапов. Это:
Подготовка цикла, в которую входят начальные присвоения;
Тело цикла - команды повторения цикла;
Условие - обязательная часть циклов “До” и “Пока”.
Цикл называется арифметическим, если число повторений цикла известно заранее или может быть вычислено.
Цикл, как и любая другая алгоритмическая структура, может быть:
записан на естественном языке;
изображен в виде блок-схемы;
записан на алгоритмическом языке;
закодирован на языке программирования.
Блок-схемы базовых структур
Цикл, для которого нельзя указать число повторения, и проверка окончания которого происходят по достижению нужного условия, называется итерационным.
|
|
Цикл с счетчиком:
от k=1 до k=n цикл
действия
к цикл