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

Реализовать программу на МТ(машина Тьюринга). Дана непустая строка из символов {a, b, c}, вывести 1, если количество символов чётное, иначе вывести 0.

Симулятор машины Тьюринга — http://morphett.info/turing/turing.html.

Показать ответ
Ответ:
BigAwto
BigAwto
11.01.2020 18:56

{данная программа переводит любое сочетание символов ascii в систему счисления заданную пользователем.}

//pascal abc.net v3.0 сборка 1111

var

  a,i,b,r,n,j,bug: integer;

  s,se,slo,slof: string;

procedure preob(var a,b,n: integer; var se: string);

  begin

  repeat

    b: =a mod n;

    a: =a div n;

    str(b,se);

    s+=se;

  until (a< =n-1);

  end;

beginreadln(slo);

readln(n);

for j: =1 to length(slo) do

begin;

a: =ord(slo[j]);

preob(a,b,n,se);

str(a,se);

s+=se;

for i: =1 to length(s) div 2 do

begin;

se: =s[i];

s[i]: =s[length(s)-i+1];

s[length(s)-i+1]: =se[1];

end;

write(s,'-');

slof: =slof+s;

delete(s,1,length(s));

end;

end.

пример ввода:

работа на завтра.

2

пример вывода:

11000100-11101110-11101100-11100000-11111000-11101101-11111111-11111111-100000-11110000-11100000-11100001-11101110-11110010-11100000-100000-11101101-11100000-100000-11100111-11100000-11100010-11110010-11110000-11100000-101110-

{таким образом, фразу " работа на завтра." можно закодировать как "11000100-11101110-11101100-11100000-11111000-11101101-11111111-11111111-100000-11110000-11100000-11100001-11101110-11110010-11100000-100000-11101101-11100000-100000-11100111-11100000-11100010-11110010-11110000-11100000-101110-".}

0,0(0 оценок)
Ответ:
ekaterimazimina
ekaterimazimina
18.08.2020 00:31

var

i, a, b, n, n2, j: longint;

s: string;

flag: boolean;

begin

Write('Введите через пробел границы диапазона: ');

Readln(a, b);

if b < a then begin n := a; a := b; b := n end;

if a < 11 then a := 11;

for i := a to b do

begin

Str(i, s);

n := Length(s); n2 := n div 2; flag := true; j := 1;

repeat

flag := (s[j] = s[n - j + 1]);

j := j + 1

until (not flag) or (j > n2);

if flag then Write(i, ' ')

end;

end.

Тестовое решение:

Введите через пробел границы диапазона: 800 1500

808 818 828 838 848 858 868 878 888 898 909 919 929 939 949 959 969 979 989 999

Объяснение:

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