Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Всё да сразу.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
287.23 Кб
Скачать

Министерство образования и науки РФ.

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования.

Тихоокеанский государственный университет.

Кафедра «Автоматики и системотехники».

ЛАБОРАТОРНАЯ РАБОТА № 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

ОБРАБОТКА ДВУМЕРНЫХ МАССИВОВ