Циклы с постусловием и предусловием
1. Известны оценки по информатике 28 учеников класса. Выяснить, есть ли среди них двойки.
2. Известны данные о мощности двигателя 30 моделей легковых автомобилей. Выяснить, есть ли среди них модель, мощность двигателя которой превышает 200 л.с.
3. Имеется список учащихся класса с указанием роста каждого из них. Выяснить, перечислены ли ученики в списке в порядке убывания их роста.
4. Имеются данные о сумме очков, набранных в чемпионате каждой из футбольных команд. Выяснить, перечислены ли команды в списке в соответствии с занятыми ими местами в чемпионате.
5. С помощью цикла «пока» или цикла «до» написать программу возведения числа A в целую степень N.
6. С помощью цикла «пока» или цикла «до» написать программу вычисления факториала заданного целого числа. Факториал числа N вычисляется по следующей формуле:
7. С помощью цикла «пока» или цикла «до» написать программу вычисления числа Фибоначчи, не превосходящего заранее заданное число N. Числа Фибоначчи вычисляются с помощью следующих соотношений:
для
8. С помощью цикла «пока» или цикла «до» написать программу вычисления суммы S квадратов чисел от 1 до N.
9. С помощью цикла «пока» или цикла «до» написать программу вычисления суммы S квадратов четных и кубов нечетных чисел от 1 до N.
10. Написать программу поиска суммы последовательности чисел, вводимых с клавиатуры, предшествующих первому введенному нулю. Должен многократно выполняться оператор ввода.
11. Написать программу поиска суммы последовательности положительных чисел, вводимых с клавиатуры, предшествующих первому введенному нулю. Должен многократно выполняться оператор ввода.
12. Написать программу поиска суммы последовательности отрицательных чисел, вводимых с клавиатуры, предшествующих первому введенному нулю. Должен многократно выполняться оператор ввода.
13. Написать программу поиска произведения последовательности положительных чисел, вводимых с клавиатуры, предшествующих первому введенному отрицательному числу. Должен многократно выполняться оператор ввода.
14. Написать программу поиска произведения последовательности положительных чисел, вводимых с клавиатуры, предшествующих первому введенному нулю. Должен многократно выполняться оператор ввода.
Дополнительные задачи
1. В некотором году (назовём его условно первым) на участке в 100 гектаров средняя урожайность ячменя составила 20 центнеров с гектара. После этого каждый год площадь участка увеличивалась на 5%, а средняя урожайность – на 2%. Определить:
a. в каком году урожайность превысит 22 центнера с гектара;
b. в каком году площадь участка станет больше 120 гектаров;
c. в каком году общий урожай, собранный за всё время, начиная с первого года, превысит 800 центнеров.
2. В некоторой стране используются денежные купюры достоинством в 1, 2, 4, 8, 16, 32 и 64. Дано натуральное число n. Как наименьшим количеством таких денежных купюр можно выплатить сумму n (указать количество каждой из используемых для выплаты купюр)? Предполагается, что имеется достаточно большое количество купюр всех достоинств.
3. Дано натуральное число. Определить номер цифры 3 в нём, считая от конца числа. Если такой цифры нет, ответом должно быть число 0, если таких цифр в числе несколько – должен быть определён номер самой первой из них.
4. Дано натуральное число. Определить сумму m его последних цифр.
5. Определить:
a. является ли заданное число степенью числа 3;
b. является ли заданное число степенью числа 5.
6. Дано натуральное число. Определить:
a. две его максимальные цифры;
b. две его минимальные цифры.
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();
}
Инициализация массива
1. Заполнить массив из восьми элементов следующими значениями: первый элемент массива равен 37, второй – 0, третий – 50, четвёртый – 46, пятый – 34, шестой – 46, седьмой – 0, восьмой – 13.
2. Заполнить массив из десяти элементов значениями, вводимыми с клавиатуры в ходе выполнения программы.
3. Заполнить массив из пятнадцати элементов случайным образом вещественными значениями, лежащими в диапазоне от 0 до 1.
4. Массив предназначен для хранения значений ростов двенадцати человек. С помощью датчика случайных чисел заполнить массив целыми значениями, лежащими в диапазоне от 163 до 190 включительно.
5. Массив предназначен для хранения значений весов двадцати человек. С помощью датчика случайных чисел заполнить массив целыми значениями, лежащими в диапазоне от 50 до 100 включительно.
6. Составить программу вывода на экран любого элемента массива.
7. Вывести элементы массива на экран в обратном порядке.
Обработка элементов массива
1. Дан массив. Составить программу:
a. Расчёта квадратного корня из любого элемента массива;
b. Расчёта среднего арифметического двух любых элементов массива.
2. В массиве хранятся сведения о количестве осадков, выпавших за каждый день января. Определить общее количество осадков за январь.
3. В массиве хранятся сведения о стоимости 12 различных предметов. Определить общую стоимость всех предметов.
4. В массиве хранятся сведения о количестве осадков, выпавших за каждый день июня. Определить среднее количество осадков, выпавших за каждую декаду этого месяца.
5. Выяснить, верно ли, что сумма элементов массива есть неотрицательное число.
6. Оценки, полученные спортсменом в соревнованиях по фигурному катанию (в баллах), хранятся в массиве из 18 элементов. В первых шести элементах записаны оценки по обязательной программе, в седьмом – двенадцатом – по короткой программе, в остальных – по произвольной программе. Выяснить, по какому виду программы спортсмен показал лучший результат.
7. Дан массив. Напечатать:
a. все неотрицательные элементы;
b. все элементы, не превышающие числа 100;
c. все чётные элементы;
d. все элементы, оканчивающиеся нулём;
e. все элементы, оканчивающиеся цифрой 4 увеличить вдвое;
f. чётные элементы увеличить на a, а из нечётных элементов вычесть b.
Задания на определение суммы и количества элементов одномерного массива, соответствующих определенному условию
8. В одномерном числовом массиве замените все нулевые элементы на единицы.
9. В одномерном числовом массиве посчитайте количество элементов, по модулю меньших заданного числа Т.
10. В одномерном числовом массиве посчитайте количество и сумму четных элементов.
11. В одномерном числовом массиве посчитайте количество и сумму чисел, кратных 3.
12. Посчитать средний рост студента в группе..
13. Распечатать результаты контрольной работы по информатике, то есть посчитать среднюю отметку, количество пятерок, четверок, троек и т.д.
14. Задана температура первой декады месяца. Определить среднюю температуру, количество температур, меньших, больших и равных средней температуре.
15. В одномерном числовом массиве посчитайте количество элементов, оканчивающихся на цифру 5.
16. Информация о температуре и осадках в течение N дней задана в виде двух массивов. Определить сколько осадков выпало в виде дождя и в виде снега, если считать, что дождь идет при температуре > 0 градусов по Цельсию.
17. В массиве записаны результаты N игр футбольной команды. Если игра окончилась выигрышем, то записано число 2, проигрышем - 2, вничью – 1. Определить количество выигрышей, количество проигрышей и количество ничьих данной команды.
18. В одномерном числовом массиве найти число пар соседних элементов, являющихся четными элементами.
19. В одномерном числовом массиве найти число элементов, которые больше своих соседей, то есть предыдущего и последующего элементов.
20. Ртутные термометры могут использоваться для измерения температуры до –39.4 градусов по Цельсию. Используя информацию о минимальной температуре за последние 15 лет а Протвино, определить можно ли поставлять ртутные температуру на продажу.
21. Японская радиокомпания провела опрос 250 радиослушателей по вопросу: «Какое животное вы связываете с Японией и японцами?». Составить программу получения встречающихся ответов и их долей в процентах.
22. Масса каждого из 25 человек хранится в массиве. Людей, имеющих массу более 100 кг, будем условно называть полными (известно, что есть, по меньшей мере, один такой человек). Определить среднюю массу полных людей и среднюю массу остальных людей.
23. Рост 22 учеников группы представлен в виде массива. Рост девушек условно задан отрицательными числами. Определить средний рост юношей и средний рост девушек.
Задания на нахождение максимального и минимального элемента в одномерном числовом массиве
1. В одномерном числовом массиве найдите среднее значение между максимальным и минимальным значением элементов.
2. В одномерном числовом массиве посчитайте количество максимумов и количество минимумов.
3. В одномерном числовом массиве найдите номера первого и последнего минимумов.
4. В одномерном числовом массиве замените элементы, начиная с пятого индекса, на минимум.
5. Известен рост каждого ученика в классе. На сколько рост самого высокого из них превышает рост самого низкого?
6. Даны площади нескольких кругов. Найти радиус самого большого из них.
7. Известно количество очков, набранных футбольными командами в чемпионате. Какая команда (определить ее номер) набрала наименьшее количество очков? Если таких команд несколько, должна быть найдена первая из них.
8. Известны данные о количестве осадков в течение месяца. Какого числа выпало самое большое число осадков? Если таких дней несколько, то должна быть найдена дата последнего из них.
9. На плоскости задано N точек. Найдите точку (номер и координаты), самую близкую к началу координат.
10. Найдите самое длинное звено ломанной (номер звена, координаты первой и второй точек), если заданы координаты всех ее вершин.
11. Дан массив. Определить:
a. максимальный элемент;
b. минимальный элемент;
c. на сколько максимальный элемент больше минимального;
d. индекс максимального элемента;
e. индекс минимального элемента.
12. В массиве хранится информация о количестве страниц в каждой из 100 книг. Все страницы имеют одинаковую толщину. Определить количество страниц в самой толстой книге.
13. В массиве хранится информация о стоимости каждой из 50 марок легковых автомобилей. Определить, сколько стоит самый дорогой автомобиль.
14. В некоторых видах спортивных состязаний (например, в фигурном катании) выступление каждого спортсмена независимо оценивается несколькими судьями, затем из всей совокупности оценок удаляются наиболее высокая и наиболее низкая, а для оставшихся оценок вычисляется среднее арифметическое, которое и идёт в зачёт спортсмену. Если наиболее высокую оценку выставили несколько судей, то из совокупности оценок удаляется только одна такая оценка; аналогично поступают и с наиболее низкими оценками.
15. Известны оценки, выставленные восемью судьями одному из участников соревнований. Составить программу для расчёта оценки, которая пойдёт в зачёт этому спортсмену.
16. Изменить знак у максимального по модулю элемента массива. Минимальный элемент массива при этом не определять.
Работа с двумя массивами
1. Фирме принадлежат два магазина. Известна стоимость товаров, проданных в каждом магазине за каждый день в июле и августе, которая хранится в двух массивах. Получить общую стоимость проданных фирмой товаров за два месяца.
2. Известно количество мячей, забитых футбольной командой за каждую игру в двух чемпионатах, которое хранится в двух массивах. В каждом из чемпионатов команда сыграла по 26 игр. Найти общее количество мячей, забитых командой в двух чемпионатах.