Скачать 272.52 Kb.
|
Лабораторная работа №1 Проектирование программ сложной структуры Структура программы Программа на языке C++ представляет собой набор функций, одна из которых имеет имя main. В простейшем случае программа представляет собой одну единственную функцию main. Если функция main получает параметры и возвращает результат, то она объявляется так: int main(int argc, char* argv[]) { /* здесь инструкции */ return(значение); } Если функция main не получает параметры и не возвращает результат, то она объявляется так: void main() { /* здесь инструкции */ } ^ Строка — это массив символов. Объявление: char Имя[Длина] ; Массивы Объявление одномерного массива: Тип Имя[КоличествоЭлементов]; Объявление двумерного массива: ^ Элементы массива нумеруются с нуля. При обращении к элементу массива индекс может меняться от 0 до (N-1), где n — количество элементов, указанное в инструкции объявления массива. ^
Выбор Инструкция if Вариант 1 if ( Условие ) { // Здесь инструкции, которые будут выполнены, если значение // выражения ^ не равно нулю } Вариант 2 if ( Условие } { / / Здесь инструкции, которые будут выполнены, если значение // выражения ^ не равно нулю } else { // Здесь инструкции, которые будут выполнены, если значение // выражения Условие равно нулю } ^ Вариант 1 switch ( выражение ) { case константа1: инструкция1; break; case константа2: инструкция2; break; case константа j: инструкция j; break; default: инструкция; break; } Вариант 2 switch ( выражение ) { case константа1: инструкция1; break; case константа2: инструкция2; break; case константа j: инструкция j; break; } Циклы Инструкция for Синтаксис: for ( Инициализация; Условие Выполнения; Изменение ) { // Здесь инструкции цикла (тело цикла) } Инициализация — инструкция инициализации счетчика циклов. Условие Выполнения — выражение, значение которого определяет условие выполнения инструкций цикла. Инструкции цикла выполняются до тех пор, пока Условие Выполнения истинно, т. е. не равно нулю. Изменение — инструкция изменения параметра цикла. Как правило, эта инструкция изменяет значение переменной, которая входит в Условие Выполнения. ^ Синтаксис: do { // Инструкции цикла (тело цикла) } while ( Условие Повторения ); Сначала выполняются инструкции цикла (тело цикла), затем проверяется значение выражения ^ и если условие истинно, не равно нулю, то инструкции цикла выполняются еще раз. И так до тех пор, пока Условие Повторения не станет ложным, т. е. равным нулю. ^ Синтаксис: while ( Условие Выполнения ) { // Инструкции цикла (тело цикла) } Сначала проверяется значение выражения ^ Если оно не равно нулю, т. е. условие истинно, то выполняются инструкции цикла (тело цикла). Затем снова проверяется значение выражения Условие Выполнения, и если оно не равно нулю, инструкции цикла выполняются еще раз. И так до тех пор, пока значение выражения Условие Выполнения не станет равным нулю. Объявление функции ^ ... , Tun j Параметр j) { // Объявления переменных и инструкции функции return ( Значение ); } Тип — тип функции, тип значения, которое функция возвращает. Если функция не возвращает значение, то ее тип — void. В теле функции инструкцию return в этом случае не пишут. ^ имя функции. Tnn j, Параметр j — тип и параметр функции. Если параметр используется для возврата результата, то параметр должен быть ссылкой, т. е. перед именем параметра должен быть символ *. ^ При описании функций приняты следующие обозначения:
^ abs, fabs Синтаксис: int abs(int x) ; double fabs(double x); Возвращает целое (abs) или дробное (fabs) абсолютное значение аргумента, в качестве которого можно использовать выражение соответствующего типа. Заголовочный файл: acos, asin, atan, acosl, asinl, atanl Синтаксис: double acos (double x); double asin (double x) ; double atan (double x) ; long double acosl(long double x) ; long double asinl(long double x) ; long double atanl(long double x) ; Возвращает выраженную в радианах величину угла, косинус, синус или тангенс которого передан соответствующей функции в качестве аргумента. Аргумент функции должен находиться в диапазоне от -1 до 1. Заголовочный файл: cos, sin, tan cosl, sinl, tanl Синтаксис: double cos (double x) ; double sin (double x); double tan (double x) ; long double cosl(long double x) ; long double sinl(long double x) ; long double tanl(long double x); Возвращает синус, косинус или тангенс угла. Величина угла должна быть задана в радианах. Заголовочный файл: exp, expl Синтаксис: double exp(double x); long double exp(long double (x)) ; Возвращает значение, равное экспоненте аргумента (еx, где е — основание натурального логарифма). Заголовочный файл: pow, powl Синтаксис: double pow (double x, double y) ; long double powl(long double (x) , long double (y)); Возвращает значение, равное хy. Заголовочный файл: sqrt Синтаксис: double sqrt(double x) ; Возвращает значение, равное квадратному корню из аргумента. Заголовочный файл: rand Синтаксис: int rand(void); Возвращает случайное целое число в диапазоне от о до rand_max. Перед первым обращением к функции rand необходимо инициализировать генератор случайных чисел. Для этого надо вызвать функцию srand. srand Синтаксис: void srand(unsigned x) ; Инициализирует генератор случайных чисел. Обычно в качестве параметра функции используют переменную, значение которой предсказать заранее нельзя, например это может быть текущее время. Заголовочный файл: ^ Приведенные ниже функции выполняют преобразование строк в числовое значение и чисел в строковое представление. atof Синтаксис: double atof(const char* s); Возвращает дробное число, значение которого передано функции в качестве аргумента. Функция обрабатывает строку до тех пор, пока символы строки являются допустимыми. Строка может быть значением числа как в формате с плавающей точкой, так и в экспоненциальном формате. Заголовочный файл: atoi, atol Синтаксис: int atoi(const char* s) ; long atol(const char* s); Возвращает целое соответствующего типа, изображение которого передано функции в качестве аргумента. Функция обрабатывает символы строки до тех пор, пока не встретит символ, не являющийся десятичной цифрой. Заголовочный файл: gcvt Синтаксис Char *gcvt(double Значение, int Цифр, char* Строка); Преобразует дробное число в строку. При преобразовании делается попытка получить указанное количество значащих цифр а если это сделать не возможно, то число изображается в форме с плавающей точкой. Заголовочный файл: ^ printf Синтаксис: int printf(Формат, СписокПеременых); Выводит на экран значения переменных. Формат вывода задается в строке форматирования, которая помимо спецификатора формата может содержать текст и управляющие символы. Значение первой переменной выводится в соответствии с первым спецификатором формата, второй - со вторым, и т. д. Спецификаторы формата (необязательный параметр n задает ширину поля вывода).
Управляющие и специальные символы.
Заголовочный файл: scant Синтаксис: int scanf(const char* ^ Вводит с клавиатуры значения переменных, в соответствии с указанным спецификатором формата. Первая переменная получает значение в соответствии с первым спецификатором формата, вторая — со вторым и т. д. В качестве параметра функции scanf должны передаваться адреса переменных, а не их имена.
Заголовочный файл: puts Синтаксис: puts(const char* Строка) ; Выводит на экран строку символов и переводит курсор в начало следующей строки экрана. В качестве параметра функции можно использовать строковую константу или строковую переменную. Заголовочный файл: gets Синтаксис: char *gets(char* s); Вводит с клавиатуры строку символов. Вводимая строка может содержать пробелы. Заголовочный файл: putch Синтаксис: int putch(int с) ; Выводит на экран символ. Заголовочный файл: getch Синтаксис: int getch(void) ; Возвращает код символа нажатой клавиши. Если нажата служебная клавиша, то функция getch возвращает 0. В этом случае, для того, чтобы определить, какая служебная клавиша нажата, нужно обратиться к функции getch еще раз. Функция getch не выводит на экран символ, соответствующий нажатой клавише. Заголовочный файл: cputs Синтаксис: cputs(const char* Строка) ; Выводит на экран строку. Цвет выводимых символов можно задать при помощи функции textcolor, цвет фона — при помощи функции textbackground. Для перехода к началу следующей строки вместо \n следует использовать символы \n\r, иначе курсор лишь переводится на новую строку, но не возвращается к левой границе окна. То же самое относится и к функции cprintf. Заголовочный файл: cprintf Как и функция printf, функция cpfintf используется для вывода на экран сообщений и значений переменных. При этом имеется возможность задать цвет выводимых символов (функция text-color) и цвет фона (textbackground). Заголовочный файл: textcolor Синтаксис: void textcolor(int Цвет); Задает цвет для выводимого функциями cputs и cprintf текста. В качестве параметра Цвет обычно используют одну из перечисленных ниже именованных констант.
Заголовочный файл: textbackground Синтаксис: void textbackground (int Цвет); Задает цвет фона, на котором появляется текст, выводимый функциями cputs и cprintf. В качестве параметра Цвет обычно используют одну из именованных констант от 0 до 7. Заголовочный файл: gotoxy Синтаксис:, void gotoxy(int x, int y) Переводит курсор в позицию с указанными координатами. Координата х задает номер колонки, координата у — номер строки, на пересечении которых находится знакоместо, куда переводится курсор. Заголовочный файл: clrscr Синтаксис: void clrscr(void) Очищает экран и закрашивает его цветом, заданным функцией textbackground. Заголовочный файл: window Синтаксис: void window(int x1, int y1, int x2, int y2); Определяет окно — область экрана. Параметры xl, yl задают координаты левого верхнего угла окна относительно экрана, параметры х2,у2 — правого нижнего. Заголовочный файл: ^ fopen Синтаксис: FILE* fopen(const char * Имя, const char* Режим) Открывает файл с указанным именем для действия, которое задается параметром Режим.
Если файл открывается как текстовый, то после символьной константы, определяющей режим открытия файла, нужно добавить символ t. Например, строка rt задает, что для чтения открывается текстовый файл. В случае успешного открытия файла функция fopen возвращает указатель на поток, из которого можно читать или в который можно записывать. Если по какой-либо причине операция открытия файла не была выполнена, fopen возвращает null. В этом случае, чтобы получить информацию о причине ошибки, следует обратиться к функции ferror. Заголовочный файл: fprintf Синтаксис: int fprintf(FILE * Поток, Формат, СписокПеременых); Выполняет форматированный вывод (см. printf) в файл, связанный с потоком, указанным в качестве первого параметра. Файл, связанный с потоком, должен быть открыт как текстовый, в режиме, допускающем запись (см. fopen). Заголовочный файл: fscanf Синтаксис: int fscanf(FILE * Поток, const char* Формат, СписокАдр); Выполняет форматированное (см. scanf) чтение значений переменных из файла, связанного с потоком, указанным в качестве первого параметра. Файл, связанный с потоком, должен быть открыт как текстовый, в режиме, допускающем чтение (см. fopen). Заголовочный файл: fgets Синтаксис: char* fgets(char * Строка, int КолСимволов, FILE *Поток) Читает из указанного потока символы и записывает их в строку, указанную при вызове функции. Чтение заканчивается, если прочитан символ с номером КолСимволов-1 или если очередной, символ является символом новой строки. Прочитанный из файла символ новой строки заменяется нулевым символом. Файл, связанный с потоком, должен быть открыт как текстовый, в режиме, допускающем чтение (см. fopen). Заголовочный файл: fputs Синтаксис: char* fputs(char *Строка, FILE *Поток) Записывает в указанный поток строку символов. Символ конца строки, нуль-символ, в поток не записывается. Файл, связанный с потоком, должен быть открыт как текстовый, в режиме, допускающем запись (см. fopen). Заголовочный файл: ferror Синтаксис: int,ferror(FILE* Поток) Возвращает ненулевое значение, если последняя операция с указанным потоком завершилась ошибкой. Заголовочный файл: feof Синтаксис: int feof(FILE* Поток) Возвращает ненулевое значение, если в результате выполнения последней операции чтения из потока достигнут конец файла. Заголовочный файл: fclose Синтаксис: int fclose(FILE* Поток) Закрывает указанный поток. Заголовочный файл: ^ strcat Синтаксис: char *strcat(char* Строка1, const char* Строка2) Объединяет строки Строка1 и Строка2 и записывает результат в строку Строка1. Заголовочный файл: strcpy Синтаксис: char *strcpy(char* Строка1, const char* Строка2) Копирует строку Строка1 в строку Строка2. Заголовочный файл: strlen Синтаксис: int strlen(const char* Строка) Возвращает длину строки. Нулевой символ не учитывается. Заголовочный файл: strcmp Синтаксис: int strcmp (const char* Строка1, const char* Строка2) Сравнивает строки Строка1 и Строка2. Возвращает 0, если строки равны, число меньше нуля, если ^ и число больше нуля, если Строка1 > Строка2. Заголовочный файл: strlwr Синтаксис: char* strlwr(char* Строка) Преобразует строчные символы строки в прописные (обрабатывает только буквы латинского алфавита). Заголовочный файл: strupr Синтаксис: char* strupr(char* Строка} Преобразует прописные символы строки в строчные (обрабатывает только буквы латинского алфавита). Заголовочный файл: strset Синтаксис: char* strset(char* Строка, char Символ) Заполняет строку указанным при вызове функции символом. Заголовочный файл: strchr Синтаксис: char* strchr(const char* Строка, int Символ) Выполняет поиск символа в строке и возвращает указатель на первый найденный символ или, если символ найден, null. Заголовочный файл: Функции графического режима arc Синтаксис: void arc(int x, Int y, int УголНачала, int УголКонца, int Радиус); Вычерчивает дугу с центром в точке с координатами (х, у). Параметры УголНачала и УголКонца задают круговые координаты начальной и конечной точек линии дуги, которая вычерчивается против часовой стрелки от начальной точки к конечной. Угловые координаты задаются в градусах. Значение угловой координаты возрастает против часовой стрелки. Параметр Радиус задает радиус дуги. ![]() ![]() Линия дуги вычерчивается цветом, заданным функцией setcolor. Заголовочный файл: bar Синтаксис: void bar(int x1, int y1, int x2, int y2); Вычерчивает закрашенный прямоугольник. Параметры х1 и у1 задают положение левого верхнего угла прямоугольника, х2 и у2 — правого нижнего. Цвет и стиль заливки прямоугольника задаются функцией setfillstyle. Заголовочный файл: bar3d Синтаксис: void bar3d (int x1,int y1, int х2, int у2, int Глубина, int В_Грань); В ![]() Цвет и стиль закраски ближней грани параллелепипеда можно задать при помощи функции setfillstyle, цвет линий границы — при помощи функции setcolor. Заголовочный файл: circle Синтаксис: void circle(int x, int у, int r) Вычерчивает окружность радиуса r с центром в точке с координатами (х, у). Цвет окружности можно задать при помощи функции setcolor. Заголовочный файл: drawpoly Синтаксис: void drawpoly(int КолТочек, int * Координаты): Вычерчивает замкнутую ломаную линию, состоящую из отрезков прямых. Параметр КолТочек задает количество точек в результате последовательного соединения которых получается ломаная. Параметр Координаты задает массив координат узловых точек ломаной. Нулевой и первый элементы массива Координаты содержат координаты первой точки (х и у), второй и третий элементы содержат координаты второй точки и т. д. Заголовочный файл: ellipse Синтаксис: void ellipse(int x, int у, int УголНачала, int УголКонца, int РадиусХ, int РадиусY); Вычерчивает эллипс или дугу эллипса с центром в точке с координатами (х, у). Параметры УголНачала и УголКоица задают круговые координаты начальной и конечной точек линии эллипса, которая вычерчивается против часовой стрелки от начальной точки к конечной. Угловые координаты задаются в градусах. Значение угловой координаты возрастает против часовой стрелки. Параметры РадиусХ и РадиусY задают горизонтальный и вертикальный радиусы эллипса. ![]() ![]() Линия эллипса или дуги вычерчивается цветом, установленным функцией setcolor. Заголовочный файл: getmaxx, getmaxy Синтаксис: int getraaxx(void) ; int gefcnaxy (void) ; Функция getmaxx возвращает координату х крайней правой точки экрана, функция getmaxy – координату у крайней нижней точки экрана: Заголовочный файл: getx, gety Синтаксис: int getx(void) ; int gety(void) ; Возвращает координату х (у) указателя вывода. Заголовочный файл: graphresult Синтаксис: int graphresult(void); Возвращает результат (код ошибки) последней выполненной графической операции. Если операция выполнена успешно, функция возвращает ноль. Код ошибки выполнения графической операции устанавливают функции: bar, bar3d, initgraph, pieslice, setfillpattern, setfillstyle, setlinestyle, settextstyle и др. Заголовочный файл: grapherrormsg Синтаксис: char* grapherrormsg(int КодОшибки); Возвращает указатель на строку, содержащую сообщение, соответствующее коду ошибки выполнения графической операции, указанному при вызове функции. Заголовочный файл: initgraph Синтаксис: void initgraph(int* Driver, int* Mode, char* Path); Инициализирует графический режим. Параметр Driver определяет драйвер видеосистемы, параметр Mode — режим работы видеосистемы, параметр Path — путь к файлу драйвера. Обычно в качестве параметра Driver используют указатель на целую константу, значение которой равно detect. В этом случае функция initgraph сама определяет тип графического адаптера и устанавливает для него наилучший режим. Заголовочный файл: line Синтаксис: void line(int xl, int yl, int x2, int y2); Вычерчивает линию из точки с координатами х1, у1 в точку с координатами х2, у2. Цвет линии можно задать при помощи функции setcolor, стиль — при помощи функции setlinestyle. Заголовочный файл: lineto Синтаксис: void lineto(int x, int у); Вычерчивает линию от текущего положения указателя вывода до точки, координаты которой указаны при вызове. Линия вычерчивается стилем, установленным функцией setlinestyle. Цвет линии можно задать, вызвав функцию setcolor. Заголовочный файл: linerel Синтаксис: void linerel (int dx, int dy) ; Вычерчивает линию из точки текущего положения указателя вывода (xt,yt) в точку с координатами (xt+dx, yk+dy), т. е. координаты конца линии задаются в приращениях относительно текущих координат указателя вывода. Линия вычерчивается стилем, который устанавливается функцией setlinestyle. Цвет линии можно задать, вызвав функцию setcolor. Координаты указателя вывода можно получить при помощи функций getx и gety. Заголовочный файл: moveto Синтаксис: void moveto(int x, int у); Перемещает указатель вывода в точку с указанными координатами. Заголовочный файл: moverel Синтаксис: void moverel(int dx, int dy) ; Перемещает указатель вывода на dx и dy пикселов. Если значение параметра dx (dy) положительное, то указатель перемещается вниз (влево), если отрицательное, то — вверх (вправо). Заголовочный файл: outtext Синтаксис: void outtext(const char* Текст); Выводит строку символов Текст от текущего положения указателя вывода и перемещает указатель вывода в точку, расположенную за последним выведенным символом. Строка, передаваемая функции outtext, не должна содержать символов форматирования, например \n. Цвет выводимых символов можно задать при помощи функции setcolor, шрифт — settextstyle. Заголовочный файл: outtextxy Синтаксис: void outtextxy(int x, int у, const char* Текст}; Устанавливает указатель вывода в точку с координатами (x, у) и выводит от нее строку Текст, при этом указатель вывода своего положения не меняет, т. е. остается в точке с координатами (x, у). Цвет выводимых символов можно задать при помощи функции setcolor, шрифт — settextstyle. Заголовочный файл: pieslice Синтаксис: void pies1ice(int x, int у, int УголНачала, int Уголконца, int Радиус); Вычерчивает круговой сектор радиуса Радиус с центром в точке с координатами (x, у). Параметры УголНачала и УголКонца задают круговые координаты начальной и конечной точек линии окружности, которая вычерчивается против часовой стрелки от начальной к конечной точке. Угловые координаты задаются в градусах. Значение угловой координаты возрастает против часовой стрелки. Нулевому углу соответствует горизонтальный отрезок, проведенный из точки (x, у) в сторону возрастания координаты x. Если УголНачала=0, а УголКонца=360, то функция pieslice вычерчивает круг. ![]() ![]() Сектор закрашивается стилем и цветом, установленными функцией setfillslyle, линия границы вычерчивается цветом, установленным функцией setcolor. Заголовочный файл: putpixel Синтаксис: void putpixel(int x, int y, int Цвет); Окрашивает пиксел, точку с координатами (x, у), цветом Цвет. В качестве параметра Цвет обычно используют именованную константу (см. setcolor). Заголовочный файл: rectangle Синтаксис: void rectangle(int x1, int y1, int x2, int y2) ; Вычерчивает прямоугольник. Параметры x1 и y1 задают положение левого верхнего угла прямоугольника, x2 и y2 — правого нижнего. Вид (стиль линии) контура прямоугольника можно задать при помощи функции setlinestyle, цвет — при помощи функции setcolor. Заголовочный файл: sector Синтаксис: void sector(int x, int y, int Угол1, int Угол2, int РадиусХ, int Радиус Y) ; Вычерчивает эллиптический (РадиусХ#РадиусУ) или круговой (РадиусХ = РадиусY) сектор. Параметры х и у задают координаты центра сектора. Параметры Угол1 и Угол2 — углы прямых, ограничивающих сектор, параметры РадиусХ и РадиусУ — радиусы эллипса по осям x и y, из которого "вырезается" сектор. Нулевому углу соответствует горизонтальный отрезок, проведенный из точки (x, у) в сторону возрастания координаты x. Если Угол1=0, а Угол2=360, то функция sector вычерчивает полный круг (эллипс). ![]() ![]() |
![]() | Проектирование модульной образовательной программы впо модульная образовательная программа Модульная образовательная программа (моп) представляет собой совокупность в логической последовательности определенных содержательных... | ![]() | Программа Анализатор бд( dbbrowse ) представляет собой многооконное... Программа Анализатор бд(dbbrowse) представляет собой многооконное приложение. Все окна группируются внутри главного окна программы... |
![]() | Программа должна состоять из 2 или более программных модулей. В одном... Функция main должна демонстрировать работу заданных функций путём печати результатов их выполнения на экран. Режим демонстрации разрабатывается... | ![]() | Образовательная программа внеурочной деятельности (фгос) Данная программа представляет собой вариант программы организации внеурочной деятельности школьников и предназначена для реализации... |
![]() | Программа начинается с паспорта. Паспорт программы представляет собой... Программа начинается с паспорта. Паспорт программы представляет собой краткую аннотацию программы развития школы. В практике разработки... | ![]() | Образовательная программа внеурочной деятельности (фгос) учащихся 1 класса моу сош №1 Данная программа представляет собой вариант программы организации внеурочной деятельности школьников и предназначена для реализации... |
![]() | Задачи и модели линейного программирования Во многих областях практики... Показатель эффективности z представляет собой линейную функцию от переменных решения x1, x2, … xn | ![]() | Описать систему управления деятельностью «Обеспечение качества выпускаемой... Объяснить, что представляет собой штабная (линейно-штабная) структура управления (нарисовать схему): каковы ее достоинства и недостатки.... |
![]() | Чайная церемония это неотъемлемая часть восточной, прежде всего японской... Она представляет собой ритуальное действо с глубоким философско-нравственным смыслом, основанное на совместном продолжительном чаепитии... | ![]() | Технология проблемного обучения Проблемное обучение – это такая организация педагогического процесса, когда ученик систематически включается учителем в поиск решения... |