
- •1 Информатика и программирование. Алгоритмы, их типы и свойства. Формы записи алгоритмов.
- •Свойства алгоритма
- •1.Словесная форма
- •2.Блок - схема
- •3. Псевдокоды
- •Конец делать
- •Конец алгоритма
- •Классификация языков по уровню автоматизации программирования
- •1. Естественный язык.
- •4. Общепринятая система обозначений по языку
- •Этапы проектирования программной системы
- •Свойства информации
- •Типы данных
- •5. Структурное программирование
- •Принципы структурного программирования
- •Этапы тестирования
- •6. Организация человеко-машинного интерфейса
1 Информатика и программирование. Алгоритмы, их типы и свойства. Формы записи алгоритмов.
Алгоритм- это понятное и точное предписание исполнителю совершения определенных последовательных действий для достижения указанной цели.
Свойства алгоритма
Дискретность- последовательность выполнения одного за другим отдельных законченных шагов.
Массовость- применимость к целому классу задач.
Определенность- однозначное толкование каждого шага.
Результативность- получение результата через конечное число шагов.
Формальность- способность любого исполнителя выполнить все шаги алгоритма, не понимая их смысла.
Например, инструкция по использованию утюга является алгоритмом, а инструкция как встретить и устроить в гостинице гостя фирмы не является алгоритмом (нет свойства массовости).
Существует теорема, доказывающая, что любой алгоритм есть комбинация трех базовых команд: следование, развилка ("если"), цикл. Команда безусловного перехода (GoTo) не является базовой, и ее можно исключить из языков программирования (РохРго).
Алгоритмы бывают сходящимися и расходящимися.
Сходящийся алгоритмв условиях приближенных вычислений на компьютере не накапливает погрешности в вычислениях и всегда приводит верному конечному результату, в отличие от расходящегося алгоритма, который нельзя использовать для решения задач на компьютерах. Доказать сходимость алгоритма можно теоретически или практическим способом, производя большую серию пробных вычислений и сравнивая полученные результаты на компьютере с теоретическими расчетными данными.
Существуют алгоритмически неразрешимые задачи, для которых невозможно построить алгоритм их решения.
Пример. Задача определения эквивалентности двух программ (две различные программы вычисляют одну функцию) является алгоритмически неразрешимой.
Алгоритмический язык - это язык формализованной записи алгоритма.
Формы записи алгоритма
1.Словесная форма
Примерописания алгоритма Евклида - нахождения наибольшего общего делителя двух чисел (НОД). Шаг 1-й. Ввести два числа.
Шаг 2-й. Если числа равны, то взять первое и закончить выполнение алгоритма, иначе - перейти на следующий шаг.
Шаг 3-й. Определить большее число. Заменить большее число на разность большего и меньшего и перейти на шаг 2-й.
Достоинства- универсальность,недостаток- неформальность.
2.Блок - схема
Рис. 1.Основные графические символы блок-схем
Шаги алгоритма изображаются в виде специальных графических символов [рис. 1.], которые связываются линиями передачи управления [рис. 2].
Рис. 2. Блок-схем алгоритма Евклида - нахождения НОД
Лист бумаги делится на колонки и строки. Строки нумеруются, а колонки обозначаются латинскими буквами. В одной ячейке (зоне) размещается один графический символ. Адрес зоны обозначается именем колонки и номером строки (ВЗ). В соединителе указывается адрес зоны (куда или откуда передается управление). В межстраничном соединителе дополнительно указывается номер листа.
Достоинства:наглядность;недостатки: трудоемкость разработки.
3. Псевдокоды
Псевдокоды - полуформальный язык, в котором вводятся ключевые слова, имеющие однозначное толкование. Эти слова выделяются в тексте (цветом, толщиной, размером букв, шрифтом). За ключевым словом на естественном языке описывается шаг алгоритма.
Пример алгоритма Евклида
Алгоритм- определение наибольшего общего делителя чисел А, В.
Вводдвух чисел А, В.
Делать покаА не равно В.
Если А>ВТоА=А-ВИначеВ=В-АКонец если