Навигация по странице:
|
Методичка по программированию. Программирование на алгоритмических языках Методические указания к лабораторным работам по курсу информатика Иваново 2004
Федеральное агентство по образованию
Государственное образовательное учреждение высшего профессионального образования
«Ивановский государственный энергетический университет имени В.И. Ленина»
Кафедра программного обеспечения компьютерных систем
Программирование
на алгоритмических языках
Методические указания к лабораторным работам по курсу «ИНФОРМАТИКА»
Иваново 2004
Составители: В.А. Семашко,
С.И. Евсин
Редактор Р.А. Пантелеев
Приведены упражнения и контрольные задания для выполнения лабораторных работ по теме «Программирование на алгоритмических языках» в объеме курса «Информатика».
Предназначены для студентов дневных отделений, изучающих курс «Информатика».
Методические указания утверждены цикловой методической комиссией ИВТФ
Рецензент
кафедра программного обеспечения компьютерных систем ГОУВПО «Ивановский государственный энергетический университет имени В.И. Ленина»
Программирование на алгоритмических языках
Cоставители: СЕМАШКО ВЯЧЕСЛАВ АЛЕКСЕЕВИЧ
ЕВСИН СЕРГЕЙ ИВАНОВИЧ
Редактор Н.С. Работаева
Лицензия ИД №05285 от 4 июля 2001 года
Подписано в печать 22.09.04. Формат 60х84 1/16.
Печать плоская. Усл. печ. л. 3,95. Тираж 300 экз. Заказ №
ГОУВПО «Ивановский государственный энергетический университет имени В.И. Ленина»
153003 г. Иваново, ул. Рабфаковская, 34
Введение
Большинство задач, математическое описание которых известно, обычно решается в два этапа: сначала разрабатывается алгоритм решения задачи, а затем записывается программа на машинном или алгоритмическом языке.
Наибольшую сложность обычно вызывает этап разработки алгоритма. Алгоритм – это совокупность предписаний, выполнение которых приводит к решению поставленной задачи. Для описания алгоритма часто используется блок-схема. Блок-схема– это графическое изображение последовательности решения. По готовой блок-схеме опытный программист составляет программу почти механически. Для этого ему достаточно знать лишь формальные правила использования элементов того или иного языка. Поэтому в настоящей работе при рассмотрении примеров типовых задач основное внимание уделено разработке блок-схем, а для выполнения второго этапа решения задачи следует обратиться к пособиям по соответствующему языку программирования.
Блок-схема представляет собой совокупность геометрических фигур (блоков), соединенных между собой стрелками, указывающими порядок вычислений. Внутри каждого блока кратко записывается необходимая информация о вычислительном процессе. Изображения типовых блоков приведены ниже:
1. Ввод-вывод Преобразование данных в форму, пригодную для обработки /ввод/ или отображения результатов обработки /вывод/7. Процесс
Выполнение операции или группы операций, в результате которых изменяется значение, форма представления или расположения данных8. Решение
Выбор направления выполнения алгоритма или программы в зависимости от некоторых переменных условий9. Модификация Выполнение операций, меняющих команды или группу команд, изменяющих программу
арифметический блок, имеет одну входящую и одну выходящую стрелки – используется для записи вычислительных операций;
логический блок, имеет одну входящую и две выходящие стрелки – используется для записи условий;
блок изменения значений переменных, имеет одну входящую и одну выходящую стрелки;
блок ввода-вывода информации, имеет одну входящую и одну выходящую стрелки;
блок начала или конца алгоритма, имеет только одну входящую или выходящую стрелку.
В методических указаниях представлены задания для выполнения лабораторных работ по курсу «Программирование на алгоритмических языках», охватывающие практически все основные темы, начиная с простейших прямых программ, включая различные виды циклических программ и подпрограмм, работу со строками, организацию программ модульной структуры, работу с файлами и др.
В каждой работе сначала предлагаются задачи по указанной теме, расположенные в порядке возрастания сложности. Для задач, содержащих наиболее характерные приемы разработки алгоритмов, приведены решения в виде блок-схем.
В конце каждой работы представлены контрольные задания, которые должны быть решены студентом самостоятельно. Вариант выполняемого задания указывается преподавателем.
Результаты расчетов выполняемого задания должны быть проанализированы на корректность выполнения, прежде всего, самим студентом, а затем преподавателем. Контроль может производиться, например, путем «ручного» счета, производимого с помощью обычного карманного или встроенного в операционную систему калькулятора.
Результаты расчетов на компьютере должны быть одобрены и зафиксированы преподавателем в экранном представлении, а далее по каждому выполненному контрольному заданию должен быть представлен отчет.
Отчетовыполненииконтрольногозадания должен содержать следующие разделы:
Полное условие задачи с подробным перечнем исходных и искомых переменных и массивов и их расшифрованными обозначениями.
Преобразования математического описания задачи, если таковые выполнялись (например, приведение исходного уравнения работы № 5 к виду, пригодному для итерации, получение рекуррентной формулы для члена ряда в работе № 6 и др.).
Алгоритм решения задачи в виде блок-схемы.
Обозначение величин, используемых в программе, например, в виде таблицы идентификаторов.
Исходный текст программы в печатном или рукописном варианте.
Результаты расчетов программы на компьютере.
Работа_№_1._Прямые_программы_Задание_.'>Работа №1. Прямые программы
Задание. Составить программы вычисления следующих функций.
.
.
.
.
.
.
.
Контрольное задание №1. Составить программу вычисления функ-ции Y=A1/A2. Выражения для вычисления числителя A1 и знаменателя А2 взять из таблицы 1 согласно варианту, заданному преподавателем.
№A1A2Константы1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 №A1A2Константы16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Работа № 2. Разветвляющиеся программы
Программа называется разветвляющейся, если тот или иной участок программы выполняется в зависимости от некоторого условия. Наиболее часто используемые виды ветвлений представлены ниже.
1. Ветвление с одной ветвью исполняемых операторов (рис. 1) –реализуется на основе неполной формы условного оператора.
2. Ветвление с двумя альтернативными ветвями исполняемых операторов (рис. 2) – реализуется на основе полной формы условного оператора.
3. Ветвление с N-ветвями исполняемых операторов (рис. 3) – организуется на основе вложений одних условных операторов в ветви других условных операторов или при помощи оператора множественного выбора.
Задание. Разработать блок-схемы и составить программы вычисления нижеследующих функций.
1.
Пояснение. Блок-схема решения задачи приведена на рис. 4 и включает в себя:
блок №2 - задания исходных данных;
блоки №3,4 - анализа соотношения величин X и С для выбора формулы вычисления Z;
блоки №5,6,7 - расчета Z;
блок №8 - печати результата.
6
Z=F3(X)
7
Z=F1(X)
5
8
Вывод Z
КОНЕЦ
9
да
нет
да
нет
Рис. 4
НАЧАЛО
1
2
Ввод
А, В, С, Х
X > C
3
X=C
4
Z=F2(X)
2.
Пояснение. Блок-схема задачи приведена на рис. 5, а. Если алгоритмический язык позволяет использовать логические операции «И» и «ИЛИ», то блок-схема может быть упрощена путем замены трех обведенных пунктирной рамкой логических блоков №3,4,5 на один эквивалентный (рис. 5, б).
нет
5
X≥2
Рис. 5
да
да
9
КОНЕЦ
Вывод Y
8
0<X<1
или X≥2
б)
а)
нет
да
нет
да
нет
Ввод
X, T, M
3
X > 0
2
1
НАЧАЛО
7
6
Y=F1(X)
Y=F2(X)
4
X<1
3.
4.
5.
6.
7.
где Y – целое значение, t – остаток от деления Y на параметр A = 7.
Пояснение. Блок-схема задачи приведена на рис. 6. Если для блоков 5 и 8 в языках программирования удобно использовать вложенные условные операторы полной формы, то для блоков 6,10,да
нет
да
t= 0
6
нет
да
t=1
нет
7
X=1
4
да
нет
Y 0
5
да
нет
14 целесообразно применять оператор множественного выбора.
t=2
Z=sin(X)
109
13
14
да
нет
Вывод Z
Рис. 6
17
Z=sin(Y)
0
8
НАЧАЛО
1
8.
Контрольное задание №2. Составить разветвляющуюся программу вычисления функции Znсогласно заданному варианту n из табл. 2. Значения действительного Х и целого Y ввести с клавиатуры. Величину t вычислить как остаток от деления Y на A, а величину p – как целую часть от деления Y на A.
Пояснение. Исходные данные Х и Y следует принять так, чтобы убедиться в правильности выполнения программы, проведя расчеты по каждой из возможных ветвей. Для этого следует рассчитать искомую функцию сначала при комбинации исходных данных, соответствующих первой формуле задания, и полученный результат оценить по реальной формуле, например, с помощью обычного калькулятора. Затем аналогичным образом следует выполнить расчеты для второй, третьей и других формул задания. Для индикации используемой ветви можно организовать вывод порядкового номера формулы вычисления. Результаты всех вычислений следует представить в виде таблицы из трех значений: X, Y и Z .
№ФункцияКоэффи-циенты1 A=62 A=3№ФункцияКоэффи-циенты3 A=44 A=4
-
|
|
|