
- •Часть II
- •Содержание
- •Общие указания к выполнению лабораторных работ
- •Лабораторная работа № 1 «Строки, записи, множества»
- •Общие сведения.
- •Задания
- •Контрольные вопросы
- •Лабораторная работа № 2 «Процедуры и функции»
- •Общие сведения
- •Задания
- •Контрольные вопросы
- •Лабораторная работа № 3 «Файлы»
- •Общие сведения
- •Задания
- •Контрольные вопросы
- •Лабораторная работа № 4 «Динамические структуры данных»
- •Общие сведения
- •Задания
- •Контрольные вопросы
- •Список рекомендуемой литературы
- •Приложение
- •3.3. Спецификация подпрограмм:
- •Вывод элементов массива в начальном расположении
- •Отсутствуют
- •Процедура
- •Текст программы:
- •Контрольный пример:
Задания
Вариант 1
Дан текст из слов, разделенных пробелами. Вывести на экран все слова-палиндромы. Если таких слов нет, выдать соответствующее сообщение.
Описать, используя структуру данных запись, телефонную книгу. Составить программу, выдающую список абонентов, имеющих телефонный номер, начинающийся на 331.
Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все гласные буквы, которые входят в каждое слово.
Вариант 2
Дан текст из слов, разделенных пробелами. В каждом слове текста замените "а" на букву "е", если "а" стоит на четном месте, и заменить букву "б" на сочетание "ак", если "б" стоит на нечетном месте.
Описать, используя структуру данных запись, каталог книг в библиотеке. Составить программу, выдающую список книг В.Пикуля, хранящихся в библиотеке.
Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все звонкие согласные буквы, которые входят хотя бы в одно слово.
Вариант 3
Дан текст из слов, разделенных пробелами. Отредактировать заданное предложения текста, удаляя из него все слова с нечетными номерами и переворачивая слова с четными номерами. Например, HOW DO YOU DO -> OD OD.
Описать, используя структуру данных запись, таблицу дат и событий русской истории. Составить программу, выдающую список событий 19 века.
Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все глухие согласные буквы, которые не входят хотя бы в одно слово.
Вариант 4
Дан текст из слов, разделенных пробелами. Вывести на экран самое длинное слово фразы.
Описать, используя структуру данных запись, школьный класс (Фамилия и инициалы, дата рождения, месяц рождения, год рождения). Составить программу, выдающую список учеников, рожденных в мае месяце.
Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все согласные буквы, которые не входят ни в одно слово.
Вариант 5
Дан текст из слов, разделенных пробелами. Упорядочить слова текста по алфавиту.
Описать, используя структуру данных запись, записную книжку (Фамилия и инициалы, год рождения, дата рождения, месяц рождения). Составить программу, выдающую список друзей, кому в этом году исполняется 25 лет.
Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все согласные буквы, которые входят только в одно слово.
Вариант 6
Дан текст из слов, разделенных пробелами. Вывести на экран все слова, совпадающие с последним словом фразы. Если таких слов нет, выдать соответствующее сообщение.
Описать, используя структуру данных запись, выборы (фамилия кандидата и количество набранных голосов). Всего избирателей 2000. Составить программу, определяющую кто из делегатов прошел или необходимо проводить повторные выборы (должно быть набрано 1/3 голосов от общего количества).
Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все глухие согласные буквы, которые не входят только в одно слово.
Вариант 7
Дан текст из слов, разделенных пробелами. Вывести на экран все слова, встречающиеся в тексте более одного раза. Если таких слов нет, выдать соответствующее сообщение.
Описать, используя структуру данных запись, школьную нагрузку (фамилия преподавателя, класс, часы). Составить программу, определяющую нагрузку каждого преподавателя. Определить у какого преподавателя самая большая нагрузка и кого самая низкая.
Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все звонкие согласные буквы, которые входят более чем в одно слово.
Вариант 8
Дан текст из слов, разделенных пробелами. Вывести на экран все слова, в которых все буквы разные. Если таких слов нет, выдать соответствующее сообщение.
После поступления в ВУЗ о студентах собрана информация: фамилия, нуждается ли в общежитии, стаж, работал ли учителем, что окончил, какой язык изучал. Составить программу, определяющую: 1) сколько человек нуждаются в общежитии; 2) списки студентов, проработавших 2 и более лет учителем.
Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все гласные буквы, которые не входят более чем в одно слово.
Вариант 9
Дан текст из слов, разделенных пробелами. Оставить в тексте по одному экземпляру каждого слова.
Описать, используя структуру данных запись, таблицу соревнований (название команды, количество набранных очков). Выбрать команду, занявшую первое место. Упорядочить список команд, в зависимости от занятого места.
Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все звонкие согласные буквы, которые входят в каждое нечетное слово и не входят ни в одно четное слово.
Вариант 10
Дан текст из слов, разделенных пробелами. Составить программу для вычеркивания из слов текста всех букв, стоящих на нечетных местах после буквы "а".
Описать, используя структуру данных запись, вступительные экзамены. Абитуриенты сдавали три экзамена, для поступления необходимо набрать 12 баллов. Определить списки абитуриентов, зачисленных в институт, количество несдавших экзамены, списки абитуриентов сдавших три экзамена на 5.
Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все глухие согласные буквы, которые входят в каждое нечетное слово и не входят хотя бы в одно четное слово.
Вариант 11
Дан текст из слов, разделенных пробелами. Получить новую строку, в которой каждое слово фразы записано наоборот.
В библиотеке для каждого заказывающего книгу читателя заполняется карточка: фамилия, дата заказа, дата выдачи книги. Определить: 1) самый маленький срок, за который нашли книгу; 2) сколько заказов было не удовлетворено; 3) кто чаще всего берет книги.
Подсчитать общее количество цифр и знаков '+', '-', и '*', входящих в строку s.
Вариант 12
Для запоминания числа p иногда используют "магические" фразы, например: "это я знаю и помню прекрасно Пи многие знаки мне лишни напрасны" или "кто и шутя и скоро пожелаетъ Пи узнать число ужъ знаетъ". Число букв в каждом слове любой из данных фраз представляет собою некоторую цифру числа: "это"-3, "я"-1, "знаю"-4 и т.д. Составить программу, которая по указанному алгоритму будет выводить на печать число, используя любой текст.
Описать, используя структуру данных запись, почтовую сортировку (город, улица, дом, квартира, кому, ценность). Составить программу, определяющую: 1) сколько посылок отправлено в г. Самару; 2) сколько и куда (список городов) отправлено посылок ценностью выше 10 рублей; 3) есть ли адреса куда отправлено более 1 посылки, если есть то сколько и кому.
Подсчитать количество различных (значащих) цифр в десятичной записи натурального числа n и напечатать в возрастающем порядке все цифры, не входящие в десятичную запись натурального числа n.
Вариант 13
Дан текст из слов, разделенных пробелами. Определить, где расположено самое длинное слово фразы: в первой половине, во второй или посередине.
В библиотеке в читательском билете есть данные о человеке фамилия, записываются данные о книге (автор, название, дата, когда книгу брали читать). Определить, кто брал книгу Ефремова "Таис Афинская" 15.05.06, количество книг А.Дюма и какие есть в библиотеке, кто и какие книги брали 21.04.06.
Подсчитать количество знаков препинания в заданном тексте.
Вариант 14
Дан текст из слов, разделенных пробелами. Удалить из текста все слова, в которых только три различные буквы (например, дом, кара и т.д.). Если таких слов нет, выдать соответствующее сообщение.
В экзаменационной ведомости можно выделить сведения о ведомости (предмет, номер группы, дата экзамена), сведения о человеке (фамилия, номер зачетной книжки, оценка за экзамен). Определить сколько человек не сдали информатику, выдать их списки: фамилия, номер группы. Определить сколько групп сдавали экзамены 11.06.06 и какие, составьте списки студентов, сдавших информатику: фамилия, номер группы, оценка.
Вычислить сумму тех элементов матрицы A, номера строк и столбцов которых принадлежат соответственно непустым множествам S1 и S2 типа Nom.
Вариант 15
Дан текст из слов, разделенных пробелами. Определить, сколько раз в тексте встречается самое длинное слово.
Описать, используя структуру данных запись, расписание (предмет, преподаватель, номер группы, день недели, часы, аудитория). Составить программу определяющую: 1) у каких групп совпадают аудитории на занятиях; 2) какая нагрузка у преподавателя ... на этой недели.
Дан текст, за которым следует точка. В алфавитном порядке напечатать (по разу) все строчные русские гласные буквы (а,е,о,у,ы,э, ю,я), входящие в этот текст.
Вариант 16
Дан текст из слов, разделенных пробелами. Найти самое длинное слова фразы и проверить, можно ли из букв этого слова составить заданное слово.
На олимпиаде по информатике на школьников заполнялись анкеты: фамилия, номер школы, класс, занятое место. Напечатать: 1) списки школ, занявших призовые места; 2) какая из школ заняла больше всех призовых мест; 3) списки учеников занявших первое место, указать их класс.
Из множества целых чисел 1..20 выделить множество чисел, кратных 6.
Вариант 17
Дан текст из слов, разделенных пробелами. Упорядочить текст по возрастанию количества букв в слове.
Описать, используя структуру данных запись, записную книжку (фамилия, номер телефона). Составить программу, определяющую: 1) есть ли в записной книжке сведения о знакомом с фамилией на букву "Ф", если есть напечатать его фамилию и телефон; 2) есть ли в записной книжке сведения о знакомом с телефоном 33-58-35, если есть напечатать его фамилию.
Дан текст из цифр и строчных латинских букв, за которым следует точка. Определить, каких букв - гласных (a, e, i, o, u) или согласных - больше в этом тексте.
Вариант 18
Дан текст из слов, разделенных пробелами. Определить, отсортирован ли текст по алфавиту.
В деканате хранится информация о зимней сессии на 1 курсе (фамилия, номер группы, оценка 1 по геометрии, оценка 2 по алгебре, оценка 3 по информатике). Составить программу, печатающую фамилии студентов, имеющих задолженность хотя бы по одному предмету, качество успеваемости (процент студентов, сдавших экзамены на 4 и 5), название предмета, который был сдан лучше всего.
Даны целые числа от 1 до 50. Определить, сколько среди них чисел Фибоначчи и сколько чисел, первая значащая цифра в десятичной записи которых 2 или 3. Результат поместить в множества.
Вариант 19
Дан текст из слов, разделенных пробелами. Найти все пары слов, одно из которых является обращением другого. Если таких слов нет, выдать соответствующее сообщение.
Описать, используя структуру данных запись, жителя (фамилия, город, улица, дом, строка). Составить программу, которая печатает фамилии двух любых жителей из списка, живущих в разных городах по одинаковому адресу.
type letters = set of 'a'..'z'; Описать процедуру print(A), печатающую в алфавитном порядке все элементы множества A, имеющего тип letters.
Вариант 20
Дан текст из слов, разделенных пробелами. Напечатать все слова, отличные от последнего слова, предварительно преобразовав каждое из них по следующему правилу: перенести первую букву в конец слова.
В отделе кадров студентов хранится следующая информация о каждом студенте: фамилия, имя, отчество, пол, возраст, курс. Составить программу, которая печатает номер курса, на котором наибольший процент мужчин, в алфавитном порядке самые распространенные мужские и женские имена.
Дан текст из строчных латинских букв, за которыми следует точка. Получить множество, содержащее все буквы, входящие в текст по одному разу, сохранив при этом их исходный порядок.