Методические указания к выполнению лабораторных работ по дисциплине «Программирование на языке высокого уровня»




Скачать 280.75 Kb.
НазваниеМетодические указания к выполнению лабораторных работ по дисциплине «Программирование на языке высокого уровня»
Дата24.09.2012
Размер280.75 Kb.
ТипМетодические указания


МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное агентство по образованию РФ


Государственное образовательное учреждение

высшего профессионального образования


“Ижевский государственный технический университет”


МЕТОДИЧЕСКИЕ УКАЗАНИЯ

к выполнению лабораторных работ по дисциплине

"Программирование на языке высокого уровня" для студентов 1 курса

1 семестра


ИЖЕВСК 2009


УДК 004/432(07)

М54

Составитель: И.В.Килин, к.э.н., доцент кафедры ПО


Рецензент: И.А.Барков, д.т.н, проф. кафедры АСОИУ


Методические указания к выполнению лабораторных работ по дисциплине «Программирование на языке высокого уровня» для студентов 1 курса 1 семестра направления 230100 и специальности 230105 / Сост. И.В.Килин. – Ижевск: Изд-во ИжГТУ, 2009, 20 с.


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

Указания предназначены для студентов направления 230100 - “Информатика и вычислительная техника” и специальности 230105 -"Программное обеспечение вычислительной техники и автоматизированных систем".


© Килин И.В., составление, 2009

© Издательство Ижевского государственного

технического университета, 2009


ОГЛАВЛЕНИЕ


1..ЛАБОРАТОРНАЯ РАБОТА "РАЗВЕТВЛЯЮЩИЕСЯ ПРОГРАММЫ"…..….4

1.1. Задание № 1 «Определение принадлежности точки заданной области»…….4

1.2 Задание N 2 на ЛР "Разветвляющиеся программы"……………………………5

2. ЛАБОРАТОРНАЯ РАБОТА "МАССИВЫ"…………………………………........8

2.1. Задание 1 «Одномерный символьный массив»………………………………...8

2.2. Задание 2 «Двумерный массив вещественных элементов»……………………9

3. ЛАБОРАТОРНАЯ РАБОТА "ПЕЧАТЬ ОТЧЕТОВ"…………………...…….....12

3.1. Цель работы ..…………………………………………………………………....12

3.2. Методические указания к лабораторной работе ……………..………………12

3.3. Порядок выполнения работы ………………………………………………….15

3.4. Задания .…………………………………………………………………………15

3.5. Контрольные вопросы …………………………………………………………16

4. ЛАБОРАТОРНАЯ РАБОТА "ДИНАМИЧЕСКИЕ ПЕРЕМЕННЫЕ" …...……17

4.1. Цель работы .……………………………………………………………………17

4.2. Методические указания к лабораторной работе ……………..………………17

4.3. Порядок выполнения работы ………………………………………………….18

4.4. Задания .…………………………………………………………………………18

4.5. Контрольные вопросы …………………………………………………………19

ЛИТЕРАТУРА………………………………………………………………………….20


  1. ЛАБОРАТОРНАЯ РАБОТА "РАЗВЕТВЛЯЮЩИЕСЯ ПРОГРАММЫ"




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

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

1.1. Задание № 1 «Определение принадлежности точки заданной области»



1.1.1. Цель работы

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


1.1.2. Методические указания к лабораторной работе

В структурном программировании для реализации алгоритма любой сложности достаточно использовать только три управляющие структуры: следование, ветвление и цикл. В программах на Паскале следование реализуется с помощью составного оператора с использованием операторных скобок begin-end, ветвление - с помощью условного оператора if-then-else, цикл - с помощью операторов цикла с предусловием while, с постусловием repeat-until, с параметром for. Возможна реализация цикла с помощью оператора безусловного перехода goto с меткой, но это считается нарушением хорошего стиля структурного программирования.

Для определения принадлежности точки, которая задается ее координатами (x, y), необходимо знание канонических уравнений прямой линии y=a*x+b и окружности

(x-xc)^2+(y-yc)^2=r^2, а также логических операций and ("и"), которая дает пересечение областей и or ("или"), которая дает сложение областей.

1.1.3. Порядок выполнения работы

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


1.1.4. Вариаты заданий

Чертежи вариантов областей выдаются отдельно. Границы включаются в область определения.

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

В контрольный пример включить не менее шести точек. Для реализации цикла с запросом обязательно использовать метку и оператор безусловного перехода goto.

Варианты запроса для повторения:

1). Повторить? 1 - ДА, 0 - НЕТ

2). Закончить? 1 - ДА, 0 - НЕТ

В отчет по первому заданию лабораторной работы включается:

постановка задачи (с чертежом заданной области и логическим выражением);

описание программы;

схема программы;

текст программы;

контрольный пример.


1.1.5. Контрольные вопросы

1. Синтаксис и семантика условного оператора.

2. Схема программы для ветвления.

3. Условный оператор с одной ветвью.

4. Логические операции и выражения.

1.2 Задание N 2 на ЛР "Разветвляющиеся программы"



В программе организуется цикл с признаком конца с помощью оператора While или Repeat. Метки и массивы не использовать. В конце программы выдать итог: сколько данных обработано. Предусмотреть реакцию на исключительные ситуации: отсутствие данных и ошибки в данных. Контрольный пример должен проверять все ветви программы.


1.2.1 Варианты заданий

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

Формат итоговой строки:

Всего участников 999, победитель номер 999 с результатом 99.99


2. В начале программы ввести сегодняшнюю дату. Для нескольких человек ввести дату рождения в формате ДД.ММ.ГГГГ. Выдать:

ВОЗРАСТ: 9999 лет 99 мес. 99 дн.

При определении возраста считать, что в любом месяце 30 дней.

Ввод прекратить, если день рождения ДД равен нулю.

В конце программы отпечатать номер самого старшего.


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

ПОЕЗД 999 ОТПРАВЛЕНИЕ 99:99 ПРИБЫТИЕ 99:99 ВРЕМЯ В ПУТИ 999:99

Ввод завершить, если время отправления равно 9999.

В конце программы выдать номера самого раннего и самого позднего поездов.


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

РЕЗУЛЬТАТ 999 "ОТЛИЧНО"

РЕЗУЛЬТАТ 999 "СДАНО"

РЕЗУЛЬТАТ 999 НЕ ЗАЧТЕН

Ввод завершить, если результат равен 9999.

В конце программы выдать

ЛУЧШИЙ РЕЗУЛЬТАТ 999 У УЧАСТНИКА НОМЕР 999


5. Ввести в начале программы рекордные минимальную и максимальную температуры.

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

ДЕНЬ 99 ТЕМПЕРАТУРА 99.9 БОЛЬШЕ МАКСИМАЛЬНОЙ 99.9

ДЕНЬ 99 ТЕМПЕРАТУРА 99.9 МЕНЬШЕ МИНИМАЛЬНОЙ 99.9

Соответствующее рекордное значение поменять. Ввод завершить, если температура равна 9999. В конце программы выдать

С ПЛЮСОВОЙ ТЕМПЕРАТУРОЙ 99 ДНЕЙ ИЗ 99


6. Вычислить подоходный налог с начисленных зарплат работников. Ставка подоходного налога равна 12% при зарплате<=5000 рублей, 20% при >5000 и <=10000 , 25 при >10000.

Ввод прекратить, если зарплата равна 99999. По окончании ввода выдать порядковый номер и размер наибольшей из введенных зарплат.


7. Задать требуемый объем цистерны. Вводить значения радиуса и высоты, выдавать получаемый объем цистерны с примечанием: меньше, больше или равно заданному. Ввод прекратить, если радиус равен 0. В конце программы выдать номер цистерны, у которой наименьший расход материала (площадь листа) и объем больше или равен заданному.


8. Ввести минимальное и максимальное значения температуры. По каждому замеру ввести фактическое значение температуры больного и выдать ТЕМПЕРАТУРА В ПРЕДЕЛАХ НОРМЫ или

ТЕМПЕРАТУРА МЕНЬШЕ НОРМЫ или

ТЕМПЕРАТУРАР БОЛЬШЕ НОРМЫ.

В конце программы выдать минимальную и максимальную температуру с указанием номеров замеров.


9. Ввести для нескольких автобусов время отправления и

время прибытия. По каждому автобусу выдать

АВТОБУС 999 ОТПРАВЛЕНИЕ 99:99 ПРИБЫТИЕ 99:99 ВРЕМЯ В ПУТИ 999:99

Ввод завершить, если время отправления равно 9999.

В конце программы выдать самой длинный рейс.


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


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

МАКСИМАЛЬНЫЙ НАДОЙ НА ОДНУ КОРОВУ 99999 ЛИТРОВ

В ХОЗЯЙСТВЕ НОМЕР 999


12. Ввести данные участников соревнований по бегу. По каждому участнику выдать СТАЛ ЛИДЕРОМ или ПОВТОРИЛ РЕЗУЛЬТАТ ЛИДЕРА или РЕЗУЛЬТАТ ХУЖЕ ЧЕМ У ЛИДЕРА. В конце программы выдать тройку призеров с указанием их номеров и результатов.


13. Ввести минимальное и максимальное значения размера детали по чертежу. По каждой изготовленной детали ввести фактическое значение размера и выдать РАЗМЕР В ПРЕДЕЛАХ ДОПУСКА или РАЗМЕР МЕНЬШЕ ДОПУСТИМОГО или РАЗМЕР БОЛЬШЕ ДОПУСТИМОГО.

В конце программы выдать процент брака.


1.2.2. Порядок выполнения работы

Написать текст программы и проверить его на контрольных примерах. Оформить отчет. Для текста программы и контрольного примера использовать моноширинный шрифт.

В отчет по второму заданию лабораторной работы включается:

постановка задачи;

описание программы;

схема программы;

текст программы;

контрольный пример.


2. ЛАБОРАТОРНАЯ РАБОТА "МАССИВЫ"

2.1. Задание 1 «Одномерный символьный массив»



1. Описать символьный массив длиной 80 символов.

2. Ввести предложение, состоящее из слов, разделенных пробелами.

3. При необходимости ввести задание, например, заданную букву.

4. Массив просмотреть до точки, если она есть, или до последнего введеного символа. Выдать слова с указанием их длины, слова, удовлетворяющие заданию, пометить примечанием, например, "Начинается на заданную букву".

5. В случае исключительных ситуаций выдать сообщение


СТРОКА ПУСТА

СЛОВ, УДОВЛЕТВОРЯЮЩИХ ЗАДАНИЮ, НЕТ

СЛОВО ЕДИНСТВЕННОЕ


2.1.1. Варианты заданий

1. Слово начинается на заданную букву.

2. Слово заканчивается заданной буквой.

3. Слово начинается не на заданную букву.

4. Слово заканчивается не заданной буквой.

5. Слова указанной длины.

6. Слово длиннее указанной длины.

7. Слово короче указанной длины.

8. Слово максимальной длины.

9. Слово минимальной длины.

10. Слово последнее.

11. Слово первое.

12. Слово с указанным номером.

13. Слова до указанного номера.

14. Слова после указанного номера.

15. Номер слова четный.

16. Номер слова нечетный.


2.1.2. Порядок выполнения работы

Написать текст программы и проверить его на контрольных примерах. Оформить отчет. Для текста программы и контрольного примера использовать моноширинный шрифт.

В отчет по первому заданию лабораторной работы включается:

постановка задачи;

иерархическая схема;

описание программы;

схема программы;

текст программы;

контрольный пример.

2.2. Задание 2 «Двумерный массив вещественных элементов»



1. Описать матрицу 8х8 вещественных элементов.

2. Заполнить элементы матрицы согласно варианту случайными вещественными числами в диапазоне от –N до N , где N - порядковый номер по журналу.

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

4. Преобразовать матрицу согласно варианту.

5. Повторно распечатать элементы матрицы с суммами.

6. Исключительные ситуации и форматы вывода определить самостоятельно.


2.2.1 Варианты заполнения матрицы


1. 1 16 17 2. 1 2 . . . 7 8 3. 8 7. . . 2 1

2 15 . 16 15. . .10 9 9 10. . .15 16

3 14 . 17 . . . . . .17

4 13 .

5 12

6 11

7 10

8 9


4. 17 16 1 5. 17. . . 6. 8 9

. 15 2 16 15. . .10 9 7 10

. . . 1 2 . . . 7 8 . .

. . . . . .

. . . . .

10 7 2 15 .

9 8 1 16 17


7. . . . 17 8. 9 8 9. 1 9 17

9 10. . .15 16 10 7 2 10 .

8 7. . . 2 1 . . . . .

. . . . . .

. . . . .

. 15 2 7 15

17 16 1 8 16


10. 8 7. . . 2 1 11. 17 9 1 12. 16 8

16 15. . .10 9 . 10 2 15 7

. . . 17 . . . . .

. . . . . .

. . . . .

15 7 . 10 2

16 8 17 9 1

13. 8 16 14. 15.

7 15

. . . . . 17 17 . . .

. . . 16 15. . .10 9 9 10. . .15 16

. . . 8 7. . . 2 1 1 2. . . 7 8

2 10 .

1 9 17


.2.2 Варианты преобразования матрицы

1. Поменять местами первый и второй минимумы матрицы.

2. Поменять местами строки с минимальной и максимальной суммами.

3. Строку с минимальной суммой сделать первой, сместив остальные.

4. Из всех элементов матрицы вычесть математическое ожидание (среднее значение).

5. Строку с максимальной суммой поменять с последней строкой.

6. Расположить строки по возрастанию их сумм.

7. Расположить строки по убыванию их сумм.

8. Элементы строки с минимальной суммой расположить в обратном порядке.

9. Элементы столбца с минимальной суммой расположить в обратном порядке.

10. Поменять местами строку и столбец, на пересечении которых находится минимальный элемент.

11. Расположить элементы в строках по возрастанию.

12. Расположить элементы в строках по убыванию.

13. Поменять местами диагонали.

14. Все отрицательные элементы над главной диагональю заменить на их абсолютное значение.

15. Элементы главной диагонали расположить в обратном порядке.

16. Поменять местами первый и второй максимумы матрицы.

17. Поменять местами столбцы с минимальной и максимальной суммами.

18. Строку с минимальной суммой сделать последней, сместив остальные.

19. Строку с максимальной суммой поменять с первой строкой.

20. Расположить столбцы по возрастанию их сумм.

21. Расположить столбцы по убыванию их сумм.

22. Элементы строки с максимальной суммой расположить в обратном порядке.

23. Элементы столбца с максимальной суммой расположить в обратном порядке.

24. Поменять местами строку и столбец, на пересечении которых находится максимальный элемент.

25. Расположить элементы в столбцах по возрастанию.

26. Расположить элементы в столбцах по убыванию.

27. Все отрицательные элементы под главной диагональю заменить на их абсолютное значение.


2.2.3 Порядок выполнения работы

Написать текст программы и проверить его на контрольных примерах. Оформить отчет. Для текста программы и контрольного примера использовать моноширинный шрифт.

В отчет по второму заданию лабораторной работы включается:

постановка задачи;

иерархическая схема;

описание программы;

схема программы;

текст программы;

контрольный пример.


3. ЛАБОРАТОРНАЯ РАБОТА "ПЕЧАТЬ ОТЧЕТОВ"




3.1. Цель работы



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

3.2. Методические указания к лабораторной работе



Получение выходных данных (результатов) на печатающем устройстве представляет собой хорошее средство общения ЭВМ с челове­ком. Различные ведомости, распечатки, выходные документы, конструкторско-технологическая документация (в общем случае отчеты) на бумажном носителе могут использоваться чело­веком в течение длительного времени. Соответствующим образом оформленные отчеты, снабженные подписями и печатями, становятся документами, имеющими юри­дическую силу.

В последнее время значительное распространение получила безбумажная информатика, когда результат решения задачи может быть записан ЭВМ не только на бумагу, но и на другие машинные носители или выдан на экран дисплея. Но и в случае использова­ния видеокадров вместо отчетов можно выделить общие момен­ты в проектировании соответствующих программ.

Особенностью отчетов, используемых в информационных системах (ИС), является их большой объем, что вынуждает применять специальные средства по обеспечению возможности повторной печати, а также выбора из выходных данных только необходимых по запросу.


3.2.1. Структура и проектирование отчетов

Структура программы может быть различной в зависимости от конкретных условий, но можно выделить и общие моменты. Чаще всего отчет печатается по листам, размеры которого во многом определяются характеристиками используемого печатающего устройства. Для ранее используемой перфорированной бумаги, сфальцованной в стопу, и барабанных печатающих устройств максимально возможная длина листа составляла 72 строки, а с учетом полей не превышала 66 строк. Максимальная ширина листа определялась техническими характеристиками печатающего уст­ройства и составляла 128-160 символов для машин типа ЕС и 80 символов для микроЭВМ. Ширина бумаги позволяла получать на микроЭВМ документы стандартного формата А4, а на ЕС ЭВМ - формата А3.

Большие возможности для получения отчетов различных видов у современных матричных (игольчатых), струйных и лазерных принте­ров: тут и печать высокого качества, и различные шрифты, и уп­равление шагом по вертикали и горизонтали, и возможность печа­ти графических изображений. Если отчет небольшой по ши­рине, то на одном листе можно разместить несколько стра­ниц. Наиболее типичны следующие варианты: первый - на листе располагаются слева и справа два экземпляра одной и той же страницы; второй - на листе по горизонтали располагаются две подряд идущие страницы, в этом случае лист сгибается пополам и таким образом подшивается. В некоторых случаях применяют двустороннюю печать, но это требует усложнения программы для печати сначала всех нечетных, затем всех четных листов, кроме того, в отчетах большого объема имеется высокая вероят­ность повреждения бумаги. Двустороннюю печать целесообразно применять на персональных компьютерах при печати на отдельных листах, а не на рулонной бумаге или бумаге, сфальцованной в стопу.

Листы отчетов могут быть различного типа: заголовок отчета, листы основной части, окончание (подножие) отчета. Заголовок и окончание, если они присутствуют, печатаются один раз по отчету и содержат название и код документа, све­дения об организации, для которой был составлен документ, дату выдачи документа, общие итоги, место для виз, подписей, печа­тей и т.д.

На листах основной части отчета также можно выде­лить заголовок и нижнюю часть (подножие) листа, а также основ­ную часть листа. Заголовок листов основной части одержит, как правило, название и код отчета, сведения об объекте, по которому выдается этот лист, номер листа, дату выдачи, наиме­нования и номера печатаемых реквизитов. На втором и последую­щих листах отчета может печататься упрощенный заголовок, содержащий только номер листа и номера реквизитов (граф). В нижней части листа (подножие листа) может печататься контрольная сум­ма, количество строк на листе и другая информация. В некоторых случаях вид заголовка и нижней части листа определяется ГОСТом и представляет собой рамку с угловым штампом.

Основная часть листа содержит два вида строк: детальные и итоговые. Детальные строки - это наиболее повторяемые строки в отчете, одна детальная строка отчета, как правило, соответствует одной записи входного файла. Итоговые строки вы­даются при смене значений определенных, так называемых, ключе­вых реквизитов (ключей), по завершению группы записей с одина­ковым значением ключей. В итоговых строках печатаются суммы по отдельным реквизитам детальных строк, количество записей, средние значения или просто производится разделение отдельных частей отчета строками пробелов. Между ключевыми реквизитами устанавливается иерархия, старший уровень имеет реквизит, который наиболее редко изменяется. Как правило, это первый ключевой реквизит сортировки входного файла. При изменении значения ключевого реквизита перед печатью соответствующей итоговой строки должны быть выданы все итоговые строки низшего уровня, например, при изменении номера цеха перед итоговой строкой по цеху выдается итоговая строка по последнему участку в данном цехе. По концу обрабатываемых данных (концу файла) выдаются итоги всех уров­ней.

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

Таким образом, в отчете могут быть выделены такие структурные элементы: лист, строка (6 типов), поле. Соответс­твенно это отражается и в структуре программы. Для удобства ссылок на отдельные строки обычно используют аббревиатуры соответствующих английских слов:

RH - report header (заголовок отчета);

PH – page header (заголовок листа);

DL – detail line (детальная строка);

TL – total line (итоговая строка);

PF – page footing (подножие листа);

RF – report footing (подножие отчета).

Проектирование отчета заключается в определении пе­речня всех данных, их формы представления, группировке данных по предметным областям, определении порядка следования данных, определении печатаемых наименований и способов кодирования данных, определении общего представления отчета. Резуль­татом проектирования отчета является чертеж формы доку­мента, определяемый ГОСТом. Лучше всего использовать лист с размерами, определяемыми реальным листом печатающего уст­ройства ЭВМ. Одна клетка такого листа представляет один печа­таемый символ. Постоянные поля записывают в том виде, в каком они должны печататься. Переменные поля отмечают по их макси­мальной длине в зависимости от типа данных, например, 9 - циф­ровой тип, А - буквенный тип, Х - буквенно-цифровой. В боль­шинстве случаев проектирование отчета целесообразно на­чинать с проектирования детальных и итоговых строк, а затем - заголовков. Обычно предусматривается, что десятичная точка итоговых значений располагается на той же позиции, что и у соответствующих полей детальных строк, то есть цифровые данные выравниваются направо. Алфавитные и алфавитно-цифровые данные (фамилии, адреса, наименования, обозначения и т.д.) выравниваются налево.

.


3.2.2. Программы печати отчетов

Структура программы печати определяется структурой полу­чаемого отчета и структурой входных данных. Для обеспече­ния перехода на новый лист вводится промежуточная переменная: номер отпечатанной строки, которая сравнивается (больше или равно) с определенной в программе длиной листа. Чтобы был от­печатан первый лист, а также в других случаях, когда требуется перейти к новому листу, например, после печати итоговой строки соответствующего уровня, указанной переменной присваивается значение равное длине листа. Если отпечатанный лист короткий, то для перехода на начало следующего листа могут использо­ваться соответствующие команды управления печатающим уст­ройством или циклически выполняется протяжка пустых строк (пробелов).

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

3.3. Порядок выполнения работы


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

Написать, отладить программу, проверить все вари­анты обработки на контрольном примере.

В отчет по лабораторной работе включается:

постановка задачи с чертежом формы документа;

иерархическая схема программы;

описание программы;

схема программы;

текст программы;

контрольный пример.

3.4. Задания



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

Ввести из текстового файла массив записей (из NMAX = 200 заполнить только N элементов, необходимых для контрольного примера). Вводимые записи должны быть отсортированы вручную по первому и второму ключевому полю.

Распечатать таблицу в виде отчета по листам. Пре­дусмотреть печать двух уровней итогов: при изменении значения первого ключевого поля и общий итог.

Названия отчетов и структуры записей:

1). Наличие вагонов: пункт прибытия, номер поезда, коли­чество вагонов. Итоги: количество поездов и вагонов.

2). Участники соревнований: страна, фамилия спортсмена, номер, возраст в годах. Итоги: количество человек и средний возраст.

3). Члены сборной команды: специализация, фамилия, дата рождения, масса. Итоги: количество человек и средняя масса.

4). Результаты соревнований по автогонкам: фамилия участни­ка, дата соревнований, занятое место, очки. Итоги: количество стартов и очки.

5). Наличие товаров в магазинах: наименование магазина, наименование товара, цена, количество. Итоги: стоимость товара.

6). Количество жителей: страна, национальность, количест­во жителей. Итоги: количество национальностей и жителей.

7). Вырабатываемая электроэнергия: регион, название эдектростанции, тип элект­ростанции, мощность. Итоги: количество атомных электростанций и общая мощность.

8). Количество проданных билетов: пункт прибытия, номер поезда, тип вагона, количество билетов. Итоги: количество поездов и билетов.

9). Наличие детей: группа, фамилия, средний балл, коли­чество детей. Итоги: количество студентов и детей.

10). Количество сданных экзаменов: факультет, фамилия, средний балл, количество сданных предметов. Итоги: средний балл и среднее ко­личество сданных экзаменов.

11). Состояние строительства: район, наименование объек­та, процент готовности, количество работающих. Итоги: коли­чество объектов и работающих.

12). Состояние успеваемости: район, учебное заведение, количество неуспевающих, общее количество учащихся. Итоги: ко­личество неуспевающих и количество учащихся.

13). Наличие вагонов в депо: наименование депо, номер пути, грузоподъемность вагона, количество вагонов. Итоги: количество ваго­нов и общая грузоподъемность.

14). Капитал фирмы: название фирмы, код акционера, адрес акционера, стоимость акций. Итоги: количество акционеров и стои­мость акций.

3.5. Контрольные вопросы



1). Виды строк заголовков.

2). Получение итоговых данных.

3). Окончание отчета.

4). Печать отчета по листам.

5). Варианты печати несколько страниц на одном листе.


  1. ЛАБОРАТОРНАЯ РАБОТА "ДИНАМИЧЕСКИЕ ПЕРЕМЕННЫЕ"




4.1. Цель работы



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

4.2. Методические указания к лабораторной работе


Переменные, массивы, записи, имена которых в программе на Паскале указываются в разделе описания переменных VAR, представляют собой статические программные объекты, которые порождаются непосредственно перед выполнением программы, су­ществуют в течение всего времени ее выполнения и размер зани­маемой ими памяти не изменяется в ходе выполнения программы. Использование только статических переменных может вызвать трудности, когда при проектировании программы заранее неиз­вестен размер значения того или иного программного объекта или даже и то, будет ли существовать этот объект или нет. Типич­ное решение: использовать максимально возможную длину для оп­ределения объектов или описывать одновременно существование всех временных объектов, часто приводит к неэффективным прог­раммам, а иногда и невозможно из-за ограничений в памяти. Дру­гое решение: использовать динамические объекты, т.е. такие, которые возникают уже в процессе выполнения программы или раз­мер значений которых определяется или изменяется при выполне­нии программы.

Для использования динамических переменных используются ссылочный тип значений, переменные ссылочного типа (указатели) и переменные с указателем. В некоторых ЭВМ вместо стрелки "^" используется символ "@" - коммерческое "в".

Для создания динамических объектов определенного типа используется процедура NEW, которая резервирует свободный участок оперативной памяти под этот объект, а в указатель по­мещает ссылку (адрес) на созданный объект. При создании боль­шого количества динамических объектов возможно переполнение памяти, поэтому для освобождения памяти, занимаемой не исполь­зуемыми более динамическими объектами используется процедура DISPOSE.

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

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

Стеки - упорядоченный набор элементов, в котором размеще­ние новых элементов и удаление существующих производится толь­ко с одного его конца, называемого вершиной стека. Дисциплина обслуживания стека описывается так: "последний вошел, первый вышел" или LIFO - Last In First Out.

Очередь - такая динамическая структура данных, добавление новых элементов и исключение (обслуживание) существующих эле­ментов в которой производится с разных концов. Дисциплина обслуживания очереди описывается так: "первый вошел, первый вышел" или FIFO - First In First Out.

4.3. Порядок выполнения работы


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

В отчет по лабораторной работе включается:

постановка задачи;

иерархическая схема программы;

описание программы;

схема программы;

текст программы;

контрольный пример.

4.4. Задания


Разработать программу, в которой описать переменные для создания соответствующей динамической структуры. Рекомендуется в программе предусмотреть меню с режимами, обеспечивающими: создание динамической структуры, добавление новых элементов и исключение (обслуживание) существующих эле­ментов, распечатку исходного состоя­ния в прямом и обратном направлении, запрос изменения и преоб­разование, распечатку преобразованного состояния в прямом и обратном направлении. При невоз­можности выполнить изменение - выдать сообщение об ошибке.


Варианты динамической структуры:

1). Очередь.

2). Стек.

3). Двунаправленный список.

4). Однонаправленный список.

Варианты информационного элемента:

1). Целое число.

2). Символ.

3). Вещественное число.

4). Строка.

5). Логическое значение.

Варианты преобразования:

1). Удалить.

2). Заменить.

3). Вставить.

Варианты места изменения:

1). По указанному порядковому номеру элемента.

2). Перед элементом с указанным порядковым номером.

3). За элементом с указанным порядковым номером.

4). По указанному значению.

5). Перед элементом с указанным значением.

6). За элементом с указанным значением.

4.5. Контрольные вопросы


1. Описание динамических объектов.

2. Ссылочные переменные и переменные с указателем.

3. Допустимые действия над ссылочными переменными.

4. Константы ссылочного типа.

5. Прямой и обратный просмотр элементов динамической структуры.

6. Списки, стеки, очереди.


ЛИТЕРАТУРА


  1. Климова Л.Л. Pascal 7.0. Практическое программирование . Решение типовых задач. – М.: КУДИЦ-ОБРАЗ, 2000.

  2. Культин Н,Б, Turbo Pascal в задачах и примерах. – СПб.: БХВ - Петербург, 2002.

  3. Мартынюк Г. Turbo Pascal 7.0. Самоучитель. – СПб.: БХВ – Петербург, 2001.

  4. Пильщиков В.Н. Сборник упражнений по языку Паскаль.- М.: Наука, 1989.

  5. Попов В.Б. Turbo Pascal для школьников. – М.: Финансы и статистика, 2003.

  6. Программирование на языке Паскаль: задачник/ под ред. Усковой О.Ф. – Спб.: Питер, 2003. – 336 с.; ил.

  7. Фаронов В.В. Турбо Паскаль 7.0. Начальный курс. Учебное пособие. – М.: Издательство ООО ОМД «Групп», 2002.

  8. Шпак Ю.А. Turbo Pascal 7.0 на примерах / Под ред. Ю.С.Ковтанюка – К.: Издательство Юниор, 2003.



Учебное издание


Методические указания к выполнению лабораторных работ по дисциплине «Программирование на языке высокого уровня» для студентов 1 курса 1 семестра


Килин Игорь Викторович

(составление)


В редакции составителя


Подписано в печать Формат 60х84/16. Бумага офсетная.

Гарнитура Таймс. Усл. печ. л. Уч.-изд. л. 1,09. Тираж 50 экз. Заказ №


Отпечатано и изготовлено в Издательстве И

426069, Ижевск, Студенческая ул., 7.


Похожие:

Методические указания к выполнению лабораторных работ по дисциплине «Программирование на языке высокого уровня» iconМетодические указания по выполнению лабораторных работ по дисциплине “
Целью выполнения лабораторных работ по курсу “Программирование на языке высокого уровня” является выработка у студентов практических...
Методические указания к выполнению лабораторных работ по дисциплине «Программирование на языке высокого уровня» iconМетодические указания по выполнению лабораторных работ
Методические указания предназначены для выполнения лабораторных работ по дисциплине «Программирование на языке высокого уровня» студентов...
Методические указания к выполнению лабораторных работ по дисциплине «Программирование на языке высокого уровня» iconЛитература по курсам "Программирование на языке высокого уровня" и «Программирование и основы алгоритмизации»
Перевезенцева Е. С., Перевезенцев А. А. Технология решения задач с использованием компьютера: Учебное пособие по курсу "Программирование...
Методические указания к выполнению лабораторных работ по дисциплине «Программирование на языке высокого уровня» iconМетодические указания к выполнению лабораторных работ по курсу
Методические указания к выполнению лабораторных работ по курсу «Вычислительная техника и программирование», (для студентов 2 курса...
Методические указания к выполнению лабораторных работ по дисциплине «Программирование на языке высокого уровня» iconПо дисциплине “Программирование на языке высокого уровня”
...
Методические указания к выполнению лабораторных работ по дисциплине «Программирование на языке высокого уровня» iconЕ. П. Пегова Методические указания к выполнению лабораторных работ по дисциплине
Методические указания к выполнению лабораторных работ по дисциплине информатика для студентов I курса специальности 080507 IV курса...
Методические указания к выполнению лабораторных работ по дисциплине «Программирование на языке высокого уровня» iconМетодические указания к выполнению лабораторных работ по дисциплине «Технология разработки программного обеспечения»
Методические указания к выполнению лабораторных работ по дисциплине «Технология разработки программного обеспечения» для студентов...
Методические указания к выполнению лабораторных работ по дисциплине «Программирование на языке высокого уровня» iconМетодические указания к лабораторным работам по курсу «Программирование на языках высокого уровня»
Методические указания предназначены для студентов инженерно-технических факультетов, изучающих программирование во 2-м семестре
Методические указания к выполнению лабораторных работ по дисциплине «Программирование на языке высокого уровня» iconМетодические указания к выполнению лабораторных работ Факультет информатики и систем управления
Сети ЭВМ и телекоммуникации: Методические указания к выполнению лабораторных работ. – Спб.: Сзту, 2004. – 33 с
Методические указания к выполнению лабораторных работ по дисциплине «Программирование на языке высокого уровня» iconМетодические указания к выполнению лабораторных работ "Введение в объектно- ориентированное программирование в среде Delphi "по дисциплине "Информатика" для
Составители: д-р техн наук В. М. Шишкин, Д. А. Володкин А. В. Турецкий, Р. А. Чертков
Разместите кнопку на своём сайте:
Библиотека


База данных защищена авторским правом ©lib.znate.ru 2014
обратиться к администрации
Библиотека
Главная страница