Курсовая

Курсовая на тему Статистический анализ текста

Работа добавлена на сайт bukvasha.net: 2015-07-01

Поможем написать учебную работу

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

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 23.11.2024


ОГЛАВЛЕНИЕ

Введение

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

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

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

2.2 Конструирование алгоритма

2.3 Описание программной реализации

3. Описание программы

3.1 Назначение программы

3.2 Системные требования

4. Заключение

5. Список используемой литературы

6. Приложение 1

Введение

Всем известно, что вычислительная техника облегчает жизнь человеку и её применение в различных сферах жизни и деятельности людей уже не новинка. Заданием для данной курсовой работы я выбрал программу «Статистический анализ текста». Для создания программы я использовал язык программирования «Си». Для работы программы подходит любой компьютер, поддерживающий операционную систему DOS, либо её эмуляцию (как в ОС Windows).

Язык «Cи» - это универсальный язык программирования, для которого характерны экономичность выражения, современный поток управления и структуры данных, богатый набор операторов. Язык «Cи» не является ни языком "очень высокого уровня", ни "большим" языком, и не предназначается для некоторой специальной области применения, но отсутствие ограничений и общность языка делают его более удобным и эффективным для многих задач, чем языки, предположительно более мощные. Операционная система, компилятор с языка «Cи» и по существу все прикладные программы системы «UNIX» написаны на «Cи». Коммерческие компиляторы с языка «Cи» существуют также на некоторых других ЭВМ. Язык «C»не связан с какими-либо определенными аппаратными средствами или системами, и на нем легко писать программы, которые можно пропускать без изменений на любой ЭВМ, имеющей «Cи»-компилятор.

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

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

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

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

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

2.2 Конструирование алгоритма

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

2.3 Описание программной реализации

Таб.1 Описание глобальных переменных

Название переменной

Тип

Описание переменной

p[255]

Массив int

Используется для хранения количества пробелов в строке

i,j,qw,ks

int

Счетчик

x, y,x2,y2

int

Координаты по x и по y

s[255][255]

Массив char

Массив для хранения информации из файла

ss[255]

Массив int

Используются для хранения количества спецзнаков в строке

q

char

Нажатая клавиша

f1

FILE

Файловая переменная

*pf

char

Используется для записи с клавиатуры пути к файлу

len

int

Для хранения длины введенного слова

slovo[20]

Массив char

Для хранения введенного слова

Табл. 2. Описание функций

п/п

Наименование функции

Назначение

1

kolvoslov()

Находит количество слов в тексте

2

menu()

Выводит на экран меню

3. Описание программы

3.1 Назначение программы

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

3.2 Системные требования

Минимальный набор технических средств:

- процессор, начиная с 486XT;

-оперативная память не менее 2 Мбайт:

-монитор VGA, SVGA;

-видеоадаптер VGA,SVGA с памятью не менее 512 Кбайт;

-наличие НЖМД или НГМД;

-наличие ОС MS-DOS или Windows 95/98/XP/Vista

-стандартная клавиатура.

4. Заключение

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

В этой работе я попытался учесть все возможные ситуации и возможные ошибки. Полученная задача и цель были выполнены. Но все возможности языка еще предстоит изучить и понять.

5. Список используемой литературы

Зуев В.А. Лекции I курса по предмету «Программирование интегрированных системах».

  1. Б. Керниган, Д. Ритчи «Язык программирования Си ++»

  2. Т.А. Павловловская «С/С++ Программирование на языке высокого уровня».

  3. В.В. Подбельский «Язык С++».

ПРИЛОЖЕНИЯ

Приложение 1.

Листинг программы

#include <iostream.h>

#include <stdio.h>

#include <conio.h>

#include <string.h>

#include <stdlib.h>

int i,j,p[225],k,ss[225];

char s[225][225],*pf,q;

FILE *f1;

void menu()

{

clrscr();

cout<<"viberite punkt menu\n";

cout<<"1 -> vivesti vsu informaciyu\n";

cout<<"2 -> vivesti informaciyu ob odnoy stroke\n";

cout<<"3 -> vivesti vsu informaciyu o probelah\n";

cout<<"4 -> vivesti vsu informaciyu o specznakah\n";

cout<<"5 -> vivesti sodergimoe fayla\n";

cout<<"6 -> nayti kolvo povtoreniy slova\n";

cout<<"7 -> vihod\n";

}

int kolvoslov()

{

int fs=1,nc=0;

char ch[2]={0};

f1=fopen(pf,"r");

while(!feof(f1))

{

fgets(ch,2,f1);

if(ch[0]>32)

fs=0;

else if(0==fs)

{

nc++;

fs=1;

}

ch[0]=0;

}

fclose(f1);

return nc;

}

void main()

{

clrscr();

cout<<"vvedite nazvanie fayla-> ";

cin>>pf;

for(i=0;i<225;i++)

{

p[i]=0;ss[i]=0;

}

if ((f1=fopen(pf,"r"))

== NULL)

{

cout<<"takogo fayla net";

getche();

abort();

}

f1=fopen(pf,"r");

i=0;

while(!feof(f1))

{

fgets(s[i],225,f1);

i++;

}

for(j=0;j<i;j++)

for(k=0;k<225;k++)

{

if(s[j][k]=='\0')break;

switch(s[j][k])

{

case ',':

case '!' :

case '#' :

case '$' :

case '%' :

case '^' :

case '&' :

case '*' :

case '(' :

case ')' :

case '-' :

case '_' :

case '=' :

case '+' :

case ';' :

case ':' :

case '"' :

case '>' :

case '<' :

case '/' :

case '.' :

case '}' :

case '{' :

case '[' :

case ']' :

ss[j]++;

break;

case ' ': p[j]++; break;

}

}

while(q!='7')

{

menu();

cin>>q;

if(q=='1')

{

for(j=0;j<i;j++)

{

cout<<"kolvo probelov v "<<j+1<<" stroke="<<p[j]<<"\n";

cout<<"kolvo specznakov v "<<j+1<<" stroke="<<ss[j]<<"\n";

}

cout<<"kolvo slov v fayle="<<kolvoslov();

getche();

}

if(q=='2')

{

cout<<"vvedite nomer stroki";

cin>>j;

cout<<"kolvo probelov v "<<j<<" stroke="<<p[j-1]<<"\n";

cout<<"kolvo specznakov v "<<j<<" stroke="<<ss[j-1]<<"\n";

getche();

}

if(q=='3')

{

for(j=0;j<i;j++)

cout<<"kolvo probelov v "<<j+1<<" stroke="<<p[j]<<"\n";

getche();

}

if(q=='4')

{

for(j=0;j<i;j++)

cout<<"kolvo specznakov v "<<j+1<<" stroke="<<ss[j]<<"\n";

getche();

}

if(q=='5')

{

for(j=0;j<i;j++)

cout<<s[j];

getche();

}

if(q=='6')

{

int len,qw=0,ks=0;

char slovo[20];

cout<<"vvedite iskomoe slovo ";

cin>>slovo;

len=strlen(slovo);

for(int i1=0;i1<i;i1++)

for(int i2=0;i2<55;i2++)

{

if(s[i1][i2]==slovo[qw])

qw++;

else qw=0;

if((qw+1)==len)

ks++;

}

cout<<"sovpadayushih slov -> "<<ks;

getche();

}

}

}



1. Реферат Последние годы жизни царской семьи
2. Реферат на тему Television News
3. Реферат на тему Clinton Administration Foreign Drug Policy In Colombia
4. Реферат Васильев, Андрей Николаевич
5. Реферат на тему Интернет как инструмент совершения компьютерных преступлений
6. Курсовая Шейный радикулит
7. Реферат Первобытные формы религии 2
8. Курсовая Проектирование гражданского здания
9. Реферат Глобальные сети Технологии и протоколы
10. Реферат на тему The Medici Of Florence Essay Research Paper