- •Лабораторный практикум основы программирования
- •Содержание
- •Предисловие
- •Лабораторная работа №1. Интегрированная среда разработки Microsoft Visual Studio. Программирование алгоритмов линейной структуры
- •1. Формулировка индивидуального задания:
- •2. Листинг программы:
- •3. Результаты работы программы:
- •1. Индивидуальное задание №1:
- •2.4. Результаты работы программы:
- •3. Индивидуальное задание №3:
- •3.1. Постановка задачи:
- •3.3. Листинг программы:
- •3.4. Результаты работы программы:
- •1. Индивидуальное задание №1:
- •1.1. Постановка задачи:
- •1.3. Листинг программы:
- •1.4. Результаты работы программы:
- •2. Индивидуальное задание №2:
- •2.1. Постановка задачи:
- •2.3. Листинг программы:
- •2.4. Результаты работы программы:
- •3. Табуляция функции:
- •3.1. Постановка задачи:
- •3.3. Листинг программы:
- •3.4. Результаты работы программы:
- •4. Индивидуальное задание №3:
- •4.1. Постановка задачи:
- •4.3. Листинг программы:
- •4.4. Результаты работы программы:
- •1. Индивидуальное задание №1:
- •1.1. Постановка задачи:
- •1.3. Листинг программы:
- •2.4. Результаты работы программы:
- •2. Индивидуальное задание №2:
- •2.1. Постановка задачи:
- •2.3. Листинг программы:
- •2.4. Результаты работы программы:
- •1. Присваивание указателю адреса существующего объекта:
- •2. Присваивание указателю адреса области памяти в явном виде:
- •3.Присваивание пустого значения:
- •4. Выделение участка динамической памяти и присваивание ее адреса указателю:
- •1. Индивидуальное задание №1:
- •1.1. Постановка задачи:
- •1.3. Листинг программы:
- •1.4. Результаты работы программы:
- •2. Индивидуальное задание №2:
- •2.1. Постановка задачи:
- •2.3. Листинг программы:
- •2.4. Результаты работы программы:
- •I. Исходные данные, результаты и промежуточные величины.
- •1. Индивидуальное задание №1:
- •1.1. Постановка задачи:
- •1.3. Листинг программы:
- •1.4. Результаты работы программы:
- •2. Индивидуальное задание №2:
- •2.1. Постановка задачи:
- •2.3. Листинг программы:
- •2.4. Результаты работы программы:
- •1. Индивидуальное задание №1:
- •1.1. Постановка задачи:
- •1.3. Листинг программы:
- •1.4. Результаты работы программы:
- •2. Индивидуальное задание №2:
- •2.1. Постановка задачи:
- •2.3. Листинг программы:
- •2.4. Результаты работы программы:
- •3. Индивидуальное задание №3:
- •3.1. Постановка задачи:
- •3.2. Листинг программы:
- •4. Индивидуальное задание №4:
- •4.1. Постановка задачи:
- •4.4. Листинг программы:
- •4.5. Результаты работы программы:
- •I. Исходные данные и результаты
- •II. Алгоритм решения задачи
- •III. Программа и тестовые примеры
- •I. Исходные данные и результаты
- •II. Алгоритм решения задачи
- •III. Программа и тестовые примеры
- •I. Исходные данные и результаты
- •III. Программа и тестовые примеры
- •1. Индивидуальное задание №1:
- •1.1. Постановка задачи:
- •1.3. Листинг программы:
- •1.4. Результаты работы программы:
- •I. Исходные данные, результаты и промежуточные величины
- •1. Индивидуальное задание №1:
- •1.1. Постановка задачи:
- •1.3. Листинг программы:
- •2.4. Результаты работы программы:
- •Список рекомендуемой литературы
1. Индивидуальное задание №1:
1.1. Постановка задачи:
Составить UML-диаграмму деятельности и программу с использованием конструкций цикла для решения задачи.
Задача: в 1985 г. урожай ячменя составил 20 ц с га. В среднем каждые 2 года за счет применения передовых агротехнических приемов, урожай увеличился на 5%. Определить, через сколько лет урожай достигнет 25 ц с га.
1.2. UML-диаграмма:
1.3. Листинг программы:
// Лабораторная работа №3
// Индивидуальное задание №1
#include "stdafx.h"
#include <iostream>
#include "conio.h"
#include "math.h"
#include "windows.h"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
setlocale( LC_ALL, "Russian" );
const double productivity = 20, prirost = productivity/100*2.5;
int count = 0;
cout<< "Лабораторная работа № 3\n";
cout<< "\nГорошко А.А., БАС-051\n";
cout<< "\nВариант № 6\n";
cout<< "\n\nИндивидуальное задание № 1:\n";
cout<< "\nрешить задачу с использованием конструкций цикла.\n";
cout<< "\n\nЗадача:\n";
cout<< "\nв 1985 г. урожай ячменя составил 20 ц с га. В среднем каждые 2 года за\n";
cout<< "\nсчет применения передовых агротехнических приемов урожай увеличился на 5%.\n";
cout<< "\nОпределить, через сколько лет урожай достигнет 25 ц с га.\n";
cout<< "\n\nРабота программы:\n";
while((prirost*count + 20) < 25)
{
count++;
}
cout<< "\n\nУрожай достигнет 25 ц с га через: " <<count;
// выбор формы согласования (год, года или лет)
while(count - 10 > 0)
{
count = count - 10;
}
switch (count)
{
case 1:
cout<< " год";
break;
case 2:
case 3:
case 4:
cout<<" года";
break;
default:
cout<<" лет";
break;
}
getch();
return 0;
}
1.4. Результаты работы программы:
2. Индивидуальное задание №2:
2.1. Постановка задачи:
Составить UML-диаграмму деятельности и программу для нахождения значения конечной суммы: Вводится целое число .
2.2. UML-диаграмма:
2.3. Листинг программы:
// Лабораторная работа №3
// Индивидуальное задание №2
#include "stdafx.h"
#include <iostream>
#include "conio.h"
#include "math.h"
#include "windows.h"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
setlocale( LC_ALL, "Russian" );
double a, S=0;
const double x=1;
int i, N;
cout<<"Лабораторная работа №3\n";
cout<<"\nГорошко А.А., БАС-051\n";
cout<<"\nВариант №6\n";
cout<<"\n\nИндивидуальное задание №2:\n";
cout<<"\nнайти значение конечной суммы S при x=1.\n";
cout<<"\n\nРабота программы:\n";
cout<<"\nВведите значение N>0\n"<<"\nN=";
cin>> N;
for(i=1; i<=N; i++)
{
a=(exp(x/i)+exp(-x/i))/(i+2)*(i+2)*(i+2)*(i+2);
S+=a;
}
cout<<"\nКонечная сумма:\n"<<"\nS=";
cout<< S;
getch();
return 0;
}
2.4. Результаты работы программы:
3. Табуляция функции:
3.1. Постановка задачи:
Составить UML-диаграмму деятельности и написать программу, позволяющую протабулировать функцию в диапазоне отдовравноудаленных точках.
3.2. UML-диаграмма:
3.3. Листинг программы:
// Лабораторная работа №3
// Табуляция функции
// Лабораторная работа №3
// Табуляция функции
#include "stdafx.h"
#include <iostream>
#include "conio.h"
#include "math.h"
#include "windows.h"
using namespace std;
const double x_min=-15;
const double x_max=20;
const int N=1000;
int _tmain(int argc, _TCHAR* argv[])
{
setlocale( LC_ALL, "Russian" );
double y, dx=(x_max-x_min / N);
cout<<"Лабораторная работа №3\n";
cout<<"\nГорошко А.А., БАС-051\n";
cout<<"\nВариант №6\n";
cout<<"\n\nЗадание:\n";
cout<<"\nпротабулировать функцию y в диапазоне от x_min=-15 до x_max=20\n";
cout<<"\nв N=1000 равноудаленных точках.\n";
cout<<"\n\nРабота программы:\n";
for (double x=x_min; x<=x_max; x+=dx)
{
if (x>3.5) y=(log(x)*cos(2*x));
else
if (x=3.5) y=(pow(x*x*x-1,1/3));
else y=(1+sin(x)*sin(x)-2*cos(2*x)*cos(2*x));
cout<< "x=";
cout<< x;
cout<< "\ny=";
cout<< y;
}
getch();
return 0;
}