Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра ВТ
ОТЧЁТ
ЛАБОРАТОРНАЯ РАБОТА № 3
по курсу «Информатика»
«Константы и переменные. Типы данных. Арифметические выражения».
Группа: АБ-221
Студент: Шведова И.А.
Преподаватель: Котов Ю.А.
1. Цель работы: для программ на языке С изучить определение констант и переменных, их типы и диапазон изменения, способы задания начальных значений, порядок выполнения арифметических операций и зависимость результата вычисления от неявного и явного преобразования типов данных.
Изучаемые конструкции: операторы описания типов, оператор присваивания =, арифметические операции -, +, /, *, %, функция возведения в степень pow, операторы ввода scanf, cin.
2. Задание на работу.
Написать программу на языке С, в которой:
1) определить переменные целого, вещественного, вещественного двойной точности, символьного типов;
2) определить для целого типа дополнительно «длинные», «короткие» и «беззнаковые» переменные;
3) задать начальные значения 5 переменных различных типов, используя инициализацию, оператор присваивания, операторы ввода scanf, cin. Выбор варианта для задачи (3) осуществить по номеру студента в групповом журнале, взятому по модулю числа подзадач. Вывести заданные начальные значения.
1. Инициализация.
2. Оператор присваивания.
3. Оператор ввода scanf.
4. Оператор ввода cin.
5. Инициализация и оператор присваивания.
6. Инициализация и оператор ввода scanf.
7. Инициализация и оператор ввода cin.
8. Оператор присваивания и оператор ввода scanf.
9. Оператор присваивания т оператор ввода cin.
10. Инициализация, оператор присваивания и оператор ввода scanf.
11. Инициализация, оператор присваивания и оператор ввода cin.
12. Инициализация, оператор присваивания, операторы ввода scanf и cin.
4) Выбор варианта для задачи (4) осуществить по номеру студента в групповом журнале, взятому по модулю числа подзадач. Вывести полученные значения.
1. Используя программу sizeof и структуру машинного представления типа данных, записать формулу для определения минимального и максимального чисел, представимых в целом типе, вычислить и вывести эти числа.
2. То же, что и 1, но для «длинного» целого типа. Дополнительно вычислить А1/(А2+А3) для переменных вещественного типа, результат целого типа. Изменить порядок операций на противоположный и вычислить выражение второй раз.
3. То же, что и 1, но для «короткого» целого типа. Дополнительно вычислить (А1+А4)/(А2+А3) для переменных вещественного типа, результат вещественного типа.
4. То же, что и 1, но для «беззнакового» целого типа. Дополнительно вычислить А1*А4/А2*А3 для переменных целого типа, результат целого типа. Изменить порядок операций на противоположный и вычислить выражение второй раз.
5. То же, что и 1, но для «беззнакового» «длинного» целого типа. Дополнительно вычислить (А1-А4)/(А2-А3) для переменных целого типа, результат вещественного типа.
6. То же, что и 1, но для «беззнакового» «короткого» целого типа. Дополнительно вычислить А1/А4/А2/А3 для переменных вещественного типа, результат вещественного типа. Изменить порядок операций на противоположный и вычислить выражение второй раз.
7. То же, что и 1, но для вещественного типа.
8. То же, что и 1, но для вещественного двойной точности типа.
9. То же, что и 1, но для символьного типа.
10. Присвоить целой переменной значение символьной переменной, вывести на печать значение обеих переменных в соответствующем формате.
11. Вычислить выражение «В»: А1 А2 + А3 / А4 * А5 для переменных одного типа (целого или вещественного), затем изменить порядок выполнения операций на противоположный и снова вычислить «В», результаты вывести на печать.
12. Вычислить выражение «В» из задачи 11 для переменных различных типов (целого и вещественного) дважды, второй раз записав его с явным преобразованием типов, соответствующим неявному в первом случае, результаты вывести на печать.
13. Вычислить степень 5 числа, используя операцию * и функцию pow.
14. Вычислить выражение 1/2 для целых констант, вещественных констант и в случае, когда одна константа целая, другая вещественная.
15. Вычислить выражения 7/7, 5/7, 12/7, 7%7, 5%7, 12%7.
3. // laba 3.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
#include <conio.h>
#include <math.h>
void main () {
int x,z,q=0,k=0,max=0,A1=0,A2=0,A3=0,A4=0;
long int c=10;
short int b=1;
unsigned int a,x2;
float y;
double d,i,s=2,x1,min=0;
char e='A';
printf("Part 1:\n");
printf("\n");
printf("Zeloe chislo\n");
std::cout<<"X = ";
std::cin>>x;
printf("\n");
printf("Drobnoe chislo\n");
std::cout<<"Y = ";
std::cin>>y;
printf("\n");
printf("Bezznakovoe chislo\n");
std::cout<<"A = ";
std::cin>>a;
printf("\n");
d=3.14;
printf ("A=" "%u",a);
printf("\n");
printf ("B=" "%d",b);
printf("\n");
printf ("C=" "%d",c);
printf("\n");
printf ("D=" "%f",d);
printf("\n");
printf ("E=" "%c",e);
printf("\n");
printf("\n");
printf("Part 2:\n");
printf("\n");
printf("Type UNSIGNED INT\n\n" );
z=sizeof(unsigned);
printf("Kolichestvo bayt:" "%d",z);
printf("\n");
i=8*z;
printf("Kolichestvo razryadov:" "%0.f",i);
printf("\n");
x1=pow(s,(i-1.0))*-1.0;
x2=(unsigned)x1;
if (x2>0)
{
i=8*z;
printf("Minimalnoe znachenie:" "%d",min);
printf("\n");
printf("Maximalnoe znachenie:" "%0.f",pow(s,i)-1.0);
printf("\n");
}
else
{
printf("Minimalnoe znachenie:" "%d",x2);
printf("\n");
x2++;
printf("Maximalnoe znachenie:" "%0.f",x2*-1.0);
printf("\n");
}
printf("\n");
printf("Part 3:\n");
std::cout<<"A1 = ";
std::cin>>A1;
std::cout<<"A2 = ";
std::cin>>A2;
std::cout<<"A3 = ";
std::cin>>A3;
std::cout<<"A4 = ";
std::cin>>A4;
q=A1*A4/A2*A3;
printf ("Znachenie virazheniya A1*A4/A2*A3: " "%d",q);
printf("\n");
k=A1*(A4/(A2*A3));
printf ("Znachenie virazheniya A1*(A4/(A2*A3)): " "%d",k);
printf("\n");
_getch();
}