ПРАКТИКА
Программирование операций над строками и файлами.
Программа должна открывать исходный файл, выполнять обработку текстовой информации в соответствии с указанным вариантом и выводить результат обработки во второй файл.
Вариант 1
Написать программу, которая считывает текст из файла и определяет количество символов Х в каждой строке.
Вариант 2
Написать программу, которая считывает текст из файла и заменяет все восклицательные знаки многоточием.
Вариант 3
Написать программу, которая считывает текст из файла и определяет количество арифметических операций (+, -, *, /) в каждой строке.
Вариант 4
Написать программу, которая считывает текст из файла и определяет номер самой длинной строки.
Вариант 5
Написать программу, которая считывает текст из файла и определяет количество строк, содержащих хотя бы одну из арифметических операций (+, -, *, /).
Вариант 6
Написать программу, которая считывает текст из файла и определяет номер самой короткой строки.
Вариант 7
Написать программу, которая считывает текст из файла и определяет количество строк, не содержащих символы препинания (.:;!?,).
Вариант 8
Написать программу, которая считывает текст из файла и определяет количество строк, начинающихся и заканчивающихся одним и тем же символом.
Вариант 9
Написать программу, которая считывает текст из файла и определяет количество строк, начинающихся с пробела.
Вариант 10
Написать программу, которая считывает текст из файла и заменяет любую последовательность точек одним символом *. Например исходный текст: "9.00…1……27.3.4…"; результат: "9*00*1*27*3*4*".
Программирование операций со структурами (комбинированный тип).
Программа должна обеспечивать ввод данных с консоли, вывод информации на экран и обработку данных в соответствии с заданием по варианту.
Вариант 1
Дана структура Дробь, состоит из двух полей целого типа (числитель и знаменатель). Необходимо написать функцию сложения двух дробей.
Вариант 2
Дана структура Дробь, состоит из двух полей целого типа (числитель и знаменатель). Необходимо написать функцию умножения двух дробей.
Вариант 3
Дана структура Дробь, состоит из двух полей целого типа (числитель и знаменатель). Необходимо написать функцию деления двух дробей.
Вариант 4
Дана структура Дробь, состоит из двух полей целого типа (числитель и знаменатель). Необходимо написать функцию сравнения двух дробей.
Вариант 5
Дана структура Время, состоит из трех полей целого типа (Часы, Минуты и Секунды). Необходимо написать функцию, прибавляющую одну секунду к заданному времени.
Вариант 6
Дана структура Время, состоит из трех полей целого типа (Часы, Минуты и Секунды). Необходимо написать функцию, уменьшающую заданное время на одну секунду.
Вариант 7
Дана структура Время, состоит из трех полей целого типа (Часы, Минуты и Секунды). Необходимо написать функцию сравнения двух времен.
Вариант 8
Дана структура Дата, состоит из трех полей целого типа (День, Месяц и Год). Необходимо написать функцию сравнения двух дат.
Вариант 9
Дана структура Дата, состоит из трех полей целого типа (День, Месяц и Год). Необходимо написать функцию, прибавляющую к дате один день.
Вариант 10
Дана структура Дата, состоит из трех полей целого типа (День, Месяц и Год). Необходимо написать функцию, определяющую предыдущий к дате день.
Программирование линейных списков на языке С.
Представить таблицу в виде линейного списка L, элементами которого являются строки таблицы.
Таблица 1 – Список студентов
№ | Фамилия студента | Оценки | ||
Физика | История | Математика | ||
Написать программу, содержащую следующие функции:
– создание списка (ввод данных с клавиатуры);
– просмотр списка (вывод данных в табличном виде);
– добавление нового элемента в список;
– сохранение данных из списка в файл;
– загрузка данных из файла и создание списка на их основе;
– удаление всех элементов списка (!!!).
Оформить работу программы в виде меню. Каждый пункт меню отвечает одной из функций, перечисленных выше. Дополнить свою работу функцией по варианту задания. Предусмотреть все проверки!
Вариант 1
Написать функцию поиска элемента по введенному НЕ ключевому полю.
Вариант 2
Написать функцию, удаляющую элемент по введенному ключу.
Вариант 3
Написать функцию, которая добавляет нового студента в список с сохранением упорядоченности элементов списка.
Вариант 4
Написать функцию, которая упорядочивает список по фамилиям студентов по алфавиту (изначально список не упорядочен).
Вариант 5
Написать функцию, проверяющую, есть ли в списке два студента с одинаковой фамилией.
Вариант 6
Написать функцию, определяющую дисциплину, по которой у студентов больше всего пятерок.
Вариант 7
Написать функцию, которая меняет местами студентов Иванова и Петрова (или пишет сообщение что таковых в списке нет).
Вариант 8
Написать функцию, удаляющую элемент из списка по введенному номеру, скажем, 15й элемент списка (в структуре списка номер НЕ хранится).
Вариант 9
Написать функцию, которая предпоследний элемент списка делает первым.
Вариант 10
Написать функцию подсчета средней успеваемости группы по каждой дисциплине.
Программирование задач «длинной арифметики»
Длинная арифметика – это класс задач, ориентированный на работу с числами огромной разрядности. В таком случае числа хранятся в виде массивов цифр, а задача программиста – корректно задать алгоритм обработки и выполнения операций над данными.
Необходимо написать программу, выполняющую ввод и вывод информации через консоль, а также выполняющую задание по варианту.
(В качестве тестовых данных можно использовать цифры в 10-20 раз меньше)
Вариант 1
Даны два числа в 200 знаков каждое. Необходимо вычислить сумму этих двух чисел.
Вариант 2
Даны два числа в 200 знаков каждое. Необходимо вычислить разность этих двух чисел.
Вариант 3
Дано число в 200 знаков. Необходимо умножить это число на 5.
Вариант 4
Дано число в 200 знаков. Необходимо разделить это число на 2. Считать число четным.
Вариант 5
Даны два числа в 200 знаков каждое. Необходимо определить большее из них.
Вариант 6
Вычислить значение факториала 50!.
Вариант 7
Вычислить значение степенной функции 31000.
Вариант 8
Даны два числа в двоичной записи в 500 знаков каждое. Необходимо выполнить операцию побитового ИЛИ.
Вариант 9
Даны два числа в двоичной записи в 500 знаков каждое. Необходимо выполнить операцию побитового И.
Вариант 10
Дано число в двоичной записи, содержит 500 двоичных знаков. Необходимо определить его дополнительный код.