Основи C ++

Infopulse University Ukraine

Опис програми

Прочитайте офіційний опис

Основи C ++

Infopulse University Ukraine

зміст курсу

Основні поняття:

  • Що таке комп'ютер, команда комп'ютер, додаток і мову програмування? Еволюція цих понять.
  • Комп'ютерне виконання програми детальний аналіз: опис ролі операційної системи, драйверів, процесора, пам'яті, шини, клавіатура, миша і інші компоненти
  • Відмінності між високим і низьким рівнем мов програмування (машинний код, Assembler, C, C ++, Java, SQL, HTML).
  • Як почати писати програму. Текстовий редактор, компілятор, компонувальник.
  • Іди (інтегровані середовища розробки).

Починаємо:

  • Пояснення попереднього програмного коду рядка за рядком.
  • Препроцесор - запис програми пункт.
  • Вводячи правила першого кодування. Помилки, як мати справу з ними.
  • Типи даних (розмір, діапазон), оголошення змінних. Правила присвоєння імен, читаність коду і хороший стиль кодування.
  • Стек (LIFO черзі). видимість змінних і тривалість життя. Глобальні і локальні змінні. Поганий стиль кодування - використання глобальних змінних. Видимість оператор продовження "::".
  • Змінні і константи, різниця між ініціалізації і присвоювання.
  • Binary, десяткові і шістнадцяткові формати.

    Практика:

    • "Привіт Світ!" Програма.
    • Як отримати дані з призначеного для користувача введення і показати його. Діалог користувача.

    Перші інструменти:

    • Поняття оператора, вирази і інструкції. Правильне значення використання термінології для успішної співбесіди проходження.
    • Арифметичні оператори, оператори порівняння і правила їх використання. Підпис і беззнакових типів. Явні і неявні приведення типу. Післяродовий і предінкремента. Пріоритет і асоціативність. Умовні оператори (якщо, в іншому випадку), тернарний оператор, перемикач (провалиться концепції).
    • Петлі: для, в той час як, робити під час. Вкладені цикли (I, J, K встановлені лічильники на замовлення).
    • Налагодження: Як відстежувати виконання програми, контрольні точки, F5, F10, годинник.

    Практика:

    • Кілька питань з інтерв'ю.
    • Простий калькулятор. Вивчити можливість обробляти будь користувальницький введення.
    • Як зменшити кількість можливих помилок. Перша концепція дизайну крос-платформних додатків.
    • Форми малюнок: заповнені, порожній, з товщиною визначеними межами, прямокутників, трикутників, ромба.
    • Як для відображення тексту в середині прямокутника. позиціонування екрану
    • Кілька форм поспіль.
    • Прості анімації (рухомі фігури), Геч (), перший інструмент для отримання необхідної інформації.
    • Знайти і обробляти конкретні числа в діапазоні.
    • Перша програма «Малювання», яка могла б працювати вічним; він повинен показати меню, малювати будь-яку форму за вибором користувача або припинити.

    Масиви, покажчики, посилання, алгоритми:

    • Стек на основі масиву, його розмір, індекс, SizeOf () оператор, ініціалізація масиву.
    • Покажчики, як же iArray [я] вираз насправді працює, що означає тип покажчика для компілятора. Динамічний розподіл пам'яті, купа, новий, видалити, видалити [] оператори. Всі покажчики, пов'язані нюанси: неініціалізовані покажчики, вішали (забуті) покажчики, витоку пам'яті (і інструменти для його виявлення). Покажчик на все - порожнеча *.
    • Список літератури, відмінності між ними і покажчиками.
    • Сортування, пошук і алгоритми порівняння, їх продуктивність. Профайлер. Узагальнення і помилок під час виконання.
    • Динамічні масиви (які можуть змінити розмір під час виконання). Багатовимірні масиви. -

    Практика:

    • Алгоритми: пошук, пошук мінімальне значення, максимальне значення, число пунктів, сума, середнє.
    • Більш складні алгоритми: працювати з багатовимірними масивами, створення гістограми, обертання матриці. Як дивитися вперед від поточної позиції в масиві.
    • Кілька алгоритми сортування з аналізом їх виконання.
    • Перша гра: хрестики-нулики. Опис: Користувач матиме можливість вибрати '0' або 'S х'-и і встановити, скільки раундів, щоб грати. Програма повинна визначити переможця поточного раунду і зберегти загальну кількість перемог, нічиїх і поразок.
    • Програма також повинна бути захищена від помилок користувача (з поясненням їх), мають хороше зручність і інтерфейс. Додатково: використовувати колір для виведення тексту.

    функції:

    • Навіщо нам потрібні в функціях?
    • Передача аргументів функції за значенням, за адресою та за посиланням.
    • Перший погляд на адресний простір програми та формат файлу, вартість виклику функції.
    • Функції перевантаження, параметри за замовчуванням.
    • Рекурсія, стек викликів, переповнення стека, переповнення цілого.
    • Покажчики і модифікатор сопз: різниця між постійним покажчиком і покажчиком на константу.
    • Хороший стиль кодування. Чому це так важливо.

    Практика:

    • Алгоритм вимірювання продуктивності. Як отримати розумну точність.
    • Деякі завдання з інтерв'ю (використання рекурсії).
    • Перепишіть Tick_tack-сходження, калькулятор і додатках для малювання за допомогою функцій.

    рядки:

    • Консольний додаток, буферна система і переривання клавіатури.
    • Функції бібліотеки: зЬгстр, StrLen, strtok_s, strstr.
    • Як відформатувати висновок тексту (в С і C ++), cin.getline.
    • вугілля і wchar_t, нульовий завершена рядок. Динамічний масив рядків.

    Практика:

    • Створення допоміжної функції для захисту вашої програми від декількох невдалих спроб ввести користувача:
    • запобігти введення символів замість цифр;
    • запобігти введення більшої кількості символів, ніж ємність буфера;
    • будьте готові до дуже великий введення тексту
    • Скільки разів дане слово, присутній в реченні?
    • Користувач вводить будь-яку кількість пропозицій, додаток аналізує їх, створює масив слів з цих пропозицій, підраховує число слів від простої, знаходить найдовший і найкоротший, сортує слова по довжині і за алфавітом.
    • Створення "прокрутка тексту рядка" додаток з можливістю призупинити цикл і оновити зміст.
    • Додатково: Реалізувати алгоритм перенесення слів.

    Бітові операції:

    • Оператори &, |, ^, ~ ,, !. -

    Практика:

    • Зберігати в одне ціле число змінних чотирьох чисел з різних діапазонів (0-5, 0-100, 10-60, 100- 40000).
    • Показати бінарне представлення цілого значення
    • Що найбільше число може бути збережено в 1 байт?
    • Підніміть 2 певною мірою 200.
    • Список всіх логічних дисках комп'ютера.
    • Шифрування і розшифрування введеного тексту.

    Структури, перерахувань, союзи, бітові поля:

    • Які певні користувачем типи. Відмінності між С і С ++. Перше знайомство з об'єктно-орієнтованого програмування.
    • Універсальне сховище для кожного типу даних.
    • перерахування в якості компактної декларації відповідних констант.

    Практика:

    • Як використовувати профспілки, щоб відправляти і отримувати дані будь-якого типу.
    • Розробка програми "Студенти" для зберігання та обробки персональних даних. "Студентська" структура (сховище даних) повинні мати такі поля: ім'я, прізвище, вік, 5 балів (масив), середній бал. Реалізація простих операцій з масивом об'єктів: пошук, сортування, додавати, видаляти, редагувати. Створити алгоритм автоматичної ініціалізації масиву структур (в тому числі імена). Ви вступите розмір масиву з клавіатури. Розширений завдання: сортувати і відображати дані за допомогою покажчиків на структури, а не сам об'єкти.

    Директиви препроцесора:

    • Як і де повинні бути визначені критичні обмеження, константи.
    • Як включати в себе модулі компіляції з одних і тих же або різних місцях, запобігають включення файлу в кілька разів.
    • Класи пам'яті: ехЬегп, статичні, регістр, авто.
    • Статичні змінні у функціях і файлах.
    • Умовна компіляція. Крос платформи.
    • Використання # і ## операторів в налагодженні.
    • Макроси: як написати макрос, за і проти, і як писати зручні модульні тести.

    Практика:

    • Створіть кілька * .h і * .cpp файли і зв'язати їх правильно.
    • Написати макрос для оцінки ефективності будь-якої заяви.

    файли:

    • Роль операційної системи, драйверів і застосування в операціях введення-виведення, обліку посилань, режимів роботи файлу.
    • Які типи помилок, пов'язаних файлів повинні бути перевірені в додатку виробництва.
    • Читання, запис і операції позиціонування. Розмір файлу і формат. Буферізованние висновок.
    • Відмінності між текстовими та бінарними режимів відкриття файлу. Який з них слід використовувати.

    Практика:

    • Як досліджувати вміст диски і папки.
    • Як скопіювати великий файл.
    • Запис в файл зашифровані дані будь-якого формату. Прочитайте його, розшифрувати і показати.
    • Створити додаток, як нагадування (щоденник, органайзер). Опис: Користувач вводить деяку інформацію і встановлює час, щоб нагадати про це. Після того, як користувач запускає цю програму, він перевіряє поточну дату і час, переглядає всі записи, що зберігаються у файлі. Якщо є щось, щоб нагадати в цей час він відображає повідомлення з нагадуванням.

    Курсовий проект:

    • Простий файловий менеджер, який може шукати і відображати вміст кожного файлу (як це, без визнання формату файлу), а також редагувати певні файли. Студент повинен розробити свій власний формат файлу для зберігання і обробки даних - великий масив структур Student '(див опис вище на практиці секції з структур).
    • Додатково складності: Додати поле "досвід" в структурі "Student" (масив символів в купі) і його довжини. Не всі студенти мають досвід, він повинен ускладнити формат файлу.
    • Програма повинна мати дружній призначений для користувача інтерфейс і працювати в двох режимах:
    • Створіть файл і знайти його в файлової системі.
    • відкриття, читання, додавати або видаляти записи, редагувати, сортувати дані, засновані на їх різних критеріїв, заданих користувачем.
    • Робота в будь-якому режимі, користувач повинен мати можливість бачити контекстне меню. App повинен бути захищений від будь-яких помилок користувачів і не мають будь-яких витоків пам'яті (купи пам'яті, дескрипторів).

    C ++ розширений

    Тривалість курсу: 120 годин Покажчики на функції:

    • Використання функціональних покажчиків, як пошук і порівняння критеріїв, які можуть бути передані в якості аргументів для пошуку або сортування алгоритмів. Предикати.
    • Адаптація функціональних можливостей існуючого інтерфейсу, наприклад: сортувати будь масиви, використовуючи функцію qsort_s. Функції зворотного виклику, ЬурейеЕ.
    • Як розширити функціональні можливості програми без перекомпіляції. Вартість додаткової роботи QA.

    Практика:

    • Сортування 'студентів' (див базову практику курсу) за кількома критеріями, отримані під час виконання.
    • Переписати 'Калькулятор' додаток, використовуючи масив покажчиків на функції.

    Шаблон функції:

    • Тип виведення, і приведення аргументів функції, функції шаблону перевантаженням.
    • Параметри Non-типу.

    Практика:

    • Розробка додаток, яке сортує масиви INTS, символів і парному розряді з використанням функцій шаблону.
    Функції зі змінним (не визначено) числом параметрів:
    • Роль першого параметра, специфікаторів формату, va_list.
    Практика:
    • Розробка "міні-PRINTF" функцію.

    Класи (базові поняття):

    • Філософія дизайну класу і використання.
    • Конструктори, деструктори, перевантажені конструктори, інтерфейс класу як набір правил для роботи з ним ...
    • Як відстежити всі виклики функцій класу в програмі.
    • За замовчуванням функція класу функціональності і як вивести його з ладу.
    • Склад: агрегація і знайомство, діаграма взаємодії, UML.
    • Правило ініціалізації. Як працювати з ресурсами. це, державні, приватні.
    • Препроцесор #ifndef і залежить від компілятора директиви #pragma. Що таке стандарт C ++; Клас А має об'єкт класу B, але клас має покажчик на A - як вирішити цю проблему. Друзі: Як функція або клас може стати друзями для іншого класу. Відносини між «друзями».

    Практика:

    • Розробка масиву і Line класів.
    • Ще один інструмент: клас BackUp, який може бути використаний будь-яким клієнтом, щоб безпечно переписати будь-який файл, і безпечно витягувати дані (проксі між клієнтом і файлом);

    Конструктор копіювання і оператор перевантаження:

    • Коли вам потрібні ці інструменти? Поверхневе і глибоке копіювання.
    • Як скопіювати об'єкт, який має інший об'єкт всередині.
    • Явні конструктори.
    • Вбудовані і визначені користувачем типи даних. Перевантаження операторів правила.

    Практика:

    • Перевантаження +, =,
    В цьому навчальному закладі пропонуються освітні програми за наступними напрямками:
    • англійська


    Останнє оновлення May 2, 2017
    Тривалість і ціна
    Цей курс Онлайн навчання
    Start Date
    Дата початку
    Жовтень. 2017
    Duration
    Тривалість
    60 Часів
    Price
    Вартість
    720 USD
    Locations
    Україна - Kiev
    Дата початку: Жовтень. 2017
    Кінець терміну надання заяв інформація
    Дата закінчення інформація
    Dates
    Жовтень. 2017
    Україна - Kiev
    Кінець терміну надання заяв інформація
    Дата закінчення інформація
    Price
    24 сеансів, 2,5 години, 2 рази на тиждень