
- •3. Пример решения задачи
- •3.1. Условие задачи.
- •3.2. Ограничения на значения параметров
- •3.3.Текст программы
- •3.4.Тестирование программы
- •Приложение. Некоторые стандартные математические функции.
- •Лабораторная работа № 2. Составление программ для решения геометрических и физических задач.
- •1. Цель работы
- •2. Темы для предварительной проработки
- •3. Пример решения задачи
- •3.1. Условие задачи.
- •3.2. Разработка алгоритма решения.
- •3.3. Ограничения на значения параметров
- •3.4.Текст программы
- •3.5. Результаты работы программы Результат работы программы может выглядеть, например, следующим образом:
- •Лабораторная работа № 3 Управление символьным выводом на экран
- •3. Пример решения задачи
- •Программы для решения задач с использованием условного оператора.
- •3.3. Текст программы
- •3.4. Результаты работы программы
- •Лабораторная работа № 5
- •1. Цель работы
- •2. Темы для предварительной проработки
- •3. Пример решения задачи
- •3.1. Условие задачи
- •3.2. Разработка алгоритма решения.
- •3.3. Определение переменных программы
- •3.4. Разработка текста программы
- •3.5. Отладка программы
- •3.2. Текст программы
- •Вычисление суммы ряда с помощью операторов цикла.
- •3.1. Условие задачи
- •3.2. Текст программы
- •3.3.Тестирование программы
- •Приближённое вычисление определённого интеграла методами прямоугольников, трапеций, Симпсона.
- •3.1. Задание
- •3.1.Текст программы
- •3.2.Тестирование программы
- •Использование вложенных циклов для решения ребусов.
- •3.1. Условие задачи
- •3.2.Используемые переменные
- •3.3. Разработка кода программы
- •3.4.Текст программы
- •3.5. Результат работы программы
- •3.1. Условие задачи
- •3.2. Используемые переменные
- •3.3.Текст программы
- •2.3.Тестирование программы
- •Задачи на формирование двумерных массивов.
- •3.3. Определение переменных программы
- •3.4. Разработка текста программы
- •Задачи на формирование двумерных массивов.
- •3.2. Текст программы
- •3.3. Тестирование программы
- •Рисование графических примитивов
- •Рисование геометрических тел и их сечений.
- •Пример 2.
- •Лабораторная работа № 21.
- •1. Цель работы
- •2. Темы для предварительной проработки
- •3. Пример решения задачи
- •3. Пример решения задачи
Лабораторная работа № 21.
Работа со структурами в языке С++.
1. Цель работы
Целью лабораторной работы является получение практических навыков в написании программ, работающих со структурами в языке C++.
2. Темы для предварительной проработки
операторы цикла
массивы
3. Пример решения задачи
Распечатать список учеников, фамилии которых начинаются на букву В, с указанием даты их рождения.
#include<stdio.h>
#include<conio.h>
void main()
{
const N=4; int i;
//Описание структуры «студент»
struct student { char fam[15]; //Фамилия
int grup; //№ группы
char data[15]; //Дата рождения
};
clrscr();
student stud[N]; //Массив переменных типа «студент»
for(i=0;i<N;i++) //Заполнение массива
{ printf("%d-j student",i+1);
printf("\nFamilia:"); scanf("%s",&stud[i].fam);
printf("Gruppa:"); scanf("%i",&stud[i].grup);
printf("Data:"); scanf("%s",&stud[i].data);
printf("\n");
}
for(i=0;i<N;i++)
if(stud[i].fam[0]=='B') //Вывод на экран
{ printf("\nFamilia %s ",stud[i].fam); //данных о
printf(" Gruppa %i ",stud[i].grup); //студентах,
//фамилии которых
printf(" Data %s ",stud[i].data); //начинаются с
} //буквы В.
getch();
}
4. Результаты работы программы
Результат работы программы может выглядеть, например, следующим образом:
1-j student
Familia:ABC
Gruppa:215
Data:01.01.1987
2-j student
Familia:BAC
Gruppa:215
Data:02.02.1986
3-j student
Familia:BCA
Gruppa:25
Data:05.05.1987
4-j student
Familia:CBA
Gruppa:25
Data:09.09.1986
Familia:BAC Gruppa:215 Data:02.02.1986
Familia:BCA Gruppa:25 Data:05.05.1987
Лабораторная работа № 22.
Простые классы. Доступ к элементам класса.
1. Цель работы
Целью лабораторной работы является получение практических навыков в написании программ, работающих с классами в языке C++.
2. Темы для предварительной проработки
классы и объекты
графика в С++
3. Пример решения задачи
Написать программу, демонстрирующую работу с объектами класса «треугольник».
Предусмотреть следующие методы:
- создать объект
- изобразить объект на экране
- переместить объект на плоскости
- сравнить объекты по площади.
#include<conio.h>
#include<graphics.h>
#include<iostream.h>
#include<stdlib.h>
#include<math.h>
class tri
{ int x1,x2,x3,y1,y2,y3; //koordinati vershin treugolnika
int a,b;
public:
void vvod (); //FORMIROVANIE treugolnika
void show(); //Vivod treugolnika na ekran
float PLOSH();
void sdvig();
};
void tri::vvod ()
{ x1=random(280)+140; y1=random(200)+140; //Koordinati vibirautca sluchajnim
x2=x1+random(140); y2=y1+random(140); //obrazom
x3=x1+random(140); y3=y1+random(140);
}
void tri::show()
{ // setbkcolor(BLUE);
setcolor(WHITE); //Cvet linii
line(x1,y1,x2,y2);
line(x3,y3,x2,y2); //Storoni
line(x1,y1,x3,y3);
setfillstyle(random(12),random(16)); //Stil i cvet zalivki
floodfill((x1+x2+x3)/3,(y1+y2+y3)/3,WHITE);//Tochka vnutri treugolnika
}
float tri::PLOSH() //Vichislenie S
{ float a,b,c,p,s;
a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
b=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3));
c=sqrt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2));
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
return(s);
}
void tri::sdvig()
{ setcolor(WHITE);
line(x1,y1,x2,y2);
line(x3,y3,x2,y2);
line(x1,y1,x3,y3);
setfillstyle(1,16);//Zakrashivaem vnutrennost cvetom fona
floodfill((x1+x2+x3)/3,(y1+y2+y3)/3,WHITE);
setcolor(16); //Zakrashivaem linii cvetom fona
line(x1,y1,x2,y2);
line(x3,y3,x2,y2);
line(x1,y1,x3,y3);
a=random(300)-100; b=random(200)-70;
x1+=a;y1+=b;
x2+=a;y2+=b;
x3+=a;y3+=b;
}
void main()
{ int dr=DETECT,mod;
initgraph(&dr,&mod,"c:\\shron\\borlandc\\bgi");
float s1,s2;
randomize();
tri A,B;
A.vvod();
A.show();
s1=A.PLOSH();
cout<<"\nS1="<<s1;
getch();
B.vvod();
B.show();
s2=B.PLOSH();
cout<<"\nS2="<<s2;
if(s1>s2) cout<<"\nPloshad 1-go treugolnica bolshe";
if(s1<s2) cout<<"\nPloshad 2-go treugolnica bolshe";
if(s1==s2) cout<<"\nPloshadi ravni";
getch();
A.sdvig();
A.show();
getch();
B.sdvig();
B.show();
getch();
closegraph();
}