II. Использование пользовательской подпрограммы-процедуры 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

II. Использование пользовательской подпрограммы-процедуры



Процедуры используются в тех случаях, когда необходимо в подпрограмме получить несколько результатов. Описание процедуры включает в себя заголовок процедуры, разделы описаний, тело процедуры. В заголовке после ключевого слова Procedure указывается имя процедуры, в скобках – список формальных параметров со своими описаниями, причем перед выходными параметрами должен стоять описатель var. Обращение к процедуре осуществляется оператором процедуры, в котором записываются имя процедуры и ее фактические параметры.

 

  Задание. Составить программу для вычисления полярных координат    по прямоугольным координатам (x, y), x >0.

Перевод координат из прямоугольных в полярные оформить в виде процедуры Polar.

Набрать и отладить программу для перевода координат n точек.

 

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

1. Программа:

Program PrPol;

Uses crt;

Var xi,yi,ri,fi:Real;

   n,i:Integer;

Procedure Polar(x,y:Real;Var r,f:Real); {Заголовок подпрограммы-процедуры}

Begin                                     {Начало тела подпрограммы-процедуры}

       r:=Sqrt(x*x+y*y)                              

f:=Arctan(y/x);

End;                                 {Конец тела подпрограммы-процедуры}

Begin

Clrscr;

Writeln (‘Введите количество точек’);

Readln(n);

For i:=1 To n Do

Begin

      Writeln (‘Введите координаты x и y ’, i:3,’-й точки’);

                   Readln (xi, yi);

  Polar (xi, yi, ri, fi); {Обращение к процедуре Polar}

                   Write(ri:8:2,fi:8:2);

                   Writeln

End;

        End.

2. Наберите, откомпилируйте и исправьте возможные ошибки. Проведите расчеты для конкретных значений исходных данных. Для тестирования возьмите данные, для которых результат очевиден, например, x =2, y =0.

Задания для самостоятельной работы

Составить программу на языке Паскаль, отладить и провести расчеты.

 

Вариант 1.1. Вычислить yi = tan(x) для x, изменяющегося на интервале [0÷ ] c шагом . Вычисление tan(x) оформить в виде подпрограммы-функции с именем tan.

Вариант 1.2. Вычислить zi = xy для y = , x изменяется на интервале [1÷10] с шагом 0.2. Вычисление xy оформить в виде подпрограммы-функции с именем X _ Y.

Вариант 1.3. Вычислить ti = lg(x)для x, изменяющегося на интервале [1÷100] с шагом 5. Вычисление lg(x) оформить в виде подпрограммы-функции с именем lg.

Вариант 1.4.  Заданы два одномерных массива X и Y с количеством элементов у обоих равным 20.Сформировать массив Z, элементами которого являются максимальные элементы массивов X и Y, т.е.: Zi =MAX(Xi, Yi). Нахождение максимума из двух чисел оформить в виде подпрограммы-функции с именем MAX.

Вариант 1.5. Составить программу для определения числа размещений . Вычисление факториала оформить в виде рекурсивной подпрограммы- функции.

Вариант 2.1. Заданы два одномерных массива A и B с количеством элементов у обоих, равным 15. Найти максимальный и минимальный элементы в каждом массиве. Нахождение максимума и минимума одномерного массива оформить в виде подпрограммы-процедуры с именем MAX _ MIN.

Вариант 2.2. Заданы два одномерных массива U и V с количеством элементов у обоих равным 10. Найти минимальный элемент и его номер в каждом массиве. Нахождение минимума и его номера в одномерном массиве оформить в виде подпрограммы-процедуры с именем MIN _ N.

Вариант 2.3. Написать подпрограмму-процедуру ввода построчно матрицы размером M×N и использовать ее для ввода матриц A размером 3×3 и B размером 4×2.­­

 

Вариант 2.4. Написать подпрограмму-процедуру вывода построчно матрицы размером M×N и использовать ее для вывода матриц C размером 2×5 и D размером 2×2.

Вариант 2.5. Дана матрица A размером 2×3. Сформировать вектор B, составленный из элементов главной диагонали матрицы A. Алгоритм получения вектора оформить в виде подпрограммы процедуры.

 

 

Лабораторная работа № 6



Поделиться:


Последнее изменение этой страницы: 2021-11-27; просмотров: 43; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.69.255 (0.006 с.)