Главная » Просмотр файлов » Задачник и решебник

Задачник и решебник (1087980), страница 19

Файл №1087980 Задачник и решебник (Задачник и решебник) 19 страницаЗадачник и решебник (1087980) страница 192018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 19)

Решенияtr[16] = x0+7*dx;tr[18] = x0+7*dx;tr[20] = x0+13*dxtr[22] = x0+13*dxtr[24] = x0+12*dxtr[26] = x04-12*dxtr[28] = x04-0*dx;drawpoly(15,tr);tr[17]tr[19]tr[21]tr[23]tr[25]tr[27]tr(29]= y0+3*dy;== yO+l*dy;= yO+l*dy;= y0+2*dy;= y0+2*dy;= y0+7*dy;== y0+7*dy;// окноrectangle(x0+8*dx,y0+2*dy,xO+10*dx,yO+4 *dy)<// колесаsetf illstyle(SOLID__FILL, RED) ;setcolor(RED);pieslice(x0+3*dx,y0+7*dy,0,360,l*dx),pieslice(xO+6*dx,y0+7*dy,0,360,l*dx)^pieslice(x0+9*dx,y0+7*dy,0,360,l*dx)<// окантовка колесsetcolor(WHITE);circle(x0+3*dx,y0+7*dy,l*dx),circle(x0+6*dx,y0+7*dy,l*dx) ,circle(x0+9*dx,y0+7*dy,l*dx) ,void main (void){int gdriver = DETECT; // драйверint gmode;// режимint errorcode;// код ошибкиinitgraph(&gdriver, &gmode, PATHTODRIVER);errorcode = graphresult()/if (errorcode == grOk){parovoz(100,100);getch();closegraph0; // выход из графического режима}else {printf("Ошибка: %d\n", errorcode);192C/C++ в задачах и примерахp u t s ( " Д л я завершения нажмите < E n t e r > " ) ;getch();}}Задача 226// Оцифрованные координатные оси#include <graphics.h>#include <stdio.h>#include <conio.h>#define PATHTODRIVER "c: WborlandcWbgiW"void gridO{int xO,yO; // координаты начала координатных осейint dx,dy; // шаг координатной сетки (в пикселах)int h,w;// высота и ширина области вьшода// координатной сеткиint х,у;float 1х,1у;float dlx,dly;char St [8];// метки линий сетки по X и Y// шаг меток линий сетки по X и Y// изображение метки линии сеткихО = 50; уО = 400; // оси начинаются в точке (50,400)dx = 40; dy = 40; // шаг координатной сетки 40 пикселовdlx = 0 .

5 ;// шаг меток оси X// метками будут: 0.5, 1.0, 1.5 ...dly = 1 ;// шаг меток оси Y// метками будут: 1, 2, 3 ...h = 300;W = 400;1х = 0;1у = 0;/ / в начало координат ставятся метки ОIine(x0,y0,x0,y0-h); // ось XIine(x0,y0,x0+w,y0); // ось Y// засечки, сетка и оцифровка по оси XЧасть II, РешенияX = хО;do {/ / засечкаsetlinestyle(SOLID_LINE, О, 1);line(х,у0-3,х,у0+3);// оцифровкаsprintf (St, "%2. If М х ) ;outtextxy{x-8,y0+5,st);Ix += dlx;// линия сеткиsetlinestyle(DOTTED_LINE, О, 1) ;line(x,yO-3,X,yO-h);X += dx;} while (x < xO+w);// засечки, сетка и оцифровка по оси YУ = уО;do {// засечкаsetlinestyle(SOLID_LINE, О, 1);Iine(x0-3,y,x0+3,y);// оцифровкаsprintf(St,"%2.If",1у);outtextxy(хО-40,у,st);1у += dly;// линия сеткиsetlinestyle(DOTTED_LINE, О, 1);line(x0+3,y,x0+w,y);setlinestyle(SOLID_LINE, 0, 1);у -= dy;} while (y > yO-h);}void main (void){int gdriver = DETECT; // драйверint gmode;// режимint errorcode;// код ошибкиinitgraph(&gdriver, &gmode, PATHTODRIVER);errorcode = graphresult();193^194C/C++ в задачах и примерахif (errorcode != grOk)// ошибка инициализации// графического режима{printf("Ошибка: %d\n", errorcode);puts("Для завершения программы нажмите <Enter>");getch();return;}grid();getch();closegraph0; // выход из графического режимаЗадача 227// График функции#include <graphics.h>#include <stdio.h>#include <conio.h>#define PATHTODRIVER "c: WborlandcWbgiW"void grafikO{float x,dx;float х1,х2;float у;int mx,my;int хО,уО;int рх,ру;// аргумент и его приращение// диапазон изменения аргумента// значение функции// масштаб по X и Y - кол-во точек// экрана, соответствующее единице//по осям координат// начало осей координат// координаты точки графика на экранехО = 320; уО = 240;тх = 20; ту = 20;// оси координатIine(10,y0,630,y0);Часть IL РешенияW5^Iine(x0,10,x0,470);// графикxl = -15;x2 = 5;dx = 0.1;X = xl;while ( X < x2 ){у = 0.5*x*x + x*4 - 3;px = xO + x*inx;py = yO - y*my;putpixel(px,py,WHITE);X += dx;}// функция-void main (void){int gdriver = DETECT; // драйверint gmode;// режимint errorcode;// код ошибкиinitgraph(&gdriver, &gmode, PATHTODRIVER);errorcode = graphresult();if (errorcode 1= grOk)// ошибка инициализации// графического режима{printf("Ошибка: %d\n", errorcode);puts("Для завершения программы нажмите <Enter>"),getch();return;grafikO ;getch();closegraph0; // выход из графического режима}196C/C-f-f- в задачах и примерахЗадача 228// Движущаяся окружность#include <graphics.h>#include <stdio.h>#include <conio.h>#include <dos.h>// для доступа к delay#define PATHTODRIVER "c: WborlandcWbgiW"// вычерчивает окружностьvoid okr(int x, int y, //int r,//int color)//{setcolor(color);circle(x,y,r);}заданного цветакоординаты центрарадиусцветvoid main (void)int x,y;// координаты центра окружностиint г = 5; // радиус наименьшей окружности#define dt 10#define dx 5int maxx;// задержка между перемещениями// 0.01 сек// шаг перемещения// X — координата крайней правой// точки экранаint gdriver = DETECT; // драйверint gmode;// режимint errorcode;// код ошибкиinitgraph(&gdriver, &ginode, PATHTODRIVER);errorcode = graphresult();if (errorcode == grOk){Часть II.

РешенияX = 0;/ / движение от левой границы экранау = 100;шахх = getmaxx();while (х < шахх){окг(х,у,r,RED); // нарисовать окружностьdelay(dt);// задержкаokr(х,у,г,BLACK)/// стереть окружностьX += dx;}closegraphO; // выход из графического режима}else{ргintf("Ошибка: %d\n", errorcode);puts("Для завершения нажмите <Enter>");getch();}Задача 229// Плывущий корабль#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>#include <dos.h>#define dx#define dy55// шаг сетки по X// шаг сетки по Yvoid ship(int x, int y, int color ) //к,у — координаты// базовой точьси{setcolor(color);// корпусmoveto(x,y);lineto(X,y-2*dy);lineto(x+10*dx,y-2*dy);lineto(x+ll*dx,y~3*dy);lineto(x+17*dx,y-3*dy);197198С/С+-^ в задачах и примерахlineto(x+14*dx^ у ) ;lineto(x,y);// надстройкаmoveto(x+3*dx,y-2*dy);lineto(x+4*dx,y-3*dy);lineto(x+4*dx,y-4*dy);lineto(x+13*dx,y-4*dy);lineto(x+13*dx,y-3*dy);line(x+5*dx,y-3*dy,x+9*dx,y-3*dy);// капитанский мостикrectangle(x+8*dx,y~4*dy,x+ll*dx,y-5*dy);// трубаrectangle(x+7*dx,y-4*dy,x+8*dx,y-7*dy);// иллюминаторыcircle(x+12*dx,y-2*dy,dx/2);circle(x+14*dx,y-2*dy,dx/2);// мачтаline(x+10*dx,y-5*dy,x+10*dx,y-10*dy);// оснасткаmoveto(x+17*dx,y-3*dy);lineto(x+10*dx,y-10*dy);lineto(x,y-2*dy);#define PATHTODRIVER "c: WborlandcWbgiW"void main (void){int x,y; // координате! корабля (базовой точки)int maxx; // коорд.

крайней правой точки экранаint gdriver = DETECT; // драйверint gmode;// режимint errorcode;// код ошибкиinitgraph(&gdriver, &gmode, PATHTODRIVER);errorcode = graphresult();if (errorcode != grOk)// ошибка инициализации// графического режимаЧасть II. Решения{ргintf("Ошибка: %d\n", errorcode);puts("Для завершения программы нажмите <Enter>"};getch();return;maxx = getmaxx();X = -10 ; // корабль выплывает из-за правой// гранищ:,! экранау = 100;while ( X < maxx){ship(х,у, GREEN); // нарисовать корабльdelay(20);ship(х,у,BLACK);// стереть корабльX += 5;}setcolor(GREEN);outtextху(10,10,"Рейс завершен!");outtextxy(10,24,"Нажмите <Enter>");getch();closegraphО; // выход из графического режимаЗадача 230// Столбиковая диаграмма#include <graphics.h>#include <stdio.h>#include <conio.h>#define PATHTODRIVER "c: WborlandcWbgiW"// глобалы1ые переменныеchar *ines[] ={"двоек\0", "троек\0","четверок\0","пятерок\0"};int n[4];// количество пятерок, четверок,// троек и двоек199200С/С-^-+ в задачах и примерахfloat р[4]; // процент каждой оценкиint h[4];// высота столбиков диаграммvoid obr() // ввод и обработка{int s;// всего оценокint m;// номер максимального эл-та массива пint i;// индекс массиваputs("Обработка результатов контрольной работы");puts("Введите исходные данные:");for (i = 3; i >= 0; i—)(printf("%s ->", mes[i]);scanf("%i", &n[i]);}// обработкаs = 0;// всего оценокfor (i = 0 ; i < 4; i++)s += n[i];// процент каждой оценкиfor (i = 0; i < 4; i+-f)p[i] = (float)n[i]/s*100;// вьлчислим высоту каждого столбика диаграммы,//но сначала определим, каких оценок большеm = 3; // пусть больше всего пятерокfor (1 = 2; i >= 0; i—)if (n[i] > n[m]) m = i;// Пусть количеству оценок, которых больше,// соответствует столбик высотой 200 пикселов.// Вычислим высоту остальных столбиков.for (1 = 0 ; 1 < 4; i++)h[i] = 200 * n[i]/n[m];Часть II.

Решенияvoid diagr(){int x,y; // координаты левого нижнего угла// столбика диаграммыint 1;// индекс массива// цвет столбиковint color[4] = {YELLOW, BLUE, GREEN, RED};char buf[10];outtextxy(40,50,"Результаты контрольной работы\0");rectangle(40,80,170,310);X = 50; у = 300; // левый нижний угол первого столбика// столбики диаграммыfor (i = 3; i >= 0; i—){setfillstyle(SOLID_FILL, color[i]);bar(x,y,x+10,y-h[i]); // столбикsprintf(buf,"%2.If",p[i]);outtextxy(x,y-h[i]-10,buf);X += 20;}// численные значенияX = 50;for (i = 3; 1 >= 0; i—){setfillstyle(SOLID_FILL,color[i]);//bar(x,y,x+10,y-h[i]); // столбик//OutTextXY(x,y-h[i]-10,RealToStr(p[i],5,l)+»%\n");X = x+20;}// легендаX = 200;y = 100;for (i = 3; i >= 0; i—){setfillstyle(SOLID_FILL,color[i]);bar(x,y,x+20,y+10); // столбикouttextxy(x+25,у,mes[i]);у += 20;}201202С/С-^"*- в задачах и примерахvoid main О{int gdriver = DETECT; // драйверint gmode;// режимint errorcode;// код ошибкиobrO; // ввод и обработка результатовinitgraph(&gdriver, &gmode, PATHTODRIVER);errorcode = graphresult();if (errorcode == grOk)diagrO; // вывод диаграммыelse{printf("Ошибка: %d\n", errorcode);puts("Для завершения программы нажмите <Enter>");}getch();}Задача 231// круговая диаграмма#include <graphics.h>#include <stdio.h>#include <conio.h>#include <math.h>#define PATHTODRIVER "c: WborlandcWbgiW"#define N 4 // количество категорийvoid krdiagr(char*{int al,a2;int color[4] =int x,y;char St[25];int i;*name, float* dol)// угол начала и конца сектора{BLUE, YELLOW, GREEN, RED};// координаты вьшода легенды// изображение числаЧисть II.

Решения// строим диаграммуa l = 0;/ / от оси ОХX = 350; у = 100; // левый верхний угол области легендыfor (i = 0 ; i < N; i++){// секторa2 = al + 3.6 * dol[i]; // 1% - 3.6 градусаif (i == N-1) a2 = 360; // последний, no счету, секторsetfillstyle(SOLID_FILL, color[i]);sector(200,200,al,a2,100,100);// pieslice(200,200,al,a2,100);al = a2; // следующий сектор - от конца текущего// легендаЬаг(х,у,х+30,у+10);rectangle(х,у,х+30,у+10);sprintf(st, "%s - %2.1f%\0", name[i], dol[i]);outtextxy(x+50,y,st);у +== 20;}}void main (void){char *name[N] = {"Книги\0","Журналы\0","Канцтовары\0","Прочее\0"};float kol[N]; // количество для категорииfloat dol[N]; // доля категории в общем количествеfloat sum = 0 ; // общее кол-во по всем категориямint i;int gdriver = DETECT; // драйверint gmode;// режимint errorcode;// код ошибки// ввод исходных данныхputs("Введите количество по каждой категории");for (1 = 0; i < N; i+-f){printf("%s -> ", name[i3);scanf("%f", &kol[i]);203204C/C++ в задачах и примерахsum += kol[i];}// вычислим долю каждой категории в общей суммеfor (i = 0; i < N; i+4-)dol[i] = kol[i]/sum*100;// инициализация графического режимаinitgraph(&gdriver, &gmode, PATHTODRIVER);errorcode = graphresult();if (errorcode == grOk){krdiagr(name, dol);// строим диаграммуgetch();closegraphO; // выход из графического режима}else {printf("Ошибка: %d\n", errorcode);puts("Дня завершения нажмите <Enter>");getch();}Задача 232// Светофор#include <graphics.h>#include <stdio.h>#include <coniQ.h>#include <dos.h>#define PATHTODRIVER "c: WborlandcWbgiW"// рисует круг заданного цветаvoid krug(int x,int у, int r, int fc, int be){// x, y, r - координаты центра и радиус// fc, be - цвет круга и окантовкиsetfillstyle(SOLID_FILL,fс);setcolor(fc);Часть II.

Характеристики

Тип файла
PDF-файл
Размер
5,39 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6384
Авторов
на СтудИзбе
308
Средний доход
с одного платного файла
Обучение Подробнее