Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пособие_ОП.doc
Скачиваний:
8
Добавлен:
22.12.2019
Размер:
894.46 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РФ

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ЭКОНОМИКИ, СТАТИСТИКИ И ИНФОРМАТИКИ

КАФЕДРА МАТЕМАТИЧЕСКОГО ОБЕСПЕЧЕНИЯ И

ТЕХНОЛОГИЙ ПРОГРАММИРОВАНИЯ

В.П.ГРИБАНОВ, О.В.КАЛМЫКОВА, Р.И.СОРОКА

Основы программирования

Учебное пособие

МОСКВА 2003

Учебное пособие содержит краткий теоретический материал по основам программирования. Изложение ведется применительно к реализации Турбо Паскаля 7.0. Теоретический материал иллюстрируется большим количеством примеров с объяснениями использованных конструкций.

Введение

Учебное пособие разработано в соответствии с программой курса "Основы программирования" и предназначено для студентов специальности 061700.

Учебное пособие состоит из 8 глав.

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

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

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

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

В пятой главе приводятся стандартные процедуры и функции. Описываются процедуры и функции модуля System, в котором располагается стандартная библиотека Турбо Паскаля, подключаемая по умолчанию. Рассматриваются особенности использования процедур ввода и вывода данных различных типов. Кроме того, описываются процедуры и функции модуля Crt, обеспечивающие удобную работу с экраном и клавиатурой.

Шестая глава посвящена работе с файлами. Сначала излагаются общие вопросы работы с файлами, затем особенности работы с различными типами файлов: типизированными файлами, текстовыми файлами и файлами без типа.

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

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

1.Алгоритмизация вычислительных процессов.

1.1.Основные определения и понятия.

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

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

Свойства алгоритма:

1) детерминированность – точность указаний, исключающая их произвольное толкование;

2) дискретность – возможность расчленения вычислительного процесса на отдельные элементарные операции, возможность выполнения которых не вызывает сомнений;

3) результативность – прекращение процесса через определенное число шагов с выдачей искомых результатов или сообщения о невозможности продолжения вычислительного процесса;

4) массовость – пригодность алгоритма для решения всех задач заданного класса.

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

Язык программирования – предназначен для реализации программ на ЭВМ.

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

Данные – это факты и идеи, представленные в формализованном виде, позволяющем передавать или обрабатывать эти факты и идеи с помощью некоторого процесса.

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

А:= В+С; {А, В, С – переменные;}

К:= 2; IF T< 0 THEN . . .

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

Свойства переменной:

1) переменная называется неопределенной до тех пор, пока она не получит значение:

а) вводом извне;

б) занесением константы;

в) занесением значения другой переменной, определенной ранее;

2) в каждый момент времени переменная может либо иметь определенное значение, либо быть неопределенной;

3) последующее значение уничтожает (стирает) предыдущее значение. Выбор (чтение) переменной и ее использование не изменяют значение переменной.

Предметом курса являются методы и средства составления алгоритмов и программ с целью решения задач на ЭВМ.

Для разработки программ используются системы программирования.

Система программирования – средство автоматизации программирования, включающее язык программирования, транслятор этого языка, документацию, а также средства подготовки и выполнения программ.

Транслятор – это программа, которая переводит с одного языка на другой.

Интерпретатор – это программа, которая сразу выполняет переводимые команды.

Компилятор – это программа, которая переводит конструкции алгоритмического языка в машинные коды.