лабы по ЯВУ
.rtfЗадания к лабораторным работам по курсу "Языки и системы программирования" (Часть 2)
Задание 1. Массивы и строки
-
Разработать функции матричной алгебры (3 операции над матрицами) и тестовую программу для них.
-
Вводится двумерный массив. Разработать программу, дополняющую его строкой и столбцом с с суммами соответствующих строк или столбцов исходного массива.
-
Из заданной квадратной матрицы выбрать столбец, обладающий наибольшей суммой модулей элементов. В этом столбце найти наименьший элемент.
-
Задается массив вещественных чисел (результаты эксперимента). Рассчитать их среднее арифметическое значение и выборочную дисперсию.
-
Разработать программу, которая читает текст другой программы, обнаруживает комментарии и распечатывает их.
-
Разработать программу, которая определяет, является ли данный текст полиндромом, т.е. читается ли он слева направо так же, как и справа налево (например, "А роза упала на лапу Азора").
-
Разработать программу, которая ищет полиндромы в заданном интервале натуральных чисел. Число является полиндромом, когда оно читается слева направо так же, как и справа налево (например, 232).
-
Разработать программу для зашифровки и расшифровки текстов методом транслитерации.
-
Разработать программу, осуществляющую поиск самого короткого и самого длинного слова во вводимом тексте.
-
Разработать программу форматирования текста с выравниватием его по правой и левой границам.
Задание 2. Структуры(записи) и программирование информационных задач
-
Разработать программу-справочник по расписанию вылетов самолетов. Для каждого рейса хранятся:
-
Номер рейса.
-
Тип самолета.
-
Пункт назначения.
-
Время вылета.
Предусмотреть возможность поиска данных по каждому из этих полей.
-
Разработать программу ведения справочника по расписанию поездов и бронированию мест на них.
-
Разработать программу, ведущую "записную книжку" с номера ми телефонов. Программа должна выполнять следующие операции:
-
запись данных о номере телефона и фамилии;
-
определение номера телефона по фамилии;
-
определение фамилии по номеру телефона.
-
Разработать программу, обрабатывающую информацию об итогах экзаменационной сессии. Хранятся следующие сведения:
-
фамилия;
-
имя;
-
отчество;
-
номер группы;
-
оценки по 5 предметам.
Программа должна выполнять следующие операции:
-
запись данных;
-
определение фамилий студентов, имеющих задолженность хотя бы по одному предмету;
-
определение процента студентов, сдавших все экзамены на 4 и 5.
-
Разработать программу, ведущую картотеку книг. Хранятся следующие сведения:
-
фамилия и инициалы автора;
-
название;
-
издательство;
-
год издания;
-
номер библиотечной полки, где хранится данная книга;
Предусмотреть возможность поиска данных по каждому из этих полей.
-
Разработать программу регистрации кандидатов в депутаты. Для каждого из кандидатов хранятся:
-
Фамилия, имя и отчество.
-
Возраст.
-
Профессия.
-
Наименование партии.
-
Номер избирательного округа.
-
Судимость.
Предусмотреть возможность поиска данных по каждому из этих полей, а также возможность расчета статистических данных по каждой партии:
-
Число поданных заявлений.
-
Средний возраст кандидатов.
-
Наиболее часто встречающаяся профессия.
-
Число кандидатов с криминальныь прошлым.
-
Разработать программу для регистратуры больницы Для каждого из больных хранятся:
-
Фамилия, имя и отчество.
-
Возраст.
-
Диагноз.
-
Номер палаты.
Предусмотреть возможность поиска данных по каждому из этих полей, а также обеспечить размещение больных по палатам так, чтобы больные с одинаковым диагнозом по возможности располагались вместе.
-
Разработать программу для службы знакомств. Для женихов и невест предусмотреть хранение следующих полей:
-
Данные о кандидате (возраст, рост, вес, интересы).
-
Требования к партнеру (диапазоны возраста, роста, веса, интересов).
Предусмотреть возможность поиска данных по этим полям, а также обеспечить формирование списка пар с учетом требований кандидатов.
-
Разработать программу для службы занятости. Предусмотреть возможность ведения списка вакансий, содержащего следующую информацию:
-
Наименование организации.
-
Местоположение.
-
Требуемая квалификация и стаж работы.
-
Требуемый возраст кандидата.
-
Дополнительные требования к кандидату.
Предусмотреть возможность поиска данных по этим полям.
Клиент вводит информацию о себе и о своих требованиях и получает список подходящих ему рабочих мест.
-
Разработать программу для технической службы аэропорта, обеспечивающую расчет потребности в топливе. Обеспечить хранение (импорт) расписания полетов, расчет потребности в топливе с учетом типа самолета и продолжительности рейса, выдачу графика заправки самолетов.
Задание 3. Работа с файлами
Обеспечить хранение данных в файлах для программ, разработанных в рамках задания 2.
Задание 4. Динамические структуры данных
-
Разработать программу сортировки матрицы размерности nxn так, чтобы элементы в каждой строке отсортиррованной матрицы располагались по возрастанию, и ни один элемент в i строке не был бы больше любого элемента в i+1 строке. Сортировку выполнять над одномерным массивом из n2 элементов, который "накладывается" на исходную матрицу.
-
Разработать программу вычисления значений многочлена
P(x)=a0+a1x+a2x2+…+anxn
в целочисленной точке x. При этом значения коэффициентов a1, a2, …, an вводятся с клавиатуры и динамически размещаются в памяти в форме стека.
-
Разработать программу формирования стека, содержащего целые числа, и сортировки по возрастания элементов в этом стеке. В процессе сортировки элементы стека перемещаться не должны.
-
Разработать программу формирования стека, куда помещается последовательность символов в виде отдельных слов, вводимых с клавиатуры. Затем эти слова выводятся на экран.
-
Разработать программу, использующую динамическую структуру данных для хранения гениалогического дерева. Каждая вершина дерева должна содержать имя и год рождения.
-
Разработать программу, определяющую симметричность произвольного текста любой длины, заканчивающегося точкой. Задачу рекомендуется решать с помощью двух стеков. В первый стек помещается весь текст, затем во второй стек переносится его половина так, чтобы последний символ текста находился на дне стека. Затем производится поэлементное сравнение этих стеков.
-
Разработать программу формирования стека с последующим преобразованием его в двунаправленный список и программу поиска слов в этом списке.
-
Разработать программу слияния двух стеков, содержащих целые числа, в третий, в котором элементы располагаются в порядке возрастания.
-
Разработать программу формирования, отображения и проверки на корректность блок-схем программ. Информацию о блок-схеме представить в виде двунаправленного списка.
-
Разработать программу отображения и проверки на корректность файловой системы FAT. Информацию о каждом файле представить в виде двунаправленного списка.