Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Inf-kaSbkDomZad_A5_Vse1.doc
Скачиваний:
0
Добавлен:
14.04.2019
Размер:
314.37 Кб
Скачать

1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.

2. Расширить эту задачу для составления отчетов успеваемости с указанием академической группы и названия сдаваемого предмета.

Задача 1.48. “ТЕЛЕФОННЫЙ СПРАВОЧНИК". Написать программу электронного телефонного справочника. Вводятся одна за другой пары значений - Фамилия И.О. знакомого и номер его телефона. Процедура ввода завершается при вводе пустой строки. Затем после обработки выводится бщее количество записей, предлагается ввести имя файла, после чего все записи переписываются в текстовый файл. Предусмотреть также режимы загрузки файла-справочника, его просмотра, добавления записи в конец, поиска телефона по Фамилия И.О.

УКАЗАНИЯ: Предусмотреть обработку ошибочных ситуаций, особенно при файловых операциях и наглядную форму диалога с пользователем.

РАЗВИТИЕ:

1. Расширить возможности записи, добавив в нее поля "домашний телефон", "рабочий телефон", "адрес" и реализовать это в программе.

2. Расширить эту задачу введением режимов удаления указанной записи и сортировки справочника по Фамилия И.О. и реализовать это в программе.

Задача 1.49. "ЗАПИСНАЯ КНИЖКА". Написать программу, в основу которой положен список дней рождений (число, месяц, год) своих родных и друзей. Программа должна работать в следующих режимах:

1) пополнение списка;

2) поиск дня рождения по имени;

3) определение всех именинников, родившихся в заданном месяце (поиск по месяцу).

Выводимая информация кроме имени и даты должна содержать количество лет, исполняющихся имениннику в данном году. Записная книжка хранится в текстовом файле.

УКАЗАНИЯ: Предусмотреть обработку ошибочных ситуаций и наглядную форму диалога. Обратите внимание на функции из <STRING.H>.

РАЗВИТИЕ:

1. Расширить возможности записи, добавив в нее поля "любимые подарки", "телефон", "адрес" и реализовать это в программе.

2. Расширить эту задачу введением режимов удаления указанной записи и сортировки списка по имени и реализовать это в программе.

Задача 1.50. "СЛОВАРЬ СОКРАЩЕНИЙ". Написать программу, в основу которой положен текстовый файл со следующим форматом:

/* 1-я строка - сокращение */

МАТАН

/* 2-я строка - полное название */

МАТЕМАТИЧЕСКИЙ АНАЛИЗ

Программа должна работать в следующих режимах:

1) загрузка файла-словаря;

2) пополнение словаря;

3) поиск названия по его сокращению;

4) сохранение файла-словаря.

Если точное сокращение не найдено, то должно выводится ближайшее к нему с предупреждением об этом.

УКАЗАНИЯ: Предусмотреть обработку ошибочных ситуаций и наглядную форму диалога. Обратите внимание на функции из <STRING.H>.

РАЗВИТИЕ:

1. Расширить эту задачу введением режимов удаления указанной записи и сортировки словаря по сокращению и реализовать это в программе.

Задачи для групп а2-04, 05

Задача 2.1. Написать тестирующую main() и следующую функцию

int TStrRunXR( int y, /* номер строки показа на экране */

char *text, /* текст строки сообщения */

int sa, /* атрибут строки сообщения */

int ba /* атрибут чистого экрана */

);

/* В текстовом режиме показывает строку, бегущую справа налево, до нажатия любой клавиши, после чего возвращает код нажатой клавиши. При ошибке во входных параметрах возвращает -1, -2,... по типу ошибки (доопределить самостоятельно). */

Задача 2.2. Написать тестирующую main() и следующую функцию

int TStrRunXL( int y, /* номер строки показа на экране */

char *text, /* текст строки сообщения */

int sa, /* атрибут строки сообщения */

int ba /* атрибут чистого экрана */

);

/* В текстовом режиме показывает строку, бегущую слева направо, до нажатия любой клавиши, после чего возвращает код нажатой клавиши. При ошибке во входных параметрах возвращает -1, -2,... по типу ошибки (доопределить самостоятельно). */

Задача 2.3. Написать тестирующую main() и следующую функцию

int TStrRunYD( int x, /* номер столбца показа на экране */

char *text, /* текст строки сообщения */

int sa, /* атрибут строки сообщения */

int ba /* атрибут чистого экрана */

);

/* В текстовом режиме показывает строку, бегущую снизу вверх, до нажатия любой клавиши, после чего возвращает ее код. При ошибке во входных параметрах возвращает -1, -2,... по типу ошибки (доопределить самостоятельно). */

Задача 2.4. Написать тестирующую main() и следующую функцию

int TStrRunYU( int x, /* номер столбца показа на экране */

char *text, /* текст строки сообщения */

int sa, /* атрибут строки сообщения */

int ba /* атрибут чистого экрана */

);

/* В текстовом режиме показывает строку, бегущую сверху вниз, до нажатия любой клавиши, после чего возвращает ее код. При ошибке во входных параметрах возвращает -1, -2,... по типу ошибки (доопределить самостоятельно). */

Задача 2.5. Написать тестирующую main() и следующую функцию

int TStrRunAR( int y, /* номер строки показа на экране */

char *text, /* текст строки сообщения */

int sa, /* атрибут строки сообщения */

int ba /* атрибут выделения символа строки */

);

/* В текстовом режиме показывает строку, по которой справа налево пробегает атрибут ba, до нажатия любой клавиши, после чего возвращает ее код. При ошибке во входных параметрах возвращает -1,-2,... по типу ошибки (доопределить самостоятельно). */

Задача 2.6. Написать тестирующую main() и следующую функцию

int TStrRunAL( int y, /* номер строки показа на экране */

char *text, /* текст строки сообщения */

int sa /* атрибут строки сообщения */

int ba /* атрибут выделения символа строки */

);

/* В текстовом режиме показывает строку, по которой слева направо пробегает атрибут ba, до нажатия любой клавиши, после чего возвращает ее код. При ошибке во входных параметрах возвращает -1, -2,... по типу ошибки (доопределить самостоятельно). */

Задача 2.7. Написать тестирующую main() и следующую функцию

int TStrRunAD( int x, /* номер столбца показа на экране */

char *text, /* текст строки сообщения */

int sa, /* атрибут строки сообщения */

int ba /* атрибут выделения символа строки */

);

/* В текстовом режиме показывает строку, по которой сверху вниз пробегает атрибут ba, до нажатия любой клавиши, после чего возвращает ее код. При ошибке во входных параметрах возвращает -1, -2,... по типу ошибки (доопределить самостоятельно). */

Задача 2.8. Написать тестирующую main() и следующую функцию

int TStrRunAU( int x, /* номер столбца показа на экране */

char *text, /* текст строки сообщения */

int sa, /* атрибут строки сообщения */

int ba /* атрибут выделения символа строки */

);

/* В текстовом режиме показывает строку, по которой снизу вверх пробегает атрибут ba, до нажатия любой клавиши, после чего возвращает ее код. При ошибке во входных параметрах возвращает -1,-2,... по типу ошибки (доопределить самостоятельно). */

Задача 2.9. Написать тестирующую main() и следующую функцию

BOOL BitStrFind( char *str, /* текст строки - области поиска */

int eol, /* код концевого маркера строки */

BOOL bitval, /* значение искомого бита */

int *nbyte, /* номер байта с найденным битом */

int *nbit /* номер найденного бита в байте */

);

/* В строке str, рассматриваемой как строка битов, ищет бит со значением bitval и возвращает при успехе TRUE и координаты найденного бита в *nbyte, *nbit, иначе FALSE. В main() предусмотреть вывод времени исполнения функции в тиках. */

Задача 2.10. Написать тестирующую main() и следующую функцию

int BitChFind( char arr[], /* массив байтов - область поиска */

int len, /* длина массива байтов */

BOOL bitval, /* значение искомого бита */

int *nbyte, /* номер байта с найденным битом */

int *nbit /* номер найденного бита в байте */

);

/* В массиве arr[], рассматриваемом как последовательность битов длиной 8*len, ищет бит со значением bitval и возвращает при успехе 1 и координаты найденного бита в *nbyte, *nbit, иначе 0. При ошибке во входных параметрах возвращает -1, -2,... по типу ошибки (доопределить самостоятельно). В main() предусмотреть вывод времени исполнения функции в тиках. */

Задача 2.11. Написать тестирующую main() и следующую функцию

int BitIntFind( int arr[], /* массив целых - область поиска */

int len, /* длина массива целых */

BOOL bitval, /* значение искомого бита */

int *nbyte, /* номер байта с найденным битом */

int *nbit /* номер найденного бита в байте */

);

/* В массиве arr[], рассматриваемом как последовательность битов длиной 16*len, ищет бит со значением bitval и возвращает при успехе 1 и координаты найденного бита в *nbyte, *nbit, иначе 0. При ошибке во входных параметрах возвращает -1, -2,... по типу ошибки (доопределить самостоятельно). В main() предусмотреть вывод времени исполнения функции в тиках. */

Задача 2.12. Написать тестирующую main() и следующую функцию

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]