Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб_1_метод_указания прога.doc
Скачиваний:
3
Добавлен:
03.11.2018
Размер:
301.57 Кб
Скачать

Лабораторная работа №1 Линейные и разветвленные программы

(для выполнения лабораторной работы №1 необходимо проработать материал лекций №№ 1-4 и разобрать примеры, приведенные в отдельном файле и в данной методичке)

Примеры использования арифметических операций 1

Примеры использования операций инкремента и декремента 2

Примеры использования операций отношения 3

Примеры использования поразрядных логических операций: 3

Поразрядное логическое умножение: 3

Логический сдвиг: 4

Поразрядное логическое сложение: 4

Сложение по модулю 2 (исключающее или): 4

Примеры более сложного использования поразрядных логических операций: 4

Примеры записи логических выражений: 7

Алгебраические выражения 10

Пример вычисления значения выражения 14

Примеры использования преобразования типов 15

Особенности представления чисел по двоичному основанию 19

Особенности выполнения арифметических операций над вещественными числами 19

Правила работы с данными вещественных типов 23

Замечания по программированию алгебраических выражений 24

Условный оператор 25

Оператор switch 26

Примеры использования арифметических операций

1. Операции целочисленного деления и нахождения остатка целочисленного деления применяются при необходимости выделения цифр целого числа.

Например, дано четырехзначное натуральное n (abcd). Верно ли, что это число содержит более двух одинаковых цифр?

#include <stdio.h>

#include <conio.h>

int main()

{ int n, a, b, c, d;

printf ("input n(abcd):\n");

scanf ("%i", &n);

d = n % 10;

c = n / 10 % 10;

b = n / 100 % 10;

a = n / 1000;

if (int (a == b) + int (a == c) + int (a==d) + int (b==c) + int (b==d) + int (c==d) > 1 ) printf ("> 2\n");

else printf ("<=2\n");

_getch();

return 0;

}

2. Операции целочисленного деления и нахождения остатка целочисленного деления применяются при необходимости выделения цифр дробной части вещественного числа.

Например, определить, есть ли среди первых двух цифр дробной части заданного положительного вещественного числа x=ab.cd, цифра 7.

#include <stdio.h>

#include <conio.h>

int main()

{double x;

int ix, c, d;

printf (" input x(ab.cd):\n");

scanf ("%lf", &x);

ix= static_cast<int>(x*100); //приведение типа double к int

d = ix % 10;

c = ix /10 % 10;

if ((c==7) || (d==7))

printf ("yes\n");

else printf ("no\n");

_getch();

return 0;

}

Примеры использования операций инкремента и декремента

1. . int i=2, j=0;

i++;

cout << i << endl; // 3

--i;

cout << i << endl; // 2

  1. #include <iostream.h>

#include <conio.h>

int main()

{ float x=2;

x=++x*4; cout << x << endl; // 12

x=2;

x=x++*4; cout << x << endl; // 9

x=2;

x=--x*4; cout << x << endl; // 4

x=2;

x=x--*4; cout << x << endl; // 7

_getch();

return 0;

}

3 #include <iostream.h>

#include <conio.h>

int main()

{

int var = 10;

cout << var << endl; // 10

var *= 2; // 20

cout << var-- << endl; // 20

cout << var << endl; // 19

_getch();

return 0;

}

4. При вычислении выражения k = a + (i++) – d * (--j) операции выполняются в следующей последовательности:

--j; k=a + i – d * j; i = i++;