');
sound(zvuk); delay(del); nosound;
readln; close(g);
halt;
End;
Procedure DAl;
Begin
writeln;
textcolor(14);
writeln(' Этап пройден успешно.');
textcolor(15);
readln; clrscr;
End;
Procedure leksika;
Begin
writeln(' 3 этап- Лексический анализ...');
writeln('> Проверка на присутствие недопустимых комбинаций знаков');
{удаляем ВСЕ пробелы из строки}
for i:= 1 to dlina do if b[i]<>' ' then s1:=s1+b[i];
writeln(s1);
dlina1:=length(s1);
{проверяем присутствие ошибочных комбинаций символов }
for i:=1 to dlina do begin
IF (
{повторяющиеся знаки}
((s1[i]='+') and (s1[i+1]='+')) or
((s1[i]='-') and (s1[i+1]='-')) or
((s1[i]='=') and (s1[i+1]='=')) or
((s1[i]=';') and (s1[i+1]=';')) or
((s1[i]='[') and (s1[i+1]='[')) or
((s1[i]=']') and (s1[i+1]=']')) or
{комбинации разных знаков }
((s1[i]='[') and (s1[i+1]='=')) or
((s1[i]='=') and (s1[i+1]='[')) or
((s1[i]='[') and (s1[i+1]=';')) or
((s1[i]=';') and (s1[i+1]='[')) or
((s1[i]='[') and (s1[i+1]=':')) or
((s1[i]=':') and (s1[i+1]='[')) or
((s1[i]=']') and (s1[i+1]=':')) or
((s1[i]=':') and (s1[i+1]=']')) or
((s1[i]='[') and (s1[i+1]='.')) or
((s1[i]='.') and (s1[i+1]='[')) or
((s1[i]='+') and (s1[i+1]='[')) or
{}
((s1[i]=']') and (s1[i+1]='=')) or
((s1[i]='=') and (s1[i+1]=']')) or
((s1[i]=';') and (s1[i+1]=']')) or
((s1[i]=']') and (s1[i+1]='.')) or
((s1[i]='.') and (s1[i+1]=']')) or
((s1[i+1] in c) and (s1[i]='.') and (s1[i-1] in bukva)) or
((s1[i+1] in c) and (s1[i]='.') and (s1[i-1] in bukva2)) or
((s1[i+1] in c) and (s1[i]='.') and
(s1[i-1] in c) and ((s1[i-2]='+') or (s1[i-2]='-'))) or
((s1[i]=']') and (s1[i+1]='+')) or
((s1[i]='+') and (s1[i+1]=']')) or
((s1[i]=']') and (s1[i+1]='-')) or
((s1[i]='-') and (s1[i+1]=']')) or
{}
((s1[i]='=') and (s1[i+1]=';')) or
((s1[i]=';') and (s1[i+1]='=')) or
((s1[i]='+') and (s1[i+1]='=')) or
((s1[i]='=') and (s1[i+1]='+')) or
((s1[i]=';') and (s1[i+1]='+')) or
((s1[i]='+') and (s1[i+1]=';')) or
((s1[i]=';') and (s1[i+1]='-')) or
((s1[i]='-') and (s1[i+1]=';')) or
((s1[i]='-') and (s1[i+1]='+')) or
((s1[i]='+') and (s1[i+1]='-')) or
((s1[i]='-') and (s1[i+1]='=')) or
((s1[i]='=') and (s1[i+1]='.')) or
((s1[i]='.') and (s1[i+1]='=')) or
((s1[i]='+') and (s1[i+1]='.')) or
((s1[i]='-') and (s1[i+1]='.')) or
((s1[i]=';') and (s1[i+1]='.')) or
((s1[i]='.') and (s1[i+1]=';'))
)
OR {AND?}
{комбинация ::= ::X :X= X:= где X-любой символ}
(
((s1[i]=':') and (s1[i+1]=':') and (s1[i+2]<>'=')) or
((s1[i]=':') and (s1[i+1]<>':') and (s1[i+2]='=')) or
((s1[i]='.') and (s1[i+1]<>'.') and (s1[i+2]='.')) { .X. }
)
then Netl;
end; {for}
{комбинация цифра' 'цифра - не допустима}
for i :=1 to dlina do
if
(
(s1[i] in c) and {(not (s1[i+1] in c)) and (s1[i+2] in c)) and }
((s1[i+1]=' ') and (s1[i+2]<>' ')) or
((s1[i+1]<>' ') and (s1[i+2]=' '))
)
and (s1[i+1]<>'.')
then NETl;
DAl;
End;
1)
var mas: array[1..10] of real = {.,.,}; // перечисление элементов массива, который дан по условию задания
var counter: integer;
begin
for i:= 1 to 10 do
begin
if mas[i]<0 then counter:=counter+1;
end;
end.
2)
var mas: array[1..5] of integer = {.,.,}; // перечисление элементов массива, который дан по условию задания
var counter: integer;
begin
for i:= 1 to 5 do
begin
if (mas[i]>0) and (i mod 2 = 0) then counter:=counter+1;
end;
end.
3)
var mas: array[1..15] of integer = {.,.,}; // перечисление элементов массива, который дан по условию задания
var counter: integer;
begin
for i:= 1 to 15 do
begin
if (mas[i]>5) and (i mod 2 = 0) then counter:=counter+1;
end;
end.
4)
var mas: array[1..15] of integer;
var counter: integer;
begin
for i:= 1 to 15 do
begin
mas[i] = random(20) - 5;
end;
for i:= 1 to 15 do
begin
writeln(mas[i]);
end;
for i:= 1 to 15 do
begin
if (mas[i]>0) then counter:=counter+1;
end;
end.
5)
var mas: array[1..7] of real = {.,.,}; // перечисление элементов массива, который дан по условию задания
var counter: integer;
begin
for i:= 1 to 7 do
begin
readln(mas[i]);
end;
for i:= 1 to 7 do
begin
if mas[i]>0 then mas[i]=0;
end;
for i:= 1 to 7 do
begin
writeln(mas[i]);
end;
end.
6)
var mas: array[1..10] of real = {.,.,}; // перечисление элементов массива, который дан по условию задания
var counter: integer;
var sum: real;
var average: real;
begin
for i:= 1 to 7 do
begin
readln(mas[i]);
end;
for i:= 1 to 7 do
begin
if mas[i]<0 then
begin
sum:=sum+mas[i];
counter:=counter+1;
end
end;
average:= sum/counter;
end.
Объяснение:
ответ на Python:
a = list(map(int,input().split())) #Принимаем массив из одной строки
s = 0 #Счётчик
for i in range(len(a)-2): #Проход по массиву до пред-предпоследнего элемента
if a[i] == (a[i+1] + a[i+2]) / 2: # Проверяем, является ли этот элемент средним арифметическим 2-х следующих
s += 1 #Прибавляем счётчик
print(s) #Выводим ответ
Или вот:
a = list(map(int,input().split()))
s = 0
for i in range(len(a)-2):
a1 = a[i+1]
a2 = a[i+2]
if a[i] == (a1 + a2) / 2:
s += 1
print(s)
Объяснение: