Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodichka_po_C_NEW.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
688.13 Кб
Скачать

Дополнительные задачи

  1. В некотором году (назовём его условно первым) на участке в 100 гектаров средняя урожайность ячменя составила 20 центнеров с гектара. После этого каждый год площадь участка увеличивалась на 5%, а средняя урожайность – на 2%. Определить:

    1. в каком году урожайность превысит 22 центнера с гектара;

    2. в каком году площадь участка станет больше 120 гектаров;

    3. в каком году общий урожай, собранный за всё время, начиная с первого года, превысит 800 центнеров.

  2. В некоторой стране используются денежные купюры достоинством в 1, 2, 4, 8, 16, 32 и 64. Дано натуральное число n. Как наименьшим количеством таких денежных купюр можно выплатить сумму n (указать количество каждой из используемых для выплаты купюр)? Предполагается, что имеется достаточно большое количество купюр всех достоинств.

  3. Дано натуральное число. Определить номер цифры 3 в нём, считая от конца числа. Если такой цифры нет, ответом должно быть число 0, если таких цифр в числе несколько – должен быть определён номер самой первой из них.

  4. Дано натуральное число. Определить сумму m его последних цифр.

  5. Определить:

    1. является ли заданное число степенью числа 3;

    2. является ли заданное число степенью числа 5.

  6. Дано натуральное число. Определить:

    1. две его максимальные цифры;

    2. две его минимальные цифры.

  7. Известна масса каждого груза, загружаемого в автомобиль. Выяснить, не превысила ли общая масса всех грузов грузоподъёмность автомобиля.

Массивы

Вставить другую информацию или дополнить из лекций - ?

В C Sharp имеется три основных типа массивов: одномерные, многомерные и неровные(jagged):

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

int[] array = new int[10];

int[] array = {1, 2, 3, 4, 5};

Доступ к элементам производится с помощью оператора []:

int element = array[0];

Элементы нумеруются индексами от 0 до N - 1, где N - размер массива.

Многомерные массивы представляют собой многомерные кубы значений. Элементы таких массивов идентифицируются набором индексов - "координат" в многомерном пространстве. Каждое измерение имеет свою размерность, не зависящую от других.

При декларации размерность указывается через запятую:

int[,] array = new int[10, 20, 30];

int[,] array = {{1, 2}, {3, 4}};

Доступ к элементам производится с помощью оператора [], в котором индексы также указываются через запятую:

int element = array[0, 1, 2];

Элементы нумеруются наборами индексов, каждый из которых может принимать значение от 0 до N - 1, где N - размер соответствующего измерения массива.

Неровные (jagged) массивы - это, можно сказать, массивы массивов. Формы декларации и доступа:

int array[][] = new int[2];

array[0] = new int[4];

array[1] = new int[20];

int element = array[0][1];

Неровные массивы похожи на многомерные, но их размеры могут различаться даже в одном измерении. В приведенном примере существует элемент array[1][15], но не существует элемента array[0][15].

Одномерные массивы Пример

static void Main(string[] args)

{

//Заполнить массив из восьми элементов следующими значениями: первый элемент массива равен 37, второй – 0, третий – 50, четвёртый – 46, пятый – 34, шестой – 46, седьмой – 0, восьмой – 13.

int[] arrInt = new int[8]; //Объявление массива

arrInt[0] = 37;//Занесение данных в элементы массива

arrInt[1] = 0;

arrInt[2] = 50;

arrInt[3] = 46;

arrInt[4] = 34;

arrInt[5] = 46;

arrInt[6] = 0;

arrInt[7] = 13;

for (int i=0; i<8; i++)    //Печать массива

Console.WriteLine("{0} элемент массива = {1}  ", i,arrInt[i]);

Console.ReadLine();

}

static void Main()

{

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

int[] arrInt = new int[10]; //Объявление массива

for (int i=0; i<10; i++)    //Цикл заполнения массива

{

Console.Write("Введите {0} элемент массива: ", i);

arrInt[i]=int.Parse(Console.ReadLine());

}

for (int i=0; i<10; i++)    //Печать массива

Console.WriteLine("{0} элемент массива = {1}  ", i,arrInt[i]);

Console.ReadLine();

}

static void Main()

{

//Заполнить массив из пятнадцати элементов случайным образом вещественными значениями, лежащими в диапазоне от 0 до 1.

float[] arrInt = new float[15]; //Объявление массива

for (int i=0; i<15; i++)    //Цикл заполнения массива

{

Console.Write("Введите {0} элемент массива: ", i);

arrInt[i]=float.Parse(Console.ReadLine());

}

for (int i=0; i<10; i++)    //Печать массива

Console.WriteLine("{0} элемент массива = {1}  ", i,arrInt[i]);

Console.ReadLine();

}

static void Main()

{

//Массив предназначен для хранения значений ростов двенадцати человек. С помощью датчика случайных чисел заполнить массив целыми значениями, лежащими в диапазоне от 163 до 190 включительно.

int[] arrInt = new int[13]; //Объявление массива

Random rnd = new Random();  //Генератор случайных чисел

for (int i=1; i<13; i++)    //Цикл заполнения массива

arrInt[i] = rnd.Next(28) + 163;

for (int i=1; i<13; i++)    //Печать массива

Console.WriteLine("Рост {0} человека = {1}  ", i,arrInt[i]);

Console.ReadLine();

}

static void Main()

{

//Составить программу вывода на экран любого элемента массива.

int[] arrInt = new int[10]; //Объявление массива

Random rnd = new Random();  //Генератор случайных чисел

int vivod;

for (int i=0; i<10; i++)    //Цикл заполнения и печати массива

{

arrInt[i] = rnd.Next(10);

Console.Write("{0} ", arrInt[i]);

}

Console.WriteLine();

//Запрос номера элемента массива

Console.Write("Введите номер элемента массива: ");

vivod=int.Parse(Console.ReadLine());

for (int i=0; i<10; i++)    //Вывод требуемого элемента

if (i == vivod) Console.WriteLine("{0} элемент массива = {1}  ", i,arrInt[i]);

Console.ReadLine();

}

static void Main()

{

//Вывести элементы массива на экран в обратном порядке.

int[] arrInt = new int[10]; //Объявление массива

Random rnd = new Random();  //Генератор случайных чисел

for (int i=0; i<10; i++)    //Цикл заполнения и печати массива

{

arrInt[i] = rnd.Next(10);

Console.Write("{0} ", arrInt[i]);

}

Console.WriteLine();

for (int i=9; i>-1; i--)    //Печать массива в обратном порядке

Console.Write("{0} ", arrInt[i]);

Console.ReadLine();

}