Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

tasks234

.pdf
Скачиваний:
10
Добавлен:
12.02.2015
Размер:
47.7 Кб
Скачать

а содержат только команды для программы форматирования.

Пример:

Текст на этой строке не содержит команд форматирования

.pagelength 25

.newpage

Перед этой строкой команда .newpage вставляет разделитель страниц.

Команды форматирования:

-параметры страницы (длина, количество пустых строк сверху/снизу)

-параметры абзаца (отступ первой строки, отступ всех остальных строк, длина строки);

-нумерация страниц (нумеровать или нет, номер первой страницы в файле, номер страницы вверху/внизу);

-установить колонтитул;

-временная отмена форматирования (текст переносится "как есть");

-расположение текста на строке: влево, по центру, вправо, к краям;

-перенос да/нет;

Разработать алгоритм переноса русских слов (один из вариантов в [1]).

[1]Абрамов С.А. и др. Задачи по программированию /Биб-ка программиста/.

М.: Наука, 1988.

53. РЕВЕРСИ

Написать программу для игры "реверси". Программа должна работать

вдвух режимах:

-играют два человека

-человек играет против компьютера.

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

любое число ходов.

54. ПОЛИНОМЫ - 3

Разработать набор функций и структуру данных для работы с полиномами

от одной переменной с вещественными коэффициентами.

Действия над полиномами:

n

n-1

n-2

- приведение к нормальной форме (к виду ax + bx

+ cx

+ ... );

- сложение, умножение, вычитание;

- возведение в целую степень; - определение степени полинома;

- вычисление значения по заданному аргументу;

- суперпозиция полиномов;

- инициализация символьной строкой; pol_init( f, " (x+1)^2 - x + 3*(5+x) " );

в записи полинома символьной строкой переменная всегда обозначается символом "x". Лишние пробелы игнорируются.

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

- преобразование из внутреннего представления в символьную строку;

Внутреннее представление полинома -- на базе дерева.

55. ЭВМ

Некоторая ЭВМ имеет объем оперативной памяти 1024 Кбайт, из которых 150 Кбайт занимает оперативная система (помещается в младших адресах памяти),

а остальные доступны для задач,которые запускаются с единственного терминала,

имеющегося на ЭВМ, причем запуск очередной задачи может быть произведен раньше, чем закончится предыдущая. Запущенная задача помещается в оперативную память и начинает выполняться, если для нее имеется достаточно оперативной памяти, свободной к моменту запуска.В противном случае задача помещается в

очередь.В дальнейшем как только память освободиться, первая задача из

очереди, для которой требование по памяти выполняются, начинает работать.

Оперативная память задаче выделяется непрерывным куском. Если для задачи,

первой в очереди, не имеется достаточного по размеру непрерывного куска, ОС проверяет, не получится ли такой непрерывный кусок, если сдвинуть

вверх все имеющиеся в ОП задачи и собрать, таким образом, все свободное пространство в один кусок. Если это возможно, ОС производит такую операцию

и запускает задачу. Если это невозможно, сжатие не производится, а ОС пытается запустить подобным образом вторую задачу из очереди и т.д.

После окончания задачи занятая ею память освобождается и может быть распределена другим задачам.

По команде оператора задаче может быть выделена дополнительная память. Если в ОП сразу вслед за данной задачей имеется достаточный свободный

участок, то он просто передается задаче. Если такого участка нет, но его можно создать, то производится сжатие, как сказано выше, причем

нижерасположенные задачи перемещаются к началу ОП, а вышерасположенные к концу (если достаточно одного из этих действий, то второе не

производится), после чего образовавшийся свободный участок передается задаче. Если и таким образом нельзя получить свободную память, запрос отвергается с выдачей диагностики.

Время при работе системы квантуется равными порциями для всех задач,

находящихся в ОП. Например, если в ОП имеется 3 задачи, то за 1 мин.

каждая из них получит 0.33 мин.

Команды оператора по работе с системой:

1.INT интервал. Задает интервал (в мин.), через который система выходит на диалог с оператором. По умолчанию INT=1. При выходе на диалог машинное время останавливается.

2.RUN имя_задачи время память. Запустить задачу.

Имя -- идентификатор из <= 6 символов.

время -- целое число в интервале 1..60,

память -- целое число в интервале 1..MAXV, где MAXV -- максимально

допустимый в системе объем ОП. При задании величины >MAXV задача

не принимается.

3.EXT имя_задачи память. Расширяет память на указанное целое число Кбайт. Действует только на выполняющиеся задачи, для задач в очереди команда отвергается.

4.CPU. Выдает информацию о состоянии ОП. Для каждой задачи указывается какие адреса она занимает. Указываются также свободные участки. Желательна

выдача этой информации в виде псевдографической карты памяти (см., например,

карту диска в SD,NU). Для задач также указывается время, прошедшее от начала и время, оставшееся до конца.

5.QUE. Выдает информацию об очереди (задачи,заказанное время и память).

6.

CAN имя_задачи

Если задача выполняется,аварийно прекращает

 

или

ее с выдачей сообщения и освобождает память.Вариант

 

CAN/ALL

CAN/ALL аварийно прекращает все выполняющиеся задачи.

 

 

На задачи в очереди команда не действует.

7.

ERA имя_задачи

Аналогична команде CAN, но действует на задачи в

 

или

очереди и не действует на задачи в ОП.

 

ERA/ALL

 

8.STO имя_задачи. Если задача выполняется, приостанавливает ее. Для приостановленной задачи время "не идет", а остальные задачи, находящиеся в ОП в этот момент, делят ее время между собой. На задачи в очереди команда не действует.Приостановленная задача может быть снята командой

CAN или возобновлена командой CON.

9.CON имя_задачи. Возобновляет выполнение приостанавливаемой задачи. На выполняющиеся (не остановленные) и задачи в очереди не действует.

После выполнения команды CON задача вновь получает свою долю процессорного

времени.

10.HOL. Задерживает всю очередь и запрещает старт новых задач (они

ставятся в очередь).

11.HOL имя_задачи. Задерживает задачу в очереди. Задержанная задача не

может быть запущена, даже если есть свободная память. Задержанная

в очереди задача может быть снята командой DEL или отпущена командой UNH.

12.UNH. Отменяет команду HOL.

13.UNH имя_задачи. Снимает статус задержки, устанавливаемый командой HOL. Если задача не задержана, команда игнорируется.

12.GO. Конец диалога, возврат в режим выполнения.

13.EXI. Выход из системы.

Система должна вызывать ответ на любую введенную команду (сообщать о результате действий по выполнению команды), обеспечить диагностику в случае

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

выходе на диалог, а в момент, следующий за событием) должны выдаваться сообщения о старте или окончании задач.

Примечание: Не разрешается запуск задачи с некоторым именем, если в ЭВМ (в ОП или очереди) имеется задача с таким же именем.

56. ПРИВЕДЕНИЕ ФОРМУЛЫ ИВ К ДНФ Формулой логики высказываний называется последовательность символов,

построенная по правилам:

1)переменная есть формула,

2)если A и B формулы, то выражения (A&B), (AvB), (A>B), ^A тоже формулы.

Скобки в формулах могут быть опущены с учетом ассоциативности связок

&и v, а также согласно правилам приоритета логических связок:

^ (наибольший приоритет), &,

все остальные связки.

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

--перекодировка из строкового представления формулы в FormTree;

--перекодировка из FormTree в строковое представление;

--приведение заданной формулы к ДНФ (аргумент и результат типа FormTree).

57.ПРИВЕДЕНИЕ ФОРМУЛЫ ИВ К КНФ

Формулой логики высказываний называется последовательность символов, построенная по правилам:

1)переменная есть формула,

2)если A и B формулы, то выражения (A&B), (AvB), (A>B), ^A тоже формулы.

Скобки в формулах могут быть опущены с учетом ассоциативности связок

&и v, а также согласно правилам приоритета логических связок:

^ (наибольший приоритет), &, все остальные связки.

Разработать динамическую древовидную структуру данных FormTree для

записи информации о формуле логики высказываний. Разработать функции, реализующие следующие возможности:

--генерация случайной формулы логики высказывания, длина которой не

превосходит заданное число (результат имеет тип FormTree);

--перекодировка из FormTree в строковое представление;

--приведение заданной формулы к КНФ (аргумент и результат типа FormTree).

58.ОСТРОВА В МОРЕ

Расположение островов в море представлено картой размером N*N. Задача заключается в восстановлении карты по закодированной информации о

распределении островов по горизонтали и вертикали.

На следующем примере

острова обозначены символом *, море - символом -.

* - *

* - -

1

2

 

- * *

* - *

3

1

 

* - *

- * -

1

1

1

- * *

* * *

5

 

 

* * -

* - *

2

1

1

- - -

* - -

1

 

 

1

1

4

2

2

1

 

 

 

1

2

 

3

 

2

 

 

 

1

 

 

 

 

 

 

 

 

Числа справа и снизу являются кодами и представляют собой информацию

о порядке и размерах групп островов в соответствующих строках (столбцах). Например, числа 1 2 в первой строке означают, что первая горизонталь

содержит группу из одного острова, за которой следует группа из двух

островов. Справа и слева от каждой группы расположено море произвольной протяженности.

ПОСТАНОВКА ЗАДАЧИ.

Код карты записан в файле в виде блока, имеющего следующий формат

(то, что написано после #, является комментарием):

N

 

#

размер карты

1

2 0

#

код первой строки

3 1 0

1 1 1 0

5 0

2 1 1 0

1 0

1 1 1 0 # код первого столбца

1 2 0

4 0

2 3 0

2 0

1 2 0

Коды строк и столбцов заканчиваются 0. Входной файл может содержать несколько подобных блоков.

Напишите программу, восстанавливающую карту по ее коду

(все карты в случае не единственного решения). Восстановленные карты

должны быть записаны в текстовый файл. Остров обозначается *, море - символом -. Формат выходного файла:

Карта 1

 

#

карта, восстановленная по первому коду

Вариант

1

#

1-й

вариант такого восстановления

Рисунок 1-го варианта

карты

Вариант 2

Рисунок 2-го варианта карты

Вариант 3 Рисунок 3-го варианта карты

Карта 2

# В случае единственного варианта

Вариант

1

Рисунок карты 2

Карта 3

!!! Нет карты !!! # В случае отсутствия решения

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