ТОР 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; 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; 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. Что такое область видимости переменной? Какие переменные называются локальными, а какие - глобальными?
Не нашли, что искали? Воспользуйтесь поиском:
|