- •Задание:
- •Задание:
- •Лабораторная работа 4 Переменные, типы данных и выражения
- •1. Идентификаторы
- •2. Типы данных
- •2.2 Вещественные числа
- •2.3 Преобразование типов в выражениях
- •2.4 Символьный тип
- •2.5 Символьные строки
- •2.6 Типы данных, определяемые пользователем
- •3. Вывод вещественных чисел на экран
- •4. Описания, константы и перечисления
- •4.1 Тип "Перечисление"
- •4.2 Расположение описаний констант и переменных в исходном тексте
- •5. Присваивание и выражения
- •5.1 Краткая форма записи операторов присваивания
- •5.2 Логические выражения и операторы
- •6. Сводка результатов
- •Лабораторная работа 5 Функции и процедурная абстракция
- •1. Назначение подпрограмм
- •2. Определение новых функций
- •3. Способы передачи параметров внутрь функций
- •3.1 Передача параметров по значению
- •3.2 Передача параметров по ссылке
- •4. Полиморфизм и перегрузка функций
- •5. Процедурная абстракция и "хороший" стиль программирования
- •6. Модульное программирование
- •Лабораторные работа 6 Текстовые файлы и потоки ввода/вывода
- •1. Потоки ввода/вывода
- •Создание потоков
- •1.2 Подключение и отключение потоков от файлов
- •2. Проверка ошибок выполнения файловых операций
- •3. Символьный ввод/вывод
- •3.1 Функция ввода "get(...)"
- •3.2 Функция вывода "put(...)"
- •3.3 Функция "putback(...)"
- •4. Проверка достижения конца файла при операциях ввода
- •4.1 Проверка конца файла с помощью функции "eof()"
- •5. Передача потоков функциям в качестве параметров
- •Лабораторные работа 7 Операторы ветвления и циклы
- •1. Логические значения, выражения и функции
- •2. Циклы "for", "while" и "do...While"
- •3. Множественное ветвление и оператор "switch"
- •4. Блоки и область видимости переменных
- •5. Замечание о вложенных циклах
- •6. Сводка результатов
- •Задание:
- •Лабораторные работа 8 Массивы и символьные строки
- •1. Назначение массивов
- •1.1 Объявление массивов
- •1.2 Использование элементов массивов в выражениях
- •2. Передача массивов в качестве параметров функций
- •3. Сортировка массивов
- •4. Двумерные массивы
- •5. Символьные строки
- •5.2 Объявление и инициализация символьных строк
- •5.3 Библиотечные функции для работы с символьными строками
- •5.4 Чтение символьных строк из потока ввода с помощью функции "getline(...)"
- •6. Сводка результатов
6. Сводка результатов
В данной лекции довольно подробно рассматривались переменные
языка Си++. У переменных всегда есть определенный тип данных.
Переменные применяются для временного или постоянного хранения
значений разных типов. Значения переменным можно присваивать
различными способами. В выражениях для вычисления новых значений
переменных можно использовать различные арифметические и логические
операции.
Выполнение работы
Задания:
1. Для преобразования температуры из шкалы Цельсия в абсолютную шкалу
температур (шкалу Кельвина) надо добавить к температуре по Цельсию значение
273.15. В шкалу Фаренгейта температура по Цельсию преобразуется
f (t)=1.8 t +32 .
Напишите программу преобразования значений температуры, которая
будет печатать на экране следующую таблицу:
Цельсий Фаренгейт Абсолютная температура
0 32.00 273.15
20 68.00 293.15
40 104.00 313.15
... ... ...
... ... ...
300 572.00 573.15
#include <iostream>
#include <iomanip.h>
using namespace std;
int main()
{
float t,f,T;
cout<<"C"<<setw(7)<<"F"<<setw(7)<<"K";
for(t=0;t<=300;t=t+20)
{
f=1.8*t+32;
T=t+273.15;
cout<<endl;
cout<<setw(5)<<t<<setw(4)<<f<<setw(7)<<T<<setw(4);
}
}
2. Измените программу из упражнения 1 так, чтобы она запрашивала у
пользователя минимальную и максимальную температуру по Цельсию, которые
должны быть в первой и последней строках таблицы. Программа также должна
запросить шаг изменения температуры (на это значение должны отличаться
температуры в соседних строках таблицы, в упражнении 1 шаг был равен 20-ти
градусам).
Перед таблицей программа должна вывести несколько строк с
пояснением своих действий, а также повторить вывод на экран введенных
пользователем данных.
#include <iostream>
#include <iomanip.h>
using namespace std;
int main()
{
float tmin,tmax,step,far,kelv;
cout<<"Enter min temperature:\n";
cin>>tmin;
cout<<"Enter max temperature:\n";
cin>>tmax;
cout<<"Enter step:\n";
cin>>step;
cout<<"Programm has end work\n";
cout<<"Min temperature: "<<tmin<<endl;
cout<<"Max temperature: "<<tmax<<endl;
cout<<"Step: "<<step<<endl;
cout<<"C"<<setw(7)<<"F"<<setw(7)<<"K";
for (float i=tmin;i<=tmax;i+=step)
{
far=i*1.8+32;
kelv=i+273.15;
cout<<endl;
cout<<setw(6)<<i<<setw(6)<<far<<setw(9)<<kelv<<setw(4);
}
}
3. Напишите программу, которая считывает с клавиатуры символ (ch) и затем
выводит одно из следующих сообщений (вместо ch должен выводиться
введенный символ, а вместо ... – соответствующая прописная или строчная
буква):
а) если символ ch является строчной буквой – сообщение "Букве ch
соответствует прописная буква ...",
б) если ch является прописной буквой – сообщение "Букве ch
соответствует строчная буква ...",
в) если ch не является буквой – сообщение "Символ ch не является
буквой".
Для составления необходимых условий обратитесь к расширенной
таблице символов ASCII
#include <iostream>
#include <windows.h>
using namespace std;
int main()
{
int number;
unsigned char character;
cin>>character;
if(character>=128&&character<=239)
{
if(character>=128&&character<=159)
{
cout<<"Zaglav";
}
if (character>=160&&character<=175)
{
cout<<"stroka";
}
if(character>=224&&character<=239)
{
cout<<"stroka";
}
}
else
cout<<"NET!";
}
4. Напишите программу для возведения произвольного числа x в
положительную степень n с помощью цикла for. (Есть ли способы повышения
эффективности вашей программы ?).
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
double n,x,i;
cin>>x;
cin>>n;
i=pow(x,n);
cout<<i;
}
5. Напишите программу вычисления выражения
#include <iostream>
#include <math.h>
using namespace std;
float fact(int n)
{
float F=1;
for (int i=0;i<n;++i)
{
F=F*(i+1);
}
return F;
}
int main()
{
double x,n,otvet;
cout<<"enter x:";
cin>>x;
cout<<"Enter n:";
cin>>n;
for (int i=1;i<=n;i++)
{
otvet=1/fact(n)+sqrt(x);
}
cout<<"Answer:"<<otvet;
}
6. Напишите программу нахождения
Где zi
#include <iostream>
using namespace std;
int main()
{
int zi,sqr_z=0,n;
cout<<"Enter n";
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>zi;
if(zi>=1&&zi<=9)
zi=zi;
else
zi=1;
sqr_z+=zi*zi;
}
cout<<"Answer:";
cout<<sqr_z;
}
7. Напишите программу нахождения a1 + a2 (a2 -1)+...+ an (an -1)...(an - n -1) , где
n – натуральный алгоритм, a1… a16 – действительные числа.
#include <iostream>
using namespace std;
int main()
{
int n,number,sum;
cout<<"Enter n:\n";
cin>>n;
cout<<"Enter first number:\n";
cin>>number;
sum=number;
for(int i=2;i<=n;i++)
{
cout<<"Enter number"<<i<<":\n";
cin>>number;
sum+=number*(number-1);
}
cout<<sum;
}
Вывод
В результате выполнения работы научились использовать различные переменные, типы данных и выражения.