Міністерство освіти і науки України
Дніпропетровський коледж ракетно-космічного машинобудування
Дніпропетровського національного університету імені Олеся Гончара
ЗВІТ
з лабораторних робіт
з дисципліни «Основи програмування та алгоритмічні мови»
Спеціальність 5.05010301
Група ПЗ-14-1
Виконав Защирінська.А.О.
Перевірив Бабенко I. Б.
2015
ЗМІСТ
ЛАБОРАТОРНА РОБОТА № 1 3
ЛАБОРАТОРНА РОБОТА № 2 5
ЛАБОРАТОРНА РОБОТА № 3-4 7
ЛАБОРАТОРНА РОБОТА № 5-6 10
ЛАБОРАТОРНА РОБОТА № 7-8 14
ЛАБОРАТОРНА РОБОТА № 9-10 21
ЛАБОРАТОРНА РОБОТА № 11-12 23
ЛАБОРАТОРНА РОБОТА № 13 27
ЛАБОРАТОРНА РОБОТА № 14-15 32
ЛАБОРАТОРНА РОБОТА № 16 32
ЛАБОРАТОРНА РОБОТА № 17-18 42
ЛАБОРАТОРНА РОБОТА № 19-20 48
ЛАБОРАТОРНА РОБОТА № 21 53
ЛАБОРАТОРНА РОБОТА № 1
ВІДПРАЦЮВАННЯ ЕТАПІВ РОБОТИ НА ПРИКЛАДІ НАЙПРОСТІШОЇ ПРОГРАМИ НА С (С++)
Мета: ознайомитися із структурою програми та з етапами роботи із середовищем С при написанні найпростішої програми.
Завдання : скласти та відлагодити програму, що перекладає введену температуру по Цельсію в температуру по Фаренгейту за формулою:
F=3/5(C-2).
Текст програми
//C
#include <stdio.h>
#include <conio.h>
int main ()
{ float f, c;
printf (“\n Vvedite temperature po celsiu:”);
scanf (“%f”, &c);
f=3.0/5.0*(c-2);
printf (“\n Vvedennaya temperature %-6.2f gradusov po celsiu preobrazovana”, c);
printf (“\n v temperature po farengeytu i ravna %-6.2f gradusov.”, f);
getch();
return 0;
}
//C++
#include <iostream.h>
#include <conio.h>
Int main ()
{ float f, c;
cout<<endl<<” Vvedite temperature po celsiu:”;
cin>>c;
f=3.0/5.0*(c-2);
cout<<endl<<” Vvedennaya temperature “<<c<<” gradusov po celsiu preobrazovana”;
cout<<endl<<” v temperature po farengeytu i ravna “<<f<<” gradusov.”;
getch();
return 0;
}
Вікно виконання програми
Висновок: ознайомилась із структурою програми та з етапами роботи із середовищем С при написанні найпростішої програми.
ЛАБОРАТОРНА РОБОТА №2
СКЛАДАННЯ ЛІНІЙНИХ ПРОГРАМ НА С (С++)
Мета: придбати практичні навички при написанні програм лінійних алгоритмів.
Завдання : скласти та відлагодити програму лінійного алгоритму на С та С++ :
Написала програму для розрахунку Z1 та Z2 за двома наступними формулами. Попередньо підготувада тестові приклади по другій формулі за допомогою калькулятора (результат вичісленія по першій формулі повинен збігатися з другої). Для використання математичних функцій бібліотеки C ++ підключила до програми заголовний файл <math.h>.
Z1=(cos-cos)2-(sin-sin)2
Z2=
-4sin2
cos(+)
//=============== C ===========================
#include <stdio.h>
#include <math.h>
#include <conio.h>
Int main()
{
float A,B,z1,z2;
printf("\nVvedi A, B");
scanf("%f%f",&A,&B);
z1=pow((cos(A)-cos(B)),2)-pow((sin(A)-sin(B)),2);
printf("\nz1 ravno %f ",z1);
z2=(-4*pow((sin((A-B)/2.)),2))*(cos(A+B));
printf("\nz2 ravno %f ",z2);
getch();
return 0;
}
//================ C++ ========================
#include <math.h>
#include <conio.h>
#include <iostream>
using namespace std;
Int main()
{
int A,B,z1,z2;
cout<<"Vvedi A, B"<<endl;
cin>>A;
cin>>B;
z1=pow((cos(A)-cos(B)),2)-pow((sin(A)-sin(B)),2);
cout<<"z1 ravno=%f "<<z1<<endl;
z2=(-4*pow((sin((A-B)/2.)),2))*(cos(A+B));
cout<<"z2 ravno=%f "<<z2<<endl;
getch();
return 0;
}
Вікно виконання програми
Висновок: я придбала практичні навички при написанні програм лінійних алгоритмів.
ЛАБОРАТОРНА РОБОТА №3-4
СКЛАДАННЯ ТА ВІДЛАГОДЖЕННЯ ПРОГРАМ
РОЗГАЛУЖЕНИХ ПРОЦЕСІВ
Мета: придбати практичні навички з складання та відлагодження програм розгалужених алгоритмів.
Завдання: написати програму розгалуженого алгоритму для підрахунку значення заданої функції, що використовує засоби введення\виведення як С так і С++.
Текст програми
//=============== C++ ===========================
#include <iostream>
#include <math.h>
#include <conio.h>
void main()
using namespace std;
{
setlocale(LC_ALL,"rus");
float f,k,d;
cout<<"Введите f"<<endl;
cin>>f;
if(f>0)
{
cout<<"Введите k"<<endl;
cin>>k;
d=f*pow(k,1./2.);
cout<<"d= "<<d<<endl;}
else
{ cout<<"Введите k"<<endl;
cin>>k;
if(k>0)
{
d=f/pow(k,1./2.);}
else
{cout<<"Решений нет!"<<endl;}
}}
return 0;
}
//=============== C ===========================
#include <stdio.h>
#include <conio.h>
#include <math.h>
void main()
{ float f,k,d;
printf("\nВведите f");
scanf("%f",&f);
if(f>0)
{
printf("Введите k");
ccanf("%f",&k);
d=f*pow(k,1./2.);
printf("\nd=&-9.3f",d);}
else
{
if(k>0)
{
d=0;
printf("\nd=%-9.3f",d);}
else
{printf("\nVvdite k=");
scanf("%f",&k);
if(k>0)
{d=f/pow(k,1./2.);
printf("\nd=%-9.3f",d);
}
else
{printf("\nRecheniy net");
} } }
getch(); }
Вікно
виконання програми
Структурна схема програми
Висновок:
придбала практичні навички з складання
та відлагодження програм розгалужених
алгоритмів.
ЛАБОРАТОРНА РОБОТА № 5-6
СКЛАДАННЯ ТА ВІДЛАГОДЖЕННЯ ПРОГРАМ РОЗГАЛУЖЕНИХ ПРОЦЕСІВ З ВИКОРИСТАННЯМ ВКЛАДЕНИХ IF
Мета: придбати практичні навички з складання та відлагодження програм розгалужених алгоритмів.
Завдання: написати програму розгалуженого алгоритму, використовуючи вкладені іf, на С(С++).
Структурна схема програми
Текст програми
//================= C ======================
#include <stdio.h>
#include <conio.h>
using namespace std;
void main()
{
float f,b;
printf("b = ");
scanf("%f", &b);
if(b>0)
{
float a;
printf("a = ");
scanf("%f",&a);
if(a+2*b<0)
printf("Нет решения!");
else
{
f = pow((double)a+2*b,1./4.);
printf("f = &-8.3f",f);
}
}
else if(b<0)
{
float e,a;
printf("e = ");
scanf("%f",&e);
printf("a = ");
scanf("%f",&a);
f = pow(e,a)+pow(e,b);
printf("f = &-8.3f",f);
}
else
{
float a;
printf("a = ");
scanf("%f",&a);
f = fabs(a-10);
printf("f = &-8.3f",f);
}
getch();
}
//================= C++ ======================
#include <iostream>
#include <conio.h>
using namespace std;
void main()
{
float f,b;
cout << "b = ";
cin >> b;
if(b>0)
{
float a;
cout << "a = ";
cin >> a;
if(a+2*b<0)
cout << "Нет решения!" << endl;
else
{
f = pow((double)a+2*b,1./4.);
cout << "f = " << f << endl;
}
}
else if(b<0)
{
float e,a;
cout << "e = ";
cin >> e;
cout << "a = ";
cin >> a;
f = pow(e,a)+pow(e,b);
cout << "f = " << f << endl;
}
else
{
float a;
cout << "a = ";
cin >> a;
f = fabs(a-10);
cout << "f = " << f << endl;
}
getch();
}
В
ікно
виконання програми
Висновок: придбала практичні навички з складання та відлагодження програм розгалужених алгоритмів.
ЛАБОРАТОРНА РОБОТА №7-8
СКЛАДАННЯ ТА ВІД ЛАГОДЖЕННЯ ПРОГРАМ
З ВИКОРИСТАННЯМ ОПЕРАТОРА SWITCH
Мета: придбати практичні навички з складання та відлагодження програм
розгалужених алгоритмів з використанням оператора switch.
Завдання :
Написати програму, яка за бажанням користувача обчислити площу однієї з геометричних фігур – трикутник, прямокутник, коло чи трапеція. Для організації розгалуження використати оператор Switch.
Написати програму, що обчислює значення функції F за приведеними нижче формулами (x,a,b,c – дійсні числа) та виводить на екран:
введені початкові дані - x,a,d,c;
отриманий результат F;
умову, при якій було обчислено F.
F=
Структурна схема програми
Текст програми
// Программа нахождения площадей
#include <iostream>
#include <conio.h>
using namespace std;
void main()
{
setlocale(0,"");
int vibor;
float S;
const float Pi = 3.14159265358979;
bool error(0);
cout << "Выберите фигуру:" << endl;
cout << "1. Трeугольник\n";
cout << "2. Прямоугольник\n";
cout << "3. Круг\n";
cout << "4. Трапеция\n";
cout << "\nВаш выбор >> ";
cin >> vibor;
switch(vibor)
{
case 1:
{
float a,h;
cout << "\na = ";
cin >> a;
cout << "h = ";
cin >> h;
S = a/2*h;
break;
}
case 2:
{
float a,b;
cout << "\na = ";
cin >> a;
cout << "b = ";
cin >> b;
S = a*b;
break;
}
case 3:
{
float R;
cout << "\nR = ";
cin >> R;
S = Pi*R*R;
break;
}
case 4:
{
float a,b,h;
cout << "\na = ";
cin >> a;
cout << "b = ";
cin >> b;
cout << "h = ";
cin >> h;
S = (a+b)/2*h;
break;
}
default:
{
cout << "\nОшибка: Неверный ввод!";
error = true;
break;
}
}
if(!error)
cout << "\nS = " << S;
getch();
}
Вікно виконання програм
Структурна схема програми
Текст програми
// Программа вычисление функции
#include <iostream>
#include <conio.h>
using namespace std;
void main()
{
setlocale(0,"");
float f,a,b,c,x;
enum vibor{ONE=1,DEUX,TRI};
vibor v=TRI;
bool error=0;
cout << "Введите x >> ";
cin >> x;
cout << "Введите a >> ";
cin >> a;
cout << "Введите b >> ";
cin >> b;
cout << "Введите c >> ";
cin >> c;
if(x<0.6 && b+c!=0)
v = ONE;
else if(x>0.6 && b+c==0)
v = DEUX;
switch(v)
{
case ONE:
{
f = a*x*x + b*b + c;
break;
}
case DEUX:
{
if(x-c==0)
error=1;
else
f = (x-a)/(x-c);
break;
}
default:
{
if(c==0||a==0)
error=1;
else
f = x/c + x/a;
break;
}
}
if(!error)
cout << "F = " << f;
else
cout << "Error: Неверный ввод!";
getch();}
Вікно виконання програм
Висновок: придбала практичні навички з складання та відлагодження програм розгалужених алгоритмів з використанням оператора switch.
ЛАБОРАТОРНА РОБОТА №9-10
СКЛАДАННЯ ТА ВІДЛАГОДЖЕННЯ ПРОГРАМ
З ВИКОРИСТАННЯМ РЕГУЛЯРНИХ ЦИКЛІВ
Мета: придбати практичні навички з складання та відлагодження програм циклічних алгоритмів з використанням оператора for.
Завдання : написати та відлагодити програму для наступної задачі:
Порахувати суму чисел з діапазону [0;5] серед 9-ти, що вводяться.
С
труктурна
схема програми
Текст програми
#include <iostream>
#include <conio.h>
using namespace std;
