Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2016, 23:23   #1
adolphina
Пользователь
 
Регистрация: 02.11.2016
Сообщений: 28
Восклицание Паскаль. Проблема с repeat i while

видает встречено '.' а ожидалось ;
Код:
Program Laba3;
uses crt;
const
a=0.01;
label M1;
var
   i, n: integer;
   sum, q: Real;
   L: string;
   menu: char;
   
   
Begin
clrscr;
      textbackground(black);
      textcolor(white);
      gotoxy(31,1);
      Writeln('                     labwork#4                  ' );
      gotoxy(27,2);
      writeln('                     Buchynska Katya              ');
      gotoxy(34,3);
      writeln('                       km-63                       ');
      gotoxy(35,4);
      writeln('                       variant#3                  ' );
      writeln('Press "Enter" to continue');
      readln;
     
    
    begin 
      clrscr;
                  
                   M1:
                   writeln('Press 1 to sum of ((-1)^n*(2n+1)) / (n^3*(n+1)) using REPEAT ');
                   writeln('Press 2 to sum of ((-1)^n*(2n+1)) / (n^3*(n+1)) using WHILE  ');
                   writeln('Press "Esc" to exit');
                   menu:=readkey;
                   case menu of
                        #49:
                           begin clrscr;
                                writeln('The condition is sum of ((-1)^n*(2n+1)) / (n^3*(n+1)) using REPEAT ');
                                writeln('Press "Enter" to continue');
                                readln;
                            
                                repeat clrscr;
                                      writeln('Please enter number of elements ');
                                      readln (n);
                            
                            
                                if (n=0) or (n=-1) then 
                                    begin
                                    writeln('It is a faulse number, try again');
                                    readln;
                                    end
                                else
                                  writeln('The task of this program is to sum of ((-1)^n*(2n+1)) / (n^3*(n+1)) using REPEAT ');
                                  writeln('Enter desired accuracy');
                                  readln(a);
                                  
                                    
                                      begin
                                      q:=1;
                                          for i:=1 to n do
                                              begin
                                                  q:=(-1)*q;
                                                  sum:=q*((2*n+1)/(n*n*n*(n+1)));
                                              end;
                                              end;
                                              
                                 until  sum <= a ;
                                      
                                      
                                  writeln('Sum is:', sum);
                                  
                                  writeln('Want to count again(write yes/no)?');
                                  readln(l);
                                  case l of 
                                       yes:
                                          goto M1;
                                       no: 
                                          writeln('Press "Esc" to exit');
                                  
                                  
                                  
                                  
                                  
                                  #50:
                                  begin 
                                  clrscr;
                                  writeln('The condition is sum of ((-1)^n*(2n+1)) / (n^3*(n+1)) using REPEAT ');
                                  writeln('Press "Enter" to continue');
                                  readln;
                                
                               
                                
                                      writeln('Please enter number of elements ');
                                      readln (n);
                                 
                                  
                                  while sum<=a do
                                  begin
                                      q:=1;
                                          for i:=1 to n do
                                              begin
                                                  q:=(-1)*q;
                                                  sum:=q*((2*n+1)/(n*n*n*(n+1)));
                                              end;
                                       writeln('Sum is:', sum);      
                                              
                                  end;
                                  
                                  
                                  end;
                                  
                                  end.
adolphina вне форума Ответить с цитированием
Старый 02.11.2016, 23:29   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Дык нормально отформатируй, что бы было видно где каждый блок начинается и где заканчивается. Или за тебя нужно посчитать сколько там begin и end?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 02.11.2016, 23:36   #3
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

readln(a); для константы ? Серёзно? О_О

Код:
Program Laba3;
uses crt;
const
a=0.01;
label M1;
var
   i, n: integer;
   sum, q: Real;
   L: string;
   menu: char;


Begin
clrscr;
      textbackground(black);
      textcolor(white);
      gotoxy(31,1);
      Writeln('                     labwork#4                  ' );
      gotoxy(27,2);
      writeln('                     Buchynska Katya              ');
      gotoxy(34,3);
      writeln('                       km-63                       ');
      gotoxy(35,4);
      writeln('                       variant#3                  ' );
      writeln('Press "Enter" to continue');
      readln;


      clrscr;

                   M1:
                   writeln('Press 1 to sum of ((-1)^n*(2n+1)) / (n^3*(n+1)) using REPEAT ');
                   writeln('Press 2 to sum of ((-1)^n*(2n+1)) / (n^3*(n+1)) using WHILE  ');
                   writeln('Press "Esc" to exit');
                   menu:=readkey;
                   case menu of
                        #49:
                           begin 
								clrscr;
                                writeln('The condition is sum of ((-1)^n*(2n+1)) / (n^3*(n+1)) using REPEAT ');
                                writeln('Press "Enter" to continue');
                                readln;

                                repeat clrscr;
                                      writeln('Please enter number of elements ');
                                      readln (n);


                                if (n=0) or (n=-1) then
                                    begin
                                    writeln('It is a faulse number, try again');
                                    readln;
                                    end
                                else
                                  writeln('The task of this program is to sum of ((-1)^n*(2n+1)) / (n^3*(n+1)) using REPEAT ');
                                  writeln('Enter desired accuracy');
{                                  readln(a);}


                                      begin
                                      q:=1;
                                          for i:=1 to n do
                                              begin
                                                  q:=(-1)*q;
                                                  sum:=q*((2*n+1)/(n*n*n*(n+1)));
                                              end;
                                              end;

                                 until  sum <= a ;


                                  writeln('Sum is:', sum);

                                  writeln('Want to count again(write yes/no)?');
                                  readln(l);
                                  if l=  'yes' then
                                          goto M1
                                  else if l =  'no' then
                                          writeln('Press "Esc" to exit');
                             end;
                         #50:
                                  begin
                                  clrscr;
                                  writeln('The condition is sum of ((-1)^n*(2n+1)) / (n^3*(n+1)) using REPEAT ');
                                  writeln('Press "Enter" to continue');
                                  readln;



                                      writeln('Please enter number of elements ');
                                      readln (n);


                                  while sum<=a do
                                  begin
                                      q:=1;
                                          for i:=1 to n do
                                              begin
                                                  q:=(-1)*q;
                                                  sum:=q*((2*n+1)/(n*n*n*(n+1)));
                                              end;
                                       writeln('Sum is:', sum);

                                  end;


                                  end;
						end;
            readln;
      end.
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 02.11.2016, 23:44   #4
adolphina
Пользователь
 
Регистрация: 02.11.2016
Сообщений: 28
По умолчанию

ето случайно.
исправила нечто, но тоже не работает.
Program Laba3;
uses crt;
const
a=0.01;
label M1;
var
i, n: integer;
sum, q: Real;
menu: char;


Begin
clrscr;
textbackground(black);
textcolor(white);
gotoxy(31,1);
Writeln(' labwork#4 ' );
gotoxy(27,2);
writeln(' Buchynska Katya ');
gotoxy(34,3);
writeln(' km-63 ');
gotoxy(35,4);
writeln(' variant#3 ' );
writeln('Press "Enter" to continue');
readln;

clrscr;

writeln('Press 1 to sum of ((-1)^n*(2n+1)) / (n^3*(n+1)) using REPEAT ');
writeln('Press 2 to sum of ((-1)^n*(2n+1)) / (n^3*(n+1)) using WHILE ');
writeln('Press "Esc" to exit');
menu:=readkey;
case menu of
'1':
clrscr;
writeln('Please enter number of elements '):
readln (n);


if (n=0) or (n=-1) then
begin
writeln('It is a faulse number, try again');
readln;
end
else
writeln('The task of this program is to sum of ((-1)^n*(2n+1)) / (n^3*(n+1)) using REPEAT ');



begin
q:=1;
for i:=1 to n do
begin
q:=(-1)*q;
sum:=q*((2*n+1)/(n*n*n*(n+1)));
end;
end;

until sum <= a ;


writeln('Sum is:', sum);


'2' :
clrscr;
writeln('The condition is sum of ((-1)^n*(2n+1)) / (n^3*(n+1)) using REPEAT ');
writeln('Press "Enter" to continue');
readln;



writeln('Please enter number of elements ');
readln (n);


while sum<=a do
begin
q:=1;
for i:=1 to n do
begin
q:=(-1)*q;
sum:=q*((2*n+1)/(n*n*n*(n+1)));
end;
writeln('Sum is:', sum);

end;

end.
adolphina вне форума Ответить с цитированием
Старый 02.11.2016, 23:45   #5
adolphina
Пользователь
 
Регистрация: 02.11.2016
Сообщений: 28
По умолчанию

табуляцию забила. вот
Код:
Program Laba3;
uses crt;
const
a=0.01;
label M1;
var
   i, n: integer;
   sum, q: Real;
   menu: char;
   
   
Begin
clrscr;
      textbackground(black);
      textcolor(white);
      gotoxy(31,1);
      Writeln('                     labwork#4                  ' );
      gotoxy(27,2);
      writeln('                     Buchynska Katya              ');
      gotoxy(34,3);
      writeln('                       km-63                       ');
      gotoxy(35,4);
      writeln('                       variant#3                  ' );
      writeln('Press "Enter" to continue');
      readln;
      
      clrscr;
                 
                   writeln('Press 1 to sum of ((-1)^n*(2n+1)) / (n^3*(n+1)) using REPEAT ');
                   writeln('Press 2 to sum of ((-1)^n*(2n+1)) / (n^3*(n+1)) using WHILE  ');
                   writeln('Press "Esc" to exit');
                   menu:=readkey;
                   case menu of
                      '1': 
                      clrscr;
                                      writeln('Please enter number of elements '):
                                      readln (n);
                            
                            
                                if (n=0) or (n=-1) then 
                                    begin
                                        writeln('It is a faulse number, try again');
                                        readln;
                                    end
                                else
                                    writeln('The task of this program is to sum of ((-1)^n*(2n+1)) / (n^3*(n+1)) using REPEAT ');
                                    
                                  
                                    
                                      begin
                                      q:=1;
                                          for i:=1 to n do
                                              begin
                                                  q:=(-1)*q;
                                                  sum:=q*((2*n+1)/(n*n*n*(n+1)));
                                              end;
                                              end;
                                              
                                 until  sum <= a ;
                                      
                                      
                                  writeln('Sum is:', sum);
                                  
                                  
                   '2' : 
                   clrscr;
                                  writeln('The condition is sum of ((-1)^n*(2n+1)) / (n^3*(n+1)) using REPEAT ');
                                  writeln('Press "Enter" to continue');
                                  readln;
                                
                               
                                
                                      writeln('Please enter number of elements ');
                                      readln (n);
                                 
                                  
                                  while sum<=a do
                                  begin
                                      q:=1;
                                          for i:=1 to n do
                                              begin
                                                  q:=(-1)*q;
                                                  sum:=q*((2*n+1)/(n*n*n*(n+1)));
                                              end;
                                       writeln('Sum is:', sum);      
                                              
                                  end;
                   
                   end.
adolphina вне форума Ответить с цитированием
Старый 03.11.2016, 00:22   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Катя, во-первых,
структура цикла repeat СТРОГО такая

Код:
repeat
    // тут код цикла
until Условие_ВЫХОДА_из_цикла;
у Вас в коде есть
until sum <= a;
но repeat нет

во-вторых.
насколько я понимаю этот класс задач (найти сумму ряда), то тут нужно или задавать число членов ряда (n в вашем случае) и тогда никакого сравнения sum с a нет и быть не может,
либо задаётся точность и сравнивается ОЧЕРЕДНОЙ член ряда, если он по модулю меньше, чем epsilon, тогда цикл можно считать завершенным и выходить.

у Вас же дикая смесь этих циклов. тут и n, тут и сравнение с a (к тому же сравнивать надо не сумму, а очередной член ряда)!

Так у Вас ничего не получится.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с циклом repeat. axpehuct123 Паскаль, Turbo Pascal, PascalABC.NET 9 10.04.2014 08:36
Проблема repeat-y в Mozilla (22.0) PsiMagistr HTML и CSS 3 06.08.2013 14:28
Проблема с проверкой условия посредством repeat until Zis67 Общие вопросы Delphi 3 01.10.2012 00:58
проблема с repeat и until dimass68 Паскаль, Turbo Pascal, PascalABC.NET 2 21.04.2012 10:35