Обработка статистических данных по файлу

 








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


Тема:


"Обработка статистических данных по файлу"


Введение


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

В данной курсовой работе для разработки программы использовался язык С++ и среда программирования Borland C++ Builder 6.

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

В разделе описания программы дается обобщенное словесное описание алгоритма решения поставленной задачи.

В разделе описания разработки программы указывается обозначение и наименование программы; программное обеспечение, необходимое для функционирования программы; язык программирования, на котором написана программа.

В разделе описания тестирования программы кратко описывается среда программирования.



1. Разработка алгоритма


1.1Постановка задачи

алгоритм программа задача

Необходимо составить программу для обработки текстовой информации:

пользователь вводит текст вручную или загружает из файла;

программа выводит статистические данные по файлу: общее число знаков, число гласных, согласных, знаков препинания;

сохранение статистических данных в текстовом файле.

Язык программирования Си поддерживает множество функций стандартных библиотек для файлового ввода и вывода. Эти функции составляют основу заголовочного файла стандартной библиотеки языка Си <stdio.h>.

Функциональность ввода-вывода языка Си по текущим стандартам реализуется на низком уровне. Язык Си абстрагирует все файловые операции, превращая их в операции с потоками байтов, которые могут быть как «потоками ввода», так и «потоками вывода». В отличие от некоторых ранних языков программирования, язык Си не имеет прямой поддержки произвольного доступа к файлам данных; чтобы считать записанную информацию в середине файла, программисту приходится создавать поток, ищущий в середине файла, а затем последовательно считывать байты из потока.

Потоковая модель файлового ввода-вывода была популяризирована во многом благодаря операционной системе Unix, написанной на языке Си. Большая функциональность современных операционных систем унаследовала потоки от Unix, а многие языки семейства языков программирования Си унаследовали интерфейс файлового ввода-вывода языка Си с небольшими отличиями (например, PHP). Стандартная библиотека C++ отражает потоковую концепцию в своем синтаксисе (iostream).


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


Алгоритм работы с программой включает следующую последовательность действий:

ввод данных с клавиатуры или загрузка из текстового файла;

получение статистической информации;

сохранение статистической информации.


Рисунок 1.1 - Обобщенный алгоритм работы программы


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


2.1 Описание логической структуры


Программа состоит из следующих процедур:

процедура - обработчик события однократного щелчка мышью по компоненту FileListBox1:

void __fastcall TForm1: FileListBox1Click (TObject *Sender);

- процедура - обработчик события при закрытии формы:

void __fastcall TForm1: FormClose (TObject *Sender, TCloseAction &Action);

- процедура - обработчик события при создании формы:

void __fastcall TForm1: FormCreate (TObject *Sender);

- процедура - обработчик события при однократном щелчке по кнопке «Сохранить как…»:

void __fastcall TForm1: Button2Click (TObject *Sender);

- процедура - обработчик события при однократном щелчке по кнопке «Получить статистические данные»:

void __fastcall TForm1: Button1Click (TObject *Sender).


2.2 Входные данные


Входными данными программы является текстовая информация.



Рисунок 2.1 - Входные данные для обработки


2.3 Выходные данные


Выходными данными являются статистические данные об информации.



Рисунок 2.2 - Результат получения статистической информации


Рисунок 2.3 - Окно сохранения результатов работы


2.4 Вызов и загрузка программы


Программа может быть загружена путем запуска EXE-файла из Windows.

После запуска программы перед пользователем появляется окно приложения. Пользователю необходимо ввести все исходные данные и получить результат.



3. Тестирование программы

++ Builder - среда быстрой разработки (RAD), выпускаемая компанией CodeGear, дочерней фирмой компании Embarcadero (ранее Borland). Предназначена для написания программ на языке программирования C++. C++ Builder объединяет Библиотеку визуальных компонентов и среду программирования (IDE), написанную на Delphi с компилятором C++. Цикл разработки аналогичен Delphi, но с существенными улучшениями, добавленными в C++ Builder. Большинство компонентов, разработанных в Delphi, можно использовать и в C++ Builder без модификации, но, к сожалению, обратное утверждение не верно.++ Builder содержит инструменты, которые позволяют осуществлять настоящую визуальную разработку Windows-приложений методом drag-and-drop, упрощая программирование благодаря WYSIWYG редактору интерфейса, встроенному в его среду разработки.

C++ Builder представляет собой SDI-приложение, главное окно которого содержит настраиваемую инструментальную панель (слева) и палитру компонентов (справа). Помимо этого, по умолчанию при запуске C++ Builder появляются окно инспектора объектов (слева) и форма нового приложения (справа). Под окном формы приложения находится окно редактора кода.

Формы являются основой приложений C++ Builder. Создание пользовательского интерфейса приложения заключается в добавлении в окно формы элементов объектов C++ Builder, называемых компонентами. Компоненты C++ Builder располагаются на палитре компонентов, выполненной в виде многостраничного блокнота. Важная особенность C++ Builder состоит в том, что он позволяет создавать собственные компоненты и настраивать палитру компонентов, а также создавать различные версии палитры компонентов для разных проектов.

Компоненты C++ Builder разделяются на видимые (визуальные) и невидимые (невизуальные). Визуальные компоненты появляются во время выполнения точно так же, как и во время проектирования. Примерами являются кнопки и редактируемые поля. Невизуальные компоненты появляются во время проектирования как пиктограммы на форме. Они никогда не видны во время выполнения, но обладают определенной функциональностью (например, обеспечивают доступ к данным, вызывают стандартные диалоги Windows и др.)

Каждый компонент C++ Builder имеет три разновидности характеристик: свойства, события и методы.

Свойства являются атрибутами компонента, определяющими его внешний вид и поведение. Многие свойства компонента в колонке свойств имеют значение, устанавливаемое по умолчанию (например, высота кнопок). Свойства компонента отображаются на странице свойств (Properties). Инспектор объектов отображает опубликованные (published) свойства компонентов. Помимо published-свойств, компоненты могут и чаще всего имеют общие (public), опубликованные свойства, которые доступны только во время выполнения приложения.

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

Метод является функцией, которая связана с компонентом, и которая объявляется как часть объекта.



4. Внедрение


4.1 Условия выполнения программы


Программа может быть загружена путем запуска EXE-файла из Windows. Пользователю необходимо ввести текстовую информацию или загрузить ее из файла.


4.2 Сообщения оператору


После запуска программы перед пользователем появляется окно программы (рисунок 4.1).


Рисунок 4.1 - Окно программы


Все окно программы разделено на две функциональные части:

«Файл 1» - для открытия текстового файла;

«Результат» - для отобращения статистической таблицы.

Для получения статистической информации о содержимом файла неоходимо щелкнуть по кнопке «Получить статистические данные».


Рисунок 4.2 - Результат работы программы



Заключение


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



Список источников


1 Джерод Холлингворс, Дэн Баттерфилд, Боб Свот C++ Builder 5. Руководство разработчика = C++ Builder 5 Developer's Guide. - М.: «Диалектика», 2001.

Прата Стивен. Язык программирования С. Лекции и упражнения, 5-е издание.: Пер. с англ. - М.: Издательский дом «Вильямс», 2006. - 960 с.: с ил. - Парал. Тит. Англ.

Аксёнкин М.А., Целобёнок О.Н. Язык С. - Мн.: Унiверсiтэцкае, 1995. - 302 с.

Громов Ю.Ю., Татаренко С.И. Программирование на языке СИ: Учебное пособие. - Тамбов, 1995. - 169 с.

Мартынов Н.Н. Программирование для Windows на C/C++. - М.: Издательство «БИНОМ», т. 1, 2004; т. 2, 2005



Приложение


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

// -

#include <vcl.h>

#include <stdio.h>

#include <io.h>

#pragma hdrstop

#include «Unit1.h»

// -

#pragma package (smart_init)

#pragma resource «*.dfm»*Form1;* F1=0;* F2=0;* path1, *path2;

// -

__fastcall TForm1:TForm1 (TComponent* Owner)

: TForm(Owner)

{}

// -

// Открытие файла__fastcall TForm1: FileListBox1Click (TObject *Sender)

{->Clear();((F1=fopen (FileListBox1->FileName.c_str(), «r»))==0)

{->Caption= «Îøèáêà ïðè îòêðûòèè ôàéëà»;

}

{->Caption=FileListBox1->FileName;(F1,0, SEEK_SET);i=1;ch;->Lines->LoadFromFile (FileListBox1->FileName.c_str());

}(F1);

}

// -

// Получение статистических данных__fastcall TForm1: Button1Click (TObject *Sender)

{N=10;=Memo1->Text. Length();i;(i=0; i<65; i++)->Cells[1] [i]='0';->Cells[1] [0]=IntToStr(N);(i=1; i<=N; i++)

{(Memo1->Text[i])

{'A':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [6]=IntToStr (StrToInt(StringGrid1->Cells[1] [6])+1);

}; break;'a':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [6]=IntToStr (StrToInt(StringGrid1->Cells[1] [6])+1);

}; break;'B':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [7]=IntToStr (StrToInt(StringGrid1->Cells[1] [7])+1);

}; break;'b':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [7]=IntToStr (StrToInt(StringGrid1->Cells[1] [7])+1);

}; break;'C':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [8]=IntToStr (StrToInt(StringGrid1->Cells[1] [8])+1);

}; break;'c':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [8]=IntToStr (StrToInt(StringGrid1->Cells[1] [8])+1);

}; break;'D':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [9]=IntToStr (StrToInt(StringGrid1->Cells[1] [9])+1);

}; break;'d':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [9]=IntToStr (StrToInt(StringGrid1->Cells[1] [9])+1);

}; break;'E':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [10]=IntToStr (StrToInt(StringGrid1->Cells[1] [10])+1);

}; break;'e':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [10]=IntToStr (StrToInt(StringGrid1->Cells[1] [10])+1);

}; break;'F':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [11]=IntToStr (StrToInt(StringGrid1->Cells[1] [11])+1);

}; break;'f':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [11]=IntToStr (StrToInt(StringGrid1->Cells[1] [11])+1);

}; break;'G':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [12]=IntToStr (StrToInt(StringGrid1->Cells[1] [12])+1);

}; break;'g':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [12]=IntToStr (StrToInt(StringGrid1->Cells[1] [12])+1);

}; break;'H':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [13]=IntToStr (StrToInt(StringGrid1->Cells[1] [13])+1);

}; break;'h':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [13]=IntToStr (StrToInt(StringGrid1->Cells[1] [13])+1);

}; break;'I':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [14]=IntToStr (StrToInt(StringGrid1->Cells[1] [14])+1);

}; break;'i':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [14]=IntToStr (StrToInt(StringGrid1->Cells[1] [14])+1);

}; break;'J':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [15]=IntToStr (StrToInt(StringGrid1->Cells[1] [15])+1);

}; break;'j':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [15]=IntToStr (StrToInt(StringGrid1->Cells[1] [15])+1);

}; break;'K':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [16]=IntToStr (StrToInt(StringGrid1->Cells[1] [16])+1);

}; break;'k':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [16]=IntToStr (StrToInt(StringGrid1->Cells[1] [16])+1);

}; break;'L':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [17]=IntToStr (StrToInt(StringGrid1->Cells[1] [17])+1);

}; break;'l':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [17]=IntToStr (StrToInt(StringGrid1->Cells[1] [17])+1);

}; break;'M':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [18]=IntToStr (StrToInt(StringGrid1->Cells[1] [18])+1);

}; break;'m':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [18]=IntToStr (StrToInt(StringGrid1->Cells[1] [18])+1);

}; break;'N':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [19]=IntToStr (StrToInt(StringGrid1->Cells[1] [19])+1);

}; break;'n':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [19]=IntToStr (StrToInt(StringGrid1->Cells[1] [19])+1);

}; break;'O':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [20]=IntToStr (StrToInt(StringGrid1->Cells[1] [20])+1);

}; break;'o':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [20]=IntToStr (StrToInt(StringGrid1->Cells[1] [20])+1);

}; break;'P':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [21]=IntToStr (StrToInt(StringGrid1->Cells[1] [21])+1);

}; break;'p':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [21]=IntToStr (StrToInt(StringGrid1->Cells[1] [21])+1);

}; break;'Q':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [22]=IntToStr (StrToInt(StringGrid1->Cells[1] [22])+1);

}; break;'q':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [22]=IntToStr (StrToInt(StringGrid1->Cells[1] [22])+1);

}; break;'R':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [23]=IntToStr (StrToInt(StringGrid1->Cells[1] [23])+1);

}; break;'r':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [23]=IntToStr (StrToInt(StringGrid1->Cells[1] [23])+1);

}; break;'S':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [24]=IntToStr (StrToInt(StringGrid1->Cells[1] [24])+1);

}; break;'s':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [24]=IntToStr (StrToInt(StringGrid1->Cells[1] [24])+1);

}; break;'T':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [25]=IntToStr (StrToInt(StringGrid1->Cells[1] [25])+1);

}; break;'t':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [25]=IntToStr (StrToInt(StringGrid1->Cells[1] [25])+1);

}; break;'U':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [26]=IntToStr (StrToInt(StringGrid1->Cells[1] [26])+1);

}; break;'u':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [26]=IntToStr (StrToInt(StringGrid1->Cells[1] [26])+1);

}; break;'V':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [27]=IntToStr (StrToInt(StringGrid1->Cells[1] [27])+1);

}; break;'v':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [27]=IntToStr (StrToInt(StringGrid1->Cells[1] [27])+1);

}; break;'W':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [28]=IntToStr (StrToInt(StringGrid1->Cells[1] [28])+1);

}; break;'w':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [28]=IntToStr (StrToInt(StringGrid1->Cells[1] [28])+1);

}; break;'X':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [29]=IntToStr (StrToInt(StringGrid1->Cells[1] [29])+1);

}; break;'x':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [29]=IntToStr (StrToInt(StringGrid1->Cells[1] [29])+1);

}; break;'Y':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [30]=IntToStr (StrToInt(StringGrid1->Cells[1] [30])+1);

}; break;'y':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [30]=IntToStr (StrToInt(StringGrid1->Cells[1] [30])+1);

}; break;'Z':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [31]=IntToStr (StrToInt(StringGrid1->Cells[1] [31])+1);

}; break;'z':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [31]=IntToStr (StrToInt(StringGrid1->Cells[1] [31])+1);

}; break;'À':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [32]=IntToStr (StrToInt(StringGrid1->Cells[1] [32])+1);

}; break;'à':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [32]=IntToStr (StrToInt(StringGrid1->Cells[1] [32])+1);

}; break;'Á':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [33]=IntToStr (StrToInt(StringGrid1->Cells[1] [33])+1);

}; break;'á':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [33]=IntToStr (StrToInt(StringGrid1->Cells[1] [33])+1);

}; break;'Â':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [34]=IntToStr (StrToInt(StringGrid1->Cells[1] [34])+1);

}; break;'â':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [34]=IntToStr (StrToInt(StringGrid1->Cells[1] [34])+1);

}; break;'Ã':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [35]=IntToStr (StrToInt(StringGrid1->Cells[1] [35])+1);

}; break;'ã':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [35]=IntToStr (StrToInt(StringGrid1->Cells[1] [35])+1);

}; break;'Ä':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [36]=IntToStr (StrToInt(StringGrid1->Cells[1] [36])+1);

}; break;'ä':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [36]=IntToStr (StrToInt(StringGrid1->Cells[1] [36])+1);

}; break;'Å':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [37]=IntToStr (StrToInt(StringGrid1->Cells[1] [37])+1);

}; break;'å':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [37]=IntToStr (StrToInt(StringGrid1->Cells[1] [37])+1);

}; break;'¨':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [38]=IntToStr (StrToInt(StringGrid1->Cells[1] [38])+1);

}; break;'¸':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [38]=IntToStr (StrToInt(StringGrid1->Cells[1] [38])+1);

}; break;'Æ':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [39]=IntToStr (StrToInt(StringGrid1->Cells[1] [39])+1);

}; break;'æ':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [39]=IntToStr (StrToInt(StringGrid1->Cells[1] [39])+1);

}; break;'Ç':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [40]=IntToStr (StrToInt(StringGrid1->Cells[1] [40])+1);

}; break;'ç':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [40]=IntToStr (StrToInt(StringGrid1->Cells[1] [40])+1);

}; break;'È':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [41]=IntToStr (StrToInt(StringGrid1->Cells[1] [41])+1);

}; break;'è':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [41]=IntToStr (StrToInt(StringGrid1->Cells[1] [41])+1);

}; break;'É':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [42]=IntToStr (StrToInt(StringGrid1->Cells[1] [42])+1);

}; break;'é':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [42]=IntToStr (StrToInt(StringGrid1->Cells[1] [42])+1);

}; break;'Ê':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [43]=IntToStr (StrToInt(StringGrid1->Cells[1] [43])+1);

}; break;'ê':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [43]=IntToStr (StrToInt(StringGrid1->Cells[1] [43])+1);

}; break;'Ë':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [44]=IntToStr (StrToInt(StringGrid1->Cells[1] [44])+1);

}; break;'ë':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [44]=IntToStr (StrToInt(StringGrid1->Cells[1] [44])+1);

}; break;'Ì':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [45]=IntToStr (StrToInt(StringGrid1->Cells[1] [45])+1);

}; break;'ì':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [45]=IntToStr (StrToInt(StringGrid1->Cells[1] [45])+1);

}; break;'Í':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [46]=IntToStr (StrToInt(StringGrid1->Cells[1] [46])+1);

}; break;'í':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [46]=IntToStr (StrToInt(StringGrid1->Cells[1] [46])+1);

}; break;'Î':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [47]=IntToStr (StrToInt(StringGrid1->Cells[1] [47])+1);

}; break;'î':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [47]=IntToStr (StrToInt(StringGrid1->Cells[1] [47])+1);

}; break;'Ï':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [48]=IntToStr (StrToInt(StringGrid1->Cells[1] [48])+1);

}; break;'ï':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [48]=IntToStr (StrToInt(StringGrid1->Cells[1] [48])+1);

}; break;'Ð':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [49]=IntToStr (StrToInt(StringGrid1->Cells[1] [49])+1);

}; break;'ð':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [49]=IntToStr (StrToInt(StringGrid1->Cells[1] [49])+1);

}; break;'Ñ':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [50]=IntToStr (StrToInt(StringGrid1->Cells[1] [50])+1);

}; break;'ñ':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [50]=IntToStr (StrToInt(StringGrid1->Cells[1] [50])+1);

}; break;'Ò':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [51]=IntToStr (StrToInt(StringGrid1->Cells[1] [51])+1);

}; break;'ò':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [51]=IntToStr (StrToInt(StringGrid1->Cells[1] [51])+1);

}; break;'Ó':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [52]=IntToStr (StrToInt(StringGrid1->Cells[1] [52])+1);

}; break;'ó':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [52]=IntToStr (StrToInt(StringGrid1->Cells[1] [52])+1);

}; break;'Ô':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [53]=IntToStr (StrToInt(StringGrid1->Cells[1] [53])+1);

}; break;'ô':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [53]=IntToStr (StrToInt(StringGrid1->Cells[1] [53])+1);

}; break;'Õ':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [54]=IntToStr (StrToInt(StringGrid1->Cells[1] [54])+1);

}; break;'õ':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [54]=IntToStr (StrToInt(StringGrid1->Cells[1] [54])+1);

}; break;'Ö':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [55]=IntToStr (StrToInt(StringGrid1->Cells[1] [55])+1);

}; break;'ö':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [55]=IntToStr (StrToInt(StringGrid1->Cells[1] [55])+1);

}; break;'×':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [56]=IntToStr (StrToInt(StringGrid1->Cells[1] [56])+1);

}; break;'÷':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [56]=IntToStr (StrToInt(StringGrid1->Cells[1] [56])+1);

}; break;'Ø':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [57]=IntToStr (StrToInt(StringGrid1->Cells[1] [57])+1);

}; break;'ø':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [57]=IntToStr (StrToInt(StringGrid1->Cells[1] [57])+1);

}; break;'Ù':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [58]=IntToStr (StrToInt(StringGrid1->Cells[1] [58])+1);

}; break;'ù':

{->Cells[1] [2]=IntToStr (StrToInt(StringGrid1->Cells[1] [2])+1);->Cells[1] [58]=IntToStr (StrToInt(StringGrid1->Cells[1] [58])+1);

}; break;'ü':

{->Cells[1] [59]=IntToStr (StrToInt(StringGrid1->Cells[1] [59])+1);

}; break;'Ü':

{->Cells[1] [59]=IntToStr (StrToInt(StringGrid1->Cells[1] [59])+1);

}; break;'Û':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [60]=IntToStr (StrToInt(StringGrid1->Cells[1] [60])+1);

}; break;'û':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [60]=IntToStr (StrToInt(StringGrid1->Cells[1] [60])+1);

}; break;'ú':

{->Cells[1] [61]=IntToStr (StrToInt(StringGrid1->Cells[1] [61])+1);

}; break;'Ú':

{->Cells[1] [61]=IntToStr (StrToInt(StringGrid1->Cells[1] [61])+1);

}; break;'Ý':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [62]=IntToStr (StrToInt(StringGrid1->Cells[1] [62])+1);

}; break;'ý':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [62]=IntToStr (StrToInt(StringGrid1->Cells[1] [62])+1);

}; break;'Þ':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [63]=IntToStr (StrToInt(StringGrid1->Cells[1] [63])+1);

}; break;'þ':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [63]=IntToStr (StrToInt(StringGrid1->Cells[1] [63])+1);

}; break;'ß':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [64]=IntToStr (StrToInt(StringGrid1->Cells[1] [64])+1);

}; break;'ÿ':

{->Cells[1] [1]=IntToStr (StrToInt(StringGrid1->Cells[1] [1])+1);->Cells[1] [64]=IntToStr (StrToInt(StringGrid1->Cells[1] [64])+1);

}; break;' ':

{->Cells[1] [3]=IntToStr (StrToInt(StringGrid1->Cells[1] [3])+1);

}; break;'.':

{->Cells[1] [4]=IntToStr (StrToInt(StringGrid1->Cells[1] [4])+1);

}; break;', ':

{->Cells[1] [4]=IntToStr (StrToInt(StringGrid1->Cells[1] [4])+1);

}; break;';':

{->Cells[1] [4]=IntToStr (StrToInt(StringGrid1->Cells[1] [4])+1);

}; break;: StringGrid1->Cells[1] [5]=IntToStr (StrToInt(StringGrid1->Cells[1] [5])+1);

}

}(i=5; i<65; i++)

{(StrToInt (StringGrid1->Cells[1] [i])!=0)

{((StrToInt (StringGrid1->Cells[1] [i])/N)<=0.05)->Cells[2] [i]=» -»;((100*StrToInt (StringGrid1->Cells[1] [i])/N)>5)->Cells[2] [i]= "**»;((100*StrToInt (StringGrid1->Cells[1] [i])/N)>=10)->Cells[2] [i]= "****»;((100*StrToInt (StringGrid1->Cells[1] [i])/N)>=20)->Cells[2] [i]= "******»;((100*StrToInt (StringGrid1->Cells[1] [i])/N)>=30)->Cells[2] [i]= "********»;((100*StrToInt (StringGrid1->Cells[1] [i])/N)>=40)->Cells[2] [i]= "**********»;((100*StrToInt (StringGrid1->Cells[1] [i])/N)>=50)->Cells[2] [i]= "************»;((100*StrToInt (StringGrid1->Cells[1] [i])/N)>=60)->Cells[2] [i]= "**************»;((100*StrToInt (StringGrid1->Cells[1] [i])/N)>=70)->Cells[2] [i]= "****************»;((100*StrToInt (StringGrid1->Cells[1] [i])/N)>=80)->Cells[2] [i]= "******************»;((100*StrToInt (StringGrid1->Cells[1] [i])/N)>=90)->Cells[2] [i]= "********************»;

}

}

}

// -__fastcall TForm1: FormClose (TObject *Sender, TCloseAction &Action)

{(F1);

fclose(F2);

}

// -

// Настройка параметров компонентов

void __fastcall TForm1: FormCreate (TObject *Sender)

{->ColCount=3;->RowCount=65;->ColWidths[0]=320;->ColWidths[1]=60;->ColWidths[2]=200;->Cells[0] [0]= «Общее количество гласных в файле»;1->Cells[0] [1]= «Количество гласных»;

StringGrid1->Cells[0] [2]= «Количество согласных»;

StringGrid1->Cells[0] [3]= «Количество пробелов»;

StringGrid1->Cells[0] [4]= «Количество знаков препинания»;->Cells[0] [5]= «Количество прочих символов»;

StringGrid1->Cells[0] [6]= «Количество букв A, à (лат.)»;

StringGrid1->Cells[0] [7]=» Количество букв B, b (лат.)»;->Cells[0] [8]=» Количество букв C, c (лат.)»;->Cells[0] [9]=» Количество букв D, d (лат.)»;->Cells[0] [10]=» Количество букв E, e (лат.)»;->Cells[0] [11]=» Количество букв F, f (лат.)»;->Cells[0] [12]=» Количество букв G, g (лат.)»;->Cells[0] [13]=» Количество букв H, h (лат.)»;

StringGrid1->Cells[0] [14]=» Количество букв I, i (лат.)»;->Cells[0] [15]=» Количество букв J, j (лат.)»;->Cells[0] [16]=» Количество букв K, k (лат.)»;1->Cells[0] [17]=» Количество букв L, l (лат.)»;

StringGrid1->Cells[0] [18]=» Количество букв M, m (ëàò.)»;

StringGrid1->Cells[0] [19]=» Количество букв N, n (лат.)»;

StringGrid1->Cells[0] [20]=» Количество букв O, o (лат.)»;

StringGrid1->Cells[0] [21]=» Количество букв P, p (лат.)»;

StringGrid1->Cells[0] [22]=» Количество букв Q, q (лат.)»;

StringGrid1->Cells[0] [23]=» Количество букв R, r (лат.)»;

StringGrid1->Cells[0] [24]=» Количество букв S, s (лат.)»;->Cells[0] [25]=» Количество букв T, t (лат.)»;->Cells[0] [26]=» Количество букв U, u (лат.)»;1->Cells[0] [27]=» Количество букв V, v (лат.)»;

StringGrid1->Cells[0] [28]=» Количество букв W, w (лат.)»;

StringGrid1->Cells[0] [29]=» Количество букв X, x (лат.)»;

StringGrid1->Cells[0] [30]=» Количество букв Y, y (лат.)»;

StringGrid1->Cells[0] [31]=» Количество букв Z, z (лат.)»;

StringGrid1->Cells[0] [32]=» Количество букв À, à (кирил.)»;

StringGrid1->Cells[0] [33]=» Количество букв Á, á (кирил.)»;

StringGrid1->Cells[0] [34]=» Количество букв Â, â (кирил.)»;

StringGrid1->Cells[0] [35]=» Количество букв Ã, ã (кирил.)»;

StringGrid1->Cells[0] [36]=» Количество букв Ä, ä (кирил.)»;

StringGrid1->Cells[0] [37]=» Количество букв Å, å (кирил.)»;

StringGrid1->Cells[0] [38]=» Количество букв ¨,¸ (кирил.)»;

StringGrid1->Cells[0] [39]=» Количество букв Æ, æ (кирил.)»;

StringGrid1->Cells[0] [40]=» Количество букв Ç, ç (кирил.)»;

StringGrid1->Cells[0] [41]=» Количество букв È, è (кирил.)»;

StringGrid1->Cells[0] [42]=» Количество букв É, é (кирил.)»;

StringGrid1->Cells[0] [43]=» Количество букв Ê, ê (кирил.)»;

StringGrid1->Cells[0] [44]=» Количество букв Ë, ë (кирил.)»;

StringGrid1->Cells[0] [45]=» Количество букв Ì, ì (кирил.)»;

StringGrid1->Cells[0] [46]=» Количество букв Í, í (кирил.)»;

StringGrid1->Cells[0] [47]=» Количество букв Î, î (кирил.)»;

StringGrid1->Cells[0] [48]=» Количество букв Ï, ï (кирил.)»;

StringGrid1->Cells[0] [49]=» Количество букв Ð, ð (кирил.)»;

StringGrid1->Cells[0] [50]=» Количество букв Ñ, ñ (кирил.)»;

StringGrid1->Cells[0] [51]=» Количество букв Ò, ò (кирил.)»;

StringGrid1->Cells[0] [52]=» Количество букв Ó, ó (кирил.)»;

StringGrid1->Cells[0] [53]=» Количество букв Ô, ô (кирил.)»;

StringGrid1->Cells[0] [54]=» Количество букв Õ, õ (кирил.)»;

StringGrid1->Cells[0] [55]=» Количество букв Ö, ö (кирил.)»;

StringGrid1->Cells[0] [56]=» Количество букв ×,÷ (кирил.)»;

StringGrid1->Cells[0] [57]=» Количество букв Ø, ø (кирил.)»;

StringGrid1->Cells[0] [58]=» Количество букв Ù, ù (кирил.)»;

StringGrid1->Cells[0] [59]=» Количество букв Ü, ü (кирил.)»;

StringGrid1->Cells[0] [60]=» Количество букв Û, û (кирил.)»;

StringGrid1->Cells[0] [61]=» Количество букв Ú, ú (кирил.)»;

StringGrid1->Cells[0] [62]=» Количество букв Ý, ý (кирил.)»;

StringGrid1->Cells[0] [63]=» Количество букв Þ, þ (кирил.)»;

StringGrid1->Cells[0] [64]=» Количество букв ß, ÿ (кирил.)»;

int i;(i=0; i<65; i++)1->Cells[1] [i]='0';

}

// -

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

void __fastcall TForm1: Button2Click (TObject *Sender)

{i;(SaveDialog1->Execute())

{=fopen (SaveDialog1->FileName.c_str(), «w+»);(i=0; i<65; i++)

{(StringGrid1->Cells[0] [i].c_str(), F2);(«», F2);(StringGrid1->Cells[1] [i].c_str(), F2);(«\n», F2);

}

}(F2);

}

// -



Курсовая работа Тема: "Обработка статистических данных по файлу" Введение Целью курсовой работ

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ