Программирование на языке «Турбо-Паскаль»

Автор: Пользователь скрыл имя, 15 Октября 2011 в 06:13, курсовая работа

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

Цель работы - разработка надежного и гибкого кода для требуемого комплекса программ

Оглавление

Введение 5
Глава 1. Постановка задачи 6
1.1. Задание с использованием итерационных циклов 6
1.2. Обработка элементов массива 6
1.3. Файлы 7
Глава 2. Реализация проекта 8
2.1. Основная схема решения задания с использованием итерационных циклов 8
2.2. Основная схема решения задач на элементы массива 8
2.3. Основная схема решения задач с файлами 10
Заключение 15
Приложение А 16
Приложение Б 17
Приложение В 20

Файлы: 1 файл

Курс.doc

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

      Read (var F: File of Type; var V: Type),

где: 1) Read ("читать") - имя процедуры;

       2) F - имя переменной файлового типа;

       3) V - имя переменной (или список  из  нескольких  переменных,

разделенных  запятыми),  совпадающей по типу с  типом элементов файла. Type.Каждая переменная считывается с дискового  файла, и после окончания чтения файловый указатель перемещается на следующую компоненту файла.  

      Write (var F: File of type; var V: Type),

где: 1) Write ("писать") - имя процедуры;

    2) F - имя переменной файлового типа;

       3) V - имя переменной (или список нескольких переменных, разделенных

запятыми), совпадающей по типу с типом элементов  файла Type. Каждая переменная записывается в дисковый файл, и после окончания операции записи файловый указатель перемещается на следующую компоненту файла. После окончания работы с файлом, он должен быть закрыт, иначе результат будет потерян. 

      Close (var F: File),

где: 1) Close ("закрыть") - служебное слово;

        2) F - имя переменной файлового типа.

Дисковый  файл, отождествленный с переменной F, закрывается и в каталог диска  вносятся необходимые изменения.  
 

      Seek (F,n),

где: 1) Seek ("искать") - имя процедуры;

       2) F - имя переменной файлового типа;

       3) n - целочисленное выражение.

Эта процедура  перемещает указатель файла на компоненту файла с номером n (номер первой компоненты файла равен 0).

     Truncate (var F),

где:1) Truncate - имя процедуры;

         2) F - имя переменной файлового типа.

Эта процедура   уничтожает часть файла от текущей позиции указателя до конца в Паскале. 

           С помощью вышеизложенных стандартных процедур и функций  составляем программу. Листинг программы  приведён в приложении В. Результат работы программы приведён на рис. 6. 
 
 
 
 
 
 
 
 
 
 
 

Рис. 6

 
 
 
 

       
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Заключение

 

      В ходе проделанной работы были рассмотрены  и использованы основные методы программирования на языке «Турбо Паскаль». Все программа работоспособны. Поставленные задачи выполнены. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Приложение  А

 

PROGRAM KURSIT1;

        VAR

        SUM,X,Y,Z,F,S,E:REAL;

        I,J:INTEGER;

        BEGIN

        E:=0.0001;

        WRITELN('Введи число X больше 1');

        READLN (X);

        I:=1;

        Y:=0;

        F:=1/X;

        SUM:=1/X;

        Z:=0;

        WHILE (ABS(F)>E) DO BEGIN

        I:=I+1;

        Y:=(2*(I-1)-1)/((2*I-1)*X*X);

        F:=Y*F;

        SUM:=SUM+F;

                             END;

        WRITELN('Значение функции F=',F:15:10,'    Сумма=',SUM:15:10,'  Количество=',I);

        READLN;

        END. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Приложение  Б

PROGRAM KURS1; 

        CONST C:ARRAY[1..30] OF INTEGER=(1,2,3,3,2,5,5,1,5,3,

                                      3,5,5,7,4,0,-1,-2,-5,-4,

                                      -3,0,0,4,5,1,5,4,9,5);

        VAR

        S:ARRAY[1..30] OF INTEGER;

        I,N:INTEGER;

        BEGIN

        N:=0;

        FOR I:=1 TO 30 DO BEGIN

        IF (C[I]<-3) OR (C[I]>3) THEN BEGIN

        N:=N+1;

        WRITELN(i,'-ый элемент = ',C[I]);

                                         END;

                         END;

        WRITELN('Количество =',N:2);

        READLN;

        END. 
 

PROGRAM KURS2; 

        CONST Z:ARRAY[1..20] OF INTEGER=(1,2,3,3,2,5,5,1,5,3,

                                      3,5,5,7,4,0,-1,-2,-5,-4);

        VAR

        I,ISUM,IPR:INTEGER;

        PR,SUM:REAL;

        BEGIN

        ISUM:=0;

        IPR:=0;

        SUM:=0;

        PR:=1;

       FOR I:=1 TO 20 DO BEGIN

        IF Z[I]>0 THEN BEGIN

        PR:=PR*Z[I];

        IPR:=IPR+1;

        END;

        IF Z[I]<0 THEN BEGIN

        SUM:=SUM+Z[I];

        ISUM:=ISUM+1;

                       END; 

PROGRAM KURS3; 

        CONST Q:ARRAY[1..24] OF INTEGER=(1,2,3,4,5,6,7,

                                         8,9,1,2,3,4,5,

                                         6,7,8,9,1,2,3,

                                         4,5,6);

        VAR

        I,K,L:INTEGER;

        BEGIN

        K:=0;

        L:=0;

        I:=3;

        WHILE I<=24 DO BEGIN

        IF Q[I]>Q[I-1] THEN BEGIN

           IF Q[I]>Q[I-2] THEN BEGIN

                               K:=Q[I];

                               L:=I;

                               END

                          ELSE BEGIN

                               K:=Q[I-2];

                               L:=I-2;

                               END;

                            END

                       ELSE

           IF Q[I-1]>Q[I-2] THEN BEGIN

                                 K:=Q[I-1];

                                 L:=I-1;

                                 END

                            ELSE BEGIN

                                 K:=Q[I-2];

                                 L:=I-2;

                                 END;

        Q[L]:=Q[I-2];

        Q[I-2]:=K;

        I:=I+3;

                       END;

        FOR I:=1 TO 24 DO WRITE(Q[I],',');

        READLN;

        END. 
 

PROGRAM KURS4; 

        VAR

        Q:ARRAY[1..7,1..7] OF INTEGER;

        I,J:INTEGER;

        BEGIN

        FOR I:=1 TO 7 DO BEGIN

         FOR J:=1 TO 7 DO BEGIN

         IF I=J THEN Q[I,J]:=0

                ELSE Q[I,J]:=3;

                          END;

                         END;

        FOR I:=1 TO 7 DO BEGIN

                      WRITELN;

         FOR J:=1 TO 7 DO

         WRITE(Q[I,J]);

        END;

        READLN;

END. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Приложение  В

PROGRAM kurs;

type

    FIO=string[20];

    VES=REAL;

    ROST=integer; 

    STUD=record

               STUDFIO:FIO;

               STUDVES:VES;

               STUDROST:ROST;

    end; 

var i,j,m,n,k,l:integer;

    BFile:file of STUD;

    BFile2:file of STUD;

    work:STUD;

    temp:STUD;

    vid:byte;

    End_menu:boolean;

    BD:string[20]; 

procedure name_file;

begin

     BD:='DAV.txt';

end; 

procedure Add_rec;

begin

     writeln('Запись номер  ',FilePos(BFile)+1);

     with work do

     begin

          write('FIO: ');

          readln(STUDFIO);

          write('VES: ');

          readln(STUDVES);

          write('ROST: ');

          readln(STUDROST);

          write(BFile,work);

     end;

end; 

procedure Create_new_file;

var ind, count:integer;

begin

     name_file;

     assign(BFile,BD);

     rewrite(BFile);

     write('Введи  количество записей: ');

     readln(count);

     for ind:=1 to count do

         Add_rec;

     close(BFile);

end; 

procedure Output_rec;

begin

     read(BFile,work);

     with work do

     begin

          write('Номер ',FilePos(BFile),'  ');

          writeln(STUDFIO ,'     ',STUDVES:4:1,'     ',STUDROST);

     end;

end; 

procedure Output_all_rec;

begin

     name_file;

     assign(BFile,BD);

     {$I-}

     reset(BFile);

     {$I+}

     if IOresult=0 then

     begin

          seek(BFile,0);

          while(not Eof (BFile))do

                    Output_rec;

          close(BFile);

     end

     else

         writeln('не могу найти файл ', BD);

Информация о работе Программирование на языке «Турбо-Паскаль»