Программа на паскале.

Тема в разделе "Delphi - FAQ", создана пользователем LOTER, 29 янв 2008.

  1. LOTER

    LOTER Гость

    ОЧЕНЬ СРОЧНО ТРЕБУЕТСЯ ПОМОЩЬ В НАПИСАНИИ ПРОГРАММЫ НА ПАСКАЛЕ!
    (ЕСЛИ Я ПОПАЛ НЕ В ТУ ТЕМУ ФОРУМА(ПО НЕЗНАНИЮ,Я ТУТ ПЕРВЫЙ РАЗ!) ПРОСЬБА СИЛЬНО НЕ РУГАТЬСЯ А УКАЗАТЬ ТУ ТЕМУ КУДА НАДО ОБРАТИТЬСЯ

    НЕБОЛЬШАЯ ПОПРАВКА : помощь требуется в в некоторых моментах её написания а не в написании вообще!
     
  2. LOTER

    LOTER Гость

    ОЧЕНЬ СРОЧНО ТРЕБУЕТСЯ ПОМОЩЬ В НАПИСАНИИ ПРОГРАММЫ НА ПАСКАЛЕ!

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


    Код (Text):
    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
    можно заменить переменной или переменными для того чтобы эта функция
    просчитывалась не ТРИ РАЗА А ОДИН,при этом блок схема должна быть таже.НО как этого сделать незнаю.
    Код (Text):
    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.
    программа считает расстояние от точки до ближайшей стороны треугольника в котором она находится
     
  3. LOTER

    LOTER Гость

    Вопрос по задаче написан почти в самом конце задачи!
    Код (Text):
     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; и написал :условие д.б связано с ф-цией определяющей конец файла. вот в этом собственно и вопрос - что это такое -д.б,и как это вообще сделать?
    Код (Text):
             
    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.
     
  4. astronom

    astronom Гость

    LOTER , возможно, преподаватель имел в виду, что для определения конца файла лучше использовать Eof(). С другой стороны, приведенный код позволяет считать n первых строк из файла. :)
     
Загрузка...

Поделиться этой страницей