ВУЗ: Камчатский государственный технический университет
Категория: Методичка
Дисциплина: Программирование
Добавлен: 20.10.2018
Просмотров: 2262
Скачиваний: 16
является одновременно наименьшим в своей строке и наибольшим в своем
столбце.
28. 20 ученикам класса по 7 предметам проставили четвертные оценки.
Вычислите средний балл каждого ученика и определите его статус (отличник,
ударник, троечник, двоечник). Выведите на экран полученный результат в виде
таблицы
Фамилия 1 2 3
4
…
Ср.балл Статус
Иванов 5
5
5
5 5.00
Отличник
Петров 4
3
5
3 3.75
Троечник
Сидоров 4 4 4
2 3.50 Двоечник
29. 20 ученикам класса по 7 предметам проставили четвертные оценки.
Определите качество знаний в процентах (100*(количество 4 и 5)/количество
оценок) по каждому предмету.
Фамилия 1 2
3
4
Иванов 5
5
5
5
Петров 4
3
5
3
Сидоров 4 4
4
2
Качество 100% 44%
100%
33%
30. Дана вещественная матрица размерности N * M. Сформировать три различных
вектора, в которых элементы вычисляются как:
- произведение элементов соответствующих строк;
- среднее арифметическое соответствующих столбцов;
- разность наибольших и наименьших элементов соответствующих строк.
31. Определите, образуют ли элементы матрицы магический квадрат, когда суммы
чисел по строкам, столбцам и диагоналям одинаковы.
32. Дано N чисел. Подсчитайте сумму различных чисел, а также выведите на
экран все числа, которые повторяются.
33. Задан список фамилий брокеров товарной биржи из N человек (нечетное
количество). Обменяйте местами фамилии брокеров: первого и последнего,
второго и предпоследнего, третьего от начала и третьего от конца и т.д. Выведите
на экран оба списка: слева до изменения, справа после изменения.
34. В квадратной таблице (любые целые числа) обменяйте местами элементы
строки и столбца, на пересечении которых находится первый минимальный
элемент из положительных чисел. Выведите на экран матрицу до, и после
изменения.
Задачи на строки
1. Задано конкретное сочетание букв (например, «НЕТ»). Определить, сколько
таких групп символов содержится в тексте, вводимом с клавиатуры.
2. Записать программу, выясняющую, можно ли из букв некоторого введенного с
клавиатуры слова составить слово «окно».
3. В последовательности из N вводимых символов подсчитать количество
цифровых символов (0..9), количество заглавных и количество прописных русских
букв.
4. Для заданного предложения выдать эквивалентное ему предложение,
полученное путем замены нескольких подряд следующих пробелов одним
пробелом и удаления знаков “+” перед положительными числами.
5. Из строки символов А получить строку В путем удаления наиболее часто
встречающихся символов.
6. Из заданной строки символов удалить символы, отличные от русских букв и
пробелов.
7. В заданной строке символов найти слова минимальной и максимальной длины и
выдать позиции, с которых они начинаются.
8. Вводятся две строки символов. Требуется определить, какие символы
встречаются в обеих строчках, а какие только в одной, и вывести их.
9. Дана строка, состоящая из русских слов, разделенных пробелами (одним или
несколькими). Определить количество слов, которые начинаются и заканчиваются
одной и той же буквой.
10. Дана строка-предложение. Зашифровать ее, поместив вначале все символы,
расположенные на четных местах, а затем, в обратном порядке, все символы,
расположенные на нечетных местах (например, строка "Программа" превратится в
"ргамамроП").
11. Дана строка. Подсчитать количество содержащихся в ней цифр.
12. Дана строка-предложение на русском языке. Зашифровать ее, выполнив
циклическую замену каждой буквы на следующую за ней в алфавите и сохраняя
при этом регистр букв ("А" перейдет в "Б", "а" — в "б", "Б" — в "В", "я" — в "а" и
т.д.). Букву "ё" в алфавите не учитывать ("е" должна переходить в "ж"). Знаки
препинания и пробелы не изменять.
13. Дана строка-предложение на русском языке и число k (0 < k < 10).
Зашифровать строку, выполнив циклическую замену каждой буквы на букву того
же регистра, расположенную в алфавите на k-й позиции после шифруемой буквы
(например, для k = 2 "А" перейдет в "В", "а" — в "в", "Б" — в "Г", "я" — в "б" и
т.д.). Букву "ё" в алфавите не учитывать, знаки препинания и пробелы не изменять.
14. Дана строка, содержащая несколько круглых скобок. Если скобки расставлены
правильно (то есть каждой открывающей соответствует одна закрывающая), то
вывести число 0. В противном случае вывести или номер позиции, в которой
расположена первая ошибочная закрывающая скобка, или, если закрывающих
скобок не хватает, число –1.
15. Дано целое число. Вывести набор символов, содержащий цифры этого числа в
обратном порядке.
16. Дан текст, содержащий от 2 до 30 слов, в каждом из которых от 2 до 10
латинских букв; между соседними словами - не менее одного пробела. Определить,
сколько слов в тексте состоят из 8 или 9 букв.
17. Из двух заданных строк А и В по n слов в каждой сформировать строку С,
записав в нее поочередно слова из строк А и В.
18. Дана строка, состоящая из русских слов, разделенных пробелами (одним или
несколькими). Определить количество слов, которые начинаются и заканчиваются
одной и той же буквой.
19. Дана строка. Преобразовать все строчные латинские буквы в прописные и
наоборот.
20. Дан текст, содержащий от 2 до 30 слов, в каждом из которых от 2 до 10
латинских букв; между соседними словами - не менее одного пробела. Определить,
сколько букв в самом длинном слове.
21. Дана строка. Подсчитать количество содержащихся в ней цифр.
22. Дана строка, состоящая из русских слов, разделенных пробелами (одним или
несколькими). Определить количество слов, которые содержат ровно три буквы
"А".
23. Дана строка, состоящая из русских слов, разделенных пробелами (одним или
несколькими). Определить длину самого короткого слова.
24. Дан текст, содержащий от 2 до 30 слов, в каждом из которых от 2 до 10
латинских букв; между соседними словами - не менее одного пробела. Найти в
тексте все слова, начинающиеся с букв «В» или «А».
25. Дана строка-предложение на латинском языке. Преобразовать строку так, чтобы
каждое слово начиналось с заглавной буквы.
26. Дана строка-предложение, содержащая избыточные пробелы. Преобразовать ее
так, чтобы между словами был ровно один пробел.
27. Дано целое число. Вывести набор символов, содержащий цифры этого числа в
обратном порядке.
28. В каждом слове текста замените "а" на букву "е", если "а" стоит на четном
месте, и заменить букву "б" на сочетание "ак", если "б" стоит на нечетном месте.
29. Составить программу для вычеркивания из слов текста всех букв, стоящих на
нечетных местах после буквы "а".
30. Дан текст, содержащий от 2 до 30 слов, в каждом из которых от 2 до 10
латинских букв; между соседними словами - не менее одного пробела. Напечатать
все слова, отличные от последнего слова, предварительно преобразовав каждое из
них по следующему правилу: 1) перенести первую букву в конец слова; 2)
перенести последнюю букву в начало слова.
31. Составить таблицу слов данного текста, начинающихся с буквы "А", с
указанием числа повторений каждого слова.
32. Составить программы для перевода арабских чисел в римские и для обратной
операции. Например, 255 = CCLV = сто + сто + пятьдесят + пять
33. В заданной строке символов найти слова минимальной и максимальной длины
и выдать позиции, с которых они начинаются.
34. Определить,
является
ли
заданная
последовательность
символов
арифметическим выражением, состоящим из целых чисел и четырех основных
арифметических операций.
35. Дан текст, содержащий от 2 до 30 слов, в каждом из которых от 2 до 10
латинских букв; между соседними словами - не менее одного пробела. Определить,
сколько букв в самом длинном слове строки.
Задание для решения задач на записи, файлы
Составить текстовый файл, содержащий список с необходимыми
данными (по варианту задания). Информацию оформить в виде структуры.
Совокупность структур объединить в массив. Составить программу, которая
обеспечивает ввод исходных данных, сортировку, обработку и вывод на экран
информации в соответствии с вариантом задания.
1. Опишите структуру с именем типа Sport, содержащую информацию о лучших
спортивных достижениях школы по легкой атлетике:
•
название вида спорта;
•
фамилия участника;
•
возраст участника;
•
номер занятого места (1, 2 или 3)
•
сообщение о результате;
Создайте текстовый файл с несколькими записями, считайте из него
фамилии всех участников, занявших первые места, и их средний возраст и
выведите их на экран. Отсортировать по фамилиям.
2.Опишите структуру, содержащую информацию о температуре в хранилище:
•
номер месяца;
•
номер дня;
•
температура.
Переменную, определяющую запись, назовите Zamer. Программа должна
создать текстовый файл с данными за указанный пользователем период. Данные
одного месяца выводить на одной строке, разделяя их пробелами. Вывести
среднюю температуру за каждый месяц. Отсортировать по температуре.
3. Составьте программу, описывающую массив структур – телефонный справочник
одноклассников. В записи о каждом однокласснике содержатся следующие
сведения: фамилия, имя, телефон, хобби. Программа должна обеспечивать ввод
данных, поиск номер телефона по фамилии, подсчет количества человек, у
которых нет хобби, и вывод списка всех абонентов по запросу пользователя.
Отсортировать по телефонам.
4. Используя структуру, опишите вступительные экзамены, на которых
абитуриенты сдавали три экзамена, а для поступления надо было набрать 12
баллов. Составьте программу, считывающую из файла результаты всех
вступительных экзаменов и выводящую на экран список и количество
абитуриентов, сдавших все три экзамена на 5. Отсортировать по фамилиям.
Вводятся записи следующей структуры:
Табельный номер - цифровое поле
ФИО - символьное поле длиной 30 символов
Код должности - цифровое поле
Стаж работы - цифровое поле
Адрес - символьное поле длиной 50 символов
Вывести на экран ФИО сотрудников со стажем работы больше 20 лет.
Отсортировать по фамилиям.
6. Вводятся записи следующей структуры:
Артикул товара - символьное поле
Наименование товара - символьное поле
Количество проданного товара - цифровое поле
Цена товара - цифровое поле
Подсчитать общую стоимость по всем вводимым записям. Стоимость
рассчитывается, как произведение количества проданного товара и цены.
Отсортировать по наименованию товара.
7. Вводятся записи следующей структуры:
ФИО - символьное поле длиной 30 символов
Стаж работы - цифровое поле
Возраст - цифровое поле
Зарплата - цифровое поле
Распечатать фамилии рабочих бригады, начинающихся с букв А и С, с
указанием их месячной зарплаты и среднего стажа. Отсортировать по фамилиям.
8. Создать телефонный справочник, т.е. файл из записей с полями: ФИО, адрес
(запись из 3 полей : улица, номер дома, квартиры) и номер телефона. Найти номер
АТС (первые 2 цифры номера телефона), имеющей наибольшее число абонентов.
Отсортировать по фамилиям.
9. Используя структуру занести в файл информацию:
•Название завода изготовителя
•Номер магазина потребителя
•Наименование производимых товаров (3-4 наим)
•Цена каждого товара
Выдать на экран названия тех товаров, которые не пользовались спросом (т.е.
были заказаны не более двух раз) и названия завода изготовителя. Отсортировать
по наименованию товара.
10. Вводятся записи следующей структуры:
ФИО - символьное поле длиной 30 символов
Класс - цифровое поле
Возраст - цифровое поле
Распечатать всех однофамильцев, обучающихся в одном каком-нибудь
классе, с указанием их среднего возраста. Отсортировать по фамилиям.
11. Опишите запись с именем типа Sport, содержащую информацию о лучших
спортивных достижениях школы по легкой атлетике:
•
название вида спорта;
•
фамилия участника;
•
возраст участника;
•
номер занятого места (1, 2 или 3)
•
сообщение о результате;
Создайте текстовый файл с несколькими записями, считайте из него
фамилии троих самых молодых участников и их средний результат и выведите их
на экран. Отсортировать по результатам.
12. Составьте программу, описывающую массив записей – телефонный справочник
одноклассников. В записи о каждом однокласснике содержатся следующие
сведения: фамилия, имя, телефон, дата рождения. Программа должна обеспечивать
ввод данных, поиск номер телефона по фамилии, подсчет количества человек, у
которых день рождения в текущем месяце и вывод их списка на экран.
Отсортировать по фамилиям.