Var
i,j,n:integer;
s,a,t:string;
begin<span>
write('Введи текст: ');</span><span>
readln(s);</span>
n:=length(s);
i:=n mod 7;
if i>0 then
begin
i:=7-i;
s:=s+copy('корвет',1,i);
n:=n+i;
end;<span>
for i:=1 to n do
</span><span> begin
</span><span> a:=a+s[i];
</span><span> if i mod 7=0 then
</span><span> begin
</span><span> for j:= 7 downto 1 do
</span><span> t:=t+a[j];
</span><span> a:='';
</span><span> end
</span> end;<span>
writeln(t)
</span><span>end.
Можно использовать специальную функция переворота строки. Будет чуть короче
var
i,j,n:integer;
s,a,t:string;
begin
write('Введи текст: ');<span>
readln(s);</span>
n:=length(s);
i:=n mod 7;
if i>0 then
begin
i:=7-i;
s:=s+copy('корвет',1,i);
n:=n+i;
end;<span>
for i:=1 to n do
</span><span> begin
</span><span> a:=a+s[i];
</span><span> if i mod 7=0 then
</span> begin<span>
</span><span> t:=t+ReverseString(a);
</span><span> a:='';
</span><span> end
</span> end;<span>
writeln(t)
</span><span>end.
Sub z()
s = InputBox("Введи текст")
n = Len(s)
i = n Mod 7
If i > 0 Then
i = 7 - i
s = s & Mid("корвет", 1, i)
n = n + i
End If
For i = 1 To n
a = a + Mid(s, i, 1)
If i Mod 7 = 0 Then
t = t + StrReverse(a)
a = ""
End If
Next i
MsgBox (t)
<span>End Sub</span></span></span>
В коде есть две проблемы:
1) input().split() возвращает список строк. Строки сравниваются лексикографически, и не всегда совпадают с тем, как соотносятся числа: например, "8" > "10", несмотря на то, что 8 < 10. Это лечится преобразованием к целому типу.
2) Это не приведет в ошибке, но не очень аккуратно: условие a[i] > a[i - 1] and i != 0 при i = 0 сравнит a[0] и a[-1], то есть первый и последний элемент, и только потом узнает, что i = 0. Сравнение этих элементов массива бессмысленно, код не ломается на этом месте только из-за особенности языка, в котором определены отрицательные индексы. Если переставить условия местами, то сначала код проверит, что i != 0, и если это не так, он ничего сравнивать не будет. Другой способ поправить - поменять границы в range, так будет немного быстрее.
Итоговый вариант:
a=input().split()
for i in range(1, len(a)):
if int(a[i])>int(a[i-1]):
print(a[i])
Пример ввода:
1 2 3 3 2 1
Пример вывода:
2
3
Для решения этой задачи необходимо найти число, которое без остатка делится на 4 и на 6. Это число 12.
Если к Винни-Пуху придут 4 гостя, то они получат по 3 куска пирога: 12:4=3. Если 6, то им повезет меньше: 12:6=2.
Винни-Пуху пирог нужно разделить на 12 частей.
1. d), иначе ты не сможешь контактировать с тем, что находится внутри системного блока.
2. a), так как вряд ли администрация школы написало бы ПО, ибо программа используется везде.
3. b), так как это специальное обеспечение, которое необходимо для решения конкретных задач, сжатого круга задач.
4. с), или не сможешь включить в системный блок специальные устройства вроде мыши, клавиатуры, usb и прочего.