Lenin
            		
 
  
            		
  
                     Новичок
        		 | 
        		
            		                  
    			     
            		
           			Code Sample:
 Program DosMenu;  uses crt;  const  c=6;  NameRegime:array[1..c] of string[32]=('1 - Quadratic equation',                                        '2 - Kramer method for matrix',                                        '3 - Gauss method for matrix',                                        '4 - Search of determinant',                                        '5 - Reversed matrix',                                        '6 - Exit');  var  driver, mode, error:integer;  i2,j2,w,z,zatr:integer;  ch:char;    procedure kvadr;  var  i:integer;  a,b,c,d,x,x1,x2:real;  begin  write ('Type in a: ');  readln (a);  write ('Type in b: ');  readln (b);  write ('Type in c: ');  readln (c);  writeln;  d:=((b*b)-(4*a*c));  writeln ('D=', d:3:0);  if d>0 then begin  x1:=(((0-b)+sqrt(d))/(2*a));  x2:=(((0-b)-sqrt(d))/(2*a));  writeln ('Solutions are: x1=', x1:3:5, '; x2=', x2:3:5);  end;  if d=0 then begin  x:=((0-b)/(2*a));  writeln ('Solution is: x=', x:3:5);  end;  if d<0 then  writeln ('Solutions are complex numbers.');  writeln;  write ('Press "enter" to exit...');  readln;  end;    procedure kramer;  const  m=3; n=3;  label M1;  Type  matr=array[1..m, 1..n] of real;  var  a,d:matr;  b:array [1..m] of real;  c:array [1..m] of real;  dop:array [1..6] of real;  i,j,k,t:integer;  det, det1, det2, det3, x1, x2, x3:real;  A11, A21, A31:real;  begin  writeln ('Type in matrix (array "A": )');  writeln;  for i:=1 to m do begin  for j:=1 to n do           read (a[i,j]);           readln;           end;  writeln;  writeln ('Type in array "B": ');  writeln;  for i:=1 to m do begin           read (b);           end;  det:=(((a[1,1])*(a[2,2])*(a[3,3]))         +((a[1,2])*(a[2,3])*(a[3,1]))         +((a[1,3])*(a[2,1])*(a[3,2]))         -((a[1,3])*(a[2,2])*(a[3,1]))         -((a[3,2])*(a[2,3])*(a[1,1]))         -((a[3,3])*(a[2,1])*(a[1,2])));  det1:=(((b[1])*(a[2,2])*(a[3,3]))         +((b[2])*(a[3,2])*(a[1,3]))         +((a[1,2])*(a[2,3])*(b[3]))         -((b[3])*(a[2,2])*(a[1,3]))         -((b[2])*(a[1,2])*(a[3,3]))         -((b[1])*(a[3,2])*(a[2,3])));    t:=-1;  A11:=(((b[2])*(a[3,3]))-((b[3])*(a[2,3])))*((t)*(t));  A21:=(((b[1])*(a[3,3]))-((b[3])*(a[1,3])))*((t)*(t)*(t));  A31:=(((b[1])*(a[2,3]))-((b[2])*(a[1,3])))*((t)*(t)*(t)*(t));  det2:=(((a[1,1])*A11)+((a[2,1])*A21)+((a[3,1])*A31));    {!!determinant 3!!}  t:=-1;  for i:=1 to m do  for j:=1 to n do  d[i,j]:=a[i,j];  for i:=1 to m do  d[i,3]:=b;  for i:=1 to m do  c:=((d[1,i])/(d[1,1]))*(d[2,1]);  if c[1]>0 then  if d[2,1]>0 then begin  for i:=1 to m do  c:=c*t;                   end;  if c[1]<0 then  if d[2,1]<0 then begin  for i:=1 to m do  c:=c*t;                   end;  for i:=1 to m do  d[2,i]:=d[2,i]+c;    for i:=1 to m do  c:=((d[1,i])/(d[1,1]))*(d[3,1]);  if c[1]>0 then  if d[3,1]>0 then begin  for i:=1 to m do  c:=c*t;                   end;  if c[1]<0 then  if d[3,1]<0 then begin  for i:=1 to m do  c:=c*t;                   end;  for i:=1 to m do  d[3,i]:=d[3,i]+c;    for i:=2 to m do  c:=((d[2,i])/(d[2,2]))*(d[3,2]);  if c[2]<0 then  if d[3,2]<0 then begin  for i:=2 to m do  c:=c*t;                   end;  if c[2]>0 then  if d[3,2]>0 then begin  for i:=2 to m do  c:=c*t;                   end;  for i:=2 to m do  d[3,i]:=d[3,i]+c;  {writeln ('d[1,1]=',d[1,1]:2:0,'d[2,2]',d[2,2]:2:0,'d[3,3]',d[3,3]:2:0);}  det3:=(d[1,1])*(d[2,2])*(d[3,3]);  if det=0 then if (det1=0) and (det2=0) and (det3=0) then begin  writeln ('System has infinite solutions');  goto M1;  end;  if det=0 then if (det1<>0) or (det2<>0) or (det3<>0) then begin  writeln ('System has no solutions');  goto M1;  end;  x1:=det1/det; x2:=det2/det; x3:=det3/det;  writeln;  writeln ('Main determinant: ', det:3:3);  writeln ('Determinant X1: ', det1:3:3);  writeln ('Determinant X2: ', det2:3:3);  writeln ('Determinant X3: ', det3:3:3);  writeln;  writeln ('Solutions: x1=', x1:3:0, '; x2=', x2:3:0, '; x3=', x3:3:0, ';');  M1:  writeln;  write ('Press "enter" to exit...');  readln;  end;    procedure gauss;  const  m=3; n=3; n2=4;  label M1;  Type  matr=array[1..m, 1..n] of real;  matr2=array[1..m, 1..n2] of real;  var  a:matr;  d:matr2;  b:array [1..m] of real;  c:array [1..n2] of real;  i,j,k,t:integer;  det, x1, x2, x3:real;  begin  writeln ('Type in matrix (array "A": )');  writeln;  for i:=1 to m do begin  for j:=1 to n do           read (a[i,j]);           readln;           end;  writeln;  writeln ('Type in array "B": ');  writeln;  for i:=1 to m do begin           read (b);           end;  det:=(((a[1,1])*(a[2,2])*(a[3,3]))         +((a[1,2])*(a[2,3])*(a[3,1]))         +((a[1,3])*(a[2,1])*(a[3,2]))         -((a[1,3])*(a[2,2])*(a[3,1]))         -((a[3,2])*(a[2,3])*(a[1,1]))         -((a[3,3])*(a[2,1])*(a[1,2])));  readln;  if det=0 then begin  writeln;  writeln ('This system does not has a single solution.');  goto M1;  end;  for i:=1 to m do  for j:=1 to n do  d[i,j]:=a[i,j];  for i:=1 to 3 do  d[i,4]:=b;    t:=-1;  for i:=1 to n2 do  c:=((d[1,i])/(d[1,1]))*(d[2,1]);  if c[1]>0 then  if d[2,1]>0 then begin  for i:=1 to n2 do  c:=c*t;                   end;  if c[1]<0 then  if d[2,1]<0 then begin  for i:=1 to n2 do  c:=c*t;                   end;  for i:=1 to n2 do  d[2,i]:=d[2,i]+c;    for i:=1 to n2 do  c:=((d[1,i])/(d[1,1]))*(d[3,1]);  if c[1]>0 then  if d[3,1]>0 then begin  for i:=1 to n2 do  c:=c*t;                   end;  if c[1]<0 then  if d[3,1]<0 then begin  for i:=1 to n2 do  c:=c*t;                   end;  for i:=1 to n2 do  d[3,i]:=d[3,i]+c;    for i:=2 to n2 do  c:=((d[2,i])/(d[2,2]))*(d[3,2]);  if c[2]>0 then  if d[3,2]>0 then begin  for i:=2 to n2 do  c:=c*t;                   end;  if c[2]<0 then  if d[3,2]<0 then begin  for i:=2 to n2 do  c:=c*t;                   end;  for i:=2 to n2 do  d[3,i]:=d[3,i]+c;    for i:=1 to n2 do  c:=((d[3,i])/(d[3,3]))*(d[2,3]);  if c[3]>0 then  if d[2,3]>0 then begin  for i:=1 to n2 do  c:=c*t;                   end;  if c[3]<0 then  if d[2,3]<0 then begin  for i:=1 to n2 do  c:=c*t;                   end;  for i:=1 to n2 do  d[2,i]:=d[2,i]+c;    for i:=1 to n2 do  c:=((d[3,i])/(d[3,3]))*(d[1,3]);  if c[3]>0 then  if d[1,3]>0 then begin  for i:=1 to n2 do  c:=c*t;                   end;  if c[3]<0 then  if d[1,3]<0 then begin  for i:=1 to n2 do  c:=c*t;                   end;  for i:=1 to n2 do  d[1,i]:=d[1,i]+c;    for i:=2 to n2 do  c:=((d[2,i])/(d[2,2]))*(d[1,2]);  if c[2]>0 then  if d[1,2]>0 then begin  for i:=2 to n2 do  c:=c*t;                   end;  if c[2]<0 then  if d[1,2]<0 then begin  for i:=2 to n2 do  c:=c*t;                   end;  for i:=2 to n2 do  d[1,i]:=d[1,i]+c;    for i:=1 to m do begin  c:=d[i,i];  for j:=1 to n2 do  d[i,j]:=d[i,j]/c;  end;    {for i:=1 to m do  c:=d[i,i];  d[1,1]:=d[1,1]/c[1]; d[1,2]:=d[1,2]/c[1]; d[1,3]:=d[1,3]/c[1]; d[1,4]:=d[1,4]/c[1];  d[2,1]:=d[2,1]/c[2]; d[2,2]:=d[2,2]/c[2]; d[2,3]:=d[2,3]/c[2]; d[2,4]:=d[2,4]/c[2];  d[3,1]:=d[3,1]/c[3]; d[3,2]:=d[3,2]/c[3]; d[3,3]:=d[3,3]/c[3]; d[3,4]:=d[3,4]/c[3];  }    x1:=d[1,4]; x2:=d[2,4]; x3:=d[3,4];    writeln;  writeln ('Transformed matrix');  writeln;  for i:=1 to m do begin  for j:=1 to n2 do  write (d[i,j]:3:0, ' ');  writeln;  end;  writeln;  writeln ('Solutions: x1=', x1:3:0, '; x2=', x2:3:0, '; x3=', x3:3:0, ';');    M1:  writeln;  write ('Press "enter" to exit...');  readln;  end;    procedure determinant;  const  m=3; n=3;  label M1;  Type  matr=array[1..m, 1..n] of real;  var  a:matr;  i,j,k,t:integer;  det:real;  begin  writeln ('Type in matrix');  writeln;  for i:=1 to m do begin  for j:=1 to n do           read (a[i,j]);           readln;           end;  writeln;  det:=(((a[1,1])*(a[2,2])*(a[3,3]))         +((a[1,2])*(a[2,3])*(a[3,1]))         +((a[1,3])*(a[2,1])*(a[3,2]))         -((a[1,3])*(a[2,2])*(a[3,1]))         -((a[3,2])*(a[2,3])*(a[1,1]))         -((a[3,3])*(a[2,1])*(a[1,2])));  writeln ('Determinant is: ', det:3:0);  writeln;  write ('Press "enter" to exit...');  readln;  end;    procedure reverse;  const  m=3; n=3; n2=6;  label M1;  Type  matr=array[1..m, 1..n] of real;  matr2=array[1..m, 1..n2] of real;  var  a:matr;  d:matr2;  c:array [1..n2] of real;  i,j,k,t:integer;  det:real;  begin  writeln ('Type in matrix');  writeln;  for i:=1 to m do begin  for j:=1 to n do           read (a[i,j]);           end;  writeln;  det:=(((a[1,1])*(a[2,2])*(a[3,3]))         +((a[1,2])*(a[2,3])*(a[3,1]))         +((a[1,3])*(a[2,1])*(a[3,2]))         -((a[1,3])*(a[2,2])*(a[3,1]))         -((a[3,2])*(a[2,3])*(a[1,1]))         -((a[3,3])*(a[2,1])*(a[1,2])));  readln;  if det=0 then begin  writeln;  writeln ('Reversed matrix does not exists for this issue.');  goto M1;  end;  for i:=1 to m do  for j:=1 to n2 do  d[i,j]:=0;  for i:=1 to m do  for j:=1 to n do  d[i,j]:=a[i,j];  d[1,4]:=1; d[2,5]:=1; d[3,6]:=1;    t:=-1;    for i:=1 to n2 do  c:=((d[1,i])/(d[1,1]))*(d[2,1]);  if c[1]>0 then  if d[2,1]>0 then begin  for i:=1 to n2 do  c:=c*t;                   end;  if c[1]<0 then  if d[2,1]<0 then begin  for i:=1 to n2 do  c:=c*t;                   end;  for i:=1 to n2 do  d[2,i]:=d[2,i]+c;    for i:=1 to n2 do  c:=((d[1,i])/(d[1,1]))*(d[3,1]);  if c[1]>0 then  if d[3,1]>0 then begin  for i:=1 to n2 do  c:=c*t;                   end;  if c[1]<0 then  if d[3,1]<0 then begin  for i:=1 to n2 do  c:=c*t;                   end;  for i:=1 to n2 do  d[3,i]:=d[3,i]+c;    for i:=2 to n2 do  c:=((d[2,i])/(d[2,2]))*(d[3,2]);  if c[2]>0 then  if d[3,2]>0 then begin  for i:=2 to n2 do  c:=c*t;                   end;  if c[2]<0 then  if d[3,2]<0 then begin  for i:=2 to n2 do  c:=c*t;                   end;  for i:=2 to n2 do  d[3,i]:=d[3,i]+c;    for i:=1 to m do begin  c:=d[i,i];  for j:=1 to n2 do  d[i,j]:=d[i,j]/c;  end;    for i:=3 to n2 do  c:=((d[3,i])/(d[3,3]))*(d[2,3]);  if c[3]>0 then  if d[2,3]>0 then begin  for i:=3 to n2 do  c:=c*t;                   end;  if c[3]<0 then  if d[2,3]<0 then begin  for i:=3 to n2 do  c:=c*t;                   end;  for i:=3 to n2 do  d[2,i]:=d[2,i]+c;    for i:=3 to n2 do  c:=((d[3,i])/(d[3,3]))*(d[1,3]);  if c[3]>0 then  if d[1,3]>0 then begin  for i:=3 to n2 do  c:=c*t;                   end;  if c[3]<0 then  if d[1,3]<0 then begin  for i:=3 to n2 do  c:=c*t;                   end;  for i:=3 to n2 do  d[1,i]:=d[1,i]+c;    for i:=2 to n2 do  c:=((d[2,i])/(d[2,2]))*(d[1,2]);  if c[2]>0 then  if d[1,2]>0 then begin  for i:=2 to n2 do  c:=c*t;                   end;  if c[2]<0 then  if d[1,2]<0 then begin  for i:=2 to n2 do  c:=c*t;                   end;  for i:=2 to n2 do  d[1,i]:=d[1,i]+c;    writeln ('Original matrix was transformed:');  writeln;  for i:=1 to m do begin  for j:=1 to n2 do  write (d[i,j]:3:2, '  ');  writeln; writeln;  end;  writeln ('Reversed matrix is:');  writeln;  for i:=1 to m do begin  for j:=4 to n2 do  write (d[i,j]:3:2, '  ');  writeln; writeln;  end;  M1:  writeln;  write ('Press "enter" to exit...');  readln;  end;    begin    while True do begin  clrscr;    textcolor (brown);  gotoXY (16,2);  write ('/----------------------------------------------------\');  gotoXY (16,19);  write ('\----------------------------------------------------/');  z:=3;  repeat  gotoXY (16,z);  write ('|');  z:=z+1  until z=19;  z:=3;  repeat  gotoXY (69,z);  write ('|');  z:=z+1  until z=19;    gotoXY (24, 4);  textcolor (yellow);  write ('Main Menu');  textcolor (white);  for j2:=1 to c do begin  gotoXY (25, 6+j2);  write (nameregime[j2]);  end;  gotoXY (21,15);  write ('Choose number of a title and press "enter": ');  readln (i2);  case i2 of  1: begin     clrscr;     kvadr;     end;  2: begin     clrscr;     kramer;     readln;     end;  3: begin     clrscr;     gauss;     end;  4: begin     clrscr;     determinant;     end;  5: begin     clrscr;     reverse;     end;  6: begin     clrscr;     gotoxy (25,10);     write ('Time to self-destruct... :( Bye!');     repeat     until keypressed;     readln;     halt;     end;       else     begin     gotoxy (21,17);     write ('This section does not exists! Try again.');     for zatr:=1 to 8 do     delay (50000);     end; end; end;     end. 
  
        Вопрос: Как сделать чтобы при вводе буквы в матрицу или квадратное уравнение, не выбивало ошибку?    (Сообщение отредактировал Lenin 20 июля 2010 9:49)
				 | 
			 
			
				
					 
                    Всего сообщений: 12 | Присоединился: май 2009 | Отправлено: 20 июля 2010 9:48 | IP
    		     | 
              
			 
			 | 
		 
    
    
    
		
			
			
			
        		
            		
            		MaxVell
            		
 
  
            		
  
                     Новичок
        		 | 
        		
            		                
    			     
            		
           			хто знает помогите а то ничо непонимаю    1. Составить блок-схему алгоритма и программу:  1.1. Дано два действительных числа X и Y. Вычислить выражение min (X, Y).  1.2. Найти максимальное по модулю число в последовательности из трех чисел, произвольно задаются.  1.3. Пусть переменная N принимает значения от 1 до 9. Напечатать значение этой переменной римскими цифрами.  1.4. Протабулюваты функцию Y = f (X) на отрезке [A, B] с шагом H  y=sqrt(cos2(x)+1)  A 0  B 4п  Н п/4  
				 | 
			 
			
				
					 
                    Всего сообщений: 1 | Присоединился: июль 2010 | Отправлено: 20 июля 2010 15:09 | IP
    		     | 
              
			 
			 | 
		 
    
    
    
		
			
			
			
        		
            		
            		Tank
            		
 
  
            		
  
                     Новичок
        		 | 
        		
            		               
    			     
            		
           			Народ всем привет! Помогите пожалуйста кто может! Нужно составить программу в паскале! раздел Процедуры! Вот условие!    (если в последовательности а1..аН нет ни одного члена со значением К, то наименьший член заменить на К, иначе оставить без изменения!)
				 | 
			 
			
				
					 
                    Всего сообщений: 1 | Присоединился: август 2010 | Отправлено: 18 авг. 2010 17:44 | IP
    		     | 
              
			 
			 | 
		 
    
    
    
		
			
			
			
        		
            		
            		kukuwka31
            		
 
  
            		
  
                     Новичок
        		 | 
        		
            		                  
    			     
            		
           			Помогите с задачками.. очень надо..   1. Определить , является ли последовательность символов находящаяся в текстовом файле, идентификатором.    2. в заданной последовательности цифр найти самую длинную последовательность, которая является арифметической прогрессией.    Заранее благодарна.. Помогите .. Please..
				 | 
			 
			
				
					 
                    Всего сообщений: 3 | Присоединился: август 2010 | Отправлено: 31 авг. 2010 16:56 | IP
    		     | 
              
			 
			 | 
		 
    
    
    
		
			
			
			
        		
            		
            		Galya21
            		
 
  
            		
  
                     Новичок
        		 | 
        		
            		               
    			     
            		
           			Помогите пожалуста решить задачу в паскале  Ветвлящимся алгоритмом   Задача   Необходимо ввести номер сезонов времени года и температуру. Должно определиться тепло или холодно  
				 | 
			 
			
				
					 
                    Всего сообщений: 1 | Присоединился: сентябрь 2010 | Отправлено: 27 сен. 2010 17:01 | IP
    		     | 
              
			 
			 | 
		 
    
    
    
		
			
			
			
        		
            		
            		beermaster01
            		
 
  
            		
  
                     Новичок
        		 | 
        		
            		               
    			     
            		
           			народ немогу решыть задачу в паскале, вообще незнаю как решыть..... вот она  В заданной строке слова разделены пропуском. Определить, есть ли в ней слова, которые совпадают с последним словом.    помогите очень надо... заранеее СПС      (Сообщение отредактировал beermaster01 13 окт. 2010 19:27)
				 | 
			 
			
				
					 
                    Всего сообщений: 6 | Присоединился: октябрь 2010 | Отправлено: 13 окт. 2010 19:25 | IP
    		     | 
              
			 
			 | 
		 
    
    
    
		
			
			
			
        		
            		
            		asska
            		
 
  
            		
  
                     Новичок
        		 | 
        		
            		                
    			     
            		
           			Ребят помогите пожалуйста=) даны 3 действительных числа.Выбрать из них те, которые принадлежат интервалу (1,3)при помощиоператора условия.мой вариант решения   program lab3  uses  crt;  var  x,y,z: integer;  1,3: real;  begin  clrscr  writeln('введите x,y,z');  readln(x,y,z);  if (x<=3) and (x>=1) then writeln ('x-принадлежит');  if (y<=3) and (y>=1) then writeln ('y- принадлежит');  if (z<=3) and (z>=1) then writeln ('z-принадлежит');  readln;  end.  преп сказала что все можно и нужно записать одним оператором и привести хотя бы  пример когда не принадлежит....В паскале не сильна...и с трудом понимаю свои ошибки=(  
				 | 
			 
			
				
					 
                    Всего сообщений: 2 | Присоединился: октябрь 2010 | Отправлено: 15 окт. 2010 21:15 | IP
    		     | 
              
			 
			 | 
		 
    
    
    
		
			
			
			
        		
            		
            		VF  
            		
 
  
            		
  
                     Administrator
        		 | 
        		
            		                 
    			     
            		
           			 Цитата: beermaster01 написал 13 окт. 2010 21:25 народ немогу решыть задачу в паскале, вообще незнаю как решыть..... вот она  В заданной строке слова разделены пропуском. Определить, есть ли в ней слова, которые совпадают с последним словом.
    Создаешь массив строк. После этого читаешь заданную строку посимвольно, заполняя сначала первый элемент массива строк. Как только обнаружишь пробел - не копируешь, а переходишь к следующему элементу массива строк. В итоге у тебя получится словарь - в каждом элементе массива слово. После этого последний элемент массива сравниваешь со всеми элементами до него. Если совпадет - значит есть слова, совпадающие с последним.
				 | 
			 
			
				
					 
                    Всего сообщений: 3110 | Присоединился: май 2002 | Отправлено: 16 окт. 2010 9:27 | IP
    		     | 
              
			 
			 | 
		 
    
    
    
		
			
			
			
        		
            		
            		Sven
            		
 
  
            		
  
                     Новичок
        		 | 
        		
            		               
    			     
            		
           			помогите я нуб в паскале а через пол часа мне надо сдать работу =)   задание :  для каждой введеной цыфры  0-9   вывести соответсвуещее её название на анл допустим 0-zero   1 -one
				 | 
			 
			
				
					 
                    Всего сообщений: 1 | Присоединился: октябрь 2010 | Отправлено: 25 окт. 2010 8:36 | IP
    		     | 
              
			 
			 | 
		 
    
    
    
		
			
			
			
        		
            		
            		Dale
            		
 
  
            		
  
                     Участник
        		 | 
        		
            		                  
    			     
            		
           			   помогите я нуб в паскале а через пол часа мне надо сдать работу =)  задание :  для каждой введеной цыфры  0-9   вывести соответсвуещее её название на анл допустим 0-zero   1 -one  
 
    Элементарная задача на case of . Решение можно сказать написано в любом описании конструкции =)   
 Code Sample:
   ...  readln(a);  case a of      0: writeln('zero');       1: writeln('one');      ...  end;  ... 
  
  
				 | 
			 
			
				
					 
                    Всего сообщений: 139 | Присоединился: май 2009 | Отправлено: 26 окт. 2010 6:52 | IP
    		     | 
              
			 
			 | 
		 
    
    
     
          
         |