Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Лабораторна робота №3-4

 

Складання та відлагодження програм

розгалужених процесів

 

Мета: придбати практичні навички з складання та відлагодження програм розгалужених алгоритмів.

Завдання: написати програму розгалуженого алгоритму для підрахунку значення заданої функції, що використовує засоби введення\виведення як С так і С++.

14.

Блок схема:

Начало
b=3*pow(n,1./2.)-t
n>2
-
Ввод t, n

 

 


 

b=t-pow(2.,1./2.)  
Вывод b
Ввод s
n=0
-
+
 
+
Конец
Вывод “NO solution!!!”

 

 


 

 


 

 


Текст програми на мові С:

#include<stdio.h>

#include<conio.h>

#include<math.h>

int main()

{ float n,t,b;

printf("\nВведитe n ");

scanf("%f",&n);

if(n>2){ printf("\nВведите t ");

scanf("%f",&t);

b=t-2.*pow(n,1./2.);

printf("\n b=%-8.2f.",b);

}

else { printf("\nВведите t ");

scanf("%f",&t);

if(t>=0) { b=3*pow(n,1./2.)-t;

printf("\n b=%-8.2f.",b);

}

else { printf("\nРешений нет ");

}

}

getch();

return 0;

}

Виконання програми:

 

Текст програми на мові С++:

//C++

#include<iostream.h>

#include<conio.h>

#include<math.h>

int main()

{ float n,t,b;

cout<<endl<<"Введитe n ";

cin>>n;

if(n>2){

cout<<endl<<"Введите t ";

cin>>t;

b=t-2.*pow(n,1./2.);

cout<<endl<<"b="<<b;

}

else { cout<<endl<<"Введите t ";

cin>>t;

if(t>=0) { b=3*pow(n,1./2.)-t;

cout<<endl<<"b="<<b;

}

else { cout<<endl<<"Решений нет ";

}

}

getch();

return 0;

}

Виконання програми:

 

Висновок: придбав практичні навички зі складання та відлагодження програм розгалужених алгоритмів.


 

ЛАБОРАТОРНА РОБОТА №5-6

 

Складання та відлагодження програм розгалужених процесів з використанням вкладених if

 

Мета: придбати практичні навички з складання та відлагодження програм

розгалужених алгоритмів.

Завдання: написати програму розгалуженого алгоритму, використовуючи вкладені іf, на С(С++).

Блок схема:

 

Ввод n, k
n=0
-
+
p=(-1)
Начало

 


n>k/2
+
-

 

 


n<k/2
Конец
-
+

 

Текст програми на мові С:

//C

#include<stdio.h>

#include<conio.h>

#include<math.h>

void main();

{float b,n,t;

printf("\nВведите t: ");

scanf("%f",&t);

if(n>2.){float t,n;

printf("\nВведите n: ");

scanf("%f",&n);

b=t-2*pow(n,1./2.);

printf("\nВетвь 1 b=%-7.2f.",b);

}

if(n<2){float n,t;

printf("\nВведите n: ");

scanf("%f",&n);

}

 

if(n==2){float n;

printf("\nВведите n: ");

scanf("%f",&n);

}

getch();

return 0;

}

 

 

Виконання програми:

 

Текст програми на мові С:

//C++

#include <math.h>

#include <conio.h>

#include <iostream.h>

void main()

{float p,n,k,x,y;

cout<<endl<<"Write n, k: ";

cin>>n>>k;

if (n==k/2) {

cout<<endl<<"(1) Pervaya vetka p = -1";

cout<<endl<<"Click Enter for EXIT";

getch();

}

if (n>k/2) {cout<<endl<<"Write x: ";

cin>>x;

p=(sin(pow(x,3.)))/(cos(pow(x,3.)));

cout<<endl<<"(2) Vtoraya vetka p = "<<p;

cout<<endl<<"Click Enter for EXIT";

getch();

}

if (n<k/2) {cout<<endl<<"Write x, y: ";

cin>>x>>y;

p=pow(abs(x+y),1./3.);

cout<<endl<<"(3) Tretya vetka p="<<p;

cout<<endl<<"Write Enter for EXIT";

getch();

}

}

 

Виконання програми:

 

Висновок: придбав практичні навички з складання та відлагодження програм розгалужених алгоритмів.


 

ЛАБОРАТОРНА РОБОТА №7-8

 

Складання та від лагодження з використанням оператора switch

 

Мета: придбати практичні навички з складання та відлагодження програм розгалужених алгоритмів з використанням оператора switch.

Завдання: написати програму, яказа бажанням користувача обчислити площу однієї з геометричних фігур – трикутник, прямокутник, коло чи трапеція. Для організації розгалуження використати оператор Switch.

F=

 

Блок схема:

Структурна схема:

 


 

Початок
X+c<0; a!=0 b!=
  n_v=’1’
flag=0 n_v=’3’
Вводимо b
F=-a*pow(x,3.)-b; flag=1;
n_v=’1’
X+c>0; a=0 b!=
  n_v=’2’
Вводимо x,c,a

 

 


 

 


 

n_v=’2’
Вивід «Рішень немає»
x-c=0


-

 

 
+

 
 

 

F=(x-a)/(x-c); flag=2;
n_v=’3’
c!=0&&x!=0
Вивід «Рішень немає»  
 
 
 

 


-

 

+

F=x/c+c/x; flag=3;
Вивід F
flag!=0
Кінець

 

 


Текст програми на мові С++:

//C++

include<conio.h>

#include<math.h>

#include<iostream.h>

int main()

{ float f,a,x,b,c;

int i=3;

cout<<endl<<"Введите x:";

cin>>x;

cout<<endl<<"Введите c:";

cin>>c;

if(((x+c)<0)&&(a!=0)) i=1;

else{ if((x+c>0)&&(a==0)) i=2;

}

 

switch(i)

{ case 1:{cout<<endl<<"Введите a:";

cin>>a;

cout<<endl<<"Введите b: ";

cin>>b;

f=-a*pow(x,3.)-b;

cout<<endl<<"Ответ равен "<<f;

cout<<endl<<"Ветка "<<i;

break;

}

case 2:{cout<<endl<<"Введите a:";

cin>>a;

if(x!=c){f=(x-a)/(x-c);

cout<<endl<<"Ответ Равен "<<f;

cout<<endl<<"Ветка "<<i;

break;

}

else{cout<<endl<<"Решенй Нет!";

}

break;

}

case 3:{

if((c==0)||(x==0)){cout<<endl<<"Решений Нет!";

break;

}

else{ f=(x/c)+(c/x);

cout<<endl<<"Ветка "<<i;

break;

}

}

}

 

getch();

return 0;

 

}

 

Виконання програми:

 

 

 

Висновок: написав програму, яказа бажанням користувача обчислює площу однієї з геометричних фігур – трикутник, прямокутник, коло чи трапеція. Для організації розгалуження використав оператор Switch.

 

ЛАБОРАТОРНА РОБОТА №9-10

Складання та вiдлагодження програм з використанням регулярних циклифв

Мета: Придбати практичні навички з складання та відлагодження програм циклічних алгоритмів з використанням оператора for.

Завдання:Порахувати кількість чисел з діапазону [-10;+10] серед 9-ти, що вводяться.

 

Блок схема

 

 

Текст програми:

#include<iostream.h>

#include<conio.h>

#include<math.h>

void main()

{int ch,p=0,i++;

for(i=1;i<=9;i+)

{

cout<<endl<<"‚ўҐ¤ЁвҐ"<<i<<"-Ґ зЁб«®:";

cin>>ch;

if((ch>-0)&&(ch<10))

{

p+=ch

cout<<endl<<"=";

}

getch();

}

 

 

Виконання програми:

 

Висновок: На цій лабораторній робрті придбав практичні навички з складання та відлагодження програм циклічних алгоритмів з використанням оператора for

 


 

ЛАБОРАТОРНА РОБОТА №11-12

 

#include<stdio.h>

#include<math.h>

#include<conio.h>

void main()

{ float a,b,c,x,nn,xk,sh,f;

int flag,n_v,n=1;

Clrscr();

print("\nВведите начальное значение:");

scanf("%f",&xn);

printf("\nВведите конечное значение:");

scanf("%f",&xk);

printf("\nВведите шаг изменения:");

scanf("%f",&sh);

if((x+c>0)&&(a=0)||(x+c<0)&&(a!=0)||(sh==0))

printf("\nНе коректный ввод!");

else

{printf("\nВведите a:");

scanf("%f",&a);

printf("\nВведите b:");

scanf("%f",&b);

printf("\nВведите c:");

scanf("%f",&c);

printf("\n╔══╦════════╦══════════╦═════════╦═════════╦═════════╦═════╗");

printf("\n║N ║ a ║ b ║ c ║ x ║ f ║Ветка║

for(x=xn;((x<xk)&&((sh>0))||((x>=nk)&&(sh<0));x+=sh);

{n_v=3

if(x<c) n_v=1;

if(x>c) n_v=2;

switch(n_v)

{case 1:{f=-a*pow(x,3)-6;flag=1;break;

}

case 2:{f=(x-a)/(x-c);flag=2;break;

}

case 3:{if((c!=0)&&(x!=0)) {f=(x/c)+(c/x);

flag;

}

else flag=0;

break;

}

}

if(flag!=0)

printf("\n║%2i║%-8.2f║%-8.2f║%-8.2f║%-8.2f║%-8.2f║ %1i ║",n,a,b,c,x,f,n_v);

else

printf("n║%2i║%-8.2f║%-8.2f║%-8.2f║%-8.2f║ **** ║ %1i ║",n,a,b,c,x,n_v);

n++

}

printf("\n╚════════════════════════════════════════════════╝");

}

getch();

}

 

<== предыдущая лекция | следующая лекция ==>
Конструкции каминов | Различают индивидуальный и рыночный спрос
Поделиться с друзьями:


Дата добавления: 2014-11-18; Просмотров: 546; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.075 сек.