Курсовая работа: Особливості мови програмування С
1. Ознайомитися з теоретичним матеріалом роботи.
2. Перевірити свою теоретичну підготовку за контрольними питаннями.
3. Скласти програму мовою С++ розв’язання завдання з використанням вказівників. До звіту включити текст програми, блок-схему алгоритму, реакцію ЕОМ.
4. Зробити висновки.
Варіанти завдань
1 . Розробити програму перемножування двох матриць та розмірності . Обидві матриці розміщаються в оперативній пам'яті динамічно, а значення вводиться по запиті із клавіатури.
2. Розробити програму сортування (упорядочивания) матриці розмірності так, щоб елементи в кожному рядку відсортованої матриці розташовувалися по зростанню та жоден елемент в -му рядку не був більше будь-якого елемента в -му рядку. Сортування виконувати над одномірним масивом з елементів, що "накладається" на вихідну матрицю.
3. Розробити програму, що у матриці розмірності міняє місцями рядок, що містить елемент із найбільшим значенням, зі стовпцем, що містить елемент із найменшим значенням. Матриця повинна розмішатися в оперативній пам'яті динамічно, а значення вводитися по запиті із клавіатури.
4.Розробити програму обчислення значення багаточлена у цілочисленній крапці . При цьому значення коефіцієнтів уводяться із клавіатури та динамічно розміщаються в пам'яті або у формі масиву, або у формі стека.
5. Розробити програму формування стека, що містить цілі числа, і упорядочивания по зростанню елементів у цьому стеці. У процесі упорядочивания елементи стека переміщатися не повинні.
6. Розробити програму формування стека, куди міститься послідовність символів у вигляді окремих слів, що вводять із клавіатури. Кожне слово, поміщене в стек, варто вивести на екран термінала; при цьому порядок висновку символів у кожнім слові повинен бути зворотним у порівнянні з послідовністю їхнього уведення.
7. Розробити програму формування й виводу на печатку двунаправленного списку. Двунаправленный список є динамічною структурою даних і відрізняється від односпрямованого списку тим, що каждый його елемент зберігає не одне посилання (покажчик на наступний елемент), а два. З них один вказує на попередній елемент, а інший - на наступний елемент списку.
8. Розробити програму формування стека, що містить цілі позитивні числа, і його перетворення шляхом видалення з нього всіх парних чисел (у процесі перетворення стека його елементи в оперативній пам'яті переміщатися не повинні).
9. Розробити програму, що формує динамічну структуру даних для зберігання генеалогічного дерева. Кожна вершина дерева повинна містити наступну інформацію: ім'я та рік народження.
10. Розробити програму обчислення суми елементів масиву, що складає зцілих чисел. Масив повинен бути розміщений у пам'яті динамічно, а значеннявводитися із клавіатури.
Контрольні питання
1. Дайте визначення вказівника?
2. Перелічите причини без яких неможливо написати гарну програму на С++ без вказівників?
3. Приведіть загальну форму оголошення вказівника?
4. Перелічите оператори для роботи з вказівниками?
5. Що таке адресна арифметика?
6. Приведіть приклад операції порівняння вказівників?
7. Які засоби в С++ існують для звертання до елементів масиву?
8. Що таке масиви вказівників. Приведіть приклад.
9. Що таке непряма адресація?
10. Які проблеми виникають при роботі з вказівниками?
2.1.3.2 Завдання для самостійної роботи
Масиви
1. Даний масив цілих. Оформити функцію count_if, що обчислює кількість елементів в масиві, що задовольняють даній умові, передаваній як параметр (умова має бути функцією, що приймає параметр типа int і що повертає значення логічного типа).