
- •Дослідження програмних об'єктів напередвизначених типів та операцій над ними
- •Опис програмних об’єктів
- •Ініціалізація змінних при створенні
- •Оператор привласнення
- •Загальна спрощена структура програми
- •Методичні вказівки Правила складання ідентифікаторів
- •Правила опису об’єктів у програмі
- •Частина 1 дослідження цілих типів даних
- •Завдання
- •Частина 2 дослідження дійсних типів даних
- •Завдання
- •Частина 3 дослідження арифметичних операцій над значеннями цілих та дійсних типів
- •Завдання
- •Частина 4 дослідження бітових операцій над цілими значеннями
- •Бітові операції
- •Завдання
- •Частина 5 дослідження логічних типів, логічних операцій та операцій відношення
- •Завдання
- •Частина 6 дослідження вказівних типів даних
- •Завдання
- •Частина 7 дослідження символьних типів та базової операції – атрибут
- •Завдання
- •Лабораторна робота 2
- •Дослідження структурних операторів операторного
- •Базису мов програмування паскаль та сі
- •Мета лабораторної роботи - вивчити устрій структурних операторів мов Паскаль та Сі та та використати їх при дослідженні адресної арифметики.
- •Теоретичні відомості
- •Адресна арифметика в Сі
- •Правила написання програм
- •Завдання
- •Лабораторна робота 3
- •Частина 2 багатовимірні масиви
- •Лабораторна робота 4 дослідження пойменованого типу даних
- •Лабораторна робота 5
- •Завдання
- •Контрольні запитання
- •Лабораторна робота 6 дослідження механізму підпрограм Мета лабораторної роботи - вивчити в мовах Паскаль та Сі опис та використання відкритих і закритих підпрограм.
- •Inline- підпрограми Сі:
- •Контрольні запитання
- •Контрольна робота дослідження використання підпрограм в лінійних структурах даних
- •Контрольні запитання
- •Напередвизначені типи
- •Знак Число без знаку
- •Знак e
- •Список літератури
- •С. Робинсон и др. С# для профессионалов. Т 1,2. – м.: Лори, 2003. – 995с.
Адресна арифметика в Сі
Типізовані покажчики мови С дозволяють виконувати з ними наступні операції:
додавання цілого літералу;
віднімання цілого літералу;
віднімання вмісту покажчика від вмісту іншого покажчика;
порівняння покажчиків.
Адресна арифметика мови С є механізмом, який забезпечує створення та доступ до індексованої послідовності значень за допомогою покажчиків відповідного типу.
Приклад:
int * pIntSq ; // оголошення покажчика на ціле
pIntSq = new int [10]; // захоплення пам’яті в «купі» для
// зберігання десяти цілих значень
for ( i = 0; i < 10; i ++ )
{
* ( pIntSq + i ) = i + 1; // створення послідовності 1 .. 10
}
delete [] pIntSq; // звільнення пам’яті в «купі»
Елементи індексованої послідовності значень розташовуються у певному безперервному просторі пам’яті. Наприклад, вираз *(pIntSq + 1) забезпечує доступ до другого елементу послідовності (третя адресна комірка після той, на яку вказує покажчик “pIntSq”).
Правила написання програм
При написанні складених операторів розташовуйте операторні дужки та оператори, які входять у складений, в окремих рядках програми, розміщуючи вміст складеного оператора всередину операторних дужок.
При написанні операторів вибору розташовуйте частини “then” і “else” окремо, розміщуючи їхній вміст окремо, кожний оператор на окремому рядку програми.
Розташовуйте кожний оператор у варіанті вибору (охоронна форма) на окремому рядку.
При написанні операторів повторення (циклу) розташовуйте тіло циклу окремо від заголовку, а в тілі циклу кожний оператор розташовуйте на окремому рядку.
Не використовуйте, якщо не потрібно, дужок складеного оператора.
Не ставте однакових операторів у гілці операторів вибору.
Не використовуйте охоронну форму оператора вибору, замінюйте її альтернативною.
Не пишіть вироджених циклів, таких що не виконуються ані разу або можуть бути замінені явним повторенням (вибором).
Не вводьте у цикл операторів, не зв'язаних з повторенням.
Завдання
Написати програму на мові Сі, яка складається з наступних дій:
Створення числової послідовності згідно з варіантом (табл. 12) шляхом використання адресної арифметики.
Обробка послідовності згідно з варіантом (табл. 12).
Таблиця 12
№ варіанта |
Тип даних |
Кількість елементів |
Вираз для обчислення елементу послідовності |
Знайти |
||
парного |
непарного |
|||||
1 |
Дійсний |
10 |
i + 5.8 |
i – 2.0 |
Мінімальний елемент |
|
2 |
Цілий |
12 |
2 * i + 4 |
7 * i - 3 |
Максимальний Елемент |
|
3 |
Дійсний |
5 |
i + 1.0 |
10 / i + 2.0 |
Добуток елементів |
|
4 |
Цілий |
7 |
i * i + 1 |
i – 8 |
Суму елементів |
|
5 |
Дійсний |
6 |
15.5 - i |
7.2 + i |
Суму елементів, значення яких більше 10 |
|
6 |
Цілий |
10 |
i + 5 |
i – 5 |
Середнє арифметичне Елементів |
|
7 |
Дійсний |
9 |
-6.2 + i |
i + 5.1 |
Суму елементів, значення яких менше 4.0 |
|
8 |
Цілий |
11 |
i + 5 |
2 * i + 3 |
Добуток елементів, значення яких більше 15 |
|
9 |
Дійсний |
8 |
1.5 - i |
7.3 - i |
Суму додатних елементів |
|
10 |
Цілий |
6 |
23 + i |
25 - i |
Добуток елементів, значення яких менше 24 |
|
11 |
Дійсний |
7 |
6 * i - 9 |
-9 / i |
Суму від’ємних елементів |
|
11 |
Дійсний |
7 |
6 * i - 9 |
-9 / i |
Суму від’ємних елементів |
|
12 |
Цілий |
8 |
2 * i - 44 |
i -3 |
Добуток додатних елементів |
|
13 |
Дійсний |
9 |
2.3 + i |
4.6 – i |
Середнє арифметичне додатних елементів |
|
14 |
Цілий |
11 |
i - 7 |
7 + i |
Середнє арифметичне від’ємних елементів |
|
15 |
Дійсний |
10 |
15.68 + 3 * i |
15.68 – 3 * i |
Кількість додатних елементів |
Примітка: при обчисленні виразу позначка і відповідає індексу елемента послідовності.
Контрольні питання
Як здійснюється подання адресних значень?
Які існують операції адресної арифметики?
Література: [1]; [6]; [7].