1 Востаннє редагувалося Torbins (24.03.2014 22:21:06)

Тема: Підрахунок суми чисел різними способами

Потрібна программа,яка б виводила суму усіх цілих чисел більше 20 і менше 100,які кратні 3 двома способами
1)оператором while
2)оператором repeat

Ось,що виходить,проте не компілюється
1)

 Program rrr;
var s,n: integer;
Begin
s:=0;
n:=21;
while (n>20) and (n<100) do
if (n mod 3=0 )
then
s:=s+n;
n:=n+1;
end;
writeln ('s=' , s);
end.

2)

Program rrr;
var s,n: integer;
Begin
s:=0;
n:=21;
repeate 
s:=s+n;
n:=n+1;
until n<100;
writeln ('S=' , s);
end.

В першому випадку в стрічці 11 хоче end після крапку
в другом випадку пілся repeat хоче крапку з комою

2

Re: Підрахунок суми чисел різними способами

1) Ви забули вставити begin
2) Здається ви неправильно написали слово repeat

Подякували: magnevitis1

3

Re: Підрахунок суми чисел різними способами

Replace написав:

1) Ви забули вставити begin
2) Здається ви неправильно написали слово repeat

Так,в другому невірно,це я вже помітив,а підкажіть будь-ласка куди впихнути в другій програмі ось це

if (n mod 3=0 )
then 

4

Re: Підрахунок суми чисел різними способами

Replace написав:

1) Ви забули вставити begin
2) Здається ви неправильно написали слово repeat

І якщо в першому вставити begin,то потрібен ще один end.... і тоді воно все одно після другого end хоче крапку

Program rrr;
var s,n: integer;
Begin
s:=0;
n:=21;
while (n>20) and (n<100) do
if (n mod 3=0 )
then begin
s:=s+n;
n:=n+1;
end;
end;
writeln ('s=' , s);
end.

5

Re: Підрахунок суми чисел різними способами

Replace написав:

1) Ви забули вставити begin
2) Здається ви неправильно написали слово repeat

Вибачаюсь,зрозумів про який begin Ви казали,проте так програма взагалі нічого не робить

Program rrr;
var s,n: integer;
Begin
s:=0;
n:=21;
while (n>20) and (n<100) do
begin
if (n mod 3=0 )
then begin
s:=s+n;
n:=n+1;
end;
end;
writeln ('s=' , s);
end.

6 Востаннє редагувалося Torbins (24.03.2014 22:16:26)

Re: Підрахунок суми чисел різними способами

Replace написав:

1) Ви забули вставити begin
2) Здається ви неправильно написали слово repeat

Перше вже зробив,як треба....так,так знаю facepalm,ось

Program rrr;
var
  s, n: integer;
Begin
  s := 0;
  n := 21;
  while (n > 20) and (n < 100) do
  begin
    if n mod 3 = 0 then
    begin
      s := s + n;
    end;
    n := n + 1;
  end;
  writeln('s=', s);
end.

Проте питання з другою задачею залишаеться відкритим

Подякували: Torbins1

7 Востаннє редагувалося Torbins (24.03.2014 22:19:35)

Re: Підрахунок суми чисел різними способами

Replace написав:

1) Ви забули вставити begin
2) Здається ви неправильно написали слово repeat

Проте і друге зробив сам,дякую

Program rrr;
var
  s, n: integer;
Begin
  s := 0;
  n := 21;
  repeat
    if n mod 3 = 0 then
    begin
      s := s + n;
    end;
    n := n + 1;
  until n = 100;
  writeln('S=', s);
end.
Подякували: Torbins1

8

Re: Підрахунок суми чисел різними способами

Проте і друге зробив сам,дякую

І це супер.
Трохи відформатував ваш код. Мені здається, що так він стає зрозумілішим.

Подякували: Replace1