1) Промодэлировать работу машины Тьюринга: (достаточно 3-х законов)
-выбрать представление для ленты, автомата и программы машины, считая, что лента имеет конечный размер, который так же, как и алфавитмашины и наборсостояний автомата, известен заранее;
-написать процедуру, которая начиная с исходной конфигурации (автомат находится в определенном состоянии и "видит" самый левый символ входного слова) модэлирует работу машины согласно заданной
программе. (Если машина не останавливается через определенное число шагов, процедура должна прекратить вычесления.)
+ блок-схема
2) Два простые числа назывются "дружественными", если каждое из них равно сумме всех делителей другого, за исключением его самого (Например: 220 и 284). Напечатать все пары "дружественных" чисел, непревосходящих заданного натурального числа.
3) Найти ошибки:
Type M = set of char;
Function f(a,b:M; x:char):M;
begin
if a * b = 0
then
a := [x]
else
if a < b
then
a := b + x
else
if ord (x) in a - b
then
a:= a - [x.."<="];
f := a + b
end;
4) Описать процедуру lines(t), которая построчно печатает содержимое непустого текстового файла t, вставляя в начало каждой печатаемой строки ее порядковый номер (он должен занимать 4 позийии) и пробел.
+ блок-схема
5) Описать процедуру или функцию, которая:
д) переносит в начало непустого списка L его последний элемент.
е) добовляет в конец списка L1 все элементы списка L2.
ж) втавляет в список L за первым вхождением элемента E все элементы списка L1, если E входит L.
+ блок-схема
6) Доступны ли в Паскале конструкции p↑[2], q↑ + [2] и r↑↑? Ответ обосновать.
+ блок-схема
Все это надо к 21.04 (лучше к 20.04) на крайняк к 24.04
Если кто готов взяться, то пишите на мыло necros_n@list.ru(обговорим цену)