На массивы(в паскале): 1.найти количество нулей в одномерном массиве. 2. найти сумму элементов кратных 5. 3.найти сумму первых 5 элементов. 4. верно ли что в массиве есть два нуля. 5. найти сумму элементов из промежутка от а до в.
Begin S:=0; Repeat Read(A); if (A mod 2 <> 0)and(A mod 7 = 0) then S:=S+A; Until A = 0; WriteLn('S = ',S); End.
Теперь объяснение каждой строки:
Var S:longint; i:integer; A:byte; // В эту переменную будет вводится число с клавиатуры. Тип Byte может принимать значения от 0 до 255. Поэтому его как раз хватит.
Begin S:=0; // Тут будет храниться сумма, поэтому переменную следует сперва обнулить.
Repeat // далее начинается цикл Read(A); // эта команда каждый раз считывает с клавы число, и записывает его в переменную A.
if (A mod 2 <> 0)and(A mod 7 = 0) then S:=S+A; //тут проверяется 2 условия, и если они выполняются - к переменной S прибавляется значение переменной А 1 условие: число нечётно, то есть остаток от деления его на 2 не равен нулю (A mod 2 <>0) 2 условие: Число кратно 7, то есть делится без остатка на 7, то есть остаток от деления равен нулю (A mod 7 = 0)
Until A = 0; // Цикл повторяется до тех пор, пока введённое с клавы число не будет равно нулю (A = 0)
WriteLn('S = ',S); // Тут выводится искомая сумма End.
Алфавит у нас состоит из трех букв (Б,У,М). Длина ряда 4 буквы. Количество возможных слов вычисляется по формуле N^m(н в степени м), где N - это длина алфавита, а m - длина ряда. Получаем 3^4=81. Дальше нужно исключить случаи, когда Есть три идущие буквы подряд, рассмотрим все случаи. 1.Когда все буквы в слове одинаковые (, , ); 2.Когда есть три буквы одинаковые (БББУ,УБББ,БББМ,МБББ, БУУУ,УУУБ,МУУУ,УУУМ,МММБ,БМММ,УМММ,МММУ.). Тобишь всего исключений 12+3=15. Вычитаем из количества всех вариантов 81-15=66. ответ:66 различных слов.
{Допустим ,что масив будет вводитса с клавиатуры число символов 10 тип-integer}
program mas;
var m:array [1..10] of integer;
i,o,kp,pp,oo,a,b,s:integer;
begin
writeln ('Vvedit masiv');
for i:=1 to 10 do begin
readln (m[i]); end;
o:=0;
for i:=1 to 10 do begin
if m[i]=0 then o:=o+1; end;
kp:=0
for i:=1 to 10 do begin
if m[i] div 5=5 then kp:=kp+1; end;
pp:=0;
for i:=1 to 5 do begin
pp:=pp+m[i]; end;
oo:=0;
for i:=1 to 10 do begin
if m[i]=0 then oo:=oo+1; end;
writeln ('Vvedit A i B');
readln (a,b);
s:=0;
for i:=a to b do begin
s:=s+m[i]; end;
writeln ('Kolichestvo 0 - ',o);
writeln ('suma kratna 5- ',kp);
writeln ('suma pervix 5- ',pp);
if oo=2 then writeln ('Virno v masivi dva nuli') else
writeln ('V masive ne 2 nuli');
writeln ('suma ot A do B= ',s);
end.
{P.S. я не проверял в Паскале если будут з нею проблемы то обращяйся}
{P.P.S. обрати внимание на разницу о и 0}