- •Программирование Методические указания по выполнению лабораторных работ (для студентов заочной формы обучения, обучающихся по направлению «Информатика и вт»)
- •Оглавление
- •1. Программа дисциплины
- •Требования к уровню освоения содержания дисциплины
- •Перечень лабораторных работ Таблица 2
- •Рекомендуемая литература
- •2. Методика выполнения лабораторных работ и задания к ним
- •2.1. Лабораторная работа 1. Разветвляющийся вычислительный процесс
- •2.1.1. Пример выполнения лабораторной работы
- •Р ис. 1. Блок-схема алгоритма
- •2.1.2. Варианты заданий к лабораторной работе
- •2.1.3. Контрольные вопросы и задания
- •2.2. Лабораторная работа 2. Циклический вычислительный процесс
- •2.2.1. Теоретические сведения, необходимые для выполнения работы
- •2.2.2 Варианты заданий к лабораторной работе
- •2.2.3. Контрольные вопросы и задания
- •2.3. Лабораторная работа 3. Работа с массивами и матрицами
- •2.3.1. Теоретические сведения, необходимые для выполнения работы
- •Объявление массива в Паскале.
- •Примеры работы с одномерными массивами
- •Работа с матрицами
- •2.3.2. Варианты заданий к лабораторной работе Задания на «Одномерные массивы»
- •Задания на «Матрицы»
- •2.3.3. Контрольные вопросы и задания
- •2.4. Лабораторная работа 4. Обработка текстовой информации
- •2.4.1. Теоретические сведения, необходимые для выполнения работы Тип данных String
- •Сравнение строк
- •Стандартные процедуры и функции для обработки строк
- •2.4.2. Задания к лабораторной работе Общая постановка задачи для всех вариантов
- •Индивидуальные задания на строки
- •2.4.3. Контрольные вопросы и задания
- •2.5. Лабораторная работа 5. Использование процедур и функций
- •2.5.1. Теоретические сведения, необходимые для выполнения работы Модульное программирование
- •Нисходящее проектирование
- •Общая структура подпрограммы
- •Процедуры и функции
- •Локальные и глобальные определения данных
- •Параметры подпрограмм
- •Программирование и отладка модульных программ
- •Пример применения модульного программирования
- •2.5.2. Задания к лабораторной работе
- •Индивидуальные задания на процедуры и функции
- •2.5.3. Контрольные вопросы и задания
- •Библиографический список
- •Приложение 1
- •Отчет о лабораторной работе № ___ (вариант №__)
- •«Программирование»
- •Иркутск 20__
2. Методика выполнения лабораторных работ и задания к ним
2.1. Лабораторная работа 1. Разветвляющийся вычислительный процесс
Цель работы – приобретение навыков:
проектирования разветвляющихся алгоритмов;
применения операторов, реализующих развилку (if, case);
отладки и тестирования программ.
2.1.1. Пример выполнения лабораторной работы
1. Условие задачи
Если три отрезка x, y, z образуют треугольник, то проверить, является ли он прямоугольным и вывести сообщение об этом, в противном случае (треугольник не прямоугольный) найти периметр треугольника и площадь.
Введем следующие обозначения:
Pr – периметр,
S – площадь.
2. Математическая модель
Используем следующие математические положения и формулы:
1. В треугольнике сумма длин двух любых его сторон больше третьей.
2. По теореме Пифагора в прямоугольном треугольнике квадрат гипотенузы равен сумме квадратов катетов.
3. Для вычисления площади треугольника применим формулу Герона:
S = (p (p-x) (p-y) (p-z))1/2, где p – полупериметр.
3. Таблица внешних спецификаций.
Таблица внешних спецификаций (табл. 4) содержит описание входных выходных переменных.
Таблица внешних спецификаций Таблица 4
№ |
Имя |
Назначение |
Тип |
Ед. из. |
ОДЗ |
1 |
x |
Отрезок 1 |
Вещ. |
- |
больше 0 |
2 |
y |
Отрезок 2 |
Вещ. |
- |
больше 0 |
3 |
z |
Отрезок 3 |
Вещ. |
- |
больше 0 |
4 |
Pr |
Периметр |
Вещ. |
- |
больше 0 |
5 |
S |
Площадь |
Вещ. |
- |
больше 0 |
6 |
SOOB1 |
Сообщение |
Вещ. |
- |
2 вида |
7 |
SOOB2 |
Сообщение |
Вещ. |
- |
2 вида |
8 |
SOOB3 |
Сообщение |
Вещ. |
- |
2 вида |
Сообщения:
c1: 'МОЖНО треугольник построить, '
c2: 'Треугольник построить нельзя'
c3: 'он прямоугольный'
c4: 'только не прямоугольный'
c5: ' периметр треугольника ='
c6: ' площадь треугольника ='
4. Проектирование тестов
Данный этап включает построение таблицы тестов (табл. 5).
Таблица тестов Таблица 5
№ теста |
Исходные данные |
Результаты |
Примечания |
|||
N |
x |
y |
z |
S |
Pr |
|
1 |
0 |
0 |
1 |
- |
- |
Построить нельзя |
2 |
2 |
2 |
5 |
- |
- |
Построить нельзя |
3 |
3 |
4 |
5 |
- |
- |
Можно, прямоугольный |
4 |
3 |
3 |
4 |
- |
10 |
Можно, не прямоугольный |
5. Алгоритмизация
Блок-схема алгоритма (рис. 1):
Р ис. 1. Блок-схема алгоритма
6. Кодирование алгоритма или запись алгоритма на языке Паскаль
{ пример выполнения лабораторной работы 1 }
program RVP;
VAR
X,Y,Z : REAL;
S,Pr,p : REAL;
begin
{Ввод данных с клавиатуры}
Write('Введите значения x,y и z > 0 через пробел или через ENTER');
readln (x,y,z);
if (x>0) and (y>0) and (z>0)
and (x+y > z) and (x+z >y) and (y+z >x) Then
begin
writeln('МОЖНО треугольник построить, ');
{ применяем терему Пифагора с учетом приближенности
представления вещественных чисел в машине }
if ABS( X*X- Y*Y - Z*Z )<=0.00001 or
ABS (x*x - y*y - Z*Z)<=0.00001
or ABS(y*y - z*z - x*x)<=0.0001 then
WriteLn ('он прямоугольный')
else
begin
WriteLn ('только не прямоугольный');
Pr:= X + Y + Z;
p:=Pr/2;
WRITELn (' периметр треугольника =', Pr:8:2 );
S:= Sqrt (P* (P-X) * (p- Y) * (p- Z));
WRITELn (' площадь треугольника =', S:8:2 );
end
end
else writeln(' треугольник построить нельзя! ');
readln; {пауза до нажатия Enter}
end.
