Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
тех прог.doc
Скачиваний:
38
Добавлен:
14.11.2019
Размер:
3.59 Mб
Скачать

Задачи 135-147. Файлы и командная строка

  1. Напишите программу, выводящую на экран строки текстового файла. Вначале каждой строки печатайте ее номер. Считайте, что строки нумеруются, начиная с 1.

  2. Напишите программу, выводящую на экран часть строк текстового файла, номера которых лежат в заданном диапазоне, в начале каждой строки печатайте ее номер.

  3. Напишите программу, выводящую на экран содержимое текстового файла за исключением строк, номера которых расположены в заданном диапазоне.

  4. Напишите программу, выводящую на экран только нечетные строки файла с указанием номеров строк.

  5. Напишите программу, выводящую на экран только четные строки файла с указанием номеров строк.

  6. Дан текстовый файл f. Получить из этого файла файл g, заменив все прописные (большие) буквы одноименными строчными.

  7. В текстовом файле f записаны целые числа, разделенные пробелами. Запишите в файл g числа из файла f в том же порядке, но из нескольких идущих подряд одинаковых чисел пишите в файл g только одно.

  8. Найдите и выведите самую длинную строку текстового файла.

  9. Выведите первую из самых коротких строк текстового файла.

  10. В текстовый файл построчно записаны целочисленные элементы квадратной матрицы размером 4*4. Прочитайте матрицу из файла в двумерный массив, транспонируйте и запишите транспонированную матрицу в другой файл.

  11. В текстовый файл построчно записаны целочисленные элементы квадратной матрицы размером 4*4. Прочитайте матрицу из файла в двумерный массив, вычеркните заданную строку и столбец, полученную матрицу 3*3 запишите в другой файл.

  12. Напишите программу, которая выводит сообщения:

Работает программа из файла FILENAME

В командной строке имеются слова:

WORD1

WORD2

Здесь FILENAME  имя файла, в котором находится программа, WORD1, WORD2, … – слова из командной строки.

  1. Напишите программу ical, которая сможет выполнять 4 арифметические действия над своими аргументами, то есть в ответ на ввод команды типа

ical 5 + 4

печатать результат выполнения заданной операции: 9.

Глава 12.Работа с экраном дисплея

12.1.Текстовый режим

Экран дисплея может работать в текстовом режиме и, при соответствующей аппаратной и программной поддержке, в графическом режиме. В текстовом режиме на экране можно разместить обычно 25 строк по 80 символов в каждой строке. Средства для работы в текстовом режиме объявлены в заголовочном файле conio.h.

В текстовом режиме на экране дисплея действует следующая система координат: ось x направлена слева направо, ось y – сверху вниз; началом координат является левый верхний угол экрана. В начале координат x = 1, y = 1. Координата x является номером символа в строке, а координата y – номером строки.

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

Таблица 35. Константы цветов и их значения

Цвет

Константа

Значение

черный

голубой

зеленый

бирюзовый

красный

красно-лиловый

коричневый

светло-серый

темно-серый

светло-голубой

светло-зеленый

светло-бирюзовый

светло-красный

светло-красно-лиловый

желтый

белый

BLACK

BLUE

GREEN

CYAN

RED

MAGENTA

BROWN

LIGHTGRAY

DARKGRAY

LIGHTBLUE

LIGHTGREEN

LIGHTCYAN

LIGHTRED

LIGHTMAGENTA

YELLOW

WHITE

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

В текстовом режиме символы могут выводиться на экран разными цветами на разном фоне. Система TC допускает использования 16 цветов для символов и 8 цветов для фона. В conio.h определены 16 констант, кодирующих возможные цвета. Они приведены в табл.36. Все 16 цветов можно использовать для цвета символов, для цвета фона можно использовать только первые 8 цветов.

Ниже приводится краткое описание некоторых, объявленных в conio.h, функций, которые можно использовать для управления экранном в текстовом режиме.

Функция

void clrscr(void);

очищает текущее текстовое окно, устанавливает заданный цвет фона и помещает курсор в левый верхний угол.

Функция

void gotoxy(int x, int y);

устанавливает курсор в текущем окне в положение с координатами x, y. Значения x, y могут изменяться от 1 до максимальных размеров окна соответственно в горизонтальном и вертикальном направлении.

Функции

int wherex(void); int wherey(void);

возвращают текущие координаты курсора.

Функция

void textbackground(int color);

устанавливает цвет фона color. В качестве цвета можно брать первые 8 цветов из табл.37, задавая их или числами от 0 до 7, или именованными константами, что проще, так как их легче запомнить.

Функция

void textcolor(int color);

устанавливает цвет символов и признак мерцания, определенные в аргументе color. Можно использовать все цвета из табл.38. Для установки признака мерцания используется константа BLINK со значением 128. Если взять, например, color = RED + BLINK; то будет установлен режим вывода красных мерцающих символов.

Функция

void window(int x1, int y1, int x2, int y2);

формирует текстовое окно в виде прямоугольника с координатами левого верхнего угла x1, y1 и правого нижнего угла x2, y2. Используются абсолютные координаты, связанные с экраном.

Функция

int putch(int ch);

выводит на экран в текущую позицию курсора символ с кодом ch, используя установленные цвета символа и фона.

Функция

int getch(void);

читает единственный символ с клавиатуры без его отображения на экране. Если нажимается функциональная или управляющая клавиша, getch возвращает 0. После этого ее можно повторно вызвать и она возвратит некоторый код клавиши. Например, если нажата клавиша «стрелка вверх» , то при первом вызове getch возвратит 0, а при втором – 72. При нажатии клавиши Enter getch возвращает единственный символ возврат каретки ’\r’ с кодом 13.