Статистический анализ текста
Программа, читающая текстовый файл и подсчитывающая количество слов, пробелов, спецзнаков. Язык программирования "Си". Постановка и алгоритм решения задачи. Описание функций программной реализации. Конструирование алгоритма и системные требования.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 24.07.2010 |
Размер файла | 334,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
ОГЛАВЛЕНИЕ
Введение
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();
}
}
}
Подобные документы
Особенности метода неопределенных множителей Лагранжа, градиентного метода и метода перебора и динамического программирования. Конструирование алгоритма решения задачи. Структурная схема алгоритма сценария диалога и описание его программной реализации.
курсовая работа [1010,4 K], добавлен 10.08.2014Составление программы, с помощью которой пользователь может получать статистические сведения о текстовой информации. Для разработки программы использовался язык С++ и среда программирования Borland C++ Builder 6. Постановка задачи и описание ее решения.
курсовая работа [1,6 M], добавлен 03.07.2011Си - это язык программирования общего назначения. Постановка задачи: разработка программы - калькулятора. Метод решения задачи. Алгоритм работы программы. Технические данные для использования. Описание основных функций.
курсовая работа [14,1 K], добавлен 23.05.2002Рентабельность как относительный показатель экономической эффективности. Виды рентабельности и их назначение. Графическое описание метода решения поставленной задачи. Конструирование алгоритма. Характеристика программной реализации. Листинг программы.
курсовая работа [45,3 K], добавлен 02.10.2013Требования к техническим, программным средствам разработки и функционированию программы. Обоснование выбранного языка программирования. Описание алгоритма решения задачи, тестирование ее основных функций. Понятие дружелюбного пользовательского интерфейса.
курсовая работа [85,9 K], добавлен 31.10.2014Формулировка, спецификация и математическая постановка задачи. Описание схемы алгоритма. Рассмотрение результата машинного тестирования программы. Получение на занятиях навыков алгоритмизации и программирования задач на языке высокого уровня C#.
курсовая работа [268,2 K], добавлен 22.03.2015Разработана программа решения двух задач на языке программирования Turbo Pascal. Спецификация задания. Описание входных и выходных данных. Математическая постановка задачи. Алгоритм ее решения. Описание и блок-схема программы. Результаты тестирования.
курсовая работа [275,8 K], добавлен 28.06.2008Описание решения задачи, ее постановка, общий подход к решению. Представление исходных данных, условий задачи и целей ее решения. Составление алгоритма решения поставленной задачи. Написание программного обеспечения и тестирование конечного продукта.
курсовая работа [1,1 M], добавлен 03.07.2011Постановка задачи и алгоритм решения. Листинг программы, иллюстрирующей работу с символами, строками и блоками. Описание возможностей языка С, используемых для реализации алгоритма. Тестирование итоговой программы, анализ полученных результатов расчета.
курсовая работа [63,0 K], добавлен 27.12.2012Язык Delphi как среда визуального программирования, его сущность и особенности, структура и основные компоненты, управляющие элементы и их значение. Порядок ввода задачи и алгоритм ее выполнения программой, системные требования для бесперебойной работы.
курсовая работа [311,5 K], добавлен 04.05.2009