Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






ДОПОЛНИТЕЛЬНЫЕ ЗАДАНИЯ. 1. Для каждого столбца прямоугольной матрицы подсчитать сумму входящих в него элементов и определить имеются ли столбцы с одинаковой суммой




1. Для каждого столбца прямоугольной матрицы подсчитать сумму входящих в него элементов и определить имеются ли столбцы с одинаковой суммой. Посчитать количество таких столбцов.

2. В каждом столбце квадратной матрицы определить количество элементов, превышающих значение суммы элементов главной диагонали, после чего обменять местами столбцы с максимальным и минимальным количеством.

3. Дана квадратная вещественная матрица. Определить отдельно количество К1 отрицательных элементов, расположенных выше главной диагонали и количество К2 отрицательных элементов, расположенных ниже этой диагонали.

4. В целочисленной прямоугольной матрице найти элемент равный заданному числу В, отпечатать его индексы и обменять его местами мс минимальным элементом главной диагонали.

5. Среди строк прямоугольной целочисленной матрицы, содержащих только нечетные элементы, найти строку с минимальной суммой входящих в нее элементов.

6. Отрицательные элементы каждого столбца прямоугольной матрицы переместить в начало этого же столбца, сохранив без изменения последовательность расположения остальных элементов.

Практическая работа № 12.

«Программирование с использованием функций и процедур»

Цель: Получение практических навыков алгоритмизации и программирования задач с использованием функций и процедур. Овладение навыками описания подпрограмм, выбора параметров, организации обращения к ним.

Постановка задачи:

1. Составить программу решения задачи в соответствии с заданным условием. Использовать данную функцию или процедуру в качестве фрагмента программы, организовать в программе обращение к ней, указав соответствующие фактические параметры при каждом вызове подпрограммы. Исходные данные выбрать самостоятельно.

2. Составить программу вычисления заданного выражения, используя подпрограмму-функцию.

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

4. Составить программу решения задачи с использованием подпрограммы-процедуры.

ЗАДАНИЯ

Задание №1

Составить программу решения данной задачи в соответствии с номером своего варианта. Использовать данную функцию или процедуру в качестве фрагмента программы, организовать в программе обращение к ней, указав соответствующие фактические параметры при каждом вызове подпрограммы.

Вариант 1.

Составить программу вычисления наименьшего общего кратного двух введённых чисел х, у по формуле , используя процедуру вычисления наибольшего общего делителя этих чисел.

Procedure NOD(a,b:integer; var k:integer);

Begin

While a<>b do

If a>b then a:=a-b else b:=b-a;

k:=a;

End;

Вариант 2.

Составить программу вычисления наименьшего общего кратного двух введённых чисел х, у по формуле , используя функцию вычисления наибольшего общего делителя этих чисел.

Function NOD(a,b:integer):integer;

Begin

While a<>b do

If a>b then a:=a-b else b:=b-a;

NOD:=a;

End;

Вариант 3.

Составить программу вычисления наибольшего общего делителя трёх введённых чисел х, у, z, используя процедуру вычисления наибольшего общего делителя этих чисел.

Procedure NOD(a,b:integer; var k:integer);

Begin

While a<>b do

If a>b then a:=a-b else b:=b-a;

k:=a;

End;

Вариант 4.

Составить программу, которая определяет, являются ли три введённые числа х, у, z взаимно-простыми. Взаимно-простыми называются числа, наибольший общий делитель которых равен 1. Использовать функцию вычисления наибольшего общего делителя этих чисел.

Function NOD(a,b:integer):integer;

Begin

While a<>b do

If a>b then a:=a-b else b:=b-a;

NOD:=a;

End;

Вариант 5.

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

Procedure Step(n:integer; x:real; var y:real);

Var i: integer;

Begin

y:=1;

for i:=1 to n do

y:=y*x;

End;

Вариант 6.

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

Function Fact(n:integer):integer;

 
Var

j,p:integer;

Begin

p:=1;

For j:=1 to n do p:=p*j;

Fact:=p;

End;


Вариант 7.

Составить программу для вычисления выражения , a -действительное, m -целое, используя функцию для возведения действительного числа в целую степень.

 

Function Step(n:integer; x:real:real;

Var i: integer;

y: real;

Begin

y:=1;

for i:=1 to n do

y:=y*x;

Step:=y;

End;

Вариант 8.

Составить программу для вычисления прибыли по вкладу в зависимости от введённого срока (1, 3, 5, m лет), если введена процентная ставка и сумма вклада.

Function dohod(sum, stavka:real; srok:integer):real;

Begin

dohod:=sum*(stavka/100/365)*srok;

End;

Вариант 9.

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

Function Fact(n:integer):integer;

 
Var

j,p:integer;

Begin

p:=1;

For j:=1 to n do p:=p*j;

Fact:=p;

End;

Вариант 10.

Составить программу для вычисления сопротивления в электрической сети. Рассчитать сопротивление в зависимости от типа соединения t (1 - последовательное, 2- параллельное). Если тип соединения указан неверно, в качестве результата функция вернёт значение -1.

Function sopr(r1,r2:real; t:integer):real;

Begin

if t=1 then sopr:=r1+r2 else

if t=2 then sopr:=r1*r2/(r1+r2)

else sopr:=-1;

End;


Вариант 11.

Составить программу для умножения двух обыкновенных дробей вида и , если вводятся числители и знаменатели дробей. Результат представить в виде несократимой дроби. Для сокращения использовать функцию нахождения наибольшего общего делителя.

Function NOD(a,b:integer):integer;

Begin

While a<>b do

If a>b then a:=a-b else b:=b-a;

NOD:=a;

End;

Вариант 12.

Составить программу для суммирования простых чисел из промежутка [m;n]. Использовать функцию, проверяющую является ли число простым.

Function PROST(n:integer):boolean;

Var i: integer;

Begin

i:=1;

Repeat

i:=i+1;

until n mod i=0;

If i=n then PROST:=TRUE

else PROST:=FALSE;

End;

Вариант 13.

Составить программу для определения количества простых чисел из промежутка [1;n]. Использовать функцию, проверяющую является ли число простым.

Function PROST(n:integer):boolean;

Var i: integer;

Begin

i:=1;

Repeat

i:=i+1;

until n mod i=0;

If i=n then PROST:=TRUE

else PROST:=FALSE;

End;


Задание №2

1. Составить программу вычисления данного выражения: , где - функция нахождения наибольшего из двух чисел.

 

2. Составить программу вычисления данного выражения: , где - функция нахождения наименьшего из двух чисел.

 

3. Составить программу вычисления значения выражения:

, используя функцию для вычисления значения .

 

4. Напишите программу вычисления выражения:

, где .

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

 

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

 

6. Составить программу вычисления данного выражения: . Вычисление значения модуля оформить в виде функции .

7. Составьте программу вычисления числа сочетаний из N по М. Число сочетаний определяется по формуле: , где n!=1∙2∙3∙…∙n. Вычисление факториала оформить в виде функции.

 

8. Составить программу нахождения большего из 4 чисел a,b,c,d с использованием функции поиска большего из двух.

 

9. Составить программу нахождения меньшего из 4 чисел x,y,z,t с использованием функции поиска минимального из двух чисел.

 

10. Даны действительные числа s и t. Получить , где . Вычисление величины g(a,b) оформить в виде функции.

 

11. Даны действительные числа s и t. Получить , где . Вычисление величины f(a,b,c) оформить в виде функции.

 

12. Составить программу вычисления данного выражения: , где - функция нахождения максимального из двух чисел.

 

13. Вычислить Z=(sign(x)+sign(y))∙sign(x+y), где -функция определения знака числа, принимающая значение 1, если число а - положительное; -1, если число а- отрицательное; 0 – при а =0.

Задание №3

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

 

2. Составить программу, которая определяет углы треугольника со сторонами а, b, с по известным формулам: .

3. Составить программу, которая вычисляет периметр треугольника, если заданы координаты вершин . Вычисление расстояния между двумя точками оформить в виде функции по известной формуле: .

 

4. Составить программу, которая находит наибольшую сторону треугольника, если заданы координаты вершин . Вычисление расстояния между двумя точками оформить в виде функции по известной формуле: .

 

5. Составить программу, которая находит наименьшую сторону треугольника, если заданы координаты вершин . Вычисление длин сторон треугольника по формуле: оформить в виде функции.

 

6. Составить программу, которая вычисляет наибольшую среднюю линию треугольника с заданными координатами вершин . Вычисление расстояния между двумя точками оформить в виде функции по известной формуле: .

7. Составить программу, которая для четырёхугольника, заданного координатами своих вершин , проверяет, является ли он квадратом. Вычисление длин отрезков оформить в виде функции по известной формуле: .

 

8. Составить программу, которая вычисляет биссектрисы треугольника со сторонами а, b, с по формулам:

9. Составить программу для вычисления , где -объёмы шаров с радиусами . Вычисление объёма шара оформить в виде функции.

 

10. Составить функцию вычисления высот треугольника со сторонами a, b, c по формулам , , , где , , если заданы стороны треугольника a,b,c.

 

11. Составить программу, которая проверяет, является ли четырёхугольник, заданный координатами своих вершин ромбом.

12. Заданы координаты вершин пятиугольника . Составить программу, определяющую периметр пятиугольника. Вычисление длин сторон оформить в виде функции по известной формуле: .

 

13. Составить программу, которая проверяет, сколько существует треугольников с предлагаемыми длинами сторон a, b, c, d, e. Использовать неравенство треугольника.

Задание №4

1. Составить программу, которая проверяет, является ли четырёхугольник, заданный координатами своих вершин параллелограммом, используя процедуру, возвращающую в качестве результата координаты середины отрезка.

 

2. Составить программу вычисления длин диагоналей четырёхугольника, заданного координатами своих вершин , используя процедуру, возвращающую в качестве результата длины двух диагоналей.

 

3. Составить программу вычисления радиусов r, R вписанной и описанной окружностей около равностороннего треугольника со стороной a. Вычисление радиусов оформить в виде подпрограммы-процедуры.

 

4. Напишите программу нахождения углового коэффициента k и коэффициента b в уравнении прямой, заданной уравнением , если известно, что график этого уравнения проходит через точки с координатами ли известно, что график этого уравнения проходит чдуры.

 

5. Составить программу вычисления радиусов r, R вписанной и описанной окружностей около треугольника со сторонами a,b,c. Вычисление радиусов оформить в виде подпрограммы-процедуры.

 

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

 

7. Составить программу вычисления радиусов r, R вписанной и описанной окружностей около правильного многоугольника со стороной a. Вычисление радиусов оформить в виде подпрограммы-процедуры.

 

8. Составить программу нахождения суммы двух комплексных чисел и с использованием подпрограммы-процедуры вычисления .

 

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

 

10. Составить программу упорядочивания последовательности 3 данных чисел a,b,c по возрастанию с использованием подпрограммы-процедуры упорядочивания.

 

11. Составить программу упорядочивания последовательности 3 данных чисел x,y,z по убыванию с использованием подпрограммы-процедуры упорядочивания.

 

12. Отрезок АВ разбит на четыре равные части. Найти координаты точек деления, если . Вычисление координат середины отрезка оформить в виде подпрограммы-процедуры.

 

13. Напишите программу вычисления площади поверхности и длины экватора на основе известного радиуса планет солнечной системы. Форму планет считать шаром. Вычисление площади поверхности и длины экватора оформить в виде подпрограммы-процедуры.

 

Вопросы к лабораторной работе №12

1. Что такое подпрограмма? Для чего используются подпрограммы?

2. В чём отличие между подпрограммами-процедурами и подпрограммами-функциями?

3. Что лежит в основе метода программирования сверху вниз?

4. Каким образом осуществляется обмен данными между основной программой и подпрограммой?

5. Какие параметры подпрограммы называются формальными, а какие – фактическими?

6. Какие два способа передачи параметров вы знаете? В чём их отличие?

7. Что такое область видимости переменной? Какие переменные называются локальными, а какие - глобальными?

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных