- •Основные понятия программирования
- •Понятие алгоритма. Алгоритмизация
- •Свойства алгоритма
- •Запись алгоритма на естественном языке
- •Изображение алгоритма в виде схемы
- •Понятие о языках программирования
- •Понятие о структурном подходе к разработке алгоритмов
- •4 Идти к 8
- •6 Идти к 8
- •8 Останов
- •Первая программа на Си
- •Процесс создания программы
- •Комментарии
- •Директива #include
- •Макросы
- •Переменные и типы данных
- •Правила именования идентификаторов
- •Типы данных
- •Int двухбайтовое целое число
- •Оператор printf: вывод на экран
- •Последовательности для вывода специальных символов
- •Спецификация вывода
- •X тип int в шестнадцатеричном виде
- •Оператор scanf: ввод с клавиатуры
- •Логическая организация программы на Си
- •Функция main
- •Глобальные и локальные переменные
- •Операторы и операции
- •Арифметические операции
- •Битовые операции
- •Операции отношения
- •Логические операции
- •Операции присваивания
- •Другие операции
- •Математические функции
- •Управляющие структуры
- •Операторы ветвления
- •Операторы цикла
- •Массивы
- •Функции
- •Интегрированная среда разработки turbo c
- •Общие сведения и принципы работы
- •Стандартные органы управления
- •Главное меню
- •Запуск иср и выход
- •Работа с окнами и файлами
- •Система помощи
- •Редактор
- •Компиляция и выполнение программ
- •Технология создания с-программы
- •Лабораторные работы
- •Лабораторная работа №1
- •Создание нового файла
- •Ввод и редактирование исходного текста
- •Сохранение
- •Выполнение программы
- •Исправление ошибок
- •Просмотр результатов выполнения
- •Закрытие файла
- •Открытие и выполнение ранее сохраненного файла
- •Вызов справки
- •Лабораторная работа №2
- •Лабораторная работа №3
- •Лабораторная работа №4
- •Лабораторная работа №5
- •Лабораторная работа №6
- •Лабораторная работа №7
- •Лабораторная работа №8
- •Список вопросов
- •Литература
- •Приложение Пример оформления отчета по лабораторной работе
- •Блок-схема алгоритма
- •Текст программы
- •Результат выполнения программы
- •Теория и технология программирования
-
Понятие алгоритма. Алгоритмизация
Под алгоритмизацией понимается сведение задачи к последовательности команд, выполняемых друг за другом так, что результаты предыдущих команд используются при выполнении следующих. Это согласуется с возможностями ЭВМ выполнять действия последовательно одно за другим. В широком смысле алгоритмизация включает в себя и выбор метода решения задачи, а также формы представления исходной информации с учетом специфики ЭВМ. Результатом алгоритмизации является алгоритм решения задачи.
Алгоритмом называется система правил, четко описывающая последовательность действий, которые необходимо выполнить для решения задачи. Суть состоит в том, что если алгоритм разработан, то его можно вручить для выполнения любой вычислительной машине, незнакомой с решаемой задачей, и точно следуя правилам алгоритма, вычислительная машина получит ее решение. Например, предлагается выполнить такую последовательность действий:
-
вычислить ;
-
сравнить D с нулем; если D < 0, перейти к 3; в противном случае вычислить , ;
-
прекратить вычисления.
Пусть a = 1, b = 3, c = 2. Оказывается, выполнение данной последовательности для указанных значений a, b и c, приведет к решению квадратного уравнения .
При разработке алгоритма необходимо формализовать процесс решения задачи, сведя его к применению конечной последовательности достаточно простых правил. Так очень часто используются алгоритмы выполнения основных арифметических операций над многозначными числами, разработанные еще в IX веке древневосточным математиком Аль-Хорезми (термин «алгоритм» произошел от имени этого математика).
В повседневной жизни часто приходится пользоваться определенными алгоритмами, например, чтобы позвонить кому-либо по телефону, доехать до нужного этажа на лифте и т. д. Так как мы пользуемся ими часто, то выполняем их не задумываясь, автоматически. Однако если возникнет потребность в обучении новичка, их можно изложить в виде последовательности четких правил.
-
Свойства алгоритма
Алгоритм обладает следующими основными свойствами: дискретностью, определенностью, результативностью, массовостью.
Дискретность. Процесс преобразования исходных данных в результат осуществляется дискретно, так что значения величин в каждый следующий момент времени получаются по определенным правилам из значений величин, имевшихся в предшествующий момент времени.
Определенность (или детерминированность). Каждое правило алгоритма должно быть четким и однозначным, так что значения величин, получаемые в какой-либо (не начальный) момент времени, однозначно определяются значениями величин, полученными в предыдущие моменты времени.
Результативность (или конечность). Алгоритм должен приводить к решению задачи за конечное число шагов.
Массовость. Алгоритм решения задачи разрабатывается в общем виде так, чтобы его можно было применить для класса задач, различающихся лишь исходными данными. При этом исходные данные могут выбираться из некоторой области, называемой областью применимости алгоритма. Например, приведенный выше алгоритм решения квадратного уравнения применим для различных наборов коэффициентов a, b, c.
Чтобы разработать алгоритм, нужно хорошо представлять себе ход решения задачи и затем формализовать, т.е. записать в виде последовательности четких правил. Понятия алгоритма и программы не очень четко разграничены. Обычно программа — это окончательный вариант алгоритма решения задачи, ориентированный для конкретной вычислительной машины.
При разработке алгоритма его можно фиксировать несколькими способами:
-
запись на естественном языке (см. предыдущие примеры);
-
изображение в виде схемы;
-
запись на языке программирования.