Полный текст:
Оглавление
Рекомендация по выполнению
работы.. 3
Задача 1. Расчет по формуле. 3
Задача 2. Ветвление. 3
Задача 3. Ветвление. 3
Задача 4. Циклы. 3
Задача 5. Одномерные массивы и указатели. 3
Задача 6. Двумерные массивы.. 3
Задача 7. Строки. 3
Задача 8. Функции. 3
Литература. 3
Рекомендация
по выполнению работы
Контрольную
работу нужно сдать в печатном виде, обязательно указать фИО, номер варианта работы, номер группы.
Перед каждым решенным заданием вставить
условия. К каждому решению задачу
приложить скриншоты работы программы, не менее двух. Не скупить на комментарии в коде.
Оцениваться
будет, не только правильность решения задачи,
но и стиль написания программы.
Задача 1.
Расчет по формуле.
Напишите
программу расчета по двум формулам. Любые параметры задает пользователь, кроме . Для всех переменных возьмите тип данных float или double.
Математические функции находятся в заголовочном файле <cmath>.
Отсутствующие в библиотеке функции выразите через имеющиеся. В решении
укажите код рабочей программы и скриншоты работы программы с разными
параметрами.
Решение
#include
using namespace std;
void main()
{
float a, z1, z2;
//a - parametr
//z1 - pervaya funkcia
//z2 - vtoraya funkcia
cout <<"Vvedite parametr a:";
cin >>a;
//vichislenie znachenie funkcii z1
z1 = 2.0/sin(2*a)+4.0/cos(3*a);
//vichislenie znachenie funkcii z2
z2 = tan(3*a);
//vivod znacheniy funkciiy z1 i z2
cout << "\n z1="<< z1;
cout << "\n z2="<< z2 <<"\n";
}
" height="483" width="592">
Результаты работы программы:
Задача 2. Ветвление.
Решите данную задачу использую оператор if … else.
Множественный выбор, осуществить вложенным if. В решение указать рабочий код и скриншоты работы программы.
Написать программу которая решает квадратное уравнение ( – параметры, их вводит пользователь), если
дискриминант меньше нуля, выдать ошибку.
Решение
#include
using namespace std;
void main()
{
float a, b, c, d;
//a, b, c - parametri
//d - diskriminant
cout <<"Vvedite parametri a, b, c:";
cin >> a >> b >> c;
//esli a=0, uravnenie lineynoe
//Programma prekrashayet rabotu
if (a == 0){
cout<<"Oshibka!"< 0)
//vivod korney x1 i x2
cout<<"x1 = "<<(-b + sqrt(d))/2*a
<
Результаты работы программы:
Задача 3. Ветвление.
Написать программ ,в которой пользователь вводит параметры и
проверяется выполнения условия (Условие приведено ниже, в таблицы, выберите
условие с соответствии с номером варианта). Если условие выполняется вывести на
экран 0, иначе 1. К решению приложить скриншоты с работой программы, с результатами и с 1 и с 0.
Условие:
Решение
#include
using namespace std;
void main()
{
float a, b, c;
cout<<" Vvedite a, b, c: ";
cin >> a >> b >> c;
//proverka usloviya
if (abs(a + b + c)<9 && a!=0)
cout<<0<
Результаты работы программы:
Задача 4. Циклы.
Вычислить и
вывести на экран значения ряда . Где x задает пользователя, также
пользователь задает номер элемента, до которого будет считаться ряд (n). Приложить результаты работы для
разных x и для разного n.
Ряд
Решение:
#include
using namespace std;
void main()
{
double x, sum=1, ch, zn, n;
//ch - chislitel, zn - znamenatel, n - nomer elementa
cout<<" Vvedite x: ";
cin>>x;
cout<>n;
//vichislenie chislitelya i znamenatelya vtorogo elementa
ch = - x * x;
zn = 2;
for (int i=2; i<=n; i++){
//vichislenie summi ryada
sum = sum + ch / zn;
//podgotovka sleduyushego elementa
ch *= - x * x;
zn= zn * (zn+1) * (zn+2);
}
//vivod summi
cout<<"\nSumma ryada ravna:"<
Результаты работы программы:
Задача 5. Одномерные массивы
и указатели.
Исходные
данные для всех вариантов – n вещественных величин. При написании программ можно использовать
как динамические, так и не – динамические массивы. Размерность последних
задавать именованной константой.
Найти
сумму элементов массива с нечетными номерами.Найти
сумму элементов массивов находящихся между первым и последним отрицательным
элементом.Сжать
элементы, удалив из массива все элементы больше 10. Освободившиеся в конце
массива элементы заполнить нулями.
Решение
#include
using namespace std;
void main()
{
//obyavlenie massiva a[n]
const int n= 10;
int a[n];
//vvod elementov massiva
cout<<"Vvodite elementi massiva a["<>a[i];
//vivod nachalnogo massiva
cout<<"\n Massiv a:\n";
for (i =0 ; i
=0;i--)
if (a[i]<0){
posledniy = i;
break;
}
//vichisleniya summu elementov mejdu indeksami perviy i posledniy
sum=0;
for(i=perviy+1; i10, pustie mesta zapolnyaem nulyami
for ( i = 0 ;i10){
for ( int j=i+1; j
Результат работы программы:
Задача 6. Двумерные массивы
Дана целочисленная квадратная матрица
10*10. Определить:
Сумму
элементов в тех столбцах, которые не содержат отрицательных элементов;Максимум
среди сумм элементов диагоналей, параллельных главной диагонали матрицы.
Решение
.
#include
#include
using namespace std;
void main()
{
const int n=10;
int a[n][n];
cout<<"Vvedite elementy matrici a["<>a[i][j];
//Vivodim elementi matrici
cout<<"\n Matrica:\n";
for(i=0;i
max_sum_diag)
max_sum_diag=sum;
}
//v matrice n-1 diagonaley nije glavnoy
for(i=0;imax_sum_diag)
max_sum_diag=sum;
}
cout<
Скриншот
работы программы:
Задача 7. Строки.
Рекомендации
по выполнению задачи.
Не
использовать функции находящиеся в заголовочном файле <string.h> (<cstring>).После
каждого преобразовании строки выводите результат на экран.К
рабочему коду программы, приложите скриншоты.
Написать программу, которая:
Запрашивает пользователя
ввести строку . Выводит количество символов
строки.Выводит все слова
начинающиеся с заглавных букв.
Решение
#include
#include
using namespace std;
void main()
{
const int n=1000;
char str[n];
//vvod stroki
cout<<"Vvedite stroku: ";
cin.getline(str, n);
//vichislenie dlini stroki
int dlina;
for (dlina=0;dlina<=n && str[dlina]!= '\0';dlina++);
cout <<"\nDlina stroki : "<
Результат работы программы:
Задача 8. Функции
Решить задачу 5 (Одномерные массивы) и оформить каждый пункт задания в виде
функции. Все необходимые данные для функции должны передаваться им в качестве
параметров. Использование глобальных переменных в функциях не допускается.
Найти сумму элементов
массива с нечетными номерами.Найти сумму элементов
массивов находящихся между первым и последним отрицательным элементом.Сжать элементы, удалив из
массива все элементы больше 10. Освободившиеся в конце массива элементы
заполнить нулями.
#include
using namespace std;
int sum_nechet_nomer(int*, int);//vichislenie summi elementov s nechetnimi nomerami
int sum_mejdu (int*, int);//vichislenie summu elementov mejdu pervim i poslednim otricatelnim elementom
void sjat(int*, int);//udalyayem iz massiva vse elementy >10, pustie mesta zapolnyaem nulyami
void vivod_massiva(int*, int);//vivod elementov massiva
void main()
{
//obyavlenie massiva a[n]
const int n= 10;
int a[n];
//vvod elementov massiva
cout<<"Vvodite elementi massiva a["<>a[i];
cout<<"\n Massiv a:\n";
vivod_massiva(a,n);
cout<
=0;i--)
if (a[i]<0){
posledniy = i;
break;
}
//vichisleniya summu elementov mejdu indeksami perviy i posledniy
int sum=0;
for(i=perviy+1; i10, pustie mesta zapolnyaem nulyami
for (int i = 0 ;i10){
for ( int j=i+1; j
Результат работы программы:
Литература
1. Т.А. Павловская, С/С++ Программирование на языке
ввысокого уровня. – СПб.: Питер, 2013. – 461с.
2. Т.А. Павловская,
Ю.А. Щупак С/С++. Структурное и
объектно-ориентированное программирование: Практикум. – СПб.: Питер 2011 – 352
с.
3. "Thinking in C++" - это сборник из двух томов, Автор Bruce Eckel.
4. "Язык
программирования C++. Вводный курс", Стенли Липпман, Жози Лажойе
5. "Основы
программирования на С++. Том 1", Стенли Липпман