Паскаль – язык профессионального программирования

Автор работы: Пользователь скрыл имя, 14 Октября 2009 в 19:07, Не определен

Описание работы

курсовоя работа

Файлы: 1 файл

Паскаль.doc

— 166.00 Кб (Скачать файл)

Var

   spisok: array[1..25] of sved;

   i,i1,j, s,mesto,n,g:integer;

   max,t:real;

   q:string[25];

Begin

ClrScr;

writeln('Введите  количество учеников');

 readln(n);

for i:=1 to n do

   With spisok[i] do

     Begin

      Writeln ('Фамилия ',i,' студента');

      Readln (famil);

      Writeln('Дата рождения');

      Readln (datar);

      Writeln ('Год поступления');

      Readln (god);

      Writeln ('Группа');

      Readln (gruppa);

      s:=0;

     for i1:=1 to kurs  do

      begin

       writeln('Оценки ',i1,' года');

        for j:=1 to kol do

         Begin

          Writeln (j,' Предмет');

          Readln (ocenki[i1,j]);

          s:=s+ocenki[i1,j];

         End;

      end;

        srball[i]:=s/(kol*kurs);

      ClrScr;

     End;

    writeln('Фамилия':8,'Дата  рождения':16,'Год поступления':18,'Курс':7,'Группа':8);

    for i:=1 to n do

      begin

       with spisok[i] do write(famil:8,datar:16,god:18,kurs:7,gruppa:8);

       writeln;

       writeln;

        for g:=1 to kurs do

         begin

         write(g,' год:');

          for j:=1 to kol do

            with spisok[i] do write(ocenki[g,j]:4);

          writeln;

        end; 

       with spisok[i] do writeln('Средний бал =',srball[i]:6:2);

       writeln;

      end; 

   writeln;

    writeln('По порядку');

    for j:=1 to  n do

     Begin

      max:=spisok[j].srball[j];

      mesto:=j;

       for i:=j to n do

        if spisok[i].srball[i]<=max then

          Begin

            max:=spisok[i].srball[i];

            mesto:=i;

          End; 

     t:=spisok[j].srball[j];

     spisok[j].srball[j]:=spisok[mesto].srball[mesto];

     spisok[mesto].srball[mesto]:=t; 

     q:=spisok[j].famil;

     spisok[j].famil:=spisok[mesto].famil;

     spisok[mesto].famil:=q; 

      with spisok[j] do writeln(famil:8,srball[j]:6:2);

     End;

End. 
 

  1. Работа  с файлами.

Цель задания:

  1. Изучение файловых типов.
  2. Получение практических навыков работы с файлами.

ФАЙЛ (от англ. file, основные значения), совокупность упорядоченных и взаимосвязанных записей, имеющая описание для идентификации отдельных записей.

 Язык Турбо  Паскаль предлагает три вида такого представления:

 - типизированные  файлы,

 - текстовые  файлы,

 - нетипизированные  файлы.

 Типизированный  файл – последовательность элементов одного типа.

 Текстовый файл – файлы символьных данных. Текстовые файлы имеют тип text.

 Нетипизированные  файлы – это файлы, поддержка  которых осуществляется с максимально  возможной скоростью. Введение таких  файлов в систему Турбо Паскаль было вызвано стремлением повысить эффективность программ, участвующих в интенсивном обмене с внешними наборами данных.

   Для работы с файлами используются следующие функции:

  • Assign – функция, ассоциирующая имя файла с некоторой переменной, с которой и идет последующая работа.
  • Reset – функция, открывающая уже существующий файл для чтения из него.
  • Rewrite – функция, создающая новый файл, или перезаписывающая старый.
  • Readln – чтение из указанного файла строки с переходом на следующую строку.
  • Writeln – запись в указанный файл строки с переходом на следующую строку.

Вообще, файл рассматривается  не просто как несколько строк, а как запись (record), что значительно упрощает работу с файлами.

Поставленная  задача:

      Подготовить данные и организовать ввод данных в файл. Организовать чтение файла и вывод нужной информации.

      Дан файл f, содержащий различные даты. Каждая дата – это число, месяц и год. Год с наименьшим номером. 

Решение:

program spisok;

uses crt;

var f:text;

    name,txt,s,a: string;

    s1,min,y:integer;

begin

clrscr;

write('Введите  имя файла для записи текста:');

readln(name);

writeln;

assign(f,name);

rewrite(f);

repeat

write('введите дату:');

readln(txt);

writeln(f,txt);

until txt='';

close (f);

writeln; 

reset (f);

min:= 9999;

while not eof(f) do

Begin

  readln (f,a);

  s:=copy(a,7,4);

  val(s,s1,y);

  if (s1<min) and (s1<>0) then min:=s1;

 end;

writeln('наименьший  год:',min);

close (f);

end.

Информация о работе Паскаль – язык профессионального программирования