Файл: Отчет по лабораторной работе 1 по дисциплине Информатика.docx
Добавлен: 07.12.2023
Просмотров: 49
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
МИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра теоретических основ радиотехники
отчет
по лабораторной работе №1
по дисциплине «Информатика»
Тема: «Знакомство с элементами языка С++. Операторы консольного ввода/вывода. Пустой оператор. Оператор-выражение. Составной оператор. Арифметические операции»
Студент гр. 2112 | _______________ | | Детковский Д.В. |
Преподаватель | _______________ | | Поздеев А.А. |
Санкт-Петербург
2022
Цель работы.
Знакомство с интерфейсом среды программирования, составом проекта, этапами создания приложения. Освоение принципа создания консольного приложения; знакомство с операторами и основными математическими операциями; линейный алгоритм.
Краткие теоретические сведения.
setlocale(LC_ALL, "Russian"); | Для организации ввода\вывода на русском языке |
<тип данных> a; | Объявление переменных; исходные данные |
cout << <составной оператор>; | Вывод данных на консоль |
cin >> <составной оператор>; | Ввод данных из консоли |
(условие) ? x : y | Если условие истинно, то возвращается значение x, иначе значение y |
Упражнение 1. Создание простейшего консольного приложения.
-
Введите код, представленный ниже (следите за тем, чтобы автоматически сгенерированные строки не дублировались!): -
//подключение библиотек
#include
#include
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian"); //для организации ввода/вывода на русском языке
//объявление переменных
float a b;// исходные данные
//ввод исходных данных
cout << Введите данные для выполнения арифметических действий\n”;
//“\n” – символ новой строки
cout < “а = ”;
cin >> a;
cout << “b = ”;
cin > b
//расчет и вывод результата
t = a + b;
cout “a + b = << t << endl;
t = a - b;
cout << “a - b = ;
cout << t;
cout “\n”;
t = a * b;
cout << a * b = << t << endl;
t = a / b;
cout << “a:b = ” << t << endl;
cout << Нажмите 0 для выхода;
cin >> a
return 0;
}
3. Пронаблюдайте выполнение программы, вводя различные исходные данные. Убедитесь в правильности полученных результатов.
4. В блоке расчета и вывода результата уберите все символы «<< endl», запустите программу, просмотрите результат, сделайте вывод о цели этих символов. Верните строки блока вывода результата в исходное состояние.
-
#include
#include
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
float a, b, t;
cout << "Введите данные для выполнения арифметических действий\n";
cout << "а = ";
cin >> a;
cout << "b = ";
cin >> b;
t = a + b;
cout << "a + b = " << t << endl;
t = a - b;
cout << "a - b = " << t << endl;
t = a * b;
cout << "a * b = " << t << endl;
t = a / b;
cout << "a : b = " << t << endl;
cout << "Нажмите 0, затем Enter для выхода\n";
cin >> a;
return 0;
} -
Сделайте выводы о назначении «endl» и «\n».
Решение
Вывод: «endl» и «/n» означают, что текст, который будет выводиться дальше, начнется на следующей строке. Но у них есть отличия. «endl» используется как отдельная команда в программе. «/n» используется в текстовой строке.
Упражнение 2. Число сотен, десятков, единиц.
1. Создайте новый консольный проект.
2. Напишите программу, определяющую число сотен, десятков и единиц в введенном пользователем трехзначном числе. В программе должны присутствовать комментарии поясняющие ее строки.
Входные данные | Выходные данные |
427 | Число сотен: 4 Число десятков: 2 Число единиц: 7 |
-
// Подключение библиотек
#include
#include
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian"); // Для организации ввода\вывода на русском языке
int s, d, e, ch; // Объявление переменных; исходные данные
cout << "Введите число:";
cin >> ch; // Ввод исходных данных
s = ch / 100; // Получение числа сотен
ch = ch % 100; // Избавляемся от сотен
d = ch / 10; // Получение числа десятков
e = ch % 10; // Получение числа единиц
//Вывод данных
cout << "Число сотен: " << s << endl;
cout << "Число десятков:" << d << endl;
cout << "Число единиц:" << e << endl;
return 0;
}
Решение
Упражнение 3. Часы.
-
Создайте новый консольный проект. -
Напишите программу, выводящую на экран время в формате h:mm:ss (от 0:00:00 до 23:59:59). В программе должны присутствовать комментарии поясняющие ее строки.
Пользователь вводит N секунд.
Пример:
Входные данные | Выходные данные |
3602 | 1:00:02 |
129700 | 12:01:40 |
-
Запустите программу на исполнение, проверьте правильность работы.
// Подключение библиотек #include #include using namespace std; int main() { setlocale(LC_ALL, "Russian"); // Для организации ввода\вывода на русском языке int h, m, s; // Объявление переменных; исходные данные cout << "Введите кол-во секунд:"; cin >> s; // Ввод исходных данных h = s / 3600; // Получение числа часов s = s % 3600; // Избавляемся от часов m = s / 60; // Получение числа минут s = s % 60; // Получение числа секунд //Вывод данных условие: если минут (m) меньше 10, то выводится 0, затем m cout << "Время: " << h << ":" << (m < 10 ? "0" : "") << m << ":" << (s < 10 ? "0" : "") << s << endl; return 0; } |
Решение
Упражнение 4. Вычисление по формуле.
-
Создайте новый консольный проект. -
Напишите программу, вычисляющую значение y. Значения d, x вводит пользователь.
На экран консольного приложения должен осуществляться вывод y, его целой и дробной части. В программе должны присутствовать комментарии поясняющие ее строки.
Пример:
Входные данные | Выходные данные |
6 | Введите х |
5 | Введите d |
| 2.05166546 |
-
Запустите программу на исполнение, проверьте правильность работы.
Решение
/ / Подключение библиотек #include #include #include using namespace std; int main() { setlocale(LC_ALL, "Russian"); // Для организации ввода\вывода на русском языке float y, d, x; // Объявление переменных; исходные данные cout << "Введите x:"; cin >> x; // Ввод исходных данных cout << "Введите d:"; cin >> d; // Ввод исходных данных // Присвоение переменной уравнение y = (d * pow((abs(log(x) - 1)), pow(sin(x), 3))) / (sqrt(x)); //Вывод данных cout << "Ответ: " << y << endl; return 0; } |
Контрольные вопросы.
-
Объясните термин «консольное приложение».
Консольное приложение — это программа, которая для взаимодействия с пользователем использует консоль - клавиатуру и монитор, работающий в режиме отображения символьной информации (буквы, цифры и специальные знаки).
2. Что является начальной точкой выполнения программы в консольном приложении?
Начальной точкой выполнения программы является функция main.
3. Поясните назначение функции main.
Функция main управляет выполнением программы, вызывая другие ее функции.
4. Для какой цели служит инструкция return в теле функции main?
Оператор return завершает выполнение программы в конце функции main, хотя по разным причинам оно может завершаться и в других местах программы.
5. Какие действия необходимо выполнить, чтобы использовать функцию, описанную в другом модуле?
Для подключения модуля используемся директива #include.
6. Поясните цель директивы компилятора #include? Каков ее синтаксис? В каком месте программного кода она может находиться?
Если функция описана в другом модуле, то, для ее использования модуль должен быть подключен к текущему модулю с помощью директива #include. Формат директивы: #include <ИмяФайла>
7. Поясните цель и формат команды cin.
cin – канал связи для ввода с клавиатуры. Формат команды: cin >> ИмяПеременной;
8. Поясните цель и формат команды cout.
cout - канал связи для вывода на экран. Формат команды: сout << «выводимая информация»; или cout << ИмяПеременной;
9. Объясните термин «компиляция».
Компиляция – преобразование операндов «вверх», к типу большего операнда.
10. Какие части проекта подвергаются компиляции?
Компиляции подвергаются только арифметические типы данных.
11. Какие типы данных существуют
, поясните их различие.
Типы данных для работы с целыми и действительными числами
- для работы с целыми числами (табл.1.1):
Таблица 1.1 Целые типы
Имя | Размер | Диапазон |
char | 1 байт | от –128 до 127 |
short int | 2 байта | от -32 768 до 32 767 |
int | 4 байта* | от -2 147 483 648 до 2 147 483 647 |
long int | 8 байт* | от –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807 |
- для работы с беззнаковыми числами добавляется приставка unsigned (табл. 1.2)
Таблица 1.2 Приставка unsigned
Имя | Размер | Диапазон |
unsigned char | 1 байт | от 0 до 255 |
unsigned short int | 2 байта | 0 до 65 535 |
unsigned int | 4 байта* | от 0 до 4 294 967 295 |
unsigned long int | 8 байт* | от 0 до 18 446 744 073 709 551 615 |
- для работы с действительными числами (табл. 1.3):
Таблица 1.3 Вещественные типы
Имя | Размер | Диапазон |
float | 4 байта | от 1.175494351*10–38 до 3.402823466*10+38 |
double | 8 байт | от 2.2250738585072014*10–308 до 1.7976931348623158*10+308 |
long double | 10 байт* | от 3.4*10-4932 до 1.1*104932 |
*) зависит от типа компилятора
12. Как происходит объявление переменных?
Cначала указывается тип данных для этой переменной, а затем название этой переменной. Пример объявления переменных: int a; // объявление переменной a целого типа
13. Поясните назначения оператора присваивания?
При помощи оператора присваивания переменной могут присваиваться константы и выражения, значения переменных любого типа.
Оператор присваивания помещает значение выражения в место, отведённое переменной.