Материал: Разработка консольных приложений в Visual Studio .NET. практикум. Ганцева Е.А

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

2. Составить программу вычисления (n>=3, задано):

3. Даны действительные числа . Составить программу вычисления суммы с точностью и ее последнего слагаемого: .

Вариант 21

1. Для целых чисел в диапазоне от n до N вывести числа Армстронга. Число Армстронга - это число из K разрядов, которое равно сумме K-х степеней своих разрядных цифр, например: 153=13 +53 +33.

2. Составить программу вычисления произведения N сомножителей для заданного x:

3. Даны действительные числа . Составить программу вычисления суммы с точностью и ее последнего слагаемого: .

Вариант 22

1. Ввести число, содержащее нечетное количество цифр. Из введенного числа сформировать число удалением средних цифр и вывести результат.

2. Заданы действительные q, r, b, c, d, натуральное N (N>=2). Пусть Составить программу вычисления x с номером N.

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

Вариант 23

1. Среди последовательности вводимых натуральных чисел определить количество чисел содержащих цифру N. Количество вводимых чисел заранее не известно.

2. Для натурального n и действительного x составить программу вычисления

3. Даны действительные числа . Последовательность чисел образована по закону: Составить программу вычисления , где k – наименьшее целое число, удовлетворяющее двум условиям

Вариант 24

1. Дана последовательность из N натуральных чисел. Определить, сколько раз в числах этой последовательности встречалась каждая из цифр. Числа последовательно вводятся в одну переменную.

2. Составить программу вычисления суммы N элементов, образованных по закону:

Действительные а и х заданы.

3. Даны действительные числа . Составить программу вычисления суммы с точностью и номера ее последнего слагаемого: .

Вариант 25

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

2. Задано натуральное n. Составить программу вычисления , если:

3. Даны действительные числа . Последовательность чисел образована по закону: Составить программу вычисления , где k – наименьшее целое число, удовлетворяющее двум условиям:

Вариант 26

1. Последовательно вводятся двоичные цифры числа. Вывести это число в восьмеричном формате.

2. Задано натуральное n. Составить программу вычисления

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

Вариант 27

1. Для всех N-значных чисел вывести те, цифры которых стоят в натуральном ряду через одного. Подсчитать количество этих чисел.

2. Задано натуральное N. Составить программу вычисления

3. Даны действительные числа . Последовательность чисел образована по закону: Составить программу вычисления , где k – наименьшее целое число, удовлетворяющее двум условиям: Определить значение k.

Вариант 28

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

2. Для заданного N составить программу вычисления .

3. Даны действительные числа . Последовательность чисел образована по следующему закону: Составить программу нахождения первого члена последовательности, для которого выполнено условие (ограничиться рассмотрением первых членов). Определить номер этого члена последовательности.

Вариант 29

1. Для каждого числа n, вводимого с клавиатуры переставить первую и последнюю цифры и выдать его на печать.

2. Для заданного N составить программу вычисления .

Примеры решения задач

Проверить, является ли двоичная запись натурального числа N палиндромом. N задано, и не должно превосходить 100. Палиндром - число, которое имеет одинаковое чтение слева направо и справа налево.

static int Main(string[] args)

{

int numb, kRazr, work;

bool flag=false;

Console.WriteLine("Введите натуральное число до 100");

numb= Convert.ToInt32(Console.ReadLine());

if (numb>100) return 0;

// посчитаем, сколько двоичных разрядов в числе

work=numb; kRazr=0;

while (work>0)

{ work>>=1; kRazr++; }

Console.WriteLine("Двоичных разрядов {0}",kRazr);

if ((numb&1)==0)

{ Console.WriteLine("Не палиндром"); return 0; }

for (int i=0; i<kRazr/2; i++)

{

// младший разряд (numb>>i)&1

// Старший разряд (numb>>(kRazr-i-1))&1

if (((numb>>i)&1)!=((numb>>(kRazr-i-1))&1))

{ flag=false; break; }

flag=true;

}

if (flag) Console.WriteLine("Палиндром");

else Console.WriteLine("Не палиндром");

return 0;

}

Среди последовательности вводимых натуральных чисел определить количество чисел содержащих цифру N. Количество вводимых чисел заранее не известно.

namespace ConsoleApplication3

{

class Class1

{

// процедура подсчета необходимых цифр

static int schet(int zifra,int N){

int k=0;

while (zifra>10){

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

double ost=zifra%10;

if (ost==N)

{

k=k+1;

break;

}

zifra=zifra/10;

}

if (zifra==N)

{ k=k+1; }

return k;

}

static void Main(string[] args)

{

Console.WriteLine("Какую цифру будем искать? ");

int N=Convert.ToInt32(Console.ReadLine());

Console.WriteLine("Вводите числа, выход - 0");

int rez=0;

int zifra;

bool usl_vix=true;

// числа вводятся пока пользователь не введет 0

while (usl_vix){

zifra=Convert.ToInt32(Console.ReadLine());

if (zifra!=0)

{

rez=rez+schet(zifra,N);}

else { usl_vix=false; }

}

Console.WriteLine(" Чисел, содержащих цифру = {0} равно = {1}",N,rez);

}

}

}

Контрольная работа № 3 техника работы с массивами. Процедуры и функции

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

Теоретические сведения

Массив представляет собой список индексированных переменных. Доступ к конкретному элементу осуществляется по индексу

<имяМассива>[<индекс>]

Индекс – целое число, начинается с 0.

Определяются массивы так:

<базовыйТип> [ ] <имя>;

Базовый тип может быть произвольным, в том числе перечислимым или структурой.

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

1) задать его содержимое в литеральной форме;

2) указать размер массива и использовать для инициализации всех его элементов ключевое слово new.

Рассмотрим 1-й способ:

int [] myArr = {1, 4, 7, 99 };

Получили описание массива из 4 целых элементов со значениями, перечисленными в {}.

Объявление массива 2-м способом:

int [] myArr = new int[4];

Описали массив из 4-х целых элементов. По умолчанию элементы обнуляются.

Важное различие между массивами С++ и С# заключается в том, что в С# элементам массива автоматически присваиваются значения по умолчанию в зависимости от их типа. Например, для целочисленных элементов – 0, для объектов – null.

3. Даны действительные числа . Составить программу вычисления суммы с точностью и ее последнего слагаемого: .

Вариант 30

1. Для каждого числа n, вводимого с клавиатуры добавить цифру N (N = 0, 1, 2, 3, 4, 5, 6,7, 8, 9) к первой цифре этого числа. Например, если добавить 2 к первой цифре числа 49, то получим 69; 92112.

2. Для заданного n составить программу вычисления суммы , если:

3. Даны действительные числа . Составить программу вычисления суммы с точностью и определить величину последнего учтенного слагаемого.

Вариант 31

1. Вывести на экран все “совершенные” целые числа из интервала от n до N. “Совершенным” называется натуральное число, равное сумме всех своих делителей (исключая само число). Пример “совершенного” числа 28 = 1 + 2 + 4 + 7 + 14.

2. Составить программу вычисления произведения n сомножителей для заданного действительного числа х: .

3. Дано действительное число х. Последовательность чисел образована по закону: Составить программу, которая находит первое отрицательное слагаемое этой последовательности и определяет его номер в этой последовательности.

По желанию можно использовать оба способа

int [] myArr = new int[4] {1, 4, 7, 99 };

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

int [] myArr;

myArr = new int[4];

string[] firstName = new string[5];

firstName[0]=”Федя”;

firstName[1]=”Вася”;

firstName[2]=”Дима”;

firstName[3]=”Татьяна”;

firstName[4]=”Света”;

Если размерность массива задается с помощью переменной, то она должна объявляться со словом const.

Цикл foreach позволяет обращаться ко всем элементам массива очень просто:

foreach( <базовыйТип> <имя> in <массив>)

{

// можно использовать для доступа к очередному элементу

}

Например:

string[] myStrings = {"AAA","bbb","CCCC","dd"};

foreach( string s in myStrings)

{

Console.WriteLine(s);

}

Рис. 13. Результаты работы цикла foreach

Помимо простых массивов (одномерных) в C# имеется еще 2 основных типа массивов: многомерные и ломаные (jagged).

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

Объявление и заполнение такого массива производится так:

1) double [,] matr = { {1,2,3}, {2,3,4}, {3,4,5} };

2) double [,] matr = new double [3,3] { {1,2,3}, {2,3,4}, {3,4,5} };

3) int [,] myMatrix;

myMatrix = new int[6,6];

for (int i=0; i<myMatrix.Length/6; i++)

{

for (int j=0; j<myMatrix.Length/6; j++)

{

myMatrix[i,j]=i*j;

Console.Write(myMatrix[i,j]+"\t");

}

Console.WriteLine();

}

Рис. 14. Вывод матрицы

Ломаный (или неровный, или ступенчатый) многомерный массив содержит в качестве своих внутренних элементов некоторое число внутренних массивов, каждый из которых может иметь свой внутренний уникальный размер. Например:

int [][] div1To10= { new int[] {1},

new int[] {1,2},

new int[] {1,3},

new int[] {1,2,4},

new int[] {1,5},

new int[] {1,2,3,6},

new int[] {1,7},

new int[] {1,2,4,8},

new int[] {1,3,9},

new int[] {1,2,5,10}};

// теперь пройтись по каждому элементу ломаного массива можно так

foreach( int[] divOfInt in div1To10)

{

foreach(int i in divOfInt)

{

Console.Write(i+" ");

}

Console.WriteLine();

}

Рис. 15. Вывод ломаного массива

int [][] myJagArray = new int[5][];

Источник: https://studfile.net/preview/16562901/