51404

Процедуры и функции пользователя. Рекурсия

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

Информатика, кибернетика и программирование

Напишите рекурсивную процедуру нахождения суммы цифр любого натурального числа. Напишите рекурсивную процедуру нахождения количества четных цифр любого натурального числа. Напишите рекурсивную функцию нахождения суммы первых N членов арифметической прогрессии 1 3 5 7 Напишите рекурсивную процедуру нахождения первых N чисел Фибоначчи.

Русский

2014-02-11

60.5 KB

25 чел.

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

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

Рекурсия

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

Задания по вариантам

Задача 1

Вариант

Вычислить в функции

В основной программе

  1.  

Среднее геометрическое положительных элементов одномерного массива.

Найти наименьшее из средних геометрических значений положительных элементов трех линейных вещественных массивов.

  1.  

Сумму модулей отрицательных элементов заданного столбца прямоугольной матрицы.

Для столбцов матрицы с нечетными номерами найти среднее арифметическое сумм их модулей. Для столбцов с четными номерами - среднее геометрическое сумм их модулей.

  1.  

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

Проанализировать три массива, напечатать имена массивов, в которых наибольший отрицательный элемент расположен ранее наименьшего положительного.

  1.  

Логическое значение {.true, или .false.}, определяющее, можно ли построить треугольник с заданными длинами сторон.

Проанализировать 8 треугольников, длины сторон которых расположены в двумерном массиве (8,3). Если треугольник построить можно, то найти его площадь: в противном случае напечатать сообщение «Треугольник построить нельзя».

  1.  

Разность между средним арифметическим и средним геометрическим элементов одномерного массива.

Найти указанные разности для двух массивов - исходного массива Х(20) и массива У(20), каждый элемент которого определяется по формуле Y[i]=X[i]*X[i]+1.

  1.  

Площадь треугольника по трем его сторонам. Если треугольник построить нельзя - площадь равна 0.

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

  1.  

Количество элементов линейного массива, отличающихся от среднего арифметического менее чем на 1.

Определить, в каком из трех линейных массивов указанное значение максимально.

  1.  

Сумму модулей элементов, расположенных выше главной диагонали матрицы.

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

  1.  

Периметр выпуклого п-угольника по координатам вершин из двумерного массива.

Определить периметры 4-угольника, 5-угольника и 6-угольника. У какой из фигур периметр наибольший.

  1.  

Принадлежит ли точка с координатами (х,у) внутренней области круга радиуса R с координатами центра (x0, y0).

Проанализировать 8 точек с координатами из двумерного массива. Радиус и координаты центра круга ввести. Каких точек больше - внутри или вне?

  1.  

Количество элементов массива, превышающих значение min элемента менее чем на m.

Определить, в каком из трех массивов указанное значение максимально. Напечатать сообщение.

  1.  

Произведение трех min элементов двумерного массива.

Сравнить произведения для трех массивов, по результатам вывести сообщение.

  1.  

Наибольший среди элементов, расположенных ниже главной диагонали квадратной матрицы.

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

Задача 2

Вариант

Условие задачи

  1.  

Напишите рекурсивную процедуру нахождения N-го члена геометрической прогрессии, где x1 = 2, x2 = 6, x3 = 18, …, xn = 3xn – 1.

  1.  

Напишите рекурсивную процедуру нахождения суммы цифр любого натурального числа.

  1.  

Напишите рекурсивную процедуру нахождения количества четных цифр любого натурального числа.

  1.  

Напишите рекурсивную функцию нахождения суммы первых N членов арифметической прогрессии 1, 3, 5, 7, …

  1.  

Напишите рекурсивную процедуру нахождения первых N чисел Фибоначчи. Каждое число Фибоначчи равно сумме двух предыдущих чисел при условии, что первые два равны 1 (1, 1, 2, 3, 5, 8, 13, 21,...).

  1.  

Задано число N. Сложить все цифры числа N, затем все цифры найденной суммы и повторить эти действия до тех пор, пока не получим цифру, называемую цифровым корнем числа. Напишите рекурсивную подпрограмму вычисления цифрового корня числа N.

  1.  

Напишите рекурсивную функцию возведения целого числа a в целую неотрицательную степень n.

  1.  

Напишите рекурсивную процедуру перевода натурального числа из десятичной системы счисления в двоичную.

  1.  

Напишите рекурсивную функцию вычисления наибольшего общего делителя двух целых чисел.

  1.  

Напишите рекурсивную функцию перевода числа из системы счисления с основанием B в 10-ную систему.

  1.  

Напишите рекурсивную функцию нахождения суммы первых N членов арифметической прогрессии 1−1/+13/5−…

  1.  

Факториалом числа n называют произведение чисел от 1 до n (n! = 123n). Напишите рекурсивную функцию вычисления факториала натурального числа.

  1.  

Напишите рекурсивную функцию сложения двух чисел.

  1.  

Напишите рекурсивную процедуру перевода натурального числа из десятичной системы счисления в восьмеричную.

  1.  

Напишите рекурсивную процедуру генерации перестановок чисел от 1 до n.


 

А также другие работы, которые могут Вас заинтересовать

4688. Загальна фізика. Механіка, молекулярна фізика і термодинаміка, електрика 3.84 MB
  Вступ Фізика є основною наукою про природу. Вона вивчає найбільш загальні властивості і форми руху матерії. Одним із видів руху є механічний рух, під яким розуміють зміну положення тіла в просторі з часом. Механіка Галілея-Ньютона вивчає рух макроск...
4689. Физиология микроорганизмов. Химический состав микробов 530 KB
  Физиология микроорганизмов Микроорганизмам, как и всем живым существам, присущи процессы питания, дыхания, роста и размножения. Однако эти процессы у микробов характеризуются своеобразием и рядом особенностей. Микробы занимают особое место среди дру...
4690. Гюстав Флобер (1821-1880) 118.5 KB
  Гюстав Флобер (1821-1880) Біографія. Флобер народився в Руані (Нормандія) 12 грудня 1821 р. в родині лікаря. Дитинство майбутнього письменника минуло, як він сам згадував, поряд з кімнатою, де робились операції. Цей сумний досвід ...
4691. Соціальна психологія. Конспект лекцій 603 KB
  Лекція 1. Загальна характеристика соціальної психології як галузі психологічних знань 1.1 Предмет соціальної психології 1.2 Місце соціальної психології серед інших наук та структура соціальної психології 1.3 Історія розвитку соціальної психології 1....
4692. Социально психологическая генетика. Методы психогенетики и их разрешающая способность 247 KB
  Методы психогенетики и их разрешающая способность Популяционный метод. Примеры популяционных исследований психологических признаков. Генеалогический метод. Основная схема метода, построение родословных. Проблема проведения различий между генетически...
4693. Медицинская генетика. Учебник 174 KB
  Введение Клиническая генетика одна из фундаментальных наук в современной медицине, без знания которой любой врач, независимо от его специальности, не может обойтись. Знание генетики напрямую связано со здоровьем не только нас самих, но и здоровьем н...
4694. Полевая практика по популяционной генетике 6.47 MB
  Изучение закономерностей модификационной изменчивости. Изучение мутационной изменчивости. Цитоплазматическое наследование. Закон гомологических рядов. Центры происхождения растений. Изучение изменчивости седых пятен у клевера. Изучение...
4695. Скарби України. Сценарій уроку 62 KB
  Скарби України. Сформувати уявлення про національну культуру українського народу, познайомити з архітектурними пам’ятками нашої країнирозвивати допитливість виховувати інтерес до історії і культури рідного краю викликати бажання вивчати...
4696. Программная реализация алгоритмов циклической структуры 55.35 KB
  Программная реализация алгоритмов циклической структуры Цель работы -Получение навыков программирования алгоритмов циклической структуры на языке С. -Исследование эффективности применения различных видов циклов в задаче табулирования функци...