Банк рефератов содержит более 364 тысяч рефератов, курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: истории, психологии, экономике, менеджменту, философии, праву, экологии. А также изложения, сочинения по литературе, отчеты по практике, топики по английскому.
Полнотекстовый поиск
Всего работ:
364150
Теги названий
Разделы
Авиация и космонавтика (304)
Административное право (123)
Арбитражный процесс (23)
Архитектура (113)
Астрология (4)
Астрономия (4814)
Банковское дело (5227)
Безопасность жизнедеятельности (2616)
Биографии (3423)
Биология (4214)
Биология и химия (1518)
Биржевое дело (68)
Ботаника и сельское хоз-во (2836)
Бухгалтерский учет и аудит (8269)
Валютные отношения (50)
Ветеринария (50)
Военная кафедра (762)
ГДЗ (2)
География (5275)
Геодезия (30)
Геология (1222)
Геополитика (43)
Государство и право (20403)
Гражданское право и процесс (465)
Делопроизводство (19)
Деньги и кредит (108)
ЕГЭ (173)
Естествознание (96)
Журналистика (899)
ЗНО (54)
Зоология (34)
Издательское дело и полиграфия (476)
Инвестиции (106)
Иностранный язык (62792)
Информатика (3562)
Информатика, программирование (6444)
Исторические личности (2165)
История (21320)
История техники (766)
Кибернетика (64)
Коммуникации и связь (3145)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (588)
Краткое содержание произведений (1000)
Криминалистика (106)
Криминология (48)
Криптология (3)
Кулинария (1167)
Культура и искусство (8485)
Культурология (537)
Литература : зарубежная (2044)
Литература и русский язык (11657)
Логика (532)
Логистика (21)
Маркетинг (7985)
Математика (3721)
Медицина, здоровье (10549)
Медицинские науки (88)
Международное публичное право (58)
Международное частное право (36)
Международные отношения (2257)
Менеджмент (12491)
Металлургия (91)
Москвоведение (797)
Музыка (1338)
Муниципальное право (24)
Налоги, налогообложение (214)
Наука и техника (1141)
Начертательная геометрия (3)
Оккультизм и уфология (8)
Остальные рефераты (21697)
Педагогика (7850)
Политология (3801)
Право (682)
Право, юриспруденция (2881)
Предпринимательство (475)
Прикладные науки (1)
Промышленность, производство (7100)
Психология (8694)
психология, педагогика (4121)
Радиоэлектроника (443)
Реклама (952)
Религия и мифология (2967)
Риторика (23)
Сексология (748)
Социология (4876)
Статистика (95)
Страхование (107)
Строительные науки (7)
Строительство (2004)
Схемотехника (15)
Таможенная система (663)
Теория государства и права (240)
Теория организации (39)
Теплотехника (25)
Технология (624)
Товароведение (16)
Транспорт (2652)
Трудовое право (136)
Туризм (90)
Уголовное право и процесс (406)
Управление (95)
Управленческие науки (24)
Физика (3463)
Физкультура и спорт (4482)
Философия (7216)
Финансовые науки (4592)
Финансы (5386)
Фотография (3)
Химия (2244)
Хозяйственное право (23)
Цифровые устройства (29)
Экологическое право (35)
Экология (4517)
Экономика (20645)
Экономико-математическое моделирование (666)
Экономическая география (119)
Экономическая теория (2573)
Этика (889)
Юриспруденция (288)
Языковедение (148)
Языкознание, филология (1140)

Курсовая работа: Программа для проверки работы операторов

Название: Программа для проверки работы операторов
Раздел: Рефераты по информатике, программированию
Тип: курсовая работа Добавлен 07:48:13 19 декабря 2010 Похожие работы
Просмотров: 195 Комментариев: 2 Оценило: 0 человек Средний балл: 0 Оценка: неизвестно     Скачать

АННОТАЦИЯ

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

Моя программа рассчитана на пользователя, который интересуется программированием и которому интересно, какое количество операторов в программе Паскаль. Ее можно применять в программировании для подсчета количества.

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

Пояснительная записка к работе состоит из 6 разделов и дополнительно прилагается текст программы.

ВВЕДЕНИЕ

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

Система Турбо Паскаль довольно значительна по объему. Она поставляется на нескольких дистрибутивных дискетах и устанавливается на жестком диске. При развертывании системы на жестком диске обычно создается каталог с именем ТР, в который помещаются все файлы с дистрибутивных дискет. Файл TURBO. EXEcодержит готовую к работе диалоговую систему программирования Турбо Паскаля. В него входят минимально необходимые данные части Турбо Паскаля (текстовый редактор, компилятор, загрузчик, компоновщик).

С++ - язык общего назначения и задуман для того, чтобы настоящие программисты получили удовольствие от самого процесса программирования.

За исключением второстепенных деталей он содержит язык С как подмножество.

Язык С расширяется введением гибких и эффективных средств, предназначенных для построения новых типов. Программист структурирует свою задачу, определив новые типы, которые точно соответствуют понятиям предметной области задачи. Такой метод построения программы обычно называют абстракцией данных. Информация о типах содержится в некоторых объектах типов, определенных пользователем. С такими объектами можно работать надежно и просто даже в тех случаях, когда их тип нельзя установить на стадии трансляции. Программирование с использованием таких объектов обычно называют объектно-ориентированным. Если этот метод применяется правильно, то программы становятся короче и понятнее, а сопровождение их упрощается.

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

Язык С++ никогда бы не стал реальностью без, если бы постоянно не использовались предложения и советы и не учитывалась конструктивная критика со стороны многих друзей и коллег. Особенно следует упомянуть Тома Карджила, Джима Копли, Стью Фельдмана, Сэнди Фрэзера, Стива Джонсона, Брайана Кернигана, Барта Локанти, Дага Макилроя, Дэнниса Ритчи, Лэрри Рослера, Джерри Шварца и Джона Шапиро, которые внесли важные для развития языка идеи. Дэйв Пресотто реализовал текущую версию библиотеки потокового ввода/вывода.

Смысл моей программы состоит в том, чтоб проверять роботу операторов и выводить их частоту на экран монитора. Чтоб достоверно все сделать мы должны как можно лучше изучить работу операторов и их свойства. В программе также задействуем диаграмму, которая наглядно нам покажет изменение работы операторов. А значит и изменение работы программ, которые проверяем.

Существуют в Паскале такие операторы: составной оператор, условный оператор, оператор метки, оператор перехода, выбора, присваивания и повторный. Составной оператор – это последовательность произвольных операторов программы, заключенная в операторные скобки – зарезервированы словом begin…end. Язык Турбо Паскаля не накладывает никаких ограничений на характер оператора, входящих в состав оператора.

Фактически весь раздел операторов, обрамленных словами begin…end, фактически представляет собой один оператор.

Условный оператор позволяет проверить некоторые условия и в независимости от результатов проверки выполнить то или иное действие.

Например:

Var

x, y, max: Integer;

begin

…………………………..

If x>max then y: = max

Else y:=x;

При выполнении этого фрагмента У получает значение Х, если только оно не превышает МАХ, в противном случае У=МАХ.

Таким образом, условный оператор – это ветвления вычисляемого процесса.

Условный оператор работает по следующему алгоритму. Вначале вычисляются условные выражения «условия». Если результат истина, то выполняется «оператор1», а «оператор2» пропускается; если результат лож, то наоборот.

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

Например:

…………………………..

S:=0;

If n>=0 then

For i:=1 to n do

S:=S+1

Else

For i:=-1 downto n do

S:=S+1


Программа для пересчета любых сумм.

Счетный оператор цикла FOR. При выполнении оператора вначале вычисляется выражение «начальное значение» и осуществляется присваивание « парный цикл»= «начальное значение».

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

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

Операторы безусловного перехода. Можно теоретически показать, что рассмотренных операторов достаточно. В этом языке наличие операторов перехода кажется излишним. Но тем не менее оператор перехода может значительно упростить программу.

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


1. ПОСТАНОВКА ЗАДАЧИ

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

2. ФУНКЦИОНАЛЬНОЕ НАЗНАЧЕНИЕ

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

3. ВХОДЯЩИЕ И ИСХОДЯЩИЕ ДАННЫЕ

Входящими данными является путь к программе с расширением Паскаль.

Выходящие данные – диаграмма с данными

Путь к нужной программе

D:\ Rew\ Ij.PAS

4. МАТЕМАТИЧЕСКАЯ МОДЕЛЬ

Диаграмма – это один из способов наглядного представления разных числовых данных. Чаще всего встречаются линейные и круговые диаграммою.

А также помимо существуют: точечная, кольцевая пузырчатая и кольцевая.

Точечная - позволяет сравнить пары значений. Отображает набор из трех значений.

Кольцевая – подобна круговой. Отображает значение в разных категориях.

Круговая - отображает вклад каждого значения в общую сумму.

Линейная – позволяет сравнить пары значений.

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

Процент числа – сотая часть этого числа. Обозначается 1%

В моей программе я буду искать процент работы, а для этого мне надо его найти. Чтобы найти процент от числа, необходимо сумму количество операторов поделить на 100%. А потом умножить отдельно на количество каждого оператора.

На диаграмме тестируемой программы (Программа вводит целое число в диапазоне от 0 до 15) мы видим, что программа имеет одинаковое количество операторов. Они составляют в сумме 100%. Но подсчитав количество видим, что каждый оператор составляет по 20%. Диаграмма автоматически рисуется. Показывая нам полученный результат.

5. ОПИСАНИЕ ЛОГИЧЕСКОЙ СТРУКТУРЫ

Шаг 0: инициализация переменных;

Шаг 1: прописуем размер рамочек в рисунке. Рассчитываем на то что одна рамочка больше другой;

Шаг 2: Перевести градусы в радианы. Задать координаты расположение надписей на диаграмме;

Шаг 3: прописать графически диаграмму;

Шаг 4:каждому известному оператору дам свое значение;

Шаг 5: прописать, что можно открыть только Паскаль программы;

Шаг 6: исключить открытие других файлов;

Шаг 7: при помощи цикла запросить ввести путь файла для открытия;

Шаг 8: проверяем построчно открытую нами программу. Счетчик считает операторы, пропуская те, что входят в разделители;

Шаг 9: вводим графический режим;

Шаг 10: используем процедуру PieSlice;

Шаг 11: выводим круговую диаграмму;

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

Шаг 13: выбираем палитру для каждого сектора;

Шаг 14: заканчиваем работу проверкой на любой программе Паскаля.

6. ОПИСАНИЕ ПРОГРАММЫ

В данной программе был использован стандартный модуль TurboPascal – Crt. Он устанавливает режим работы адаптера дисплея, организует вывод в буфер экрана, регулирует яркость свечения символов и т.д. С момента подключения пользователю доступны все содержащиеся в нем стандартные средства.

Также при написании программы были использованы такие стандартные процедуры и функции языка программирования как:

- процедура Read – позволяет читать фаил.

- процедура initgraph – открывает графический фаил.

- процедура Write – читать позволяет только файлы расширением PAS

- процедура Break – процедура осуществляет досрочный выход из циклов For, While или Repeat;

- процедура Close(varf) – закрывает открытый до этого логический файл. Вызов процедуры необходим при завершении работы с файлом;


Функция CHOISE.

Определяет ключом для выхода из некоторых циклов и основной программы символ ‘Y’, обозначая его true. Используется в основной программе.

Функция PieSlice

Прорисует форму диаграммы ее цвет.

Функция initgraph

Подключает графический файл.

7. ИНСТРУКЦИЯ ПОЛЬЗОВАТЕЛЮ

Вставьте дискету в дисковод. Выберите файл KYRSAK.EXE. после открытия файла программа вам предложит вести путь к проверяемой программе с расширением.PAS. При введении правильного пути и нажатие ENTERпрограмма сразу же отобразит круговую диаграмму, показывающую чистоту работы операторов.


ВЫВОД

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

Я изучила такие разделы как: операторы языка Паскаль (составной и пустой операторы, условный оператор, операторы повторений, оператор выбора, операторы метки и перехода), массивы, графика в Паскале, а также два раздела математики (диаграммы, проценты и их использование).

Также я рассмотрела в своей работе такие языки как: С++, С. С#. Я поняла, что этих языках также могла написать эту программу но из-за не достатка знаний я написала на Паскале.


СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1. А. Епанешников, В. Епанешников Программирование в среде TurboPascal 7.0-М.: Диалог-МИФИ, 1993.

2. А.Б. Ставровский Турбо Паскаль 7.0. Учебник. – К.: Издательская группа BHV, 2000.

3. Конспект лекцій з дисципліни „Теорія алгоритмів та обчислювальних процесів” Частина 2.- Херсон, ХНТУ, 2005.

4. Конспект лекцій з дисципліни „Теорія алгоритмів та обчислювальних процесів” Частина 3. -Херсон, ХНТУ, 2005.

5. Методические указания про проведения лабораторных работ с основ программирования и алгоритмических яз. Часть 1. -Нога Л.В., Сидорук М.В. Херсон, 2003.

6. Методические указания про проведения лабораторных работ с основ программирования и алгоритмических яз. Часть 2.- Нога Л.В., Сидорук М.В. Херсон, 2003.

7. Фаронов В.В. TurboPascal 7.0. Начальный курс. - М.: Колидж, 1997.

8. С#. Сборник рецептов. – П. Агуров, Петербург, 2007.

9. Языки программирования / С++. - Бьерн Страуструп.


ПРИЛОЖЕНИЕ

{$N+}

program cursova;

uses graph;

type op=record

key:string[20];

count:integer;

end;

const n=8;

var

mas:array[1..n] of op;

procedure drawgraphic;

var d,e,r,j,all: integer;

startangle,nextangle,temp,x,y:extended;

xcord,ycord:word;

s,s2:string;

begin

all:=0;

for j:=1 to n do all:=all+mas[j].count;

d:= detect;

initgraph(d,r,'d:\bp\bgi\');

e:=graphresult;

if e<> grok then

writeln ( grapherrormsg (e))

else

begin

startangle:=0;

rectangle((getmaxx div 3)*2,20,getmaxx-20,getmaxy -20);

rectangle((getmaxx div 3)*2-4,16,getmaxx-16,getmaxy -16);

xcord:=(getmaxx div 3)*2+5;

ycord:=50+textheight('25%');

str(all,s2);

s2:='Vsego elementov '+s2;

outTextXy(xcord+30,ycord,s2);

for j:=1 to n do

begin

if mas[j].count<=0 then continue;

nextangle:=startangle+360/(all/mas[j].count);

setfillstyle(j,j);

pieslice(getmaxx div 3 +5, getmaxy div 2 + 4,trunc(startangle),trunc(nextangle),100);

temp:=startangle+(nextangle-startangle)/2;

str(mas[j].count/(all/100):0:0,s);s:=s+'%';

x:=cos(temp*0.017453292519)*60;

y:=sin(temp*0.017453292519)*60;

settextjustify(lefttext,toptext);

ycord:=ycord+textheight(s)*3;

outTextXy(trunc(x+getmaxx div 3+5),trunc(getmaxy div 2+4-y),s);

bar(xcord,ycord,xcord+textheight(s)*2,ycord+textheight(s)*2);

rectangle(xcord,ycord,xcord+textheight(s)*2,ycord+textheight(s)*2);

str(mas[j].count,s2);

s2:=mas[j].key+' '+s2;

outTextXy(xcord+textheight(s)*2+5,ycord+textheight(s),s2);

startangle:=nextangle;

end;

end;

outTextXy(20,getmaxy-20,'Dla vixoda najmite ENTER');

end;

var filename:string;

file1:file of char;

var i:integer;

var tstr:string;

var tc,popen:char;

function upstring(a:string):string;

var i,j:byte;

t:string;

begin

t:='';

i:=length(a);

for j:=1 to i do

:=t+upcase(a[j]);

upstring:=t;

end;

begin

for i:=1 to n do mas[i].count:=0;

mas[1].key:='BEGIN';

mas[2].key:='END';

mas[3].key:='IF';

mas[4].key:='FOR';

mas[5].key:='WHILE';

mas[6].key:='REPEAT';

mas[7].key:='CASE';

mas[8].key:='GOTO';

writeln ('4astota kly4evih slov':35);

{$I-}

repeat

writeln('wedi pyt k faily');

readln(filename);

tstr:=upstring(copy(filename,length(filename)-3,4));

if tstr<>'.PAS' then

begin

writeln('Must bve a pascal *.pas file!!!.Please continue');

continue;

end;

assign (file1,filename);

reset(file1);

until ioresult=0;

{$I+}

tstr:='';

popen:=' ';

tc:=' ';

while not eof(file1)do

begin

if tc='''' then begin{iwem konets const stroki}

tc:=' ';

while (tc<>'''')and(not eof(file1))do

read(file1,tc);

tc:=' ';

end;

(*if tc='(' then

begin

{iwem konets komenta}

if(not eof(file1))then read(file1,tc);

if tc='*' then

begin

while (tc<>')')and(not eof(file1))do

begin

read(file1,tc);

if tc='*' then

begin if(not eof(file1))then read(file1,tc) end

else if tc=')' then tc:=' ';

end

end else

{tc:=' ';}

end;*)

if tc='{' then begin{iwem konets komenta}

tc:=' ';

while (tc<>'}')and(not eof(file1))do

read(file1,tc);

tc:=' ';

end;

if tc in [' ',';',#0..#32,'(',')','}','{','.'] then

begin

if tstr<>''then

for i:=1 to n do

if mas[i].key=tstr then

begin

inc(mas[i].count);

break;

end;

tstr:='';

end

else tstr:=tstr+upcase(tc);

if(not eof(file1))then read(file1,tc);

end;

if tstr<>''then

for i:=1 to n do

if mas[i].key=tstr then

begin

inc(mas[i].count);

break;

end;

close(file1);

drawgraphic;

readln;

end.

Оценить/Добавить комментарий
Имя
Оценка
Комментарии:
Где скачать еще рефератов? Здесь: letsdoit777.blogspot.com
Евгений08:07:40 19 марта 2016
Кто еще хочет зарабатывать от 9000 рублей в день "Чистых Денег"? Узнайте как: business1777.blogspot.com ! Cпециально для студентов!
08:54:15 29 ноября 2015

Работы, похожие на Курсовая работа: Программа для проверки работы операторов

Назад
Меню
Главная
Рефераты
Благодарности
Опрос
Станете ли вы заказывать работу за деньги, если не найдете ее в Интернете?

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



Результаты(150915)
Комментарии (1842)
Copyright © 2005-2016 BestReferat.ru bestreferat@mail.ru       реклама на сайте

Рейтинг@Mail.ru