Kochetova92
?>

Умоляю , решите хоть что-то . Мне дали вот эти два задания , а я не знаю как их решить . Я не знаю , но может быть они между собой связаны .

Информатика

Ответы

ЕВгений_денис643

1. На ленте машины Тьюринга содержится последовательностью символов “+”. Напишите программу для машины Тьюринга, которая каждый второй символ “+” заменит на “–”. Замена начинается с правого конца последовательности. Автомат в состоянии q1 обозревает один из символов указанной последовательности. Кроме самой программы-таблицы, описать словами, что выполняется машиной в каждом состоянии.

2. Дано число n в восьмеричной системе счисления. Разработать машину Тьюринга, которая увеличивала бы заданное число n на 1. Автомат в состоянии q1 обозревает некую цифру входного слова. Кроме самой программы-таблицы, описать словами, что выполняется машиной в каждом состоянии.

3. Дана десятичная запись натурального числа n > 1. Разработать машину Тьюринга, которая уменьшала бы заданное число n на 1. Автомат в состоянии q1 обозревает правую цифру числа. Кроме самой программы-таблицы, описать словами, что выполняется машиной в каждом состоянии.

4. Дано натуральное число n > 1. Разработать машину Тьюринга, которая уменьшала бы заданное число n на 1, при этом в выходном слове старшая цифра не должна быть 0. Например, если входным словом было “100”, то выходным словом должно быть “99”, а не “099”. Автомат в состоянии q1 обозревает правую цифру числа. Кроме самой программы-таблицы, описать словами, что выполняется машиной в каждом состоянии.

5. Дан массив из открывающих и закрывающих скобок. Построить машину Тьюринга, которая удаляла бы пары взаимных скобок, т.е. расположенных подряд “( )”.

Например, дано “) ( ( ) ( ( )”, надо получить “) . . . ( ( ”.

Автомат в состоянии q1 обозревает крайний левый символ строки. Кроме самой программы-таблицы, описать словами, что выполняется машиной в каждом состоянии.

6. Дана строка из букв “a” и “b”. Разработать машину Тьюринга, которая переместит все буквы “a” в левую, а буквы “b” — в правую части строки. Автомат в состоянии q1 обозревает крайний левый символ строки. Кроме самой программы-таблицы, описать словами, что выполняется машиной в каждом состоянии.

daverkieva568

#include <iostream>

int main(void){

   const int N = 3;

   const int M = 5;

   int mat[N][M];

   int i, j, row = 0, col = 0, n = 1;

   while(row <= (N - 1)){

       i = row;

       j = col;

       while((i < N) && (j >= 0))

           mat[i++][j--] = n++;    

       if(col < (M - 1))

           ++col;

       else

           ++row;

   }

   for(i = 0; i < N; ++i){

       for(j = 0; j < M; ++j){

           std::cout.width(3);

           std::cout << mat[i][j];

       }

       std::cout << std::endl;

   }

   return 0;

}

Объяснение:

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Умоляю , решите хоть что-то . Мне дали вот эти два задания , а я не знаю как их решить . Я не знаю , но может быть они между собой связаны .
Ваше имя (никнейм)*
Email*
Комментарий*