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

homework

.pdf
Скачиваний:
31
Добавлен:
07.02.2015
Размер:
258.59 Кб
Скачать

Домашние работы по предмету “Теория вычислительных процессов”

Николай Гребенщиков, Хакасский государственный университет

28 января 2011 г.

1

1Работа по модулю “Схемы программ”

Из учебника “Рабинович Е.В. Теория вычислительных процессов.”

1.1Задания

1.Написать программу решения задачи, номер которой на единицу превышает остаток от деления Вашего номера в журнале на 19. Варианты в подпункте 2.

2.Составить ССП в линейной и графовой форме.

3.Указать интерпретацию ССП и представить протокол выполнения программы.

4.Написать рекурсивную программу решения задачи, номер которой на единицу превышает остаток от деления Вашего номера в журнале на 5. Варианты в подпукте 3.

5.Составить PC в линейной форме.

6.Указать интерпретацию PC и представить протокол выполнения программы.

1.2Варианты для заданий с 1 по 3

1.Из заданного множества точек на плоскости выбрать две различные точки так, чтобы количества точек, лежащих по разные стороны прямой, проходящей через эти две точки, различались наименьшим образом.

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

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

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

5.Определить радиус и центр окружности, на которой лежит наибольшее число точек заданного на плоскости множества точек.

6.Начиная с центра, обойти по спирали все элементы квадратной матрицы размером 13x13 (распечатывая их в порядке обхода).

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

8.Построить таблицу всех различных разбиений заданного целого числа N > 0 на сумму трех натуральных слагаемых (разбиения, отличающиеся лишь порядком слагаемых, различными не считаются).

1

9.Задано множество M точек на плоскости. Определить, верно ли, что для каждой точки A 2 M существует точка B 2 M(A 6= B) такая, что не существует двух точек множества М, лежащих по разные стороны от прямой AB.

10.По заданной квадратной матрице размером 10x10, построить вектор длиной 19, элементы которого - максимумы элементов, диагоналей, параллельных главной диагонали.

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

12.Указать то число заданного множества целых чисел, в двоичном представлении которого больше всего единиц.

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

14.Две строки матрицы назовем похожими, если совпадают множества чисел, встречающихся в этих строках. Найти количество строк в максимальном множестве попарно непохожих строк заданной матрицы.

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

16.Перечислить все натуральные числа, не превосходящие заданного N, в двоичном представлении которых номера ненулевых разрядов образуют арифметическую прогрессию.

17.Многоугольник (не обязательно выпуклый) задан на плоскости перечислением координат вершин в порядке обхода его границы. Определить площадь многоугольника.

18.Характеристикой строки целочисленной матрицы назовем сумму ее положительных четных элементов. Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик.

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

1.3Варианты для заданий с 4 по 6

1.Задано конечное множество имен жителей некоего города, причем для каждого из жителей перечислены имена его детей. Жители X и Y называются родственниками, если а) либо X - ребенок У, б) либо У - ребенок X, в) либо существует некий Z такой, что X является родственником Z, a Z является родственником Y. Перечислить все пары жителей города, которые являются родственниками.

2

Рис. 1: Рисунок 1.

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

3. Напечатать поле для игры в шахматы, в котором черные поля изображаются квадратами, заполненными 5 х 5 = 25 звездочками.

4. Вычислить i-e число Фибоначчи: f(i) = f(i - 1) + f(i - 2), f(1) = f(2) = 1 .

k

m

m 1

m

m

= 1, если n = m 0 или

5. Вычислить C2k , где Cn

= Cn 1

+ Cn1

и Cn

m = 0; n > 0.

2Работа по модулю “Семантика программ”

Из учебника “Рабинович Е.В. Теория вычислительных процессов.”

2.1Задания

1.Доказать для n 0 свойство чисел Фибоначчи (см. вариант), у кото-

рых fn+1 = fn + fn 1; f0 = 0; f1 = 1. p

2. Пусть a =

1 +

5

. Доказать для чисел Фибоначчи при n

0 (см.

 

2

 

вариант).

3.Определить чему равен I в момент окончания цикла в программе (схема на рисунке 1 при замене операторов) и доказать это.

4.Доказать методом индуктивных утверждений правильность программы, написанной Вами в задании №1 контрольной работы по теме “Схемы программ”.

5.Доказать правильность рекурсивной программы, написанной Вами в задании №4 контрольной работы по теме “Схемы программ”.

6.Доказать аксиоматически частичную правильность программы, написанной Вами в задании №1 контрольной работы по теме “Схемы программ”

3

2.2Вариант 1.

1.f0 + f1 + : : : + fn = fn+2 1

2.fn an 1

3.Оператор 1: I = I0, 2: I M, 3: I = F(I), T поменялись местами с F

2.3Вариант 2.

1.f02 + f12 + : : : + fn2 = fn fn+1

2.fn an 2

3.Оператор 1: I = I0, 2: I M, 3: I = F(I), T поменялись местами с F

2.4Вариант 3.

1.f2 + f4 + : : : + f2n = f2n+1 1

2.fn ( 74 )n 1

3.Оператор 1: I = I0, 2: I M, 3: I = 2*I, T поменялись местами с F

3Работа по модулю “Теоретические модели вычислительных процессов”

3.1Задания

1.Найти traces(P ) (см. Свой вариант).

2.Найти traces(P ) (см. Свой вариант).

3.Найти (см. Свой вариант)

(a)traces(P k Q)

(b)traces(P 2 Q)

(c)traces(P jjj Q)

4.Проверить истинность выражений(см. Свой вариант).

5.Дано: Представьте супермаркет и покупателя в нем. Покупатель задан описанным ниже процессом ПОК. Событие "положить"означает положить товар с полки в корзину. Событие "достать"означает достать товар из корзины и положить на полку. ПОК= положить ! ПОК 2 достать ! ПОК 2 заплатить ! ПОК 2 уйти ! ПОК

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

(a)Достать из корзины можно только, если там что-то есть.

(b)Корзина максимум вмещает 10 вещей.

(c)Уйти можно только, если корзина пуста или после оплаты.

4

3.2Вариант 1.

1.P = fa; b; c; d; eg; P = a ! b ! c ! STOP

2.P = fa; b; c; d; eg; P = a ! (b ! c ! ST OP ) j (a ! c ! ST OP )

3.P = fa; b; c; dg; P = a ! b ! c ! STOP;Q = fa; b; d; fg; Q = a ! b ! d ! STOP

4.Дано:

P = X a ! b ! c ! X;

Q = X a ! b ! c ! X 2 X b ! c ! a ! X; S = (tr # a tr # c 0)

Найти:

(a)верно ли выражение (P=ha; bi) sat S

(b)верно ли выражение (Q=ha; bi) sat S

3.3Вариант 2.

1.P = fa; b; c; d; eg; P = b ! a ! c ! STOP

2.P = fa; b; c; d; eg; P = (c ! b ! a ! ST OP ) j (b ! a ! c ! ST OP )

3.P = fa; b; c; dg; P = a ! b ! c ! STOP;Q = fa; b; d; fg; Q = a ! f ! b ! STOP

4.Дано:

P = X a ! b ! c ! X;

Q = X a ! b ! c ! X 2 X b ! c ! a ! X; S = (tr # a tr # c 0)

Найти:

(a)верно ли выражение (P=ha; b; ci) sat S

(b)верно ли выражение (Q=hb; ci) sat S

4Работа по модулю “Сети Петри”

4.1Задание №1

Дана сеть Петри. Найти расширенную входную и выходную функции.

5

4.2Задание №2

Постройте граф для следующей структуры:

4.3Задание №3

Для заданной маркированной сети Петри представте маркировку, которая получится если запустить переход t4, а затем t2.

4.4Задание №4

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

1.процесс 1 запрашивает диск и построчно печатающее устройство, затем освобождает построчно печатающее устройство и запарашивает устройство чтения карт, в конце освобождает оба эти устройства;

2.процесс 2 запрашивает устройство чтения карт и диск, а затем освобождает устройство чтения карт, запрашивает построчно печатающее устройство и в конце концов освобождает и построчно печатающее устройство и диск.

3.процесс 3 требует все три ресурса одновременно, и затем их все освобождает.

4.процесс 4 запрашивает диск, затем освобождает диск, затем запрашивает печатающее устройство, затем освобождает печатающее устройство, затем запрашивает устройство чтения карт, затем освобождает устройство чтения карт.

6

4.5Задание №5

Для заданной сети Петри постройте дерево достижимости.

7

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