Практика / № 1 лаб
.docxПрактическое задание 1
Таблица 1 — Типы данных С++ |
||
Тип |
байт |
Диапазон принимаемых значений |
целочисленный (логический) тип данных |
||
bool |
1 |
0 / 255 |
целочисленный (символьный) тип данных |
||
char |
1 |
0 / 255 |
целочисленные типы данных |
||
short int |
2 |
-32 768 / 32 767 |
unsigned short int |
2 |
0 / 65 535 |
int |
4 |
-2 147 483 648 / 2 147 483 647 |
unsigned int |
4 |
0 / 4 294 967 295 |
long int |
4 |
-2 147 483 648 / 2 147 483 647 |
unsigned long int |
4 |
0 / 4 294 967 295 |
типы данных с плавающей точкой |
||
float |
4 |
-2 147 483 648.0 / 2 147 483 647.0 |
long float |
8 |
-9 223 372 036 854 775 808 .0 / 9 223 372 036 854 775 807.0 |
double |
8 |
-9 223 372 036 854 775 808 .0 / 9 223 372 036 854 775 807.0 |
В С++ определены в заголовочном файле <cmath> функции выполняющие некоторые часто используемые математические задачи. Например, нахождение корня, возведение в степень, sin(), cos() и многие другие. В таблице 2 показаны основные математические функций, прототипы которых содержатся в заголовочном файле <cmath>.
Таблица 2 — Математические функции в С++ |
||
Функция |
Описание |
Пример |
abs( a ) |
модуль или абсолютное значение от а |
abs(-3.0)= 3.0 abs(5.0)= 5.0 |
sqrt(a) |
корень квадратный из а, причём а не отрицательно |
sqrt(9.0)=3.0 |
pow(a, b) |
возведение а в степень b |
pow(2,3)=8 |
ceil( a ) |
округление а до наименьшего целого, но не меньше чем а |
ceil(2.3)=3.0 ceil(-2.3)=-2.0 |
floor(a) |
округление а до наибольшего целого, но не больше чем а |
floor(12.4)=12 floor(-2.9)=-3 |
fmod(a, b) |
вычисление остатка от a/b |
fmod(4.4, 7.5) = 4.4 fmod( 7.5, 4.4) = 3.1 |
exp(a) |
вычисление экспоненты еа |
exp(0)=1 |
sin(a) |
a задаётся в радианах |
|
cos(a) |
a задаётся в радианах |
|
log(a) |
натуральный логарифм a(основанием является экспонента) |
log(1.0)=0.0 |
log10(a) |
десятичный логарифм а |
Log10(10)=1 |
asin(a) |
арксинус a, где -1.0 < а < 1.0 |
asin(1)=1.5708 |
#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;
int main(int argc, char* argv[])
{
cout << "log10(10) = " << log10(10.0) << endl; // логарифм десятичный
cout << "log10(1) = " << log10(1.0) << endl;
cout << "log(2.718281) = " << log(2.718281) << endl; // натуральный логарифм(по основанию экспоненты) exp = 2.718281
cout << "sqrt(9) = " << sqrt(9.0) << endl; // корень квадратный
cout << "pow(2,3) = " << pow(2.0,3.0) << endl; // два в кубе
cout << "abs(0) = " << abs(0.0) << endl; // модуль от нуля
cout << "abs(-5) = " << abs(-5.0) << endl;
cout << "ceil(3.14) = " << ceil(3.14) << endl; // округление 3.14 до наименьшего целого, но не меньше чем 3.14
cout << "ceil(-2.4) = " << ceil(-2.4) << endl; // округление -2.4 до наименьшего целого, но не меньше чем -2.4
cout << "floor(3.14) = " << floor(3.14) << endl; // округление 3.14 до наибольшего целого, но не больше чем 3.14
cout << "floor(-2.4) = " << floor(-2.4) << endl; // округление -2.4 до наибольшего целого, но не больше чем -2.4
cout << "fmod(2.4/2.0) = " << fmod(2.4,2.0) << endl; // остаток от деления 2.4/2
system("pause");
return 0;
}
№ варианта |
Задание
|
Исходные данные |
|
|
t = 1,1 p = 2,4 k = 4 i = 5 |
|
|
x = 3,7 y = 2,1 i = 3 j = 4
|
|
|
t = 1,5 p = 4,8 i = 2 m = 6 |
|
|
z = 2,4 m = 5,8 n = 4 j = 5 |
|
|
x = 9,5 y = 3,6 j = 2 i = 5 |
|
|
x = 6,4 y = 1,7 k = 5 m = 7 |
Таблица 3 — Управляющие символы С++ |
|
Символ |
Описание |
\r |
возврат каретки в начало строки |
\n |
новая строка |
\t |
горизонтальная табуляция |
\v |
вертикальная табуляция |
\» |
двойные кавычки |
\’ |
апостроф |
\\ |
обратный слеш |
\0 |
нулевой символ |
\? |
знак вопроса |
\a |
сигнал бипера (спикера) компьютера |
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
cout << "\t\tcontrol characters C++"; // две табуляции и печать сообщения
cout << "\rс++\n"; // возврат каретки на начало строки и печать сообщения
cout << "\'formatting\' output with \"escape characters\""; // одинарные и двойные ковычки
cout << "\a\a\a\a\a\a\a\a\a\a\a\a\a\a" <<endl; //звуковой сигнал биппера
system("pause");
return 0;
}
№ варианта |
Задание |
1 |
Составить программу, которая будет считывать введённое пятизначное число. После чего, каждую цифру этого числа необходимо вывести в новой строке. |
2 |
Запрограммировать следующее выражение: (а + b — f / а) + f * a * a — (a + b) Числа а, b, f вводятся с клавиатуры. Организовать пользовательский интерфейс, таким образом, чтобы было понятно, в каком порядке должны вводиться числа. |
3 |
Программа должна переводить число, введенное с клавиатуры в метрах, в километры. |
4 |
Программа должна нарисовать домик. Строительным материалом являются: символы слэша (прямой /, обратный , вертикальный |), знак минуса, символ подчёркивания. |
5 |
Используя один оператор вывода cout, программа должна напечатать прямоугольный треугольник из символов знака плюс + |
6 |
Напишите программу, запрашивающую имя, фамилия, отчество и номер группы студента и выводящую введённые данные в следующем виде: /* ******************************** * Практическое задание № 1 * * Выполнил: гр.ВТиП-202 * * Иванов Андрей Петрович * ******************************** */ |