Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы по ТОИ 1.docx
Скачиваний:
92
Добавлен:
25.04.2019
Размер:
216.82 Кб
Скачать
  1. Основные этапы решения задач на компьютере.

  1. Формализация задачи (математическая постановка). Выбор метода решения.

  2. Разработка алгоритма решения задачи.

  3. Представление алгоритма на алгоритмическом языке.

  4. Ввод программы в ЭВМ.

  5. Отладка и тестирование программы.

  6. Использование программы для решения задач и анализ полученных результатов.

  1. Понятие алгоритма и его связь с программным кодом.

Разработка алгоритма предполагает установление последовательности вычислительных действий, управляющих связей и проверок логических условий, а также определение действий ЭВМ по вводу данных и выводу результатов. Термин "алгоритм" произошел от имени средневекового узбекского математика Аль Хорезми, который еще в 9-м веке предложил правила выполнения 4-х арифметических действий в десятичной системе счисления.

Алгоритм – конечная последовательность действий, ведущая от исходных данных к результату.

Алгоритмизация не является только прерогативой математики. В обычной жизни всякой целенаправленной деятельности сопутствует заранее созданный алгоритм. таким образом, алгоритм можно трактовать как технологическую инструкцию из отдельных предписаний, выполнение которых в заданной последовательности приводит к заранее предвидимому результату.

Основные свойства алгоритмов:

      • Массовость - возможность использовать один алгоритм для решения серии однотипных задач с различными вариантами исходных данных.

      • Однозначность или детерминированность - алгоритм должен содержать конечное число предписаний, не допускающих произвола исполнителя, не оставляющих исполнителю свободы выбора. Многократное повторение алгоритма с одинаковыми исходными данными должно приводить к одному и тому же результату.

      • Дискретность - разделение выполнения решения задачи на отдельные операции. Поочередное выполнение команд алгоритма за конечное число шагов приводит к решению задачи, к достижению цели.

      • Конечность - возможность получения результата через конечное число шагов, выполненных за конечное время. Несмотря на кажущуюся очевидность последнего свойства, оно является чрезвычайно важным, так как очень часто создаются бесконечные алгоритмы. Такая ситуация в программировании носит название «зацикливание».

  1. Основные алгоритмические структуры (линейный код, ветвление, циклы) и структурная теорема.

1. Базовая структура  "следование". Образуется последовательностью действий, следующих одно за другим:

Школьный алгоритмический язык

Язык блок-схем

действие 1 действие 2 . . . . . . . . . действие n

2. Базовая структура  "ветвление". Обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран. Структура ветвление существует в четырех основных вариантах:

  • если—то;

  • если—то—иначе;

  • выбор;

  • выбор—иначе.

    Школьный алгоритмический язык    

Язык блок-схем

1. если—то

если условие

  то действия

все

2. если—то—иначе

если условие

  то действия 1

  иначе действия 2

все

3. выбор

выбор

  при условие 1: действия 1

  при условие 2: действия 2

  . . . . . . . . . . . .

  при условие N: действия N

все

4. выбор—иначе

выбор

  при условие 1: действия 1

  при условие 2: действия 2

  . . . . . . . . . . . .

  при условие N: действия N

  иначе действия N+1

все

3. Базовая структура  "цикл". Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла. Основные разновидности циклов представлены в таблице:

Школьный алгоритмический язык

Язык блок-схем

Цикл типа пока. Предписывает выполнять тело цикла до тех пор, пока выполняется условие, записанное после слова пока.

нц пока условие

  тело цикла

  (последовательность действий)

кц

Цикл типа для. Предписывает выполнять тело цикла для всех значений       некоторой переменной (параметра цикла) в заданном диапазоне.     

нц для i от i1 до i2

  тело цикла

  (последовательность действий)

кц