Строковые данные и тестовые файлы

Автор работы: Пользователь скрыл имя, 16 Февраля 2011 в 20:35, курсовая работа

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

Текстовые файлы предназначены, для хранения текстовой информации. Именно в файлах такого типа хранятся, исходные тексты программ. Компоненты (записи) текстового файла могут иметь переменную длину, что существенно влияет на характер работы с ними.

Содержание работы

Введение
1. Разработка эскизного и технического проектов программы…………….…...…….4
1.1. Задание……………………………………………………………………...………..4
1.2. Назначение и область применения……………………………...………….….…...5
1.3. Технические характеристики…………………………………...…………….…….6
1.3.1. Постановка задачи и описание алгоритма…………………………..…………..6
1.3.2. Организация входных и выходных данных и выбор состава технических и программных средств……………………………………………………………………10
1.3.3. Типы данных в языке Turbo Pascal. Текстовые файлы…………………………13
2. Разработка рабочего проекта…………………………………………………………18
2.1. Спецификация программы………………………………………………………....18
2.2. Текст программы………………………………………...………………………….19
Заключение……………………………………………………………………………….23
Глоссарий………………………………………………………………………………...25
Список используемых источников……………………………………………………..26
Приложения …………………………………...………………………………………...27

Файлы: 1 файл

Строковые данные и тестовые файлы.doc

— 243.50 Кб (Скачать файл)
gn="justify">      Порядковые  типы отличаются тем, что каждый из них имеет конечное число возможных значений. Эти значения можно определённым образом упорядочить (отсюда – название типов) и, следовательно, с каждым из них можно сопоставить некоторое целое число – порядковый номер значения.

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

      ПОРЯДКОВЫЕ  ТИПЫ

К порядковым типам относятся целые, логический, символьный, перечисляемый и тип-диапазон.

      Целые типы. Диапазон возможных значений целых типов зависит от их внутреннего представления, которое может занимать один, два или четыре байта

      ЦЕЛЫЕ ТИПЫ
      НАЗВАНИЕ

      Длина,

      байт

      Диапазон  значений
      Byte       1       0…255
      ShortInt       1       -128…+127
      Word       2       0…65535
      Integer       2       -32768…+32767
      LongInt       4       -2 147 483 648…+2 147 483 647
 
 
 
 
 

      Логический  тип

      ЛОГИЧЕСКИЕ ТИПЫ
      Название       Длина, Байт       OS       Значение
      BOOLEAN       1       Linux, DOS       False, True
      BYTEBOOL       1       Совместим с С       False, True
      WORDBOOL       2       Win       False, True
      LONGBOOL       4       Win       False, True
 

      Символьный  тип. CHAR – занимает 1 байт. Значением символьного типа является множество всех символов ПК. Каждому символу присваивается целое число в диапозоне 0…255. Это число служит кодом внутреннего представления символа.

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

      Длина, байт       Название       Количество  значащих цифр       Диапазон десятичного порядка
      6       Real       11…12       -39…+38
      4       Single       7…8       -45…+38
      8       Double       15…16       -324…+308
      10       Extended       19…20       -4951…+4932
      8       comp       19…20       -2*1063+1…+2*1063-1
 

      СТРОКИ

     Для обработки текстов в Turbo Pascal широко используется строковый тип данных STRING. Строкой в Паскале называется последовательность из определенного количества символов. Количество символов последовательности называется длиной строки. Количество символов в строке – переменной может меняться от 0 до N, где N – максимальное количество символов в строке - целое число в диапазоне 1..255. Если этот параметр опущен, то по умолчанию он принимается максимально возможным, а именно N=255.

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

     Текстовые файлы предназначены для хранения текстовой информации. Именно в файлах такого типа хранятся, исходные тексты программ.

     Текстовый файл трактуется в Turbo Pascal как совокупность строк переменной длины. Доступ к каждой строке возможен лишь последовательно, начиная с первой.

Приведем  пример программы для считывания строковых и числовых данных из файла  и записи их в другой файл.

var

  c: char;   j, i:  word;  

  s: array[1..10] of string[12];

  a: array[1..10, 1..6] of word;

  f1, f2: text;

BEGIN

  assign(f1, 'F1.txt');  reset(f1);

  assign(f2, 'F2.txt');  rewrite(f2);

  for i:= 1 to 10 do

    begin

      read(f1, s[i]);        { считывание строки }

      for j:= 1 to 6 do read(f1, a[i,j]);   { считывание шести чисел }

      readln(f1)     считывание символа конца строки }

    end;

  for c:= 'А' to 'Я' do            { цикл по перебору символов }

    for i:= 1 to 10 do 

      if s[i,1] = c then

        begin 

          write(f2, s[i]);  { запись строк в алфавитном  порядке первых символов }

          for j:= 1 to 6 do write(f2, a[i,j]:2);   { запись шести чисел }

          writeln(F2)

        end;

  close(f1);

  close(f2); 

END.

Здесь полагается, что в файле F1. txt записаны данные, которые в редакторе текста имеют вид:

                  Леонтьев  5  4  4  5  4  3

                  Ивлев     4 5  3  4  3  4  

и т. д.

      После считывания данных в программе происходит их сортировка перебором и запись в файл F2. txt в алфавитном порядке  первой буквы фамилии. [4,5,7] 
 
 
 
 
 
 
 
 

      2. Разработка рабочего  проекта

      2.1.Спецификация  программы

      Разработанная программа имеет название 1111.pas и расположена на компакт-диске в папке kurs\1111.pas. 

Наименование Обозначение Примечание
1111.pas Основной модуль программы Обеспечивает  диалог с пользователем и организацию подсчета слов, начинающихся и заканчивающихся на одну и ту же букву
input.txt Файл исходных данных для тестирования программы Содержит строку из русских букв
output.txt Файл полученных данных для тестирования программы Содержит буквы  и количество повторов в соответствии с условием задачи
 
 
 
 
 
 
 
 
 
 
 
 
 
 

      2.2. Текст программы

      program stroka;

      uses crt;

      var s, x, y, z:string;

          i, j, k, n:integer;

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

      begin

        {открываем файл}

        assign(input, 'd:\kurs\input.txt');

        reset(input);

        {читаем строку}

        readln(s);

        {определяем длину строки}

        n:=length(s);

        {слова с одинаковой первой и последней буквой записываем в массив}

        i:=1; j:=1; k:=1;

        while i<=n do

        begin

          if s[i]=' ' then

            if s[i-1]=s[k] then {проверяем первую и последнюю буквы}

            begin

             a[j]:=s[k];

             j:=j+1;

             k:=i+1;

             i:=i+1;

            end;

          i:=i+1;

        end;

        close(input); {закрываем файл}

        for i:=1 to j-1 do

          for k:=1 to j-1 do

           begin

            y:=a[i]; z:=a[k];

            if ord(y[1]) < ord(z[1]) then {ord – код буквы}

             begin

              x:=a[i];

              a[i]:=a[k];

              a[k]:=x;

             end;

           end;

           {открываем файл для записи}

           assign(output, 'd:\kurs\output.txt');

           rewrite(output);

           if j=1 then write('Таких слов нет') {нет повторов}

           else begin  {повторы есть}

           k:=1; i:=1;

        while i<j do

         begin

          write(a[i], ' - ');   {вывод букв}

          while a[i]=a[i+1] do

           begin

            k:=k+1;             {подсчитывает количество повторов}

            i:=i+1;

           end;

          writeln(k);        {вывод количества повторов}

         k:=1;

          i:=i+1;

         end;

        end;

            end.

      Для тестирования программы необходимо ввести строку в файл input.txt, затем программа обрабатывает полученную информацию и записывает результат в файл output.txt.

   При вводе строки «тот мам пап торт впрва » (рисунок 5) в текстовый файл input.txt будет получен следующий результат: м – 1, п – 1, т – 2 (рисунок 6). 

      Рисунок 5. Ввод строки 

 

   Рисунок 6. Вывод результата 

Информация о работе Строковые данные и тестовые файлы