
Министерство образования и науки РФ.
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования.
Тихоокеанский государственный университет.
Кафедра «Автоматики и системотехники».
ЛАБОРАТОРНАЯ РАБОТА № 1
ЛИНЕЙНЫЕ ПРОГРАММЫ
Зачетная книжка № 120700270
Выполнил: студент группы КТ-21
Фомин Андрей Алексеевич
Принял: ст. преподаватель АиС
Кочетова Ирина Валентиновна
Хабаровск 2012
Цель работы: ознакомится с сеансом работы в среде C++; освоить
структуру программы; изучить оператор присваивания; научиться
записывать выражения на C++; научиться пользоваться функциям» scanf и
printf.
Задание: Дано вещественное число х. Вычислить
Блок-схема:
x=StrToFloat
y=exp(-2*x)+log(sqrt(x*x+1))+14,48*pow(10,-5)
Код программы:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
#include "math.h"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
double x, y;
x=StrToFloat (Edit1->Text);
y=exp(-2*x)+log(sqrt(x*x+1))+14,48*pow(10,-5);
Label1->Caption=FloatToStr(y);
}
Вывод: я ознакомился с сеансом работы в среде C++; освоил структуру программы; изучил оператор присваивания; научился записывать выражения на C++; научился пользоваться функциям» scanf и printf.
Министерство образования и науки РФ.
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования.
Тихоокеанский государственный университет.
Кафедра «Автоматики и системотехники».
Лабораторная работа № 2
РАЗВЕТВЛЯЮЩИЕСЯ ПРОГРАММЫ
Зачетная книжка № 120700270
Выполнил: студент группы КТ-21
Фомин Андрей Алексеевич
Принял: ст. преподаватель АиС
Кочетова Ирина Валентиновна
Хабаровск 2012
Цель работы: продолжить знакомство с работой в среде C++;
изучить операцию условия;
изучить условный Оператор;
изучить оператор множественного выбора.
Порядок выполнения работы:
В соответствии с поставленной задачей необходимо разработать графическую
схему алгоритма, составить программу и отладить её в среде C++, подготовить
отчет, ответить на контрольные вопросы и защитить, лабораторную работу
перед преподавателем.
Задание: Составить программу, определяющую, лежит ли точка c координатами х1,у1
на прямой у=4х-3, выше или ниже прямой.
Б
лок-схема:
Код программы:
#include <stdio.h>
#include <conio.h>
#include <math.h>
void main()
{
float x,y;
printf ("Vedite y:");
scanf ("%d",&y);
printf ("Vedite x:");
scanf ("%d",&x);
if(y==4*x-3)
printf ("Legit");
else
printf ("Ne legit",y);
getch();
}
Вывод:
изучил операцию условия; изучил условный; изучил оператор множественного выбора.
Министерство образования и науки РФ.
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования.
Тихоокеанский государственный университет.
Кафедра «Автоматики и системотехники».
Лабораторная работа № 3
ЦИКЛИЧЕСКИЕ ПРОГРАММЫ
Зачетная книжка № 120700270
Выполнил: студент группы КТ-21
Фомин Андрей Алексеевич
Принял: ст. преподаватель АиС
Кочетова Ирина Валентиновна
Хабаровск 2012
Цель работы: Ознакомиться с операторами цикла; Научиться пользоваться отладочным режимом в среде C++; Научиться выполнять программу по шагам.
Задание: Дано действительное число х. Не используя стандартные функции
(за исключением abs и sin), вычислить сумму следующего ряда с заданной точностью
Е > 0 (Е, х вводятся с клавиатуры):
Блок-схема:
sum=0
k=sin(i×x)÷2i
sum=sum+sin(i*x)/pow(2,i)
Код программы:
//---------------------------------------------------------------------------
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <math.h>
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
int main()
{
int i,n,x;
double sum;
sum=0;
cout<<"Vvedite x= ";
cin >> x;
cout<<"Vvedite n= ";
cin >> n;
for (i=1; i<=n; i++){
sum = sum + (sin(i*x))/(pow(2,i));
}
cout<<"Summa= "<<sum<<endl<<endl;
system("pause");
return 0;
}
C++
Вывод:
Я ознакомился с операторами цикла, научился пользоваться отладочным режимом в среде C++, научился выполнять программу по шагам.
Министерство образования и науки РФ.
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования.
Тихоокеанский государственный университет.
Кафедра «Автоматики и системотехники».
Лабораторная работа № 4
ОБРАБОТКА ОДНОМЕРНЫХ МАССИВОВ
Зачетная книжка № 120700270
Выполнил: студент группы КТ-21
Фомин Андрей Алексеевич
Принял: ст. преподаватель АиС
Кочетова Ирина Валентиновна
Хабаровск 2012
Цель работы: Ознакомиться с обработкой одномерных массивов с использованием индексов и с использованием указателей, операторами цикла;
Задание: Определить количество чисел в наиболее длинной последовательности из подряд иду-щих нулей.
Блок-схема:
+ -
p+1
max=p
min=k
k=i
p=0
k=-1
Код программы:
//---------------------------------------------------------------------------
#include <stdlib.h>
#include <time.h>
#include <iostream.h>
#include <iomanip.h>
#include <windows.h>
#include <conio.h>
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma argsused
char bufRus[256];
char* Rus(const char* text){ //Подключаем кириллицу
CharToOem(text, bufRus);
return bufRus;
}
int main()
{
const int N = 100;
int a[N];
cout<<Rus("Определить количество чисел в наиболее длинной последовательности из подряд иду-щих нулей.")<<endl<<endl;
srand((unsigned)time(NULL));
for(int i=0; i<=N; i++) {
a[i] = int((rand()/(double)RAND_MAX) * 3.0);
cout<<" "<<a[i] ;
}
int min = -1;
int max = 0;
int k = -1;
int p = 0;
for(int i=0; i<N; i++) {
if (a[i]==0) {
p++;
if (k < 0) k = i;
}
else {
if (p > max) {
max = p;
min = k;
}
p = 0;
k = -1;
}
}
if (max < 0)
cout<<Rus("Нулевых элементов нет!");
else
cout<<endl<<endl;
cout<<Rus("Наибольшая последовательность из подряд идущих нулей: ")<<max<<endl<<endl;
system("pause");
return 0;
}
//---------------------------------------------------------------------------
C++
Вывод: Я определил количество чисел в наиболее длинной последовательности из подряд иду-щих нулей.
Министерство образования и науки РФ.
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования.
Тихоокеанский государственный университет.
Кафедра «Автоматики и системотехники».
Лабораторная работа № 5
ОБРАБОТКА ДВУМЕРНЫХ МАССИВОВ