- •Практикум на эвм Задачи для с#
- •Часть 1
- •Введение
- •Первая программа
- •Справка по c#
- •Основные типы данных
- •Простые типы данных
- •Модельная задача Операторы ввода, цикла. Вложение структур
- •Структура псевдокода
- •Реализация управляющих структур
- •Модельная задача Целые числа. Операторы for, while, if
- •Массивы
- •Модельная задача Задание массивов. Машинный ноль
- •Модельная задача Вложение управляющих структур
- •Процедуры и функции
- •Модельная задача Пример функции
- •Перегрузка функции
- •Передача массива в функцию
- •Векторы и матрицы
- •Модельная задача многомерные массивы, ввод из файла
- •Обработка символьной информации
- •Решение Найти самое длинное симметричное слово заданного предложения
- •Рекурсия
- •Решение Вычисление факториала целого положительного числа
- •Решение Рекурсивные функции. Работа со строками.
- •Решение Построить синтаксический анализатор для понятия скобки.
- •Форма отчета по лабораторной работе
- •Варианты для лабораторных работ
-
Рекурсия
-
Решение Вычисление факториала целого положительного числа
-
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Program8._1
{
class Program
{
// Начало определения главной функции
static void Main(string[] args)
{
int whole_number;
Console.WriteLine("Введите положительное целое число: ");
whole_number = Convert.ToInt32(Console.ReadLine());
Console.Write("Факториал числа {0} равен ", whole_number);
Console.WriteLine(factorial(whole_number));
Console.ReadKey();
}
// Конец главной функции
// Начало определения функции "factorial"
static int factorial(int number)
{
if (number < 0)
{
Console.WriteLine("\n Ошибка - отрицательный аргумент факториала \n");
return 1;
}
else if (number == 0)
return 1;
return number * factorial(number - 1);
}
// Конец определения функции
}
}
-
Написать рекурсивную функцию для нахождения биномиальных коэффициентов, пользуясь их определением
Cmn =
Вычислить для k = 2, 4, 6, 8.
-
Задано конечное множество имен жителей некоего города, причем для каждого из жителей перечислены имена его детей. Жители X и Y называются родственниками, если а) либо X – ребенок Y, б) либо Y – ребенок X, в) либо существует некий Z такой, что X является родственником Z, а Я является родственником Y. Перечислить все пары жителей города, которые являются родственниками.
-
Подсчитать количество различных представлений заданного натурального n в виде суммы не менее двух попарно различных положительных слагаемых. Представления, отличающиеся лишь порядком слагаемых, различными не считаются.
-
Напечатать поле для игры в шахматы, в котором черные поля изображаются квадратами, заполненными 5 × 5 = 25 звездочками (символами ’*’).
-
Вычислить определить заданной матрицы, пользуясь формулой разложения по первой строке: detA = , где матрица Bk получается из A вычеркиванием первой строки и k – го столбца.
-
Напишите две функции вычисления i – го числа Фибоначчи – рекурсивную и нерекурсивную – и напечатайте таблицу для сравнения времен вычисления i – го числа Фибоначчи для i = 4, 6, 8, 10, 12 с помощью этих функций. Используйте для этого контроль времени при выводе результатов на экран.
-
Функция f(n) определена для целых положительных чисел следующим образом:
f(n) = Вычислить f(k) для k = 15, 16, …, 30.
-
Для заданного целого N вычислить значение суммы с помощью рекурсивной функции.
-
Функция A преобразования текста определяется следующим образом Ф(α) = Реализовать функцию Ф с помощью рекурсивной процедуры.
-
Функция Ф преобразования вектора целых k определяется следующим образом:
Ф(α) = Отметим, что функция Ф преобразует вектор, не меняя его длину. Реализовать функцию Ф с помощью рекурсивной процедуры. Пример: Ф(1, 2, 3, 4, 5, 6, 7) = 1, 2, 3, 4, 5, 6, 7.