- •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. Пример решения задачи
Рисование геометрических тел и их сечений.
1. Цель работы
Целью лабораторной работы является получение практических навыков в работе с функциями точечной графики в языке C++.
2. Темы для предварительной проработки
Функции точечной графики
3.1. Разработка алгоритма программы
Точки пересечения боковых ребер пирамиды и сечения должны быть удалены от основания пирамиды на пропорциональные расстояния. Поэтому вычислять их координаты следует из соответствующих пропорций.
3.2. Текст программы
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
void main()
{ int dr = DETECT, mod; //инициализация
initgraph(&dr, &mod, "D:\\BORLANDC\\BGI"); //графического режима
setcolor(WHITE); //цвет линий
moveto(10,300); //координаты левого нижнего угла пирамиды
lineto(180,10); //проводим линию до вершины пирамиды
lineto(300,300); //линия к правому углу основания пирамиды
setlinestyle(3,1,1); //следующая линия будет нарисована пунктиром
lineto(10,300);
setlinestyle(0,1,1); //возвращаемся к сплошным линиям
lineto(150,350);
lineto(300,300);
line(150,350,180,10);
moveto(27,271);
setlinestyle(3,1,1);
lineto(288,271);
setlinestyle(0,1,1);
lineto(153,316);
lineto(27,271);
setfillstyle(LTSLASH_FILL,GREEN);//наклонная штриховка
floodfill(100,290,WHITE); //координаты точки внутри закрашиваемой области
floodfill(200,290,WHITE);
getch(); //задержка изображения
closegraph(); //закрытие графического режима
}
3.4. Результаты работы программы
Лабораторная работа № 16
Построение графиков функций в режиме точечной графики в С++
1. Цель работы
Целью лабораторной работы является получение практических навыков в построении графиков в режиме точечной графики в языке C++.
2. Темы для предварительной проработки
Функции точечной графики
3. Пример решения задачи
Следующая
программа строит график функции
.
3.1. Разработка алгоритма программы
Обозначим
и
- математические координаты точки, а
и
-
графические координаты. Формулы,
связывающие графические и математические
координаты:
;
.
Выберем следующие
значения:
,
,
,
.
,
,
,
.
График строится в виде последовательности точек с математическими координатами:
,
.
Шаг h
выбирается минимально возможным,
соответствующим шагу графической сетки:
.
3.2. Текст программы
#include<dos.h>
#include<math.h>
#include<conio.h>
#include<graphics.h>
#include<stdlib.h>
void main()
{ int dr=DETECT,mod,a,b;
initgraph(&dr,&mod,"C:\\BORLANDC\\BGI"); "); //Инициализация графического
//режима
float xn,xk,yn,yk,dx,x,y,xg,yg;
int i;
xn=-12; xk=12;
yn=-9; yk=9;
x=xn;
dx=(xk-xn)/640;
setbkcolor(BLACK); //Цвет фона
setcolor(3); //Цвет координатных осей
line(0,240,640,240); //Ось Ох
line(320,0,320,480); //Ось Оу
outtextxy(335,20,"Y"); //Подписываем ось Оу
outtextxy(615,245,"X"); //Подписываем ось Ох
outtextxy(350,100,"2sin(x)exp(x/5)"); //Подписываем ось график
for(i=0;i<640;i++)
{ xg=640*(x-xn)/(xk-xn);
y=2*sin(x)*exp(x/5);
yg=480-480*(y-yn)/(yk-yn);
putpixel(xg,yg,3); //Рисование графика
x=x+dx;
delay(10);
}
getch();
closegraph(); //Закрытие графического режима
}
Лабораторная работа № 17
Работа со строками в языке С++
1. Цель работы
Целью лабораторной работы является получение практических навыков в работе со строками и строковыми массивами в языке C++.
2. Темы для предварительной проработки
Операторы цикла
Массивы
Функции работы со строками
3. Пример выполнения задания
Дан текст. Напишите программу, определяющую процентное отношение строчных и прописных букв к общему числу символов в нем.
#include <string.h>
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
void main( )
{
clrscr();
char S[100],S1[100];
int i,j=0,k=0,n;
cout<<"Введите строку:";
gets(S);
n=strlen(S); //Вычисление длины строки
cout<<"\nn="<<n;
strcpy(S1,S); //Копируем строку S в строку S1
strlwr(S); //Преобразует буквы верхнего регистра в строке в соответствующие
// буквы нижнего регистра
for(i=0;i<=n;i++)
if(S[i] != S1[i]) j++; //Подсчитываем число преобразованных (т.е. заглавных букв)
cout<<"\nj="<<j;
cout<<"\nЗаглавных букв "<<j*100./n<<"%";
strcpy(S,S1); //Копируем строку S1 в строку S
strupr(S1); //Преобразует буквы нижнего регистра в строке в соответствующие
// буквы верхнего регистра
for(i=0;i<=n;i++)
if(S[i] != S1[i]) k++; //Подсчитываем число преобразованных (т.е. строчных букв)
cout<<"\nk="<<k;
cout<<"\nСтрочных букв "<<k*100./n<<"%";
getch();
}
Результат работы программы может выглядеть следующим образом:
Введите строку: 123abcABCD
n=10
j = 5
k = 3
Заглавных букв 50%
Строчных букв 30% .
Лабораторная работа № 18
Функции-подпрограммы в языке С++
(массив как параметр функции)
1. Цель работы
Целью лабораторной работы является получение практических навыков в работе с вспомогательными функциями в языке C++.
2. Темы для предварительной проработки
Операторы цикла
Массивы
Функции - подпрограммы
3. Задания для выполнения
Составить функцию - подпрограмму обработки массива заданной размерности. Использовать эту функцию в основной программе, обращаясь к ней столько раз, сколько массивов дано в индивидуальном задании.
4. Примеры выполнения заданий
Пример 1.
Даны два массива: А(50) и В(40). Вывести на печать их наименьшие элементы.
#include<conio.h>
#include<iostream.h>
#define M 11
float min1(int L,float V[]) //Функция нахождения наименьшего элемента
// массива размерности L
{ int I;
for(I=0; I<L-1; I++)
if(V[I]<V[I+1])
V[I+1]=V[I];
return V[L-1];
}
void main()
{ float A[M],B[M],MIN1,MIN2;
int I,N,K;
cout<<"Введите размерности массивов: "<<endl;
cout<<"N="; cin>>N;
cout<<"K="; cin>>K;
for(I=0;I<N;I++)
{ cout<<"A["<<I<<"]="; cin>>A[I];
}
for(I=0;I<K;I++)
{ cout<<"B["<<I<<"]="; cin>>B[I];
}
MIN1=min1(N,A);
MIN2=min1(K,B);
cout<<MIN1<<" "<<MIN2<<endl;
getch();
}
Результат работы программы может выглядеть следующим образом:
Введите размерности массивов:
N= 4 K= 3
A[0]= 2 A[1]= 5 A[2]= -1 A[3]= 3
B[0]= 4 B[1]= 7 B[2]= 2
-1 2
