
- •1.Питання.(Поняття та складові архітектури комп’ютера)
- •2.Питання.(Поняття архітектури набору команд. Основні групи операцій архітектури набору команд.)
- •3.Питання.(Принципи архітектури фон Неймана)
- •4.Питання(Поняття та властивості алгоритмів)
- •5.Питання(Класифікація алгоритмів)
- •6.Питання(Форми запису алгоритму. Блок-схема алгоритму)
- •7. Основні структурні елементи блок-схеми алгоритму
- •9. Мови високого і низького рівнів програмування. Асемблер.
- •11. Змінна. Ім’я і значення змінної. Правила вибору імені для змінної
- •13. Оголошення та ініціалізація змінних
- •14. Глобальна і локальна змінна. Область дії змінної. Оператор ::
- •15. Оголошення та ініціалізація константи. Типи констант
- •16. Арифметичні операції. Оператор sizeof()
- •17. Оператори відношень. Логічні оператори
- •18. Оператори інкремент/декремент. Оператори присвоєння
- •20. Унарні, бінарні та тернарні оператори. Пріоритет операцій
- •26).Оператори while,do-while
- •27). Оператор for
- •28).Оператори break,continue,go to
- •29).Оператори exit,return
- •30). Структура програми згідно процедурно-орієнтованого підходу.
- •32) Інтерфейс та виклик функції
- •33) Параметри функції
- •35)Inline-функції
- •46)Арифметика вказівників
- •47)Динамічна пам'ять. Оператори new і delete
- •48. Поняття посилання. Оголошення та ініціалізація посилання
- •49. Використання посилання у якості параметру функції
- •50. Оголошення та створення динамічного масиву
- •65)Вкладены структури даних
- •78.Поняття та оголошення об'єднання. Анонімне об'єднання
- •79. Поняття та оголошення переліку
- •80. Типи даних для роботи з датою і часом. Структура tm
- •81. Функції бібліотеки ctime
- •82. Поняття та класифікація зв'язних списків
- •84..86 Оголошення зв’язних циклів
- •91.Навігація по зв’язному списку
- •92Реалізація деструктору зв’язного списку
- •97)Реалізація деструктору стеку
- •98Поняття дерева, ключового вузла, вузлів-нащадків. Висота і глибина дерева
- •99. Основні операції над деревом
- •103. Конструктор дерева
- •104. Дестуктор дерева
32) Інтерфейс та виклик функції
Інтерфейс складається з:
1)імя або ідентифікатор функції(імя функції має бути унікальним).2)параметри функції-це набір з 0 або більше ідентифікаторів з типами які приймають вихідні значення які викликаються.
3)типи функції-визначає тип функції значення яке повторює дана функція.Тіло функції містить в собі реалізацію,тобто програмний код,для того щоб функція коректно виконувала своє призначення. Використання функції називається викликом.Виклик функції складається з імені функції,з дужок в яких міститься 0 або більше аргументів. Кількість та типи аргументів повинні співпадати з типами та кількістю параметрів функції.
33) Параметри функції
С++ підтримує два типи параметрів за значенням і за посиланням.
Параметри за значенням отримують копію аргумента. Тому якщо функція змінює параметр,це ніяк не впливає на значення елемента. void Funs int num { num=0; cout<< num<<endl;}
void main (){int x=10; Funs(x); cout<<x;}
Параметри посилання отримує аргумент і працює з ним на пряму. Якщо змінить параметр на посилання,то зміниться також аргумент.
34) Параметри функції за значенням і за посиланням
С++ підтримує два типи параметрів за значенням і за посиланням.
Параметри за значенням отримують копію аргумента. Тому якщо функція змінює параметр,це ніяк не впливає на значення елемента.
void Funs int num {num=0;cout<< num<<endl;}void main (){int x=10;Funs(x);cout<<x;}
Параметри посилання отримує аргумент і працює з ним на пряму. Якщо змінить параметр на посилання,то зміниться також аргумент.
35)Inline-функції
Замість того,щоб повторювати код обчислення в багатьох місцях програми краще створити користувацьку функцію і викликати її де потрібно. Перевагами функції є:
- читабельність програми;
- повторне використання;
Недоліками користувацької функції є те,що постійне їхнє використання знижує швидкість програми. Inline ф-ї – ф-ї в яких компілятор замінює їхні виклики на тіло ф-ї.
Пр. inline int abs(int n){
Return n>0?n:--n;}
36. Поняття та властивості рекурсії
Рекурсія – це виклик самого себе.
Рекурсивна функція – це ф-ція, яка в тілі викликає сама себе.
Рекурсивна ф-ція повинна мати принаймні одну умову для завершення, в іншому випадку ф-ція буде викликати себе до тих пір, поки не заповниться стек(пам’ять) і виведеться помилка. Як правило всі рекурсивні ф-ції використовують цикли.
37. Аргументи по замовчуванню
При виклику ф-ції ми вказуємо аргументи, які передаються в параметри ф-ції, інколи можна вказати аргумент по замовчуванню в такому випадку даний аргумент не вказується.
Приклад:
void Error (char*Msg = “Msg”, int s=0) | Error(“Msg”,0); | Error(“Msg”);| Error();
38. Структура програми згідно модульного підходу
Приклад1
//MyLibrary.h – header file with my Functions
float Add (float numb1, float numb2){
return numb1+numb2;}
float Mul (float numb1, float numb2){
return numb1*numb2;}
Приклад2
// My Applicatioin.cpp – source file of my application
#include “MyLirary.h”
void main() {
cout <<”5+2=”<<Add(5,2)<<endl;
cout <<”5*2=”<<Mul(5,2)<<endl;}
39. Поняття масиву. Індекс. Розмірність масиву
Масив складається з набору елементів одного і того ж типу, які розміщені послідовно в пам’яті.
Розмірність масиву – це к-сть елементів масиву. Вона є фіксованою і визначеною наперед.
Доступ до елементів масиву ми отримуємо через індекс.
40. Оголошення та ініціалізація масиву
int arr = [5];
за присвоєнням
int nums [3] = {5,10,15}
з нулем
int nums [3] = {5,10} // nums [2] = 0
безрозмірний
int nums [] = {5,10,15}
41. Організація доступу до елементів масиву
Отримуємо доступ до елементів за допомогою індексів.
int arr [N]; //від arr[0] до arr[N-1]
42)Оголошення та ініціалізація багатовимірного масиву
Створюємо двох вимірний масив назвою arr типом int
Int arr [][]={} в фігурних дужках заповнюємо масив елементами
43)Використання циклів для доступу до елементів масиву
Для роботи із масивами краще всього використовувати цикл for
for (int i = 0; i < n; i++){for (int j = 0; j < m; j++){ cout<<Mas[i][j]<<" ";}сout<<"\n";}
44-45)Поняття вказівника. Оголошення вказівника
Вказівник містить адресу об’єкта, що дає змогу «непрямого» доступу до цього об’єкта через вказівник. Якщо х – змінна типу int, рх – вказівник, а унарна операція & видає адресу об’єкта, то оператор рх = &х; присвоює адресу х змінній рх, тобто рх «вказує» на х. Операцію & застосовують тільки до змінних і елементів масиву, її також не можна застосовувати до регістрової змінної.
Унарна операція * розглядає свій операнд як адресу змінної і звертається за цією адресою, щоб одержати значення змінної. Отже, якщо змінна y типу int, то y = *рх; присвоює y значення того, на що вказує рх. Тому послідовність int x, y; // опис x і y
рх = &х; y = *рх; // опис вказівника
#include <iostream.h> void show_string(char *string){ while (*string != '\0') { cout << *string; string++; }}
void main(void){ show_string( "Учимся программировать на языке C++!"); }