Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


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

Тип Реферат
Предмет Информатика и программирование
Просмотров
710
Размер файла
29 б
Поделиться

Ознакомительный фрагмент работы:

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

АННОТАЦИЯ

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

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

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

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

ВВЕДЕНИЕ

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

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

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

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

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

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

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

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

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

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

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

Например:

Var

x, y, max: Integer;

begin

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

If x>max then y: = max

Elsey:=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:bpbgi');

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.


Нет нужной работы в каталоге?

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

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

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

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

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

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156450
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
63 457 оценок star star star star star
среднее 4.9 из 5
Филиал государственного бюджетного образовательного учреждения высшего образования Московской област
Спасибо Елизавете за оперативность. Так как это было важно для нас! Замечаний особых не бы...
star star star star star
РУТ
Огромное спасибо за уважительное отношение к заказчикам, быстроту и качество работы
star star star star star
ТГПУ
спасибо за помощь, работа сделана в срок и без замечаний, в полном объеме!
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

решить 6 практических

Решение задач, Спортивные сооружения

Срок сдачи к 17 дек.

только что

Задание в microsoft project

Лабораторная, Программирование

Срок сдачи к 14 дек.

только что

Решить две задачи №13 и №23

Решение задач, Теоретические основы электротехники

Срок сдачи к 15 дек.

только что

Решить 4задачи

Решение задач, Прикладная механика

Срок сдачи к 31 дек.

только что

Выполнить 2 задачи

Контрольная, Конституционное право

Срок сдачи к 12 дек.

2 минуты назад

6 заданий

Контрольная, Ветеринарная вирусология и иммунология

Срок сдачи к 6 дек.

4 минуты назад

Требуется разобрать ст. 135 Налогового кодекса по составу напогового...

Решение задач, Налоговое право

Срок сдачи к 5 дек.

4 минуты назад

ТЭД, теории кислот и оснований

Решение задач, Химия

Срок сдачи к 5 дек.

5 минут назад

Решить задание в эксель

Решение задач, Эконометрика

Срок сдачи к 6 дек.

5 минут назад

Нужно проходить тесты на сайте

Тест дистанционно, Детская психология

Срок сдачи к 31 янв.

6 минут назад

Решить 7 лабораторных

Решение задач, визуализация данных в экономике

Срок сдачи к 6 дек.

7 минут назад

Вариационные ряды

Другое, Статистика

Срок сдачи к 9 дек.

8 минут назад

Школьный кабинет химии и его роль в химико-образовательном процессе

Курсовая, Методика преподавания химии

Срок сдачи к 26 дек.

8 минут назад

Вариант 9

Решение задач, Теоретическая механика

Срок сдачи к 7 дек.

8 минут назад

9 задач по тех меху ,к 16:20

Решение задач, Техническая механика

Срок сдачи к 5 дек.

9 минут назад
9 минут назад
10 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно