Контрольная работа по "Технологии програмирования"

Автор: Пользователь скрыл имя, 05 Октября 2011 в 17:47, контрольная работа

Краткое описание

контрольная по програмированию на языке паскаль

Файлы: 1 файл

Контрольная по ТП.doc

— 934.50 Кб (Скачать)

write('Кол-во слов с одинаковыми буквами вначале и на конце: ',n);

readln;

end.

Результаты  выполнения программы

 

7. ФАЙЛЫ

Описание  задачи

     Дан файл вещественных чисел. Удалить из него все компоненты, принадлежащие  отрезку [1,5].

Алгоритм  решения задачи

 
Реализация в Turbo Pascal

uses crt;

const

     fn='array.dat'; 

type t =file of real; 

var

n,i:integer;

a: array [1..100] of real;

b:array[1..100] of real;

tf:t; 

begin

clrscr;

filemode:=2;

Assign(tf,fn);

{$I-};

Reset(tf);

{$I+}

If IOResult<>0 then Rewrite(tf); 

If FileSize(tf)=0 then

   begin

      Writeln('vvedite k-vo elementov');

      readln(n);

       Writeln('vvedite ',n,' elementov');

       For i:=1 to n do

          begin

             write(i,'-й: ');

              readln(a[i]);

              if (a[i]<1) or (a[i]>5) then b[i]:=a[i];

              write(tf,b[i]);

          end;

    end; 

   writeln;

   writeln('<<prosmotr faila>>');

   reset(tf);

    repeat

        read(tf,b[i]);

        if b[i]<>0 then writeln(b[i]:3);

    until eof(tf);

readln;

close(tf);

 erase(tf);

end.

Результаты  выполнения программы

 

8. ЗАПИСИ

Описание  задачи

     Расписание электричек хранится в виде файла записей. Каждая запись содержит название пункта назначения, пометки типа «СВ», «ПВ», «КСВ» и время отправления. Написать программу, выполняющую:

  • ввод расписания с клавиатуры;
  • вывод на экран информации о поездах типа «СВ», отходящих после введенного времени;
  • вывод на экран информации о поездах типа «ПВ», отправляющихся в пункт назначения «Москва»;

 

Алгоритм  решения задачи

   
Реализация в Turbo Pascal

Uses Crt;

Const

       found: Boolean=false;

Type

      Info = record

      P :String[10];

      M : String[3];

      T : String [5];

end;

Var

poezd: Info;

f: File of Info;

yn: string[1];

procedure Edit;

Var

f: File of Info;

poezd: Info;

n:integer;

i:1..100;

begin

     clrscr;

     assign(f,'poezd.dat');

     reset(f);

     Writeln('ckolko zapicei xotite vvecti?');

     ReadLn(n);

     Writeln('vvedite elementy!');

     Write('vvodite postrochno: ');

      For i:=1 to n do

          begin

           With poezd do

                begin

                 Writeln('Vvedite punkt:');

                 Readln(P);

                 Writeln('Vvedite Metky(CB|PB|KCB):');

                 Readln(M);

                 Writeln('Vvedite vremya');

                 Readln(T);

                 writeln('|',P,'|',M,'|',T,'|');

                End;

           Write(f,poezd);

End;

End;

procedure FndCB;

Var

poezd: Info;

f: File of Info;

i:1..100;

z: String[5];

Begin

  ClrScr;

  Write('Vvedite vremya otpravleniya (dlya poezdov s metkoi CB)>>');

         ReadLn(z);

         Writeln('-------------------------------');

         Writeln('|       punkt        |   Metka|');

         Writeln('-------------------------------');

         assign(f,'poezd.dat');

         reset(f);

         seek(f,0);

         While not Eof(f) do

            begin

             Read(f,poezd);

             If (poezd.T>=z) and (poezd.M='CB') then

                begin

                found:=true;

                WriteLn('|',(poezd.P):20,'|',(poezd.M):8,'|');

                Writeln('-------------------------------');

               End;

            End;

         If Not found then Writeln('Poezda net');

end;

procedure Msk;

Var

poezd: Info;

f: File of Info;

Begin

  ClrScr;

  Assign(f,'poezd.dat');

  Reset(f);

  seek(f,0);

  While not Eof(f) do

        begin

         Read(f,poezd);

            if (poezd.M='PB') and (poezd.P='Moskva') then

                begin

                found:=true;

               Writeln('Raspisanie Poezdov');

               Writeln('---------------------------------------');

               WriteLn('|       Punkt        | Metka | Vremya |');

               Writeln('---------------------------------------');

                writeln('|',(poezd.P):20,'|',(poezd.M):7,'|',(poezd.T):8,'|');

               Writeln('---------------------------------------');

            readln;

            end;

         end;

end;

Begin

      ClrSCr;

      Assign(f,'poezd.dat');

       {$I-};

       Reset(f);

       {$I+}

      If IOResult<>0 then Rewrite(f);

      if FileSize(f)=0 then Edit;

      FndCB;

     Msk;

         writeLn('yDa/\uTb 3anucu (Y/N)?');

         readln(yn);

         if (yn='y') or (yn='Y') then

         begin

              Rewrite(f);

              Writeln('3anucu yDa/\eHbI.');

         end;

         Writeln('Ha}|{MuTe ENTER.');

         ReadLn;

 close(f);

end.

Результаты  выполнения программы

   
 
 
 
 
 
 
 
 
 
 
 
 
 

Список  использованных источников

     1. Павловская Т. А. «Паскаль. Программирование  на языке высокого уровня»:  Практикум. - СПб.: Питер, 2007.- 317 с: ил.

     2. Зеленяк О.П. «Практикум программирования на Turbo Pascal. Задачи, алгоритмы и решения.» - 3-е изд., испр. и доп. - СПб.: ДиаСофтЮП, М.: ДМК Пресс, 2007. - 320 с.

     3. Шпак Ю.А. Программирование в  Turbo Pascal. Переход к Delphi. – К:  «МК-Пресс», 2006. – 16 с., ил.

     4. Смирнов Ю.Н., Макарова И.В. Основы программирования на языке Turbo Pascal. Часть 1: Учебное пособие – Набережные Челны: Изд-во КамПИ, 2000, 40 с.

     5. Смирнов Ю.Н., Макарова И.В., Исавнин  А.Г. Основы программирования  на языке Turbo Pascal. Часть 2: Учебное  пособие – Набережные Челны: Изд-во КамПИ, 2000, 29 с.

Информация о работе Контрольная работа по "Технологии програмирования"