
- •Лабораторная работа № 2
- •Освоение технологии структурного программирования
- •При разработке и создании программы на языке Турбо Паскаль
- •Для ветвящегося вычислительного процесса
- •Теоретические сведения
- •1. Условие задачи:
- •9. Для защиты лабораторной работы:
- •Литература
- •Задания к лабораторной работе № 2
- •Министерство образования и науки, молодежи и спорта Украины
Министерство образования и науки, молодежи и спорта Украины
Национальный горный университет
Институт электроэнергетики
Факультет информационных технологий
Кафедра ПЗКС
Лабораторная работа № 2
Освоение технологии структурного программирования
при разработке и создании программы на языке Турбо Паскаль
для ветвящегося вычислительного процесса
по дисциплине
“Основы программирования и алгоритмические языки”
ВЫПОЛНИЛ:
студент группы КНит-12-1
Иванов И.И.
ПРОВЕРИЛ:
ассистент кафедры ПЗКС
Шевцова О.С.
Днепропетровск
2012
1. Условие задачи:
Даны
два вектора
(x1,y1)и
(x2,y2).
Вычислить длины этих векторов и
определить, во сколько раз вектор
длиннее
или короче вектора
.
2. Решение задачи в её предметной области:
Длины векторов вычисляются по формулам:
|
(3) |
где
и
проекции вектораa
на оси x
и y
соответственно.
Имеем следующие соотношения:
(a/b) > 1 a длиннее b;
(a/b) = 1 a равно b; (этот случай не рассматриваем)
(a/b) < 1 a короче b.
3. Псевдокод алгоритма программы
Вывести на экран приглашение для ввода x1
Ввести x1
. . .
Вывести на экран приглашение для ввода y2
Ввести y2
Вычислить
длину вектора
Вычислить
длину вектора
Вычислить отношение длины a к b, т.е. a/b = ab
ЕСЛИ ab > 1.0 ТО
Напечатать: «a длиннее b в ab раз»
ИНАЧЕ
Вычислить отношение длины b к a – ab
Напечатать: «a короче b в ab раз»
4. Текст программы с подробными комментариями и отступами:
Program Vectors;
Uses Crt;
Var
a, { длина вектора a }
x1, { координата x вектора a }
y1, { координата y вектора a }
b, { длина вектора b }
x2, { координата x вектора b }
y2, { координата y вектора b }
ab : Real; { отношение длины вектора a к b }
BEGIN
ClrScr; { очищаем экран }
Write('Введите координату x1 вектора a = ');
ReadLn(x1);
Write('Введите координату y1 вектора a = ');
ReadLn(y1);
Write('Введите координату x2 вектора b = ');
ReadLn(x2);
Write('Введите координату y2 вектора b = ');
ReadLn(y2);
a := sqrt(sqr(x1)+ sqr(y1)); { Вычисляем длину вектора a }
b := sqrt(sqr(x2)+ sqr(y2)); { Вычисляем длину вектора b }
ab := a/b; { Вычисляем отношение длины a к b }
if (ab > 1.0) then
WriteLn('a длиннее b в ', ab:4:2, ' раз')
else
begin
ab := b/a; { Вычисляем отношение длины b к a }
WriteLn('a короче b в ', ab:4:2, ' раз')
end;
ReadLn;
END.
5. Результат работы программы (рис. 1)
6. Исследование и тестирование программы (рис. 2, 3)
Тестовый пример для нашей задачи будет включать два варианта:
1. (0,
9) и
(0,
4) – вектор
длиннее
вектора
.
2. (0,
4) и
(0,
9) – вектор
короче
вектора
.