Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторні роботи.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
432.64 Кб
Скачать

Лабораторна робота №4

Тема: Типи даних. Оператори.

Мета: отримання практичних навичок у роботі з операторами переходу, операторами циклу мови C++.

Контрольні запитання:

  1. Описати у виді блок-схеми семантику кожного оператора циклу в C++ (з урахуванням операторів break і continue, що, можливо, містяться в тілі циклу ).

  2. Чи може бути визначене число ітерацій циклу for до початку його виконання?

  1. у Паскалі

  2. у С/C++

  1. Чи вірно вирішена задача: «знайти суму перших 100 натуральних чисел»?

a) i = 1; sum = 0;

for ( ; i <= 100; i++) sum += i;

b) sum = 0;

for ( i = 1; i <= 100;) sum += i++;

c) for ( i = 1, sum = 0; i <= 100; sum += i+, i++);

d) for ( i = 1, sum = 0; i <= 100; sum += i++);

e) for ( i = 0, sum = 0; i++, i <= 100; sum += i);

  1. Виразити семантику циклу for за допомогою циклу while. Чи еквівалентні отримані фрагменти програм?

  2. Чи Еквівалентні наступні фрагменти програми:

  1. for ( ; e2 ; ) S; і while ( e2 ) S;

  2. for ( ; ; ) S; і while (1) S;

Зауваження: тут e2 - вираз припустимого в цьому випадку типу; S - довільний оператор.

  1. Чи можна написати фрагмент програми на С++, еквівалентний даному, використовуючи один оператор циклу for з порожнім оператором як тіло циклу?

i = 0; c = getchar();

while (c != ’ ’ && c != ’\n’ && c !=’ \t’ && c != EOF)

{ i++; c = getchar(); }

  1. Порівняти семантику операторів repeat у Паскалі і do-while у C++.

  2. Чи Вірні наступні твердження:

      1. «цикл for ( ; ; ) є нескінченним циклом, і тому його використання в C++ заборонено»

      2. «семантика операторів циклу while і do-while у C++ розрізняється тільки тим, що тіло циклу while може не виконатися жодного разу, а тіло циклу do-while виконається хоча б один раз.»

      3. «кожна гілка в операторі switch повинна бути позначена однією чи кількома різними цілочисельними константами чи константними виразами»

      4. «якщо в операторі switch немає гілки default, то значення виразу вибору повинне збігатися з однієї з констант гілок case»

      5. «в операторі switch вітки case і вітку default можна розташовувати в будь-якому порядку»

    1. чи Вірно твердження: « дія оператора continue; у приведених нижче прикладах еквівалентно дії оператора go to next; ».

  1. while ( E ) { S; ... continue; ... S; next: ; }

  2. do { S; ... continue; ... S; } while ( E ); next: ; ...

  3. for ( E1; E2; E3) { S; ... continue; ... S; next: ; }

  4. while ( E) { S; ... for (E1;E2;E3) { S; ... continue; ... S; } ... S; next:; }

  5. while ( E) { S; ... for (E1;E2;E3) { S; ... continue; ... S; next: ; } ... S;}

Зауваження: тут E, E1, E2, E3 - вираз припустимого в цьому випадку типу ; S - довільний оператор; C1, C2 C3 - константи відповідного типу.

  1. чи Вірно твердження: « дія оператора break; у приведених нижче прикладах еквівалентна дії оператора go to next; ».

a) while ( E ) { S; ... break; ... S; next: ; }

b) while ( E ) { S; ... break; ... S; } next: ; ...

c) do { S; ... break; ... S; } while ( E ); next: ; ...

d) for ( E1; E2; E3) { S; ... break; ... S; next: ; }

e) while ( E) { S; ... for ( E1; E2; E3) { S; ... break; ... S; } next: ; ... S; }

f) while ( E ) { S; ... for ( E1; E2; E3) { S; ... break; ... S; } ... S; next: ; }

g) while ( E) { S; ... for ( E1; E2; E3) { S; ... break; ... S; } ... S; } next: ;

h)

Зауваження: тут E, E1, E2, E3 - вираз припустимого в цьому випадку типу; S - довільний оператор; C1, C2 C3 - константи придатного типу.

Завдання:

  1. Знайти граничні значення для цілочисельних типів. Не використовувати наперед визначені константи границь типів.

  2. Вивести на екран 2-ий та 16-вий еквіваленти цілого числа.

Завдання для індивідуального виконання:

  1. Порахувати суму ряду з точністю 0.00001 та суму перших k членів ряду. Члени ряду обчислюються за формулою згідно із Вашим варіантом. При необхідності формула може бути спрощена.

Варіант 1 Варіант 2

Варіант 3 Варіант 4

Варіант 5 Варіант 6

Варіант 7 Варіант 8

Варіант 9 Варіант 10

Варіант 11 Варіант 12

Варіант 13 Варіант 14

Варіант 15 Варіант 16