лабы по ЯВУ
.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. Информацию о каждом файле представить в виде двунаправленного списка.
 
