//Вводится код N, если он меньше 10,то находится сумма 100 четных чисел, начиная с 2, иначе находится их произведение. //
program s7;
var k,k2,k3,N,S,R:integer;
begin
writeln ('ВВедите N');
readln(N);
S:=N mod 2=0
if (N<10) then
for k:=2 to 200 do begin
S:=S+k
end
else
for k:=2 to 200 do begin
S:=S*k;
writeln('S=',S,'R=',R);
end;
end.
Другие языки программирования и технологии
помогите, пожалуйста, исправить программу в паскале
program q183694146;
var
i, n, r: Integer;
begin
Write('N = ');
ReadLn(n);
r := Integer(n >= 10);
i := 200;
repeat
if (n >= 10) then
r := r * i
else
r := r + i;
Dec(i, 2);
until i < 2;
if (n >= 10) then
WriteLn('Произведение = ', r)
else
WriteLn('Сумма = ', r);
ReadLn;
end.
var
i, n, r: Integer;
begin
Write('N = ');
ReadLn(n);
r := Integer(n >= 10);
i := 200;
repeat
if (n >= 10) then
r := r * i
else
r := r + i;
Dec(i, 2);
until i < 2;
if (n >= 10) then
WriteLn('Произведение = ', r)
else
WriteLn('Сумма = ', r);
ReadLn;
end.
а семиколон Пушкин ставить будет?
И что это за оператор S:=N mod 2=0?
И что это за оператор S:=N mod 2=0?
Переменная типа Integer принимает максимальное число 2 с лишним миллиарда. При вычислении произведения число будет намного больше и будет выдано число 0. Альтернатива – тип comp, но ничего про него не могу сказать, т. к. делал на WDE и там, видимо, тип comp не встроен, а скачивать паскаль ради одной задачи мне тупо вломы. Попробуй так:
var n:integer; r:comp; x:byte;
begin
write('N: ');
readln(n);
if (n<10) then begin
r:=0;
writeln('N<10, вычисляем сумму первых 100 чётных чисел, начиная с 2');
write('Сумма равна: ');
for x:=1 to 100 do r:=r+x*2;
end else begin
r:=1;
writeln('N<10, вычисляем произведение первых 100 чётных чисел, начиная с 2');
write('Произведение равно: ');
for x:=1 to 100 do r:=r*(x*2);
end;
writeln(r);
end.
var n:integer; r:comp; x:byte;
begin
write('N: ');
readln(n);
if (n<10) then begin
r:=0;
writeln('N<10, вычисляем сумму первых 100 чётных чисел, начиная с 2');
write('Сумма равна: ');
for x:=1 to 100 do r:=r+x*2;
end else begin
r:=1;
writeln('N<10, вычисляем произведение первых 100 чётных чисел, начиная с 2');
write('Произведение равно: ');
for x:=1 to 100 do r:=r*(x*2);
end;
writeln(r);
end.
ну если исправить, а не переписать, я бы сделал так:
program s7;
var k,k2,k3,N,S:integer;
var R:real;
begin
S:=0;
R:=1;
writeln('ВВедите N');
readln(N);
if (N<10) then
begin
for k:=2 to 200 do begin
if (k mod 2)=0 then S:=S+k
end;
writeln('S=',S);
end
else
begin
for k:=2 to 200 do begin
if (k mod 2)=0 then R:=R*k;
end;
writeln('R=',R);
end
end.
program s7;
var k,k2,k3,N,S:integer;
var R:real;
begin
S:=0;
R:=1;
writeln('ВВедите N');
readln(N);
if (N<10) then
begin
for k:=2 to 200 do begin
if (k mod 2)=0 then S:=S+k
end;
writeln('S=',S);
end
else
begin
for k:=2 to 200 do begin
if (k mod 2)=0 then R:=R*k;
end;
writeln('R=',R);
end
end.
Сергей Нсанов
благодарю Вас!
Похожие вопросы
- Помогите пожалуйста создать программу на Паскале. Заранее всем благодарен
- помогите пожалуйста составить программу в паскале
- Программирование на Паскале Помогите, пожалуйста , написать программу на паскале
- я плохо знаю с++ помогите пожалуйста исправить программу
- Помогите пожалуйста написать программу в Паскале )) Написать программу для вычисления суммы в массиве из 10 элементов
- Помогите, пожалуйста, написать программу на Паскале хотя бы примерно
- Помогите пожалуйста составить программу на Паскале, используя оператор case
- Помогите пожалуйста написать программу для Паскаля
- Помогите пожалуйста в программе Турбо Паскаль найти наибольшее значение из 4 заданных!
- Помогите пожалуйста написать программу на паскале:
Товарищ хочет присвоить 0 или 1 переменной S, в зависимости от результата булевой операции.