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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.04.2014, 07:26   #11
Тетрадь
Пользователь
 
Регистрация: 03.11.2013
Сообщений: 37
По умолчанию

Ребят, еще один вопрос. Почему не считает среднее арифметическое? Он только первого подсчитывает.
Код:
procedure count(var sved:svedd);
var q, w, i, n: integer; z, x: real;
lepsved:svedd;
begin
reset(sved);
read(sved,lepsved);
  WriteLn;
  q := 0;
  w := 0;
  for i:=1 to n do
  begin
    q := q + lepsved.day;
    w := w + lepsved.month;
  end;
  z := q / n;
  x := w / n;
  WriteLn(' Average date: ',z:0:0, ' ', x:0:0);
  close(sved); assign(sved,'lep_zar');
  end;
end.
Тетрадь вне форума Ответить с цитированием
Старый 13.04.2014, 12:04   #12
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Я уже в предыдущем сообщении ответил. Читайте внимательнее. Вы читаете из файла только первый элемент. Как прочитать все элементы из файла смотрите выше.
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 13.04.2014, 12:17   #13
Тетрадь
Пользователь
 
Регистрация: 03.11.2013
Сообщений: 37
По умолчанию

Он просто по нулям выводит(, что то я неправильно прописываю. Он не считает среднее арифметическое

Последний раз редактировалось Тетрадь; 13.04.2014 в 12:27.
Тетрадь вне форума Ответить с цитированием
Старый 13.04.2014, 12:44   #14
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Код:
program pro1;

uses op, obrabotki;

var
sved:klass;

begin
  vvod;
//(sved);
  vivod;
  //(sved);
  count;
  //(sved);
end.
Код:
unit obrabotki;
interface
uses op;

procedure vvod;
//(var sved:svedd);
procedure vivod;
//(var sved:svedd);
procedure count;
//(var sved:svedd);
implementation

procedure vvod;
//(var sved:svedd);
var
  i, n: integer;
  lepsved: klass;
begin
  assign(sved,'lep_zar.dat');
  rewrite(sved);
//  repeat
    writeln('Введите количество учеников:');
    readln(n);
//  until n in [1..maxk];
  for i := 1 to n do
  begin
    writeln(i, '-й ученик: ');
    with lepsved do begin
      write('Фамиия ученика: ');
      readln(secname);
      write('Инициалы: ');
      readln(io);
      write('Введите день: ');
      readln(day);
      write('Введите месяц: ');
      readln(month);
      write('Введите год рождения:');
      readln(year);
      write(sved, lepsved);
    end;
  end;
  close(sved);
end;


procedure vivod;
//(var sved:svedd);
var
  i,n: integer;
  lepsved:klass;
begin
  assign(sved,'lep_zar.dat');
  reset(sved);
  writeln('-----------------------------');
  writeln('Ученик': 10, 'Дата': 10);
  writeln('-----------------------------');
  while not eof(sved) do
  begin
  read(sved,lepsved);
  with lepsved do begin

    write(lepsved.secname: 5);
    write(' ', lepsved.io: 3);
    write('  ', lepsved.day: 2);
    write('.', lepsved.month: 2);
    writeln('.',lepsved.year: 4);
  end;
  end;
  write('--------------------------------');
  close(sved);
end;

procedure count;
//(var sved:svedd);
var q, w, i, n: integer; z, x: real;
lepsved:klass;
begin
  assign(sved,'lep_zar.dat');
  reset(sved);
  n:=0;
  q := 0;
  w := 0;

while not eof (sved) do
begin
  read(sved,lepsved);
  WriteLn;
//  for i:=1 to n do
  begin
    q := q + lepsved.day;
    w := w + lepsved.month;
    inc(n);
  end;
end;
  z := q / n;
  x := w / n;

  WriteLn(' Average date: ',z:0:2, ' ', x:0:2);

  close(sved);
  end;
end.
Код:
unit op;
interface
const maxk=10;
type klass = record
             secname:string[20];
             io:string[5];
                        day:1..31;
                        month:1..12;
                        year:1995..2007;
             end;
svedd = file of klass;
var
sved : svedd;
implementation
end.
Изображения
Тип файла: jpg 2014-04-13 12-45-26 Free Pascal IDE.jpg (30.9 Кб, 145 просмотров)

Последний раз редактировалось ZX Spectrum-128; 13.04.2014 в 12:47.
ZX Spectrum-128 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать типизированный файл (Паскаль АВС) kushnir-lena Паскаль, Turbo Pascal, PascalABC.NET 0 31.05.2012 19:46
Типизированный файл с анкетами студентов (Паскаль) Pyxy Помощь студентам 2 23.12.2011 10:08
Типизированный файл. Паскаль Iskorka92 Паскаль, Turbo Pascal, PascalABC.NET 2 28.11.2011 09:41
Типизированный файл с натуральными числами. Числа, встречающиеся 1 раз переписать в другой файл [Паскаль] mifomen Помощь студентам 7 16.12.2010 22:00