почему в ответе получается 26? var s,i:integer;
5-9 класс
|
mas:array[1..10] of integer;
begin
mas[1]:=14;
mas[2]:=10;
mas[3]:=-8;
mas[4]:=6 ;
mas[5]:=12;
mas[6]:=4 ;
mas[7]:=-16 ;
mas[8]:=-7 ;
mas[9]:=5;
mas[10]:=3;
s:=0;
for i:=1 to 5 do
mas[2*i]:=0;
for i:=1 to 10 do
if mas[i]>5 then s:=s+mas[i];
write(s);
end.
Пошагово:
1) Строки
mas[1]:=14;
. . .
mas[10]:=3;
задают значения элементов массива.
Массив имеет вид:
14 10 -8 6 12 4 -16 -7 5 3
2) переменная s:=0;
3) цикл
for i:=1 to 5 do
mas[2*i]:=0;
все элементы, стоящие на чётных местах, обнуляются.
Массив имеет вид:
14 0 -8 0 12 0 -16 0 5 0
4) цикл
for i:=1 to 10 do
if mas[i]>5 then s:=s+mas[i];
просматриваем массив, и если элемент больше 5, добавляем его в сумму s:
добавится сначала 1-й элемент (так как 14>5), сумма станет 0+14=14
а потом 5-й (12>5), сумма станет 14+12 = 26
5)write(s);
напечатает 26, то есть значание s
Всё!
Сначала заданы элементы, потом все элементы с четным индексом обнуляются (через один). Потом мы считаем сумму элементов больших 5 в получившемся массиве.
Это 14 и 12.
14+12=26
Тебе на экран и выводит 26.
Другие вопросы из категории
Читайте также
to 9 do
y:=y+x;
writeln(y=,y);
END.
2.var x,y: INTEGER;
BEGIN
y:=0;
for x:=10 downto 5 do
y:=y+1
writeln(y=,y);
END
3. var x,y: INTEGER;
BEGIN
y:=1;
x:=15;
while x>5 do
begin
x:=x-3;
y:=y*x;
end;
writeln(y=,y)
END.
4. var x,y: INTEGER;
begin
y:=1;
x:=10;
repeat
y:=y*x+x;
x:=x-2;
until x<0;
writeln(y=,y);
end.
пожалуйста напишите подробное решение и как получаются ответы
Function F(x : integer) : integer;
begin
if x<= 0 then F:=0
else F:=x+ F(x-2);
end;
begin
a:=8;
R:=F(a);
write(R);
end.
В паскале ответ 20, как он получается? объясните поподробнее
• к ответу прибавьте еще 125;
• из ответа вычтите 36;
• из ответа вычтите задуманное число;
• ответ умножьте на 5;
• ответ разделите на 2.
У вас должно получиться число 285. Объясните, почему у всех получился один и тот же ответ, хотя исходные числа были различными.
ответит получит 15 баллов!!!!
Например, 17 и 43 - простые числа.Для решения задачи приведена программа с пропущенными строками. Необходимо в ответе записать содержание пустых строк, которое сделает программу правильной. Количество и расположение строк не менять.
Program Task;
Uses CRT;
Var n,i:integer;
b:boolean;
Begin
repeat
write('Число='); readln(n);
until n>0;
b:=true;
пропущена строка надо чтото записать
repeat
снова пропущена строка и надо что то записать
i:=i+1