ПРОГРАММИРОВАНИЕ
НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ
Часть 1. Основы языка Си
Методические указания
К выполнению лабораторных работ
Санкт-Петербург
Составитель: Л.А. Прокушев
Рецензент: канд. техн. наук В.П. Попов
Даются методические указания к выполнению лабораторных работ, которые предназначены для выработки навыков алгоритмизации и программирования на языке Си.
Рассмотрены основные понятия программирования: построения программы; описания типов и ввода-вывода данных; операций и операторов, реализующих последовательные, ветвящиеся и циклические алгоритмы; модульного принципа программирования по организации ветвящихся и циклических алгоритмов. Показаны способы решения типовых задач с целью выработки у студентов практических навыков по составлению и отладке Си-программ при выполнении лабораторных работ.
Методические указания предназначены для студентов всех специальностей, изучающих дисциплины «Программирование на языке высокого уровня», «Алгоритмические языки и программирование», «Информатика».
|
|
Подготовлены к публикации кафедрой компьютерных систем автоматизации по решению редакционно-издательского совета Санкт-Петербургского государственного университета аэрокосмического приборостроения.
ã Санкт-Петербургский государственный университет
аэрокосмического приборостроения, 2002
Подписано к печати Формат 60х84 1/16. Бумага тип. №3
Печать офсетная. Усл. печ. л. 5,01 Уч.-изд. л. 5,5
Тираж экз. Заказ №
Редакционно-издательский отдел
Отдел оперативной полиграфии СПбГУАП
190000, Санкт-Петербург, ул. Б. Морская, 67
Общие методические указания
Цель работы: а) освоение приемов алгоритмизации вычислительных процессов; б) ознакомление с операторами языка Си и вводом-выводом данных; в) практическое освоение правил составления и набора Си-программ; г) освоение приемов отладки программ в диалоговом режиме.
Содержание работы: Выполнение работы включает следующие этапы:
а) ознакомление с условиями задачи и разработка схемы алгоритма ее решения; б) составление программы согласно схеме алгоритма; в) ввод программы и ее отладка с использованием среды Си-компилятора; г) ввод исходных данных и получение результатов решения задачи; д) составление отчета по лабораторной работе.
Алгоритмизация вычислительных процессов
Алгоритмом называется совокупность правил, определяющих данный вычислительный процесс, которыйот исходных данных за конечное число шагов (этапов, действий, операций) приводит к искомому результату.
Все многообразие вычислительных алгоритмов включает в себя в виде фрагментов 3 типовых вычислительных процесса:
|
|
· Линейный – последовательность операций, выполняемых одна за другой.
· Ветвящийся – выполнение операций по одному из возможных направлений (ветвей алгоритма) в зависимости от некоторых условий.
· Циклический – многократное выполнение некоторых операций в соответствии с заданным условием окончания цикла.
Описание алгоритма задачи может быть задано разными способами:
· Словесный – запись инструкций по выполнению алгоритма на естественном языке.
· Графический – представление алгоритма с использованием геометрических символов в виде блок-схем, граф-схем.
· Формализованный – описание алгоритма на одном из искусственных языков высокого уровня (ЯВУ) в виде последовательности строго определенных инструкций по обработке данных.
· Программный – запись алгоритма на языкеЭВМ в виде последовательности ее команд.
С целью наглядного представления процесса решения задачи используются схемы алгоритмов, которые составляются в соответствии с требованиями ГОСТ «Единая система программной документации» (ЕСПД) – ГОСТ 19.701-90 «Схемы алгоритмов, программ, данных и систем». Символы в схеме алгоритма могут обозначаться идентификаторами (или номерами) слева над символом.
Рассмотрим основные графические символы (блоки), используемые для представления алгоритмов:
Символ | Наименование | Выполняемые функции |
Терминатор | Начало или конец схемы алгоритма | |
Данные | Ввод данных или вывод результатов | |
Процесс | Обработка данных любого вида | |
Решение | Разветвление алгоритма после проверки условия, записанного внутри символа | |
Границы цикла | Начало и конец цикла, с условиями продолжения в начале для цикла с предусловием или в конце для цикла с постусловием, с указанием параметра цикла в обоих блоках | |
Предопределенный процесс | Обращение к подпрограмме, описанной в другом месте | |
Линия | Линии потока данных или управления (слева направо и сверху вниз без стрелок) | |
Соединитель | Обрыв линии потока и продолжение ее в другом месте с общим обозначением | |
Комментарий | Пояснительные записи (объяснения, примечания) к символу или группе символов, обведенных пунктирной линией |
Приведем примеры построения схем алгоритмов ветвящихся процессов.
Пример. Вычислить значение величины
æ a × x2, если a £ b,
y = í
è b - 2 × x, если a > b.
Решение примера:
Схема алгоритма: Комментарии:
|
|
Ввод исходных данных
Да Проверка условия (логического выражения) по типу: “Верно ли условие?”.
Нет Результаты проверки: ветви “Да” или “Нет”
алгоритма.
Объединение линий потока ветвей.
Вывод результатов
Конец алгоритма
Пример. Среди трех величин A, B, C найти максимальную и записать в рабочую ячейку max.
Решение примера:
Схема алгоритма: Комментарии:
Ввод исходных данных
|
|
|
Начальное значение max
Сравнение B и C c max
и изменение max, если
это необходимо
Вывод результата