Реферат по предмету "Информатика"


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

--PAGE_BREAK--1.3.1.  Постановка задачи
 Данная программа позволяет находить слова, начинающиеся и заканчивающиеся на одну и ту же букву. Для этого необходимо ввести в файл input.txtстроку с русскими буквами. После программа открывает данный файл, считывает информацию и записывает необходимые буквы в массив a[i]. Затем массив сортируется, и повторяющиеся буквы выводятся в файл output.txt. [6]

Описание алгоритма

В программе решаются три подзадачи:

Нахождение слов с одинаковой первой и последней буквой и запись этих букв в массив a[i]

1.                Сортировка массива a[i]

2.                Вывод букв с указанием их соответствующего количества в текстовый файл output.txt

Общая схема программа представлена на рисунке 1.

























































Рисунок 1. Общая схема алгоритма









           





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





























Рисунок 2.Считывание текста из файла input.txt

























Затем полученный массив сортируем методом перебора (рисунок 3).





                                                           



Рисунок 3. Сортировка массива методом перебора











Результат записываем в файл output.txt(рисунок 4).





Рисунок 4. Запись в файл output.txt









1.3.2. Организация входных и выходных данных

Входные данные:     строка s.

Переменные, используемые в программе:

х, y, z– строковые данные, необходимые для сортировки массива                      букв а[i] в тексте;

                   N– целое число: длина строки в файле;

                   A– массив букв;

    Выходные данные: A– массив букв;

                                          K– количество букв.

         Для решения данной задачи в TurboPascalиспользовались следующие функции:

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

     rewrite(output);   {открыть файл для записи}

     close(input);  {закрытьфайл}

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

     reset(input);  {открыть файл для чтения}

     readln(s);      {читаем строку}

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



Выбор состава технических и программных средств.



В качестве среды разработки выбран TurboPascal – высокоуровневый язык программирования общего назначения. Один из наиболее известных языков программирования, широко применяется в промышленном программировании, обучении программированию в высшей школе, является базой для большого числа других языков. Был создан Н. Виртом в 1970.

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

Программы на TurboPascalначинаются с ключевого слова program Имя программы со списком внешних файловых дескрипторов в качестве параметров; затем следует главный блок операторов, окружённый ключевыми словами begin и end. Операторы разделяются точками с запятой, а точка служит признаком конца программы (или модуля).

Вот пример простейшей программы:

program HelloWorld(output);

begin  { начало программы }

  writeLn('Hello, World!');  { выводим надпись }

  readLn;                    { чтобы было видно, что мы вывели }

end.  { конец программы }



С начала 1990-х TP/BP используется в университетах для изучения фундаментальных концепций программирования.

Достоинства:

·                   удобная среда разработки, включающая функциональный отладчик, доступный в любой момент;

·                   контекстная справочная система, по которой можно изучать язык без обращения к сторонним источникам;

·                   высокая скорость компиляции, высокая скорость выполнения откомпилированных программ.

Недостатки:

·                   компилятор рассчитан на реальный режим DOS, применение которого сходит на нет, однако в последних версиях компилятора и среды введена поддержка защищённого режима вместе с соответствующим отладчиком (TD);

·                   неполная реализация объектного – ориентированного программирования.

Несмотря на эти недостатки, TurboPascalиспользуется во многих учебных заведениях для обучения программированию. [1,4]
    продолжение
--PAGE_BREAK--






















































































1.3.3. Типы данных в языке TurboPascal. Текстовые файлы

Любые данные, т.е. константы, переменные, значения функций или выражения, в TurboPascalхарактеризуются своими типами.

Тип данных определяет:

·                   формат представления данных в памяти ЭВМ;

·                      множество допустимых операций, применимых к этому.



TurboPascalхарактеризуется разветвлённой структурой типов данных.



    продолжение
--PAGE_BREAK--














































ПРОСТЫЕ ТИПЫ

К простым типам относятся порядковые и вещественные типы.

Порядковые типы отличаются тем, что каждый из них имеет конечное число возможных значений. Эти значения можно определённым образом упорядочить (отсюда – название типов) и, следовательно, с каждым из них можно сопоставить некоторое целое число – порядковый номер значения.

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

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

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

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

ЦЕЛЫЕ ТИПЫ

НАЗВАНИЕ
Длина,
байт

Диапазон значений

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. Это число служит кодом внутреннего представления символа.

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





СТРОКИ

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

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

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

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

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

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

  begin

    if s[i]=' ' then

      ifs[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])

       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

   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. Вывод результата





                                                                    

При вводе другой строки (рисунок 7) получится результат, показанный на рисунке 8.



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







                                                             





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












    продолжение
--PAGE_BREAK--


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Тема России в творчестве Блока
Реферат История правящих династий Великообритании
Реферат Історичні джерела й аспекті розвитку методики навчання природознавству зміст
Реферат Количество продаваемых контрафактных товаров. Средний срок рассмотрения дела
Реферат «Все опасные излучения мониторов и способы защиты»
Реферат Структурно-семантическая классификация фразеологичяеских парных сочетаний
Реферат Lord Rama Essay Research Paper What are
Реферат Манипулятор обыкновенный
Реферат Правовая концепция иностранных инвестиций в России
Реферат Расчет электроснабжения ООО Шахта Коксовая
Реферат Кимвры
Реферат Рекомендации по использованию социально-психологических методов управления на примере ОАО "Автоваз"
Реферат Мэйдзи: император и революция
Реферат Місце географії у сучасному науковому пізнанні світу
Реферат Краеведение и краеведческий принцип в обучении географии