Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмизация и программирование.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
128 Кб
Скачать

Глава 1.Теоретические основы алгоритмизации и программирования

1.1.Алгоритм, его свойства, структура. Алгоритмическое программирование.

Управлять компьютером нужно по определенному алгоритму.

Алгоритм – это точно определенное описание способа решения задачи в виде конечной (по времени) последовательности действий/ 2 стр.569/.

Алгоритм – это формальное описание способа решения задачи путем разбиения ее на конечную по времени последовательность действий (элементарных операций)/ 2 стр.582/.

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

Под алгоритмизацией понимают сведение задачи к последовательности этапов, выполняемых друг за другом, так что результаты предыдущих этапов, выполняемых друг за другом, так что результаты предыдущих этапов используются при выполнении последующих/ 6 стр.44/.

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

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

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

  3. Однозначность – компьютер понимает только однозначные инструкции;

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

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

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

  7. Эффективность – для решения задачи должны использоваться ограниченные ресурсы компьютера / 5 стр.22/.

Алгоритм обладает следующими свойствами: дискретностью, определенностью, результативностью, массовостью.

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

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

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

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

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

К основным (базовым) структурам алгоритмов относятся: следование, разветвление и цикл.

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

Разветвление состоит из логического блока с проверкой некоторого условия. Разветвление может быть двух видов: полная условная конструкция и неполная условная конструкция (обход).

Циклическими называются алгоритмы, у которых выполнение некоторых операторов (групп операторов) осуществляется многократно с одним или теми же или модифицированными данными.

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

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

Реальные данные, с которыми работает программа, - это числа, строки и логические величины. Эти типы данных называются базовыми. Каждая единица информации хранится в ячейках памяти компьютера, имеющих свои адреса. На практике заранее известно, в каких конкретно ячейках памяти во время работы программы будут записаны ее данные, поэтому в языках программирования введено понятие переменной, позволяющее отвлечься от конкретных адресов и обращаться к содержимому памяти с помощью идентификатора или имени – как правило, последовательности, содержащей английские буквы, цифры, символы, подчеркивания и начинающейся не с цифры. Кроме имени и значения, переменная обычно имеет тип, определяющий, какая информация хранится в данной переменной (число, строка и т.д.). В зависимости от объема памяти, отведенного для хранения, отведенного для хранения значения переменной, оно должно укладываться в допустимый диапазон.

Переменные с указанием их типа можно вводить в программу с помощью специальных команд описания (объявления, декларации). Это позволяет компилятору организовать эффективное хранение и обработку данных и повышает ясность исходных текстов. Каждый тип описывается своим ключевым словом. Значения переменных разных типов допускается преобразовывать друг в друга в соответствии с соглашениями языка программирования. Такой процесс называется приведением типов /2стр.583/.

Переменные могут существовать на всем протяжении работы программы – тогда они называются статическими, а могут создаваться и уничтожаться на разных этапах ее функционирования – такие переменные называются динамическими. Все остальные данные в программе, значение которых не меняется на протяжении ее работы, называются константами или постоянными /2 стр. 583 – 584 /.