Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Оценка достоинств и недостатков языка программирования С++

Тип: курсовая работа
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Порядок проектирования программы, демонстрирующей принцип заполнения очереди и стека и принцип удаления элементов из очереди и стека. Определение класса и всех необходимых функций. Программа на языке С, описание возможностей, используемых для алгоритма.
Краткое сожержание материала:

Размещено на

Размещено на

Введение

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

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

С++ является языком программирования общего назначения. Естественная для него область применения - системное программирование, понимаемое в широком смысле этого слова. Кроме того, С++ успешно используется во многих областях. Реализации С++ теперь есть на всех машинах, начиная с самых скромных микрокомпьютеров - до самых больших супер-ЭВМ, и практически для всех операционных систем. Таким образом, знание этого языка программирования служит начальным, базовым инструментом для написания соответствующих программ. При автоматизации каких-либо процессов одним из основных умений является умение составлять алгоритмы, т.е. задание ряда последующих действий в зависимости от начального условия. В этом смысле практика программирования как нельзя лучше влияет на уровень подготовки соответствующего специалиста. Не секрет, что нынешний век - это век глобальных и локальных информационных сетей, программное обеспечение для которых обладает специфическими свойствами, основанными на элементарных знаниях о связи. По словам профессиональных программистов, такой мощный инструмент сетевого программирования как JAVA синтаксически очень похож на C Builder, который в свою очередь базируется на предыдущих версиях языка С. В автоматике на транспорте широко используется сетевое оборудование и ЭВМ, поэтому специалистам данного профиля необходимы знания в области информационных технологий.

1. Постановка задачи и алгоритм решения

Задача:

Очереди и стеки.

Написать программу, демонстрирующую принцип заполнения очереди и стека и принцип удаления элементов из очереди и стека.

В блоке Cur.cpp определен класс win. Данный класс создает объект, содержащий информацию об окне (кнопке).

Определение класса:

class win

{

public:

int dx, height, width, top, selected;

char *text;

void DrawWindow (int, int, int, int, int, char*);

void HideWindow (int, int, int, int);

void TextOut (char*, int, int, int, int);

};

dx-координата по х левого края окна относительно начала координат.

height - высота окна (кнопки).

width - ширина окна (кнопки).

top - координата по у верхнего края окна (кнопки) относительно начала координат.

selected-параметр окна (кнопки), определяющий его закраску в зависимости от того активное оно или нет (1-активное, 0-неактивное).

*text - указатель на строку выводимую в окно.

void DrawWindow (int, int, int, int, int, char*) - функция, которая по заданным координатам рисует окно. В нее передаются параметры dx, height, width, top, selected и *text.

void HideWindow (int, int, int, int) - функция, которая по заданным координатам зарисовывает (удаляет) окно. В нее передаются параметры dx, height, width, top, selected.

void TextOut (char*, int, int, int, int) - функция, которая по заданным координатам окна выводит в него текстовую строку. В нее передаются параметры *text, dx, height, width, top.

Определения всех перечисленных функций:

void win: DrawWindow (int lx, int hght, int wdth, int t, int slct, char*str)

{height=hght; width=wdth; top=t; selected=slct; text=str;

setcolor(WHITE);

setfillstyle (SOLID_FILL, selected? MAGENTA:BLUE);

dx=lx;

bar (dx, top, dx+width, top+height);

TextOut (text, dx, height, width, top);

int poly [12];

poly[0] = dx;

poly[1] = top;

poly[2] = dx+width;

poly[3] = top;

poly[4] = dx+width-3;

poly[5] = top+3;

poly[6] = dx+3;

poly[7] = top+3;

poly[8] = dx+3;

poly[9] = top+height-3;

poly[10] = dx;

poly[11] = top+height;

setfillstyle (SOLID_FILL, selected? CYAN:LIGHTBLUE);

fillpoly (6, poly);

poly[0] = dx;

poly[1] = top+height;

poly[2] = dx+width;

poly[3] = top+height;

poly[4] = dx+width;

poly[5] = top;

poly[6] = dx+width-3;

poly[7] = top+3;

poly[8] = dx+width-3;

poly[9] = top+height-3;

poly[10] = dx+3;

poly[11] = top+height-3;

setfillstyle (SOLID_FILL, BLACK);

fillpoly (6, poly);

}

void win: HideWindow (int lx, int hght, int wdth, int t)

{dx=lx; height=hght; width=wdth; top=t;

setfillstyle (SOLID_FILL, BLUE);

bar (dx, top, dx+width, top+height);

}

void win: TextOut (char *text, int dx, int height, int width, int top)

{

int w = textwidth(text);

int h = textheight(text);

int y = (height-h)/2;

int x = (width-w)/2;

outtextxy (dx+x, top+y, text);

}

В блоке Menu.cpp определены:

struct coord {int x, lx, ly, rx, ry;} - структура содержащая параметры окна.

x - координата по х левого края окна относительно начала координат.

lx - высота окна (кнопки).

ly - ширина окна (кнопки).

rx - координата по у верхнего края окна (кнопки) относительно начала координат.

ry - параметр окна (кнопки), определяющий его закраску в зависимости от того активное оно или нет (1-активное, 0-неактивное).

void mnu_bild (win *mnu, coord *t, int reakt, int flag, char**name) - функция, в которую передаются параметры окна (кнопки), указатель на указатель на строку и указатель на созданный объект класса win, в свою очередь она активизирует или деактивизирует заданное окно.

void mnu_bild (win *mnu, coord *t, int reakt, int flag, char**name)

{if (flag==1)

{

t[reakt].ry=1;

mnu[reakt].DrawWindow (t[reakt].x, t[reakt].lx, t[reakt].ly, t[reakt].rx, t[reakt].ry, name[reakt]);

}

else {

if (reakt!=0) t[reakt].ry=0;

mnu[reakt].DrawWindow (t[reakt].x, t[reakt].lx, t[reakt].ly, t[reakt].rx, t[reakt].ry, name[reakt]);

}

}

void steck(void) - функция демонстрирующая работу со стеком.

void steck(void)

{

win unit;

win main_win[3];

char *str[]={{«1»}, {«2»}, {«3»}, {«4»}, {«5»}, {«6»}, {«7»}};

char *dialog[]={{«Добавление элементов в стек»},

{«Удаление элементов из стека»},

{«Нажмите любую клавишу»}};

coord mwin[]={{260,460,366,10,0}, {350,20,183,30,0}, {350,400,250,60,0}};

coord unit_c={310,20,20,60,1};

win temp=unit;

mnu_bild (main_win, mwin, 0,0, name);

mnu_bild (main_win+1, mwin+1,0,1, name+2);

mnu_bild (main_win+2, mwin+2,0,0, name);

main_win[2].TextOut (*dialog, main_win[2].dx, 40, main_win[2].width, main_win[2].top);

Text (main_win+2, «Стек.txt»);

mnu_bild (&unit,&uni...

Другие файлы:

Разработка программы "Переключатели цвета и фигуры" в среде программирования Visual Basic
Исследование теоретических аспектов разработки программы посредством использования Visual Basic. Анализ достоинств и недостатков данного языка програм...

Теория и практика языков программирования
Рассмотрение общих сведений и уровней языков программирования. Ознакомление с историей развития, использования языков программирования. Обзор достоинс...

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

Оценка достоинств и недостатков высшего образования в Российской Федерации. Перспективы и сложности медицинского образования. Оценка достоинств и недостатков подготовки в ММА им. И.М.Сеченова.
Оценка достоинств и недостатков высшего образования в Российской Федерации. Перспективы и сложности медицинского образования. Оценка достоинств и недо...

Технология программирования
Цели и задачи дисциплины "Технология программирования". Программные средства ПК. Состав системы программирования и элементы языка. Введение в систему...