Міністерство освіти та науки УкраїниНаціональний Технічний Університет «Харківський політехнічний інститут» Кафедра інформаційних технологій і систем колісних та гусеничних машин імені О. О. Морозова Індивідуальне-розрахункове завданняз дисципліни «Основи інформатики» Виконав: Студент групи МІТ421и ПІБ Перевірила; доц. Костяник І.В. Харків 2021 Завдання4.1 Створити програму обчислення сили опору повітря (н) , і потужності (вт), необхідної для подолання опору повітря , залежно від таких даних транспортного засобу: площа середнього перерізу машини , м2; коефіцієнт обтічності (тип кузова) Сw; швидкість V,м/с, які введе користувач. Текст програми: //--------------------------------------------------------------------------- #include #pragma hdrstop #include #include //--------------------------------------------------------------------------- #pragma argsused int _tmain(int argc, _TCHAR* argv[]) { double F,C,v,P,N; printf("F="); scanf("%lf",&F); printf("C="); scanf("%lf",&C); printf("v(km/h)="); scanf("%lf",&v); v=v/3.6; P=F*C*(v*v); N=P*v; printf("P=%3.5lf\n",P); printf("N=%4.2lf\n",N); system("pause"); return 0; } Завдання4.2 Вихідні дані транспортного засобу: вага машиниG,н кут підйомуα,градус коефіцієнт опору коченнюf коефіцієнт зчепленняfi Написати програму обчислення сили опору коченню (н) Pf = f * G * cos(α) + G * sin(α) та сили тяги (н) при повному приводі по зачепленню Pfi = fi * G * cos(α) Текст програми: //--------------------------------------------------------------------------- #include #pragma hdrstop #include #include #include //--------------------------------------------------------------------------- #pragma argsused int _tmain(int argc, _TCHAR* argv[]) { double G,alfa,f,fi,Pf,Pfi ; printf("G="); scanf("%lf",&G); printf("alfa scanf("%lf",&alfa); printf("f="); scanf("%lf",&f); printf("fi="); scanf("%lf",&fi); alfa*=(M_PI/180); Pf=f*G*cos(alfa)+G*sin(alfa); Pfi=fi*G*cos(alfa); printf("Pf=%7.2lf Pfi=%7.2lf\n",Pf,Pfi); system("pause"); return 0; } //--------------------------------------------------------------------------- Завдання5.1 Написати програму, яка буде виводити повідомлення - в якому з трьох режимів зможе рухатися машина: - нормальному; -піде в занос; -перевернеться. Вхідні дані транспортного засобу: ширина колії - В,м висота розташування від центру ваги - h,м швидкість - V,м/с радіус повороту - R,м коефіцієнт зчеплення - φ=0,8. Текст програми: //--------------------------------------------------------------------------- #include #pragma hdrstop #include #include //--------------------------------------------------------------------------- #pragma argsused int _tmain(int argc, _TCHAR* argv[]) { double B,h,V,R,fi; double Pin,G,m=1; printf("B="); scanf("%lf",&B); printf("\nh="); scanf("%lf",&h); printf("\nV(km/h)="); scanf("%lf",&V); V=V*10/36; // printf("\nV=%lf\n",V); printf("\nR="); scanf("%lf",&R); printf("\nfi="); scanf("%lf",&fi); Pin=m*V*V/R; G=m*9.81; if (Pin<=G*fi) { if (Pin*h>G*B/2) { printf("\n PEREVOROT!\n"); } else printf("\n NORMAL!\n"); } else { printf("\n ZANOS!\n"); } system("pause"); return 0; return 0; } Завдання5.2 На заправній станції є бензин декількох марок за різними цінами. Клієнт вибирає марку бензину і вказує кількість літрів. Вказати ціну заправки. Організувати діалог: ввести гроші, вивести розмір здачі. Використати оператор вибору switch. Текст програми: //--------------------------------------------------------------------------- #include #pragma hdrstop #include #include //--------------------------------------------------------------------------- #pragma argsused int _tmain(int argc, _TCHAR* argv[]) { double L,price,money,change; int M; bool bl=1; printf("1.A95euro-34.56\n"); printf("2.A95-32.19\n"); printf("3.A93-28.73\n"); printf("4.DF-29.88\n"); printf("5.Gas-14.89"); printf("\nM="); scanf("%d",&M); //if(M>5||M<1){ // printf("Please, selest fuel from list"); // }else { switch(M){ case 1: price=34.56; break; case 2: price=32.19; break; case 3: price=28.73; break; case 4: price=29.88; break; case 5: price=14.89; break; default: bl=0; printf("Please, selest fuel from list\n"); break; } if (bl) { printf("\nL="); scanf("%lf",&L); price*=L; printf("\nprice=%7.2lf\n",price); printf("\nEnter your money"); printf("\nmoney="); scanf("%lf",&money); if(money printf("Enter more money\n"); } else { change=money-price; printf("\nchange=%7.2lf\n",change); } } system("pause"); return 0; } //--------------------------------------------------------------------------- Завдання6.1 Написати програму, яка буде виводити повідомлення - в якому з трьох режимів зможе рухатися машина: - нормальному; - піде в занос; - перевернеться. Повідомлення виводити у наступній послідовності: 1. для всіх значень h(висотирозташуваннявід центру ваги) від hmin до hmax; 2. для обраного значення h– для всі хзначень V(швидкості) від Vmin до Vmax; 3. для обраних значень h та V– для всіх значень R(радіусу повороту) від Rmin до Rmax; Вихідні дані транспортного засобу: ширина колії - В,м висота розташування від центру ваги - h, м швидкість - V, м/с радіус повороту - R, м коефіцієнт зчеплення - φ=0,8. Текст програми: #include #pragma hdrstop #include #include #include //--------------------------------------------------------------------------- #pragma argsused int _tmain(int argc, _TCHAR* argv[]) { double h,R,P,G,V,V1; double fi=0.8,B=2,m=1500,g=9.81; double hmin,hmax,dh; double Vmin,Vmax,dV,V(km/h); double Rmin,Rmax,dR; printf("\nhmin="); scanf("%lf",&hmin); printf("\nhmax="); scanf("%lf",&hmax); printf("\ndh="); scanf("%lf",&dh); R=5; V=20; V/=3.6; for (h=hmin;h<=hmax;h+=dh){ printf("V=%6.2lf R=%6.2lf h=%6.2lf ", V*3.6,R,h); G=m*g; P=m*V*V/R; if (P*h>G*B/2){ printf("Perevorot!\n"); }else { if (P>=G*fi){ printf("Zanos!\n"); } else { printf("Normal!\n"); } } } system("pause"); printf("\Vmin="); scanf("%lf",&Vmin); printf("\nVmax="); scanf("%lf",&Vmax); printf("\ndV="); scanf("%lf",&dV); printf("\nh="); scanf("%lf",&h); for (V1=Vmin;V1<=Vmax;V1+=dV){ V=V1/3.6; printf("V=%6.2lf R=%6.2lf h=%6.2lf ", V*3.6,R,h); G=m*g; P=m*V*V/R; if (P*h>G*B/2){ printf("Perevorot!\n"); }else { if (P>=G*fi){ printf("Zanos!\n"); } else { printf("Normal!\n"); } } } printf("Rmin="); scanf("%lf",&Rmin); printf("Rmax="); scanf("%lf",&Rmax); printf("dR="); scanf("%lf",&dR); printf("V(km/h)="); scanf("%lf",&V(km/h)); for (R=Rmin;R<=Rmax;R+=dR){ V=V/3.6; printf("V=%6.2lf R=%6.2lf V(km/h)=%6.2lf ", V*3.6,R,h); G=m*g; P=m*V*V/R; if (P*h>G*B/2){ printf("Perevorot!\n"); }else { if (P>=G*fi){ printf("Zanos!\n"); } else { printf("Normal!\n"); } } } system("pause"); return 0; } Завдання6.2 Модифікувати програму практичного завдання 6.1 таким чином: для введених значень швидкості V та радіусу повороту R транспортного засобу знайти найменше значення висоти розташування від центру ваги h, при якому машина перевернеться або піде в занос; для введених значень hта R знайти найменше значення швидкості V, при якому машина перевернеться або піде в занос; для введених значень h та Vзнайти найбільше значення радіусу повороту R, при якому машина перевернеться або піде в занос. Текст програми: //--------------------------------------------------------------------------- #include #pragma hdrstop #include #include //--------------------------------------------------------------------------- #pragma argsused int _tmain(int argc, _TCHAR* argv[]) { double V,R,h,hmin,hmax,g=9.81,B=2,fi=0.8,P,G,T,J,dh,dV,dR,Rmax,Vmin,m=1500; bool b1,b2; printf("V(km/h)="); scanf("%lf",&V); printf("R="); scanf("%lf",&R); h=0; dh=0.01; do { h+=dh; P=m*V*V/3.6/3.6/R; G=g*m; b1=P<=G*fi; //J=g*fi; b2=P*h<=G*B/2; } while (b1&&b2); hmin=h; printf("hmin=%4.2lf V=%5.1lf R=%4.1lf \n",hmin,V,R); if (!b2) { printf("PEREVOROT!\n"); } if (!b1) { printf("ZANOS!\n"); } printf("h="); scanf("%lf",&h); printf("R="); scanf("%lf",&R); V=1; dV=0.01; do { V+=dV; P=m*V*V/3.6/3.6/R; G=g*m; b1=P<=G*fi; b2=P*h<=G*B/2; } while (b1&&b2); Vmin=V; printf("hmin=%4.2lf Vmin=%5.1lf R=%4.1lf \n",h,Vmin,R); if (!b2) { printf("PEREVOROT!\n"); } if (!b1) { printf("ZANOS!\n"); } printf("h="); scanf("%lf",&h); printf("V(km/h)="); scanf("%lf",&V); R=70; dR=0.01; do { R-=dR; P=m*V*V/3.6/3.6/R; G=g*m; b1=P<=G*fi; b2=P*h<=G*B/2; } while (b1&&b2); Rmax=R; printf("h=%4.2lf V=%5.1lf Rmax=%4.1lf \n",h,V,Rmax); if (!b2) { printf("PEREVOROT!\n"); } if (!b1) { printf("ZANOS!\n"); } system("pause"); return 0; } //--------------------------------------------------------------------------- Інформаційні ресурси https://dlc.kpi.kharkov.ua/course/view.php?id=1569 https://dlc.kpi.kharkov.ua/course/view.php?id=1569#section-1 https://dlc.kpi.kharkov.ua/course/view.php?id=1569#section-2 https://dlc.kpi.kharkov.ua/course/view.php?id=1569#section-3 https://dlc.kpi.kharkov.ua/course/view.php?id=1569#section-4 https://dlc.kpi.kharkov.ua/course/view.php?id=1569#section-5 https://dlc.kpi.kharkov.ua/course/view.php?id=1569#section-6 |