Реферат Курсовая Конспект
Программирование на языке Паскаль - раздел Программирование, Министерство Образования Российской Федерации Гоу Уральский Государс...
|
Министерство образования Российской Федерации
ГОУ Уральский государственный технический университет – УПИ
Содержание
Оформление лабораторных работ. 5
Лабораторная работа №1. Линейный алгоритм.. 5
Постановка задачи. 5
Математическая модель. 5
Описание алгоритма. 5
Текст программы.. 6
Тест. 6
Лабораторная работа №2. Условный алгоритм.. 6
Постановка задачи. 6
Математическая модель. 6
Описание алгоритма. 7
Текст программы.. 7
Тест. 8
Лабораторная работа №3. Экранные меню и циклы.. 8
Постановка задачи. 8
Математическая модель. 9
Описание алгоритма. 9
Текст программы.. 10
Тест. 12
Лабораторная работа №4. Процедуры и функции. 13
Постановка задачи. 13
Математическая модель. 14
Описание алгоритма. 15
Текст программы.. 17
Тест. 19
Лабораторная работа №5. Работа с файлами и алгоритмы сортировки. 20
Постановка задачи. 20
Математическая модель. 22
Описание алгоритма. 22
Текст программы.. 24
Тест. 28
Лабораторная работа №6. Визуальное программирование. 30
Постановка задачи. 30
Математическая модель. 31
Основная форма программы.. 32
Текст программы.. 33
Библиографический список. 36
Лабораторная работа №1. Линейный алгоритм
Постановка задачи
По двум сторонам вычислить площадь прямоугольника.
Математическая модель
Описание алгоритма
Алгоритм Lab1.
А. Начать исполнение.
1. Вывести на экран сообщение "Введите стороны прямоугольника".
2. Ввести a, b.
3. Вывести сообщение "Площадь равна", ab;
Б. Закончить исполнение.
Текст программы
program Lab1;
{$APPTYPE CONSOLE}
uses SysUtils;
var a,b:Real;
begin
Write('Введите стороны прямоугольника: ');
ReadLn(a,b);
WriteLn('Площадь равна ',a*b);
ReadLn; { Задержка для консольных приложений }
end.
Тест
a | b | Расчетная площадь | Результат выполнения программы |
… | |||
… | |||
… | … | … | … |
Лабораторная работа №2. Условный алгоритм
Постановка задачи
Рассчитать площадь треугольника по трем сторонам с проверкой корректности ввода и возможности вычисления (выдать сообщение "Некорректный ввод" при вводе отрицательных или нулевых значений и сообщение "Вычисление невозможно", если сумма двух сторон треугольника меньше или равна третьей).
Математическая модель
Площадь треугольника по трем сторонам можно рассчитать по формуле Герона: , где p – полупериметр, .
Описание алгоритма
Тест
Необходимо выполнить несколько тестов с отрицательными числами, несуществующими треугольниками и треугольниками с известными площадями. Вид таблицы для тестов и несколько примеров треугольников приведены ниже.
a | b | c | Расчетная площадь | Результат работы программы | |
… | |||||
… | |||||
… | |||||
… | |||||
… | |||||
… | |||||
… | |||||
… | … | … | … | … |
Лабораторная работа №3. Экранные меню и циклы
Постановка задачи
Основная задача.
Организовать экранное меню из трех пунктов (расчет площади прямоугольника, треугольника и круга). По выбранному номеру пункта выполнить расчет площади соответствующей фигуры с проверкой корректности ввода данных и возможности вычислений.
Дополнительные задачи.
1. Добавить в меню четвертый пункт – «Выход» – и организовать внешний цикл WHILE для выполнения программы, пока не будет выбран соответствующий пункт меню.
2. Добавить в каждое вычисление площади вопрос «Продолжить вычисление (Y/N) ?» и цикл REPEAT, который должен выполняться, пока не будет введено «N».
Математическая модель
, где p – полупериметр, .
Описание алгоритма
Тест
Для каждого пункта меню необходимо выполнить несколько тестов с отрицательными числами, неправильными треугольниками и т.д. Примеры таблиц тестов приведены ниже.
Пункт 1 – «Площадь прямоугольника»
a | b | Расчетная площадь | Результат работы программы |
-3 | Некорректный ввод | … | |
… | |||
… | … | … | … |
Пункт 2 – «Площадь треугольника»
a | b | c | Расчетная площадь | Результат работы программы |
-1 | Некорректный ввод | … | ||
Вычисление невозможно | … | |||
… | ||||
… | ||||
… | … | … | … | … |
Пункт 3 – «Площадь круга»
r | Расчетная площадь | Результат работы программы |
-2 | Некорректный ввод | … |
314.1592653 | … | |
… | … | … |
Лабораторная работа №4. Процедуры и функции
Постановка задачи
Тест
Сначала необходимо отладить программу на функциях, для которых известна первообразная. В таблице тестов привести приближенные и точные значения интегралов, выдаваемых программой. Они должны совпадать с точностью до выбранной погрешности результата. Пример таблицы тестов приведен далее.
Функция | a | b | Приближенное значение интеграла | Точное значение интеграла |
x sinx | 0.301168±0.000001 | 0.3011686789 | ||
x sinx | 1.741591±0.000001 | 1.7415910999 | ||
x sinx | 1.369507±0.000001 | 1.3695063979 | ||
x sinx | 3.111098±0.000001 | 3.1110974979 | ||
cos2 x | 0.727325±0.000001 | 0.7273243567 | ||
cos2 x | 0.810799±0.000001 | 0.8107993762 | ||
cos2 x | 0.619347±0.000001 | 0.6193467493 | ||
cos2 x | 1.430146±0.000001 | 1.4301461255 | ||
sin x/x | 0.659330±0.000001 | – | ||
sin x/x | 0.243239±0.000001 | – | ||
sin x/x | 0.902570±0.000001 | – | ||
ex2 | 1.462652±0.000001 | – | ||
ex2 | 14.989976±0.000001 | – | ||
ex2 | 16.452628±0.000001 | – |
Для функций с неизвестными первообразными произвести расчет интеграла для интервалов, приведенных таблице.
Лабораторная работа №5. Работа с файлами и алгоритмы сортировки
Тест
Исходный файл со списком работников и информацией о заработной плате Workers.txt: | Петров 15 6300 Иванов 24 5600 Сидоров 19 4350 Николаев 15 4800 Малышев 21 4350 Соколов 12 7800 |
Расчет зарплаты и выгрузка файла «Pay.txt»:
+---------------------------+---+----------+----------+
| Фамилия |Дни| Оклад | Зарплата |
+---------------------------+---+----------+----------+
|Петров | 15| 6300.00| 3937.50|
|Иванов | 24| 5600.00| 5600.00|
|Сидоров | 19| 4350.00| 3443.75|
|Николаев | 15| 4800.00| 3000.00|
|Малышев | 21| 4350.00| 3806.25|
|Соколов | 12| 7800.00| 3900.00|
+---------------------------+---+----------+----------+
|Итого | 23687.50|
+------------------------------------------+----------+
Зарплата рассчитана корректно.
Сортировка списка по алфавиту и выгрузка файла «ByName.txt»:
+---------------------------+---+----------+----------+
| Фамилия |Дни| Оклад | Зарплата |
+---------------------------+---+----------+----------+
|Иванов | 24| 5600.00| 5600.00|
|Малышев | 21| 4350.00| 3806.25|
|Николаев | 15| 4800.00| 3000.00|
|Петров | 15| 6300.00| 3937.50|
|Сидоров | 19| 4350.00| 3443.75|
|Соколов | 12| 7800.00| 3900.00|
+---------------------------+---+----------+----------+
|Итого | 23687.50|
+------------------------------------------+----------+
Сортировка выполнена корректно.
Сортировка списка по зарплате и выгрузка файла «ByPay.txt»:
+---------------------------+---+----------+----------+
| Фамилия |Дни| Оклад | Зарплата |
+---------------------------+---+----------+----------+
|Николаев | 15| 4800.00| 3000.00|
|Сидоров | 19| 4350.00| 3443.75|
|Малышев | 21| 4350.00| 3806.25|
|Соколов | 12| 7800.00| 3900.00|
|Петров | 15| 6300.00| 3937.50|
|Иванов | 24| 5600.00| 5600.00|
+---------------------------+---+----------+----------+
|Итого | 23687.50|
+------------------------------------------+----------+
Сортировка выполнена корректно.
Проверка алгоритма сортировки для списков с различным количеством элементов:
Количество элементов в списке | Количество сравнений при сортировке по имени | Количество сравнений при сортировке по зарплате | Максимальное количество сравнений |
По графику зависимости количества произведенных при сортировке сравнений от длины списка виден резкий, похожий на квадратичный, характер возрастания количества сравнений, что как раз является характерным для применяемого в работе алгоритма пузырьковой сортировки, имеющего оценку O(n2).
Лабораторная работа №6. Визуальное программирование
Основная форма программы
Основные свойства формы
Name = 'MainForm'
Caption = 'Лабораторная работа №6'
– Конец работы –
Используемые теги: Программирование, языке, Паскаль0.058
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Программирование на языке Паскаль
Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов