Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Отчет по лабораторной работе 3 По дисциплине- Программирование и алгоритмические языки Переменные т

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

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

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

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 6.11.2024

Министерство образования и науки, молодежи и спорта Украины

Харьковский национальный университет имени В. Н. Каразина

Факультет компьютерных наук

Отчет по лабораторной работе №3

По дисциплине: «Программирование и алгоритмические языки»

«Переменные, типы данных и операции над ними»

Выполнил: студень группы КС-11

Сарибекян Л.Н.

Проверил: преп. каф. электроники

Литвинов Д. Н.

Харьков

2012

Задание 1. При помощи оператора sizeof определите экспериментально размеры указанных ниже типов. Результаты занесите в таблицу:

Тип

Размер

int

4

unsigned int

4

char

1

unsigned char

1

float

4

double

8

short

2

long

4

long long

8

long double

8

Задание 2. Проверьте: что получится, если к максимальному значению некоторого целого типа прибавить единицу? А если вычесть единицу из минимального значения? Проведите эти эксперименты для одного типа со знаком и одного беззнакового типа.

#include <iostream>

#include <cmath>

//библиотека характеристик переменных

#include <limits>

using namespace std;

unsigned long int main () {

 //вычисления и вывод результата

cout << "long int max + 1 = " << LONG_MAX + 1 << "\n";

cout << "long int min - 1 = " << LONG_MIN - 1 << "\n";

cout << "unsigned long int max + 1 = " << ULONG_MAX + 1 << "\n";

 return 0;

}

Задание 3. Объявите три или более переменные разного размера. Узнайте их адреса. Изобразите их на иллюстрации, подобной рис. 1 (нужна только таблица, стрелочек и пояснений не надо).

#include <iostream>

using namespace std;

int main () {

 int x;

 long int y;

 short int z;

cout << "Address of x = " << &x << "\n";

cout << "Address of y = " << &y << "\n";

cout << "Address of z = " << &z << "\n";

 return 0;

}

Адреса

Ячейки

0012FF60

x

0012FF54

y

0012FF48

z

Задание 4. Определите, к какому типу относятся следующие литералы:

Литерал

Его тип

Литерал

Его тип

-2

int

2e+1

double

'E'

char

'*'

char

3.8

double

6.3e-1f

double

"E"

char*

18L

int

-10.0

double

-2F

int

"1979"

char*

-5UL

int

0x13

int

0XDEAL

int

Задание 5. Постройте дерево (для того же выражения), аналогичное приведенному на рис. 2, но в предположении, что приоритеты операций инвертированы: + и – более приоритетны, чем * и /.

h = (v0*(t + g)*t*t) / 2.0;

Задание 6. Расставьте скобки в следующих выражениях согласно приоритетов операций:

  1.  a + (b * a) - b
  2.  (x + h) > (xh)
  3.  (i >= 1) && (j < 4)
  4.  ((! x) < 2) || (x > 4)
  5.  (x) * y
  6.  (x == 0) || (((x / y) > 1) && (y != 0))
  7.  (a > b) != (b < c)
  8.  n & (2 == 0)
  9.  (a ^ (b & c)) | d
  10.  ((k + m) < j) || ((3 – j) >= k)

Задание 7. Постройте дерево разбора с указанием преобразований типов (аналогично рис. 4) для выражения из следующего фрагмента:

short days = 512;

int year = 2000 + days/365;

Задание 8. По данным социологов, из N опрошенных человек на улицах Харькова за Партию Программистов собираются голосовать M человек. Используя операцию приведения к типу double, напишите программу, которая по заданным N и M поможет социологам определить, сколько процентов респондентов собираются голосовать за Партию Программистов. Резульат представьте в виде целого числа, отбросив дробную часть. Постройте для своей программы дерево разбора выражения с указанием преобразований типов (аналогично приведенному выше).

#include <iostream>

#include <cmath>

using namespace std;

int main () {

setlocale(0,"Rus");

 int N, M;

 double res;

cout << "Введите количество всех респодентов: \n";

cin >> N;

cout << "\n";

cout << "Сколько из них будут голосовать за Партию Программистов? \n";

cin >> M;

cout << "\n";

res = ((double)(M)/N)*100;

cout << "За Партию Программистов будут голосовать " << (int)res << "% опрошенных. \n\n\n\n";

 return 0;

}

Контрольные вопросы

  1.  Какой адрес имеет правая верхняя ячейка на рис. 1?

Ответ: 12FF68.

  1.  Какое максимальное и минимальное значение имеют целочисленные типы, указанные в таблице из «задания 1» на стр. 2?

Ответ: Максимальное = 8, минимальное = 1.

  1.  Почему тип double имеет больший размер, чем float?

Ответ: Double это 64-битное число с плавающей точкой, а float - 32-битное.

  1.  Какие Вам известные другие применения символа “&” в языке C++, кроме операции взятия адреса?

Ответ: Побитовое И.

  1.  Как размеры переменных влияют на адреса их расположения в памяти?

Ответ: Битность влияет на количество занимаемых ячеек 1 бит = 1 ячейка, 8 бит = 8 ячеек и т.д.

  1.  Из каких строк таблицы 3 следует, что умножение должно выполняться раньше сложения?

Ответ: Приоритет умножения равен 11, а сложения – 10, 11>10, следовательно умножение следует выполнять раньше, чем сложение.

  1.  Почему операции логические операции (||, &&) имеют меньший приоритет, чем операции сравнения (>, == и др.)?

Ответ: Если в выражении присутствуют и логические операции и операции сравнения, то следует сперва выполнить сравнение, так как в таком случае мы получим корректный результат.

PAGE   \* MERGEFORMAT 6




1. Юрий Мушкети
2. Геологические условия юго-восточной части Московской области, района Раменское
3. Кинематический расчет привода 2
4. Реферат Політичні режими
5. ЭКОНОМИКА ЭНЕРГЕТИКИ для студентов заочного отделения по направлению- 140200 Электроэнергетика спе
6. это собранные воедино ценные бумаги и другие финансовые активы
7. ЛАБОРАТОРНА РОБОТА 33 Мета роботи- ознайомитись з первинними засобами пожежогасіння; дослідити та встанов
8. Тема- Особенности памяти детей с нарушением интеллекта старшего дошкольного возраста
9. ТЕМА- Организация лесосечных работ Пояснительная записка.html
10. Введение Делопроизводство в Древней Руси
11. Тристан и Изольда
12. а и ручкикарандаши
13. Компанія Volkswagen змінює свою стратегію
14. Политическая культура и политическая социализация
15. ДИАГНОСТИРОВАНИЕ КАРБЮРАТОРА ПО СОДЕРЖАНИЮ ОКИСИ УГЛЕРОДА В ОТРАБОТАВШИХ ГАЗАХ Цель работы- изучение осн
16. лу 3 называют флой Лагранжа
17. правовые и технические вопросы электронного документооборота в России Из статьи в Интернете- Эконом
18. Тема- Первоначальные сведения о строении вещества Строение вещества В своей жизни мы достаточно часто ст
19. Размножение
20. Вариант 1.