Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Программа на паскале.
Форум программистов > Системное программирование > Delphi и Pascal > Delphi - FAQ
LOTER
ОЧЕНЬ СРОЧНО ТРЕБУЕТСЯ ПОМОЩЬ В НАПИСАНИИ ПРОГРАММЫ НА ПАСКАЛЕ!
(ЕСЛИ Я ПОПАЛ НЕ В ТУ ТЕМУ ФОРУМА(ПО НЕЗНАНИЮ,Я ТУТ ПЕРВЫЙ РАЗ!) ПРОСЬБА СИЛЬНО НЕ РУГАТЬСЯ А УКАЗАТЬ ТУ ТЕМУ КУДА НАДО ОБРАТИТЬСЯ

НЕБОЛЬШАЯ ПОПРАВКА : помощь требуется в в некоторых моментах её написания а не в написании вообще!
sax_ol
Цитата(LOTER @ 29:01:2008, 19:50 )
НЕБОЛЬШАЯ ПОПРАВКА

вы бы лучьше сразу о деле писали. а так только в заблуждения вгоняете.
LOTER
ОЧЕНЬ СРОЧНО ТРЕБУЕТСЯ ПОМОЩЬ В НАПИСАНИИ ПРОГРАММЫ НА ПАСКАЛЕ!

прога идет ниже:


var x1.x2,x3,x4,y1,y2,y3,y4:real;

  Function Rast(x1,y1,x2,y2,x3,y3:real):real;
  var a,b,d:real;
BEGIN
a:=sqrt(sqr(x3-x1)+sqr(y3-y1));
b:=sqrt(sqr(x3-x2)+sqr(y3-y2));
d:=sqrt(sqr(x2-x1)+sqr(y2-y1));
  Rast = sqr (a*a – sqr((a*a-b*b+d*d)(2*d));
End;
begin
  readln(x,y1,x2,y2,x4,y4);

ниже идет то что мне непонятно: Я подозреваю что Функцию Rast
можно заменить переменной или переменными для того чтобы эта функция
просчитывалась не ТРИ РАЗА А ОДИН,при этом блок схема должна быть таже.НО как этого сделать незнаю.
if Rast (x1,y1,x2,y2,x4,y4)< Rast(x1,y1,x,y3,x4,y4) then 
if Rast (x1,y1,x2,y2,x4,y4) else
writeln(Rast(x2,y2,x3,y3,x4,y4)) else if Rast(x1,y1,x3,y3,x4,y4)<Rast(x2,y2,x3,y3,x4,y4) then
writeln (Rast (x1,y1,x3,y3,x4,y4) else
writeln(Rast(x2,y2,x3,y3,x4,y4));
End;
END.


программа считает расстояние от точки до ближайшей стороны треугольника в котором она находится
LOTER
Вопрос по задаче написан почти в самом конце задачи!
 Tupe fs=file of string [10];
var f1,f2:fs;


Procedure Zapis(var f:fs);
                 var i,n:bute; s:string[10];
   write( 'введите кол-во строк');
readln(n); rewrite(f);


   for i:=1 to n do
  
begin
  write(i,'строка');
readln(s);
write(f,s);
end;
                     close(f)
End;

    Procedure copu f(n: bute; var f1,f2:fs);
           var i:bute; s:string[10];
          Begin

        reset(f1);
        rewrite(f2);


до этого момента преподу все было понятно,а потом он потребовал заменить oператор FOR на while
я и заменил,а он обвёл while i<n; и написал :условие д.б связано с ф-цией определяющей конец файла. вот в этом собственно и вопрос - что это такое -д.б,и как это вообще сделать?
          
for i:=1 to n do                                                                              
       begin                    в процессе проверки
        read(f1,s);            это было заменено на =>      while i<n;
        write(f2,s);                                                    
        end;                                                                   do begin
                                                                               read(f1,s)
                                                                                write(f2,s)
                                                                                  i:= i+1
                                                                                    end;
        
                                                    
      
close(f1);
close(f2);
End;
Begin
Zapis(f1);
copu f(s,f1,f2)
End;
END.
astronom
LOTER , возможно, преподаватель имел в виду, что для определения конца файла лучше использовать Eof(). С другой стороны, приведенный код позволяет считать n первых строк из файла. cool.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.