Главная страница
Навигация по странице:

  • 3. ЗАДАЧИ НА ОДНОМЕРНЫЙ МАССИВ

  • 4. ЗАДАЧИ НА ДВУМЕРНЫЙ МАССИВ

  • 5. ЗАДАЧИ НА МОДЕЛИРОВАНИЕ

  • 9. Переопределение ввода-вывода

  • 11. Тренажер old.magtu.ru:8081/stest Ветвления 1194, 1195, 1200Циклы 1221, 1223, 1230Массивы

  • задачи. Решение на Бейсике 10 input n 'Количество троек 20 K0 'Первоначально количество треугольников равно 21 '0


    Скачать 334 Kb.
    НазваниеРешение на Бейсике 10 input n 'Количество троек 20 K0 'Первоначально количество треугольников равно 21 '0
    Дата25.11.2022
    Размер334 Kb.
    Формат файлаdoc
    Имя файлазадачи.doc
    ТипРешение
    #812000
    страница2 из 2
    1   2
    2. ЗАДАЧИ НА ЦИКЛ С ПРЕДПРОВЕРКОЙ
    1. Дано действительное число E (E>0). Необходимо вычислить следующую сум­му: каждое слагаемое рассчитывается по формуле: , где n ме­ня­ется от 1 до бесконечности с шагом 1. Следует учесть только те слагаемые, в кото­рых множитель имеет величину не меньшую, чем E.

    2. Дано целое число M>1. Получить наибольшее целое k, при котором .

    3. Даны положительные действительные числа A,X,E. В последовательности y(1), y(2),... , образованной по закону y(0)=A; y(i)=0.5 [y(i-1)+x/y(i-1)] , i=1,2,3,... , найти первый член y(n), для которого выполнено неравенство .

    4. Число Пи вычисляется по формуле Грегори следующим образом: РI=4(1-1/3+1/5-1/7+1/9-...), причем, чем больше слагаемых в скобках, тем выше точность вы­чис­ления числа Пи. Определить минимальное количество слагаемых для вычисления Пи с точностью 0.01

    5. Дана последовательность, состоящая из дробей: 1/1, 4/2, 7/3, 10/4,... Какое минимальное количество элементов последовательности нужно сложить, чтобы сумма превысила заданное число S > 1?

    6. Дана последовательность, состоящая из дробей: 1/1, 4/2, 9/4, 16/8,... Какое минимальное количество элементов последовательности нужно сложить, чтобы сумма превысила заданное число S > 1?

    7. Дана последовательность, состоящая из дробей: 1/1, 3/2, 5/3, 7/4, ... Какое минимальное количество элементов последовательности нужно сложить, чтобы сумма превысила заданное число S > 1?

    8. Дана последовательность, состоящая из дробей: 1/2, 3/4, 5/6, 7/8, ... Какое минимальное количество элементов последовательности нужно сложить, чтобы сумма превысила заданное число S > 1?

    9. Дан одномерный массив из 1000 элементов, состоящий из случайных целых чисел в диапазоне от 0 до 50. Найти сумму элементов массива, с начала массива, до первого элемента равного нулю.

    10. Дан одномерный массив из 1000 элементов, состоящий из случайных целых чисел в диапазоне от 0 до 9. Найти произведение элементов массива, с конца массива до первого элемента, равного нулю.

    11. Дан одномерный массив из 1000 элементов, состоящий из случайных целых чисел в диапазоне от -5 до 50. Найти сумму элементов массива, с конца массива, до первого отрицательного элемента.

    12. Дан одномерный массив из 1000 элементов, состоящий из случайных целых чисел в диапазоне от 1 до 50. Определить, сколько элементов с начала массива нужно сложить, чтобы сумма превысила заданное значение.

    13. Дан одномерный массив из 1000 элементов, состоящий из случайных целых чисел в диапазоне от 1 до 10. Определить, сколько элементов с конца массива нужно перемножить, чтобы произведение превысило заданное значение.

    14. Дан одномерный массив из 1000 элементов, состоящий из случайных целых чисел в диапазоне от -5 до 8. Найти сумму элементов участка массива, начиная с первого положительного и кончая вторым положительным элементом.

    15. Дан одномерный массив из 1000 элементов, состоящий из случайных целых чисел в диапазоне от -6 до 4. Найти произведение элементов участка массива, между последним нулевым и предпоследним нулевым элементом.

    16. Дан одномерный массив из 1000 элементов, состоящий из случайных целых чисел в диапазоне от -15 до 14. Найти сумму элементов участка массива, начиная с пос­леднего отрицательного и кончая предпоследним отрицательным элементом.

    17. Дан одномерный массив из 1000 элементов, состоящий из случайных целых чисел в диапазоне от -5 до 2. Найти произведение элементов массива, с начала массива до первого неотрицательного элемента.

    18. Дано произвольное целое положительное число K ( ). Вывести цифры этого числа в порядке неубывания (например, 546085 =>045568). Процедуры и функции работы со строками не использовать.

    19. Дано произвольное целое положительное число K ( ). Вывести цифры этого числа в порядке невозрастания (например, 546085=>865540). Процедуры и функции работы со строками не использовать.

    20. Дано произвольное целое положительное число K ( ). Вывести цифры этого числа в обратном порядке (например, 5485 =>5845). Процедуры и функции работы со строками не использовать.

    21. Дано произвольное целое положительное число K ( ). Вывести это число без первой и последней цифры (например, 234653=> 3465). Процедуры и функции работы со строками не использовать.

    22. Дано произвольное целое положительное число K ( ). Вывести новое число, полученное из K вычеркиванием всех четных цифр (например, 234653=>353). Процедуры и функции работы со строками не использовать.

    23. Дано произвольное целое положительное число K ( ). Найти сумму всех четных цифр этого числа. Процедуры и функции работы со строками не использовать.

    24. Дано произвольное целое положительное число K ( ). Найти произведение всех нечетных цифр этого числа. Процедуры и функции работы со строками не использовать.

    25. Дано произвольное целое положительное число K ( ). Найти произведение всех цифр этого числа, больших заданного T (0
    3. ЗАДАЧИ НА ОДНОМЕРНЫЙ МАССИВ

    1. Дано N действительных случайных чисел в диапазоне от -100 до 100. Найти минимальное положительное число и максимальное отрицательное число.

    2. Дано N целых случайных чисел в диапазоне от 1 до 100. Найти сумму четных и количество нечетных чисел.

    3. Дано N действительных случайных чисел в диапазоне от 1 до 10. Все элементы последовательности, значение которых меньше двух, заменить на ноль, кроме того, получить сумму элементов, находящихся в диапазоне от 3 до 6, а также подсчитать их количество.

    4. Дан одномерный массив из N действительных случайных чисел в диапазоне от 1 до 50. Найти минимальный элемент среди элементов с нечетным индексом и максимальный среди элементов с четным.

    5. Дан одномерный массив из N случайных действительных чисел в диапазоне от -4 до 8 . Вывести в порядке невозрастания (убывания) элементы, модуль которых больше 2.

    6. Дан одномерный массив из N случайных действительных чисел в диапазоне от 11 до 22. Вывести в порядке невозрастания (убывания) элементы, находящиеся в диапазоне между A и B.

    7. Дан одномерный массив из N случайных действительных чисел в диапазоне от -5 до 5. Вывести в порядке неубывания (возрастания) отрицательные элементы этого массива.

    8. Дан одномерный массив из N случайных действительных чисел в диапазоне от 1 до 10. Вывести в порядке неубывания (возрастания) те элементы, дробная часть которых меньше 0.5.

    9. Дан одномерный массив из 100 элементов, состоящий из случайных вещественных чисел в диапазоне от -35 до 50. Вывести в порядке неубывания (возрастания) те положительные элементы этого массива, которые меньше заданного числа Х (0
    10. Дан одномерный массив из 100 элементов, состоящий из случайных вещественных чисел в диапазоне от -45 до 25. Вывести в порядке невозрастания (убывания) те отрицательные элементы этого массива, которые больше заданного числа Х (-45
    11. Дан одномерный массив из 100 элементов, состоящий из случайных вещественных чисел в диапазоне от 5 до 25. Вывести в порядке невозрастания (убывания) те элементы этого массива, целая часть которых — четное число.

    12. Дан одномерный массив из 100 элементов, состоящий из случайных вещественных чисел в диапазоне от -15 до 38. Вывести в порядке неубывания (возрастания) те положительные элементы этого массива, индекс которых — четное число.

    13. Дан одномерный массив из 100 элементов, состоящий из случайных вещественных чисел в диапазоне от -55 до 16. Вывести в порядке невозрастания (убывания) те отрицательные элементы этого массива, индекс которых — нечетное число.

    14. Дан одномерный массив из 100 элементов, состоящий из случайных вещественных чисел в диапазоне от 3 до 23. Вывести в порядке неубывания (возрастания) те элементы этого массива, целая часть которых кратна трем.

    15. Дан одномерный массив из 100 элементов, состоящий из случайных вещественных чисел в диапазоне от -3 до 34. Вывести в порядке убывания (невозрастания) те элементы этого массива, которые отличаются от заданного Р не больше, чем на величину E.

    16. Дан одномерный массив из 100 элементов, состоящий из случайных вещественных чисел в диапазоне от 4 до 16. Вывести в порядке убывания (невозрастания) те элементы этого массива, дробная часть которых начинается с четной цифры.

    17. Дан одномерный массив из 100 элементов, состоящий из случайных вещественных чисел в диапазоне от 3 до 35. Вывести в порядке неубывания (возрастания) те элементы этого массива, целая часть которых — нечетное число.

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

    19. Дано N действительных случайных чисел в диапазоне от 2 до 10. Определить, какое из них на числовой оси лежит ближе к целому числу.

    20. Дано N действительных случайных чисел в диапазоне от 3 до 10. Определить, какое из них на числовой оси лежит ближе к их среднему арифметическому.

    21. Даны два одномерных массива из N действительных чисел и натуральные числа A,B,C,D < N. Сформировать третий массив, взяв из первого массива элементы, начиная с элемента с индексом A по элемент с индексом B, и добавить элементы из второго массива, начиная с элемента с индексом C по элемент с индексом D. Перестановка элементов не допускается.

    22. Дан одномерный массив из N натуральных чисел не больших 10. Найти наибольший участок массива, состоящий из одинаковых чисел. Вывести длину этого участка.

    23. Дан одномерный массив из N целых чисел в диапазоне от -5 до 5. Найти наибольший участок массива, в котором положительные и отрицательные числа чередуются. Участок может начинаться как с положительного, так и с отрицательного числа. Вывести длину этого участка.

    24. Дан одномерный массив из N натуральных чисел не больших 20. Найти наибольший участок массива, в котором его элементы следуют подряд в порядке возрастания (например, 2, 3, 4, 5, ...). Вывести длину этого участка.

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

    4. ЗАДАЧИ НА ДВУМЕРНЫЙ МАССИВ

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

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

    3. Спортсмены на соревнованиях совершают 6 попыток в прыжках в длину. Определить лучший результат для каждого участника.

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

    5. Для группы фирм известен курс их акций за каждый из месяцев календарного года. Составить список тех фирм, курс акций которых все время повышался (т.е. курс за каждый последующий месяц больше, чем за предыдущий).

    6. Выступления N спортсменов оцениваются M судьями по одной и той же числовой шкале. Нужно узнать конечный результат каждого спортсмена, если он вычисляется так: из всех M оценок удаляются максимальная и минимальная (если таких оценок несколько, то удаляется только одна), затем из оставшихся (M-2) находится их среднее арифметическое.

    7. Известна среднемесячная температура воздуха на следующих островах Карибского моря: Куба, Тринидад, Ямайка, Гаити. Определить, на каком из островов среднегодовая температура максимальна.

    8. Известна среднемесячная температура воздуха на следующих островах Карибского моря: Куба, Тринидад, Ямайка, Гаити. Определить для каждого из месяцев, на каком из островов максимальная температура.

    9. Дан двумерный массив из 5 строк и 6 столбцов. Определить для каждого четного столбца максимальный элемент. Найти произведение этих элементов.

    10. Дан двумерный массив из 5 строк и 6 столбцов. Определить, какая строка массива имеет максимальную сумму элементов (считать, что строк с одинаковой суммой нет).

    11. Дан двумерный массив из 5 строк и 6 столбцов. Определить, для каждой нечетной строки минимальный элемент. Найти произведение этих элементов.

    12. Дан двумерный массив из 5 строк и 6 столбцов. Определить для каждой строки минимальный элемент. Среди этих элементов найти максимальный.

    13. Дан двумерный массив из 5 строк и 6 столбцов. Определить для каждого столбца максимальный элемент. Среди этих элементов найти минимальный.

    14. Дан двумерный массив из 5 строк и 6 столбцов. Определить для каждого столбца массива сумму минимального и максимального элементов. Найти произведение этих сумм.

    15. Дан двумерный массив из 5 строк и 6 столбцов. Определить для каждой строки массива произведение минимального и максимального элементов. Найти сумму этих произведений.

    16. Дан двумерный массив из 5 строк и 6 столбцов. Определить для каждой строки массива произведение элементов. Найти, в какой строке это произведение максимально.

    17. Дан двумерный массив из 5 строк и 6 столбцов. Определить, какой столбец массива имеет минимальную сумму элементов (считать, что столбцов с одинаковой суммой нет).

    18. Известны места 8 лыжников на каждом из 7 стартов Кубка мира. Определить победителя в общем зачете (с минимальной суммой мест). Если таких несколько, то победителем считается тот, кто лучше других претендентов на первое место выступил на последнем этапе.

    19. По результатам метеорологических наблюдений за 10 последних лет известно количество солнечных дней в году для пяти морских курортов. Кроме этого известны расстояния до них. Определить курорт с наиболее благоприятным климатом (с максимальным суммарным количеством солнечных дней за время наблюдений). Если таких несколько, то вывести ближайший из них.

    20. В автопарке находится 10 автомобилей. Известен их пробег в течение каждого из 5 рабочих дней. Определить, какой из автомобилей за рабочую неделю преодолел максимальное расстояние. Если таких несколько, то вывести хотя бы одного из них.

    21. Бригада рабочих состоит из 8 человек. Известно сколько деталей выпустил каждый из них в течение каждого из 5 рабочих дней. Определить, какой рабочий произвел максимальное количество деталей. Если таких несколько, то вывести хотя бы одного из них.

    22. На каждом этаже трехэтажного дома жилых 6 комнат, каждая из которых имеет форму прямоугольника. Длина и ширина каждой комнаты известны. Определить, какой из этажей дома имеет минимальную жилую площадь. Если таких несколько, то вывести хотя бы одного из них.

    23. Известны итоги сдачи экзаменов группой из 20 студентов по четырем предметам. Определить, по результатам каких экзаменов в группе максимальный средний балл.

    24. В соревнованиях по десятиборью участвуют 8 спортсменов. Известны результаты в баллах по каждому из видов. Вывести фамилии спортсменов и их результаты в сумме в порядке занятых мест.

    25. Известен курс акций 5 фирм за каждый из месяцев календарного года. За второе полугодие для каждой фирмы определить месяц максимального прироста курса. Если таких несколько, то вывести последний из них.

    5. ЗАДАЧИ НА МОДЕЛИРОВАНИЕ

    1. На заводе собирают прибор из трех блоков. Известно, что среди блоков первого типа встречаются 2% со скрытыми дефектами, сре­ди блоков второго и третьего типа — соответственно 3% и 5% дефектных. С использованием генератора случайных чисел про­мо­де­ли­ро­вать сборку 1000 деталей и определить, сколько будет собрано приборов без брака.

    2. Шахматист A в среднем на каждые 100 партий выигрывает у шахматиста B на 6 партий больше, чем проигрывает, а доля ничьих равна 80%. С использованием генератора случайных чисел промоделировать матч из 24 партий. С каким результатом он закончится?

    3. Составить программу, позволяющую промоделировать опрос 100 человек и на его основании выяснить: переименовать село Папинск в село Маминск или оставить за ним прежнее название. Примечание: программа должна генерировать ответы самостоятельно с использованием генератора слу­чайных чисел.

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

    5. В детском саду имеется группа детей из 20 человек. Каждому ребенку на утреннике Дед Мороз случайным образом дарит одну из следующих игрушек: зайца, мяч или куклу. С использованием генератора случайных чисел промоделировать этот процесс, и ответить на вопрос: сколько игрушек каждого вида было подарено.

    6. Робот находится в центре окружности радиусом 3.5 метра и в каждый момент времени делает шаг (длиной 1 м) в случайном направлении: на север, на юг, на восток или на запад. С использованием генератора случайных чисел промоделировать этот процесс, и ответить на вопрос: хватит ли 12 шагов, чтобы выйти за пределы окружности?

    7. Известно, что в среднем из 100 выстрелов солдат A поражает мишень 75 раз, а солдат B — 80 раз. С использованием генератора случайных чисел промоделировать соревнование между ними, в котором каждому нужно попасть в цель по 10 раз. Кто быстрее поразит все мишени?

    8. В среднем из 128 компьютеров в течение месяца на одном выходит из строя дисплей. За тот же период времени на одной из 67 ЭВМ происходит поломка дисковода и на двух из 53 машин происходит крах системы из-за заражения вирусом. С использованием генератора случайных чисел смоделировать работу дисплейного класса из 13 компьютеров за один месяц, и ответить на вопрос: каково общее количество поломок за этот период?

    6. ЗАДАЧИ НА ФУНКЦИИ

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

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

    3. Дано N десятков целых чисел. Определить, сколько из них могут составлять ряд Фибоначчи. Первое число Фибоначчи равно 0, второе – 1. Каждое последующее равно сумме двух предыдущих. Проверку оформить в виде функции.

    4. Дано N пар чисел, представляющих собой координаты точек на плоскости. Найти R — радиус наименьшей окружности с центром в начале координат, в которую попадают все точки. Определение расстояния от точки до начала координат оформить в виде функции.

    5. Известны оценки группы студентов за сессию. В группе 20 студентов, в сессии 4 экзамена. Определить суммарную стипендию. Считать, что стипендия в размере R рублей начисляется студентам, сдавшим сессию без троек, а отличники получают стипендию, повышенную на 25% . Подсчет стипендии студента оформить в виде функции.

    6. Известен расход электроэнергии по всем квартирам 24-х квартирного дома. Определить суммарную плату за электричество. При расходе до 100 кВт*ч на человека берется тариф R копеек за 1 кВт*ч, в случае превышения нормы тариф возрастает на 20%. Подсчет платы для квартиры оформить в виде функции.

    7. Известна ежемесячная заработная плата персонала предприятия в течение календарного года. Вывести фамилии тех сотрудников, у которых годовая заработная плата выше средней. Считать, что штат предприятия составляет 7 человек. Подсчет годовой зарплаты работника оформить в виде функции.

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

    9. Дан одномерный массив из 100 случайных целых чисел в диапазоне от 5 до 25 включительно. Вывести все числа, которые максимально часто встречаются в массиве и количество их повторений. Подсчет количества повторений для числа оформить в виде функции.

    10. Дан одномерный массив из 150 случайных целых чисел в диапазоне от 14 до 37 включительно. Вывести те числа, которые наиболее редко встречаются в массиве и количество их повторений. Подсчет количества повторений для числа оформить в виде функции.

    11. Дан одномерный массив из 50 случайных целых чисел в диапазоне от 10 до 85 включительно. Вывести в порядке возрастания те числа из данного диапазона, которые ни разу не встречаются в массиве. Создать функцию для поиска элемента в массиве.

    12. Дан одномерный массив из 40 случайных целых чисел в диапазоне от 16 до 89 включительно. Вывести минимальное и максимальное числа из данного диапазона, которые ни разу не встречаются в массиве. Создать функцию для поиска элемента в массиве.

    7. Задачи на строки

    1. Дан текст, состоящий из N (2N10) строк с максимальной длиной 80 символов. Необходимо вывести в алфавитном порядке последние слова всех предложений. Считать, что текст написан синтаксически грамотно, в качестве знаков препинания используются точка и запятая, слова состоят только из букв, перенос слов по слогам отсутствует. Для выделения слов из строки создать пользовательскую функцию.

    2. Дан текст, состоящий из N (2N10) строк с максимальной длиной 80 символов. Необходимо вывести в обратном алфавитном порядке первые слова всех предложений. Считать, что текст написан синтаксически грамотно, в качестве знаков препинания используются точка и запятая, слова состоят только из букв, перенос слов по слогам отсутствует. Для выделения слов из строки создать пользовательскую функцию. Для выделения слов из строки создать пользовательскую функцию.

    3. Дан текст, состоящий из 2 строк с максимальной длиной 80 символов. Необходимо вывести в алфавитном порядке слова, присутствующие в обеих строках одновременно. Считать, что текст написан синтаксически грамотно, в качестве знаков препинания используются точка и запятая, слова состоят только из букв, перенос слов по слогам отсутствует. Для выделения слов из строки создать пользовательскую функцию.

    4. Дан текст, состоящий из 2 строк с максимальной длиной 80 символов. Необходимо вывести в обратном алфавитном порядке те слова, которые не присутствуют в обеих строках одновременно. Считать, что текст написан синтаксически грамотно, в качестве знаков препинания используются точка и запятая, слова состоят только из букв, перенос слов по слогам отсутствует. Для выделения слов из строки создать пользовательскую функцию.

    5. Дан текст, состоящий из 3 строк с максимальной длиной 80 символов. Необходимо вывести все предложения данного текста в порядке неубывания их длины. Считать, что текст написан синтаксически грамотно, в качестве знаков препинания используются точка и запятая, слова состоят только из букв, перенос слов по слогам отсутствует. Для выделения предложений из текста создать пользовательскую функцию.

    6. Дан текст, состоящий из N (2N10) строк с максимальной длиной 80 символов. Необходимо вывести в обратном алфавитном порядке те слова, где количество гласных превышает количество согласных. Считать, что текст написан синтаксически грамотно, в качестве знаков препинания используются точка и запятая, слова состоят только из букв, перенос слов по слогам отсутствует. Для выделения слов из строки создать пользовательскую функцию.

    7. Дан текст, состоящий из N (2N10) строк с максимальной длиной 80 символов. Необходимо вывести в алфавитном порядке те слова, где количество согласных превышает количество гласных. Считать, что текст написан синтаксически грамотно, в качестве знаков препинания используются точка и запятая, слова состоят только из букв, перенос слов по слогам отсутствует. Для выделения слов из строки создать пользовательскую функцию.

    8. Дан текст, состоящий из N (2N10) строк с максимальной длиной 80 символов. Необходимо вывести в алфавитном порядке те слова, длина которых превышает K символов. Считать, что текст написан синтаксически грамотно, в качестве знаков препинания используются точка и запятая, слова состоят только из букв, перенос слов по слогам отсутствует. Для выделения слов из строки создать пользовательскую функцию.

    9. Дан текст, состоящий из N (2N10) строк с максимальной длиной 80 символов. Необходимо вывести в обратном алфавитном порядке те слова, длина которых не превышает K символов. Считать, что текст написан синтаксически грамотно, в качестве знаков препинания используются точка и запятая, слова состоят только из букв, перенос слов по слогам отсутствует. Для выделения слов из строки создать пользовательскую функцию.

    10. Дан текст, состоящий из N (2N10) строк с максимальной длиной 80 символов. Необходимо вывести в обратном алфавитном порядке те слова, последняя буква которых является гласной. Считать, текст написан синтаксически грамотно, в качестве знаков препинания используются точка и запятая, слова состоят только из букв, перенос слов по слогам отсутствует. Для выделения слов из строки создать пользовательскую функцию.

    11. Дан текст, состоящий из N (2N10) строк с максимальной длиной 80 символов. Необходимо вывести в алфавитном порядке те слова, последняя буква которых является согласной. Считать, что текст написан синтаксически грамотно, в качестве знаков препинания используются точка и запятая, слова состоят только из букв, перенос слов по слогам отсутствует. Для выделения слов из строки создать пользовательскую функцию.

    12. Дан текст, состоящий из N (2N10) строк с максимальной длиной 80 символов. Необходимо вывести в алфавитном порядке те слова, первая буква которых является согласной, а последняя гласной. Считать, что текст написан синтаксически грамотно, в качестве знаков препинания используются точка и запятая, слова состоят только из букв, перенос слов по слогам отсутствует. Для выделения слов из строки создать пользовательскую функцию.

    13. Дан текст, состоящий из N (2N10) строк с максимальной длиной 80 символов. Необходимо вывести в алфавитном порядке предпоследние слова всех предложений. Считать, что текст написан синтаксически грамотно, в качестве знаков препинания используются точка и запятая, слова состоят только из букв, перенос слов по слогам отсутствует, минимальная длина предложений — два слова. Для выделения слов из строки создать пользовательскую функцию.

    14. Дан текст, состоящий из N (2N10) строк с максимальной длиной 80 символов. Необходимо вывести в алфавитном порядке вторые слова всех предложений. Считать, что текст написан синтаксически грамотно, в качестве знаков препинания используются точка и запятая, слова состоят только из букв, перенос слов по слогам отсутствует, минимальная длина предложений — два слова. Для выделения слов из строки создать пользовательскую функцию.

    15. Дан текст, состоящий из 3-х строк с максимальной длиной 80 символов. Необходимо вывести в обратном алфавитном порядке те слова, которые присутствуют в 3-й строке и не присутствуют в первых двух. Считать, что текст написан синтаксически грамотно, в качестве знаков препинания используются точка и запятая, слова состоят только из букв, перенос слов по слогам отсутствует. Для выделения слов из строки создать пользовательскую функцию.

    16. Дан текст, состоящий из N (2N10) строк с максимальной длиной 80 символов. Необходимо вывести в алфавитном порядке слова, начинающиеся с прописных букв. Считать, что текст написан синтаксически грамотно, в качестве знаков препинания используются точка и запятая, слова состоят только из букв, перенос слов по слогам отсутствует. Для выделения слов из строки создать пользовательскую функцию.

    17. Дан текст, состоящий из N (2N10) строк с максимальной длиной 80 символов. Необходимо вывести в обратном алфавитном порядке слова, являющиеся палиндромами. Считать, что текст написан синтаксически грамотно, в качестве знаков препинания используются точка и запятая, слова состоят только из букв, перенос слов по слогам отсутствует. Для выделения слов из строки и определения является ли они палиндромами, создать пользовательские функции.

    18. Дан текст, состоящий из N (2N10) строк с максимальной длиной 80 символов. Необходимо вывести все предложения данного текста, являющиеся палиндромами, в порядке невозрастания их длины. Считать, что текст написан синтаксически грамотно, в качестве знаков препинания используются точка и запятая, слова состоят только из букв, перенос слов по слогам отсутствует. Для выделения предложений из строки и определения является ли они палиндромами, создать пользовательские функции.

    19. Дан текст, состоящий из N (2N10) строк с максимальной длиной 80 символов. Необходимо вывести этот текст, зашифрованный кодом Цезаря. (Код Цезаря заменяет одну букву другой, отстоящей от нее на заданное количество позиций в алфавите. Например, при сдвиге, равном 1, буква А заменяется на Б, Б — на В, …, Я — на А.) Размер сдвига символов принять равным номеру буквы в слове. Например, слово ДОМ — шифруется как ЕРП. Считать, что текст написан синтаксически грамотно, в качестве знаков препинания используются точка и запятая, слова состоят только из букв, перенос слов по слогам отсутствует. Для выделения слов из строки и зашифровки слова создать пользовательские функции.

    20. Составить программу для расшифровки текста, зашифрованного в пункте 19. Для выделения слов из строки и расшифровки слова создать пользовательские функции.

    21. Дан текст, состоящий из N (2N10) строк с максимальной длиной 80 символов. Необходимо вывести этот текст, зашифрованный кодом Цезаря. (Код Цезаря заменяет одну букву другой, отстоящей от нее на заданное количество позиций в алфавите. Например, при сдвиге, равном 1, буква А заменяется на Б, Б — на В, …, Я — на А.) Размер сдвига символов принять равным номеру буквы в предложении. Например, если предложение начинается со слова ДОМ, то оно шифруется как ЕРП. Считать, что текст написан синтаксически грамотно, в качестве знаков препинания используются точка и запятая, слова состоят только из букв, перенос слов по слогам отсутствует. Для выделения предложений из текста и зашифровки предложения создать пользовательские функции.

    22. Составить программу для расшифровки текста, зашифрованного в пункте 21. Для выделения предложений из текста и расшифровки предложения создать пользовательские функции.

    23. Дан текст, состоящий из N (2N10) строк с максимальной длиной 80 символов. Необходимо вывести этот текст, зашифрованный кодом Цезаря. (Код Цезаря заменяет одну букву другой, отстоящей от нее на заданное количество позиций в алфавите. Например, при сдвиге, равном 1, буква А заменяется на Б, Б — на В, …, Я — на А.) Размер сдвига символов принять равным остатку от деления длины слова на номер буквы в слове плюс единица. Например, слово ДОМ — шифруется как ЕРН. Считать, что текст написан синтаксически грамотно, в качестве знаков препинания используются точка и запятая, слова состоят только из букв, перенос слов по слогам отсутствует. Для выделения слов из строки и зашифровки слова создать пользовательские функции.

    24. Составить программу для расшифровки текста, зашифрованного в пункте 23. Для выделения слов из строки и расшифровки слова создать пользовательские функции.

    25. Дан текст, состоящий из N (2N10) строк с максимальной длиной 80 символов. Необходимо вывести этот текст, зашифрованный кодом Цезаря. (Код Цезаря заменяет одну букву другой, отстоящей от нее на заданное количество позиций в алфавите. Например, при сдвиге, равном 1, буква А заменяется на Б, Б — на В, …, Я — на А.) Размер сдвига символов принять равным остатку от деления количества слов в предложении на номер буквы в слове плюс единица. Например, если в предложении 8 слов, слово ДОМ — шифруется как ЕПР. Считать, что текст написан синтаксически грамотно, в качестве знаков препинания используются точка и запятая, слова состоят только из букв, перенос слов по слогам отсутствует. Для выделения предложений из текста и зашифровки предложения создать пользовательские функции.

    26. Составить программу для расшифровки текста, зашифрованного в пункте 25. Для выделения предложений из текста и расшифровки предложения создать пользовательские функции.

    27. Дан текст, состоящий из N (2N10) строк с максимальной длиной 80 символов. Необходимо вывести этот текст, зашифрованный кодом Цезаря. (Код Цезаря заменяет одну букву другой, отстоящей от нее на заданное количество позиций в алфавите. Например, при сдвиге, равном 1, буква А заменяется на Б, Б — на В, …, Я — на А.) Размер сдвига символов принять равным сумме сдвигов двух предыдущих букв. Для первой буквы принять сдвиг равным 0, а для второй — 1. Например, слово КОШКА — шифруется как КПЩМГ. Считать, что текст написан синтаксически грамотно, в качестве знаков препинания используются точка и запятая, слова состоят только из букв, перенос слов по слогам отсутствует.

    28. Составить программу для расшифровки текста, зашифрованного в пункте 29. Для выделения слов из строки и расшифровки слова создать пользовательские функции.

    8. Задачи на классы

    1. Создать класс для хранения календарных дат. Обеспечить возможность работы с датами в различных форматах, изменения даты на заданное количество дней. Перегрузить операцию «–» для нахождения разности дат и операции сравнения. Для класса определить оператор <<. Стандартные функции и типы С для работы с датами не использовать.

    2. Создать класс для хранения одномерных целочисленных массивов. Обеспечить возможность задания количества элементов и базовой индексации. Запрограммировать методы поиска элементов и сортировки. Перегрузить операции для сложения и вычитания векторов. Перегрузить операцию индексирования (т.к. оператор взятия индекса может появляться как слева, так и справа от оператора присваивания, то функция должна возвращать int&) с проверкой допустимости индекса.

    3. Создать класс для хранения строк. Запрограммировать методы поиска подстроки, копирования, замены и удаления заданной подстроки, определения длины строки. Перегрузить операцию «+» для конкатенации строк, операцию присваивания и операцию индексирования (т.к. оператор взятия индекса может появляться как слева, так и справа от оператора присваивания, то функция должна возвращать char&) с проверкой допустимости индекса.

    4. Создать класс для хранения обыкновенных дробей. Запрограммировать метод сокращения дроби. Перегрузить арифметические операции. Для класса определить оператор <<. Предусмотреть возбуждение исключительных ситуаций (при делении на ноль, переполнении).

    9. Переопределение ввода-вывода

      1. Переопределить операции << и >> для ввода-вывода матриц размерностью m*n, где m и n константы.

      2. Переопределить операции << и >> для ввода-вывода объектов класса complex.

      3. Переопределить операции << и >> для ввода-вывода объектов класса data.

      4. Переопределить операции << и >> для ввода-вывода объектов класса time.

      5. Структура «абонент телефонной сети» содержит следующие поля: 1) фамилия (строка), 2) улица, 3) дом, 4) квартира, 5) тел. номер. Переопределить операции << и >> для файлового ввода-вывода такого типа данных.

      6. Структура «карточка библиотечного каталога» содержит следующие поля: 1) массив фамилий авторов (до 3 эл-тов), 2) название произведения, 3) УДК, 4) год издания. Переопределить операции << и >> для файлового ввода-вывода такого типа данных.

      7. Для более экономного размещения массива в памяти машины используют динамические массивы. Переопределив операции << и >> разработать механизм сохранения в файле структур, где первое поле — размерность массива, второе — указатель на динамический массив.

      8. Объект «колода карт» представляет собой массив структур, где первое поле — масть, второе — значимость. Используя операции << и >> разработать механизм сохранения состояния колоды в файле и восстановления из файла.

      9. Переопределить операции << и >> для файлового ввода-вывода объектов типа «классный журнал по заданному предмету». В объекте хранятся оценки учеников и темы занятий с учетом даты.

      10. Переопределить операции << и >> для файлового ввода-вывода объектов типа «склад», где хранятся объекты типа «товар», для которых известно: 1) артикул, 2) количество, 3) цена.

      11. Переопределить операции << и >> для файлового ввода-вывода объектов типа «тест», где хранятся вопросы и результаты ответов (типа да-нет) группы респондентов.

      12. Переопределить операции << и >> для файлового ввода-вывода объектов типа «курс валют», которые содержат данные о курсах с начала календарного года.

      13. Переопределить операции << и >> для файлового ввода-вывода объектов типа «курс акций», где данные о курсах с начала календарного года.

      14. Переопределить операции << и >> для файлового ввода-вывода объектов типа «расписание вылетов самолетов за неделю».

    10. Разные задачи

    1. По известному радиусу определить длину окружности, площадь круга, площадь поверхности сферы и объем шара.

    2. Дано натуральное K — количество секунд. Определить сколько это составляет часов, минут и секунд. Например, 4000 секунд — это 1 час, 6 минут и 40 секунд. Использовать не более 4-х арифметических операций.

    3. Определить сколько лет понадобится шаху, чтобы собрать урожай зерна, требуемый изобретателем шахмат. Считать, что среднегодовой сбор составляет 70 млн. тонн, а на 1 грамм приходится 10 зерен.

    4. Вычислить значение выражения:



    Контрольный пример: при a=b=0.5 y=1.214

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

    Тесты для проверки

    02:43

    176.5

    11:40

    110.0

    14:30

    105.0

    23:40

    110.0

    00:00

    0.0

    12:00

    0.0

    23:28

    176.0

    10:02

    71.0

    19:03

    166.5

    16:40

    100.0

    12:18

    99.0

    05:47

    108.5

    18:42

    51.0

    15:29

    69.5

    16:44

    122.0

    21:10

    145.0

    15:48

    174.0

    22:59

    24.5

    11:34

    143.0

    06:52

    106.0

    13:30

    135.0

    6. Волшебный мост

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

    – Что ты делал? Зачем ты бросал деньги в воду? – спросил крестьянин, догнав странного человека.

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

    – Самое важное – вовремя остановиться, – сказал человек и ушёл.

    Крестьянин задумался, достал кошелек и пересчитал свои деньги. У него было 46 рублей 47 копеек. «29 копеек – не деньги, дай-ка попробую». После первого прохода у него получилось 18р.46к., после второго прохода – 17р.18к., а после третьего – 89р.16к. «Ух-ты! А еще больше можно получить?» – обрадовался крестьянин. После четвертого прохода у него стало 87р.88к., после пятого – 59р.87к., после шестого – 58р.59к., после седьмого – 30р.58к., после восьмого – 29р.30к., после девятого – 1р.29к., а после десятого осталась 1 копейка.

    «Эх, дурачина, надо было после третьего раза остановиться!» – расстроился крестьянин.

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

    Контрольные примеры:

    7699–9904–81

    1136–9902–63

    3563–8916–10

    6287–6287–0

    7069–9998–196

    3599–9964–197

    7038–9967–196

    7. Разложение

    Альберт хочет представить некоторое целое положительное число N в виде сумме квадратов двух целых положительных чисел P и Q (0
    |N–P2–Q2| было минимальным. Если существует несколько вариантов разложения, минимизирующих значение указанного выражения, то вывести вариант с меньшим Q.

    Напишите программу, которая вводит с клавиатуры целое число N (1<=N<=106) и выводит на экран целые значения P и Q.

    Тесты для проверки

    25

    3 4

    2581

    30 41

    9

    2 2

    9999

    60 80

    888888

    534 777

    11. Тренажер

    old.magtu.ru:8081/stest
    Ветвления

    1194, 1195, 1200
    Циклы

    1221, 1223, 1230
    Массивы

    1198, 1201, 1205, 1207, 1209, 1211, 1212, 1214, 1215, 1216, 1224




    1   2


    написать администратору сайта