Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практические работы Информатикка учебное пособи...doc
Скачиваний:
7
Добавлен:
01.07.2025
Размер:
5 Мб
Скачать
☆

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

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

Program Func;

Uses crt;

Var n,m:Byte; {переменная целого типа без знака от 0 до 255}

cnm:Longint;{переменная целого типа от -2147483648 до +2147483647}

Function Fact(k:Byte):Longint; {Заголовок подпрограммы-функции}

Var p:Longint; i:Byte;

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

If k=0 Then p:=1

Else

Begin p:=1; For i:=2 To k Do p:=p*i End;

Fact:=p

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

Begin

Clrscr;

Writeln(‘Введите n, m’);

Readln(m,n);

cnm:=Fact(n )Div Fact(m) div Fact(n-m);{Обращения к процедуре Fact}

Writeln(‘Число сочетаний = ’,cnm)

End.

  1. Наберите, откомпилируйте и исправьте возможные ошибки. Затем запустите программу на счет. Для n=5 и m=2 должен быть получен следующий результат:

10.

  1. Проведите вычисления для других значений исходных параметров. Найдите предельные значения n и m, для которых программа будет работать (значение факториала должно быть не более 2147483647).

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

Процедуры используются в тех случаях, когда необходимо в подпрограмме получить несколько результатов. Описание процедуры включает в себя заголовок процедуры, разделы описаний, тело процедуры. В заголовке после ключевого слова 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.

  1. Наберите, откомпилируйте и исправьте возможные ошибки. Проведите расчеты для конкретных значений исходных данных. Для тестирования возьмите данные, для которых результат очевиден, например, 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. Алгоритм получения вектора оформить в виде подпрограммы процедуры.