Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
[ Немнюгин ] Лекции и вопросы (ПМФ).pdf
Скачиваний:
69
Добавлен:
16.08.2013
Размер:
8.8 Mб
Скачать

1

Конспекты лекций по курсу

«Введение в информатику и системы программирования», 1 семестр

С.А. Немнюгин, направление «Прикладные математика и физика»)

Лекция 14

Алгоритмы и алгоритмические языки

Алгоритмы

Наивное определение

Алгоритм это описание процесса решения той или иной задачи.

Не такое уж наивное определение

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

Алгоритм должен отвечать следующим требованиям:

наличие ввода исходных данных;

наличие вывода результата выполнения;

однозначность компьютер «понимает» только однозначные инструкции;

общность — алгоритм предназначен для решения не одной задачи, а целого класса задач;

корректность — алгоритм должен давать правильное решение задачи;

конечность — решение задачи должно быть получено за конечное число шагов;

эффективность — для решения задачи должны использоваться ограниченные ресурсы компьютера.

Алгоритм решения некоторого класса задач вычисление суммы двух чисел

Обозначим эти числа a и b.

Алгоритм можно записать на естественном языке:

1)ввести значение a;

2)ввести значение b;

3)вычислить c = a + b;

4)вывести значение c.

Пошаговая детализация алгоритма

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

Способы записи алгоритмов

Выделяют следующие основные способы записи алгоритмов:

вербальный - алгоритм описывается на естественном языке;

символьный - алгоритм описывается с помощью набора символов;

графический - алгоритм описывается с помощью набора графических изображений.

2

Общепринятыми способами записи являются графическая запись с помощью блок-схем и символьная запись с помощью какого-либо алгоритмического языка.

Поиск максимального элемента

Algorithm LargestNumber

Input: A non-empty list of numbers L. Output: The largest number in the list L. largest L0

for each item in the list L1, do if the item > largest, then

largest ← the item

return largest

Сортировка методом «пузырька»

Алгоритм Брезенхама

3

Метод деления отрезка пополам

Do While (abs(right - left) > 2*epsilon)

'Calculate midpoint of domain midpoint = (right + left) / 2 'Find f(midpoint)

If ((f(left) * f(mid)) > 0) Then 'Throw away left half

left = midpoint

Else

'Throw away right half right = midpoint

End If

Loop

Return (right + left) / 2

Блок-схемы

4

Алгоритм определения принадлежности точки окружности

Решение квадратного уравнения

5

Приближенное вычисление квадратного корня из x

Вычисление суммы

6

Блок-схемы наглядны Блок-схемы неудобны для записи сложных алгоритмов

Основные алгоритмические конструкции

Линейная последовательность операторов

Бинарное ветвление

7

Цикл

Соседние файлы в предмете Информатика