У исполнителя Альфа две команды, которым присвоены номера: 1. прибавь 1; 2. умножь на b (b — неизвестное натуральное число; b ≥ 2). Известно, что программа 11211 переводит число 6 в число 82.Определите значение b.
Var a:integer; flag:boolean; begin flag:=false; write('Введите число '); readln(a); if a mod 2 = 0 then begin writeln('Число ',a,' делится на 2'); flag:=true; end; if a mod 3 = 0 then begin writeln('Число ',a,' делится на 3'); flag:=true; end; if a mod 4 = 0 then begin writeln('Число ',a,' делится на 4'); flag:=true; end; if a mod 5 = 0 then begin writeln('Число ',a,' делится на 5'); flag:=true; end; if not flag then writeln('Число ',a,' не делится на 2,3,4,5'); end.
Программа подсчитывает количество слов длиной в 5 символов во введенном тексте. Но работать она не будет, есть ошибки: 1. Встречен repeat но нет until 2. Есть 3 begin, но только 2 end 3. Константа N лишняя. Нигде в программе не используется После исправления ошибок программа с краткими комментариями будет выглядеть так:
program Zinaida; var i, k: integer; inString: String; isize, count: integer; begin write('String: '); readln(inString); //ввод текста k := length(instring); //длина текста if instring[k] = '.' then dec(k); //цикл для поиска пробелов и //слов с длиной 5 символов for i := 1 to k do begin if instring[i] <> ' ' then inc(isize); if (instring[i] = ' ') or (i = k) then begin //если длина слова = 5 то увеличиваем count на 1 if isize = 5 then inc(count); isize := 0; end; end; write('Количество слов из пяти букв', count); end.
10
Объяснение:
1. 1. 2. 1. 1
6 -> 7 -> 8 -> 80 -> 81 -> 82
~~~
Прибавляем к числу 6 единицу (6+1)
Прибавляем к числу 7 единицу (7+1)
Вычитаем из 82 единицу (82-1)
Вычитаем из 81 единицу (81-1)
Чтобы из 8 получить 80, надо число 8 умножить 10, следовательно b=10