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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2011, 19:13   #1
SenZee
Новичок
Джуниор
 
Регистрация: 24.04.2011
Сообщений: 1
По умолчанию файлы в паскале

всем привет, помогите пожалуйста
есть задание: создать файл, записать туда несколько чисел
и дальше вычислить среднее геометрическое и сумму файлов которые больше 0.5
вот текст программы, только он почему то в файл не пойми что записывает, и препод сказал что прога берёт числа из памяти, а не из файла. Помогите переделать плиз
Код:
program labwork;
type
 sen = file of real;
var
 f:sen;
 i:integer;
 p,geo,sum:real;
 a:array [1..9] of real;
 begin
   assign(f, 'out.txt');
   rewrite(f);
     for i:=1 to 9 do
       begin
         writeln('введите число*',i:1);
         readln(a[i]);
         write(f,a[i]);
       end;
       
         close(f);
         reset(f);
         writeln('числа');
       for i:=1 to 9 do
       begin
       write(f);
       end;
   reset(f);
   p:=1;
     for i:=1 to 9 do
       begin
         p:=p*a[i];
         geo:=exp(1/9 * ln(p));
         end;
         writeln('средн. геометрич = ',geo);
       sum:=0;
     reset(f); 
       for i:=1 to 9 do
        begin
             if a[i] > 0.5 then
               sum:=sum+a[i];
       end;
       close(f);
   writeln('сумма =*',sum);
  end.
SenZee вне форума Ответить с цитированием
Старый 10.06.2011, 07:58   #2
ИВэТэшка
Пользователь
 
Аватар для ИВэТэшка
 
Регистрация: 01.02.2009
Сообщений: 52
По умолчанию

Код:
program temp;
uses crt;
var f: text;
     i: integer;
     a,geo,sum: real;

begin
CLRSCR;
assign(f,'text.txt');
writeln('Enter 5 numbers: ');

{read numbers and write to the file}
for i:=1 to 5 do
    begin
    read(a);
    append(f);
    writeln(f,a);
    end;
close(f);

{reads the number of file and calculate}
reset(f);
geo := 1;
for i:=1 to 5 do
    begin
    readln(f,a);
    geo := geo*a;
    if a>0.5 then
       sum := sum+a;
    end;
geo := geo*(1/5);
close(f);

writeln('Geometric mean: ',geo:3:0);
writeln('Amount: ',sum:3:0);
readln;
end.

___________
А код кто будет оформлять?!!

Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.


Это мое решение.
Если надо, то могу в твоем коде на ошибки указать.
Машины должны работать! Люди должны думать!

Последний раз редактировалось Serge_Bliznykov; 10.06.2011 в 10:33.
ИВэТэшка вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
файлы на паскале))) Nekras Помощь студентам 3 05.06.2011 17:38
Файлы в Паскале Анастасия1902 Помощь студентам 1 18.05.2010 20:02
Файлы в Паскале britva666 Помощь студентам 2 21.06.2009 20:28
Файлы на ПАСКАЛЕ!!! Нана Помощь студентам 4 26.04.2008 12:24
Файлы в паскале kitty Помощь студентам 4 22.04.2008 20:42