Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МЕТОДИЧЕСКИЕ УКАЗАНИЯ ЛабРаб ОП та АМ_2.doc
Скачиваний:
3
Добавлен:
09.11.2019
Размер:
299.01 Кб
Скачать

Освоение технологии структурного программирования при разработке и создании программы на языке Турбо Паскаль для ветвящегося вычислительного процесса

по дисциплине

“Основы программирования и алгоритмические языки”

ВЫПОЛНИЛ:

студент группы КС-06-1

Иванов И.И.

ПРОВЕРИЛ:

ассистент кафедры ПЗКС

Шевцова О.С.

Днепропетровск

2006

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 – 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) – вектор короче вектора .

15