Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Модельная задача Пример функции



Рассмотрим пример применения функции подсчета среднего арифметического нескольких чисел.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace Program5._1

{

class Program

{

// Главная функция:

static void Main(string[] args)

{

int number_A = 5, number_B = 3, number_C = 10;

Console.Write("The integer mean " + number_A + " and ");

Console.Write(number_B + " is equal ");

Console.WriteLine(average(number_A, number_B) + ".");

Console.WriteLine();

 

Console.Write("The integer mean " + number_A + ", " + number_B + " and ");

Console.Write(number_C + " is equal ");

Console.WriteLine(average(number_A, number_B, number_C) + ".");

 

// Ожидание ввода произвольного символа перед завершением программы

Console.ReadKey();

}

// Конец главной функции

 

// Функция для вычисления целочисленного среднего значения 3-х целых чисел:

static int average(int first_number, int second_number, int third_number)

{

return ((first_number + second_number + third_number) / 3);

}

// Конец функции

 

//Функция для вычисления целочисленного среднего значения 2-х целых чисел:

static int average(int first_number, int second_number)

{

return ((first_number + second_number) / 2);

}

// Конец функции

}

}

Перегрузка функции

В примере заданы две разные функции с одним и тем же именем average. Такой прием называется перегрузкой. Какую именно функцию применить, компилятор решает по дополнительным признакам. В данном случае это число аргументов функции.

Передача массива в функцию

// Вычисление суммы элементов массива

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace Program5._4

{

class Program

{

static void Main(string[] args)

{

int[] a = new int[] { 3, 5, 7, 9, 11, 13, 15 }; //Присвоение начальных значений

int s = sum(7, a);

Console.WriteLine(s);

Console.ReadKey();

}

 

static int sum (int n, int []a)

{

int s = 0;

for (int i = 0; i < n; i++)

s = s + a[i];

return s;

}

}

}

75. Расстояние между двумя словами равной длины – это количество позиций, в которых различаются эти слова. В заданном предложении найти пару наиболее далеко удаленных слов заданной длины.

Имеется два варианта решения. Можно вычленить и запомнить слова в массиве строк и далее организовать цикл по парам слов с анализом их расстояния.

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

76. Для заданного натурального N определить наименьшее число S, которое можно представить в виде суммы aN + bN по крайней мере двумя различными (a, b - натуральные числа; представления, различающиеся лишь порядком слагаемых, различными не считаются).

Математическая модель

Алгоритм поиска требуемого представления оформим в виде процедуры. Уникальность обеспечим циклом по парам точек.

Псевдокод

Цикл по I от 2 до N

Цикл по парам чисел J, K от 1

Если JN > I/2 То

Выход из цикла по парам

Если есть представление То

Увеличить счетчик представлений

Напечатать

Все Если

Все Если

Все цикл по парам

Если два представления ТО

Выйти из цикла по I

Все Если

Все цикл

77. Найти все простые числа не превосходящие заданного N двоичная запись которых представляет собой симметричную последовательность нулей и единиц (начинающуюся единицей!)

Математическая модель

Количество символов в двоичном представлении числа N определяется неравенством 2l ≤ N ≤ 2l+1. Получить значение j – того слева символа можно по формуле (N \ 2i - j +1) Mod 2, а j – того справа по формуле (N \ 2 j -1) Mod 2. Далее можно применить логику решения задачи 79. Для определения простоты числа применяется функция, реализующая алгоритм решета Эратосфена.

78. Перечислить все натуральные числа, не превосходящие заданного N, в двоичном представлении которых номера ненулевых разрядов образуют арифметическую прогрессию.

79. Среди простых чисел, не превосходящих заданного N, найти такое, в двоичном представлении которого максимальное число единиц.

80. Перечислить все пары «соседних» простых чисел, не превосходящих N, троичные представления которых получаются друг из друга записью цифр в обратном порядке (первая такая пара – это 5 и 7).

81. Задано множество точек в трехмерном пространстве. Найти минимум радиусов шаров с центрами в этих точках, содержащихся ровно n точек этого множества.

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

83. Определить, является ли периодической последовательностью двоичная запись заданного натурального числа N, то есть имеет ли она вид aa…a, где a – некоторая непустая последовательность.

84. Многоугольник (не обязательно выпуклый) задан на плоскости перечислением координат вершин в порядке обхода его границы. Определить площадь многоугольника.

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

85. Дано 3n точек на плоскости, причем никакие три из них не лежат на одной прямой. Построить множество n треугольников с вершинами в этих точках так, чтобы никакие два треугольника не пересекались и не содержали друг друга.

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

86. На плоскости задано множество окружностей. Две окружности A и B назовем связанными, если они пересекаются, либо существует третья окружность C заданного множества, связанная с A и B. Выбрать максимальное подмножество попарно не связанных друг с другом окружностей.

Построить функцию, определяющую связность окружностей.

В задачах 91:94 «Серия» означает последовательность одинаковых символов, например «аааа», «?????» …

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

88. Характеристикой слова назовем длину содержащейся в нем максимальной серии. Упорядочить слова заданного предложения в соответствии с ростом их характеристик.

89. Отредактировать заданное предложение, удаляя из него слова-серии, a также те слова, которые уже встречались в предложении раньше.

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

Векторы и матрицы

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.