В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
lexazykov20014
lexazykov20014
20.04.2023 19:10 •  Информатика

На информационной ленте машины тьюринга содержится непрерывная последовательность символов «|». сконструируйте машину тьюринга, которая заменит каждый четвертый символ на символ «/» (отсчет символов начинается с правого края строки). в начальный момент времени автомат обозревает произвольный символ заданной строки символов. в конечный момент времени он должен обозревать крайний левый символ. составить программу-таблицу и нарисовать диаграмму переходов. кроме самой программы-таблицы, описать словами, что выполняется машиной в каждом состоянии. отметьте запрещенные клетки таблицы.

Показать ответ
Ответ:
angelina453
angelina453
10.07.2022 23:25

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

Пункт 1

/*тип_массива*/ /*название_массива*/[/*количество_элементов*/] - статический массив.

Например

int arr[5];

int arr[arrMaxValue] = {0}; // всё заполняется нулями

Пункт 2Например

char yourName[numberSymbolOfName]; // массив символов

Пункт 3Например

for(int i = 0; i < sizeof(yourName) / sizeof(char); i++) {

cin >> yourName[i]; // 'I', 'v', 'a', 'n'

}

sizeof(yourName) / sizeof(char) определит размер массива.

Пункт 4

for(int j = 0; j < sizeof(yourName)/sizeof(char); j++) {

       std::cout << yourName[j] << ' ';  // I v a n

}

Пункт 5

for(int i = 0; i < sizeof(arr)/sizeof(int); i++) {

       std::cin >> arr[i];

       if((arr[i] % 2) == 0) {

               Sum += arr[i];

       }

}

Пункт 6

for(int i = 0; i < sizeof(arr)/sizeof(int); i++) {

       std::cin >> arr[i];

       if(arr[i] == 20) {

               std::cout << "yep!" << ' ';

               break; // так как одна двадцатка есть и больше не надо, выходим из цикла

       }

}

0,0(0 оценок)
Ответ:
DanilNaumov
DanilNaumov
04.10.2021 22:57

Первый раз мы вводим нечётные элементы (1, 3, 5, 7, ..):

const  N = 10;  { число элементов массива }var  a: array[1..N] of integer;  i: integer; begin  for i := 1 to N do    if (i mod 2 <> 0) then    begin      Write('a', i, ' = ');      Read(a[i]);    end;end.

Второй раз - чётные:

const  N = 10; { число элементов массива } var  a: array[1..N] of integer;  i: integer; begin  for i := 1 to N do    if (i mod 2 = 0) then    begin      Write('a', i, ' = ');      Read(a[i]);    end;end.

Вся разница состоит в условии при вычислении остатка при целочисленном делении (mod). Если при делении на 2 число равно нулю, то оно чётное, иначе нечётное.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота