Программирование задач «длинной арифметики»

ПРАКТИКА

Программирование операций над строками и файлами.

Программа должна открывать исходный файл, выполнять обработку текстовой информации в соответствии с указанным вариантом и выводить результат обработки во второй файл.

Вариант 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 двоичных знаков. Необходимо определить его дополнительный код.





Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: