Вимірювання часу в C++11
39 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Яка бібліотека використовується для вимірювання часу виконання в C++11?

  • chrono (correct)
  • iostream
  • algorithm
  • stdio.h
  • Для чого використовується клас Timer?

  • Для управління пам'яттю
  • Для збереження даних у файлі
  • Для створення графіка
  • Для вимірювання часу виконання коду (correct)
  • Який тип використовується для позначення високої роздільної здатності годинника?

  • std::chrono::clock
  • std::chrono::high_resolution_clock (correct)
  • chrono::fast_clock
  • chrono::high_res_clock
  • Яка функція класу Timer використовується для обчислення пройденого часу?

    <p>elapsed()</p> Signup and view all the answers

    Яка з наведених функцій не є частиною класу Timer?

    <p>get_duration()</p> Signup and view all the answers

    Як можна скинути час виконання у класі Timer?

    <p>reset()</p> Signup and view all the answers

    Яка змінна зберігає точку часу, коли об'єкт Timer був створений?

    <p>m_beg</p> Signup and view all the answers

    Що буде повернено, якщо викликати elapsed() без скидання Timer?

    <p>час виконання програми</p> Signup and view all the answers

    Яким чином можна ініціалізувати об'єкт класу Timer?

    <p>Timer();</p> Signup and view all the answers

    Який тип даних використовується для зберігання результату виконання функції elapsed()?

    <p>double</p> Signup and view all the answers

    Яка бібліотека надає функціонал потоків вводу/виводу в C++?

    <p>iostream</p> Signup and view all the answers

    Які об'єкти використовуються для простого вводу та виводу даних у C++?

    <p>cin і cout</p> Signup and view all the answers

    Яка структура представлена в ієрархії класів бібліотеки iostream?

    <p>Множинне спадкування</p> Signup and view all the answers

    Яка функція потоків у C++ найчастіше асоціюється зі словом 'stream'?

    <p>Потоки даних</p> Signup and view all the answers

    Як можна охарактеризувати потік в C++?

    <p>Послідовність символів</p> Signup and view all the answers

    Яка роль заголовкового файлу iostream у C++?

    <p>Забезпечує доступ до класів вводу/виводу.</p> Signup and view all the answers

    Який із наведених класів є частиною бібліотеки iostream?

    <p>iostream</p> Signup and view all the answers

    Чому бібліотеку iostream можна використовувати, незважаючи на множинне спадкування?

    <p>Проблеми з спадкуванням нейтралізовані.</p> Signup and view all the answers

    Який тип даних, зазвичай, представляє потік у C++?

    <p>Послідовність символів</p> Signup and view all the answers

    Який клас є батьківським класом для класу ios?

    <p>class ios_base</p> Signup and view all the answers

    Для чого використовується клас istream в C++?

    <p>Для роботи з вхідними потоками</p> Signup and view all the answers

    Який оператор використовується для вилучення значень з потоку?

    <blockquote> <blockquote> </blockquote> </blockquote> Signup and view all the answers

    Яка роль класу ostream в C++?

    <p>Для роботи з вихідними потоками</p> Signup and view all the answers

    Що відбувається, коли користувач натискає клавішу на клавіатурі?

    <p>Код клавіші надсилається до вхідного потоку</p> Signup and view all the answers

    Яке призначення оператора вставки << в C++?

    <p>Запис значень у вихідний потік</p> Signup and view all the answers

    Яка з наступних функцій не є частиною стандартного вводу/виводу в C++?

    <p>read</p> Signup and view all the answers

    Який клас зазвичай використовується програмістами для взаємодії з потоками вводу/виводу?

    <p>ios</p> Signup and view all the answers

    Яка операція в C++ стосується читання даних з потоку?

    <p>Вилучення</p> Signup and view all the answers

    Що є загальним для всіх потоків вводу/виводу в C++?

    <p>Оператори введення-виведення</p> Signup and view all the answers

    Яка основна роль вхідного потоку?

    <p>Зберігання даних, отриманих від джерела</p> Signup and view all the answers

    Яка з наведених характеристик не є властивістю вихідного потоку?

    <p>Завжди приймає дані без затримок</p> Signup and view all the answers

    Яке із зазначених пристроїв може бути джерелом як вводу, так і виводу?

    <p>Файл</p> Signup and view all the answers

    Що може статися, якщо програма записує дані в вихідний потік і пристрій виводу не готовий?

    <p>Дані зберігатимуться в вихідному потоці</p> Signup and view all the answers

    Які з наступних пристроїв є прикладами вихідного потоку?

    <p>Принтер</p> Signup and view all the answers

    Який з описаних сценаріїв найкраще ілюструє роботу вхідного потоку?

    <p>Користувач натискає клавішу на клавіатурі під час виконання програми</p> Signup and view all the answers

    Яка з цих визначень найкраще описує потік вводу?

    <p>Механізм збору даних з джерел</p> Signup and view all the answers

    Що відбувається з даними у вихідному потоці, якщо пристрій виводу зайнятий?

    <p>Дані виводяться в чергу до завершення обробки</p> Signup and view all the answers

    Який з цих варіантів не є джерелом вхідного потоку?

    <p>Монітор</p> Signup and view all the answers

    Яка з наступних характеристик є спільною для потоків вводу та виводу?

    <p>Обидва можуть обробляти необмежені обсяги даних</p> Signup and view all the answers

    Study Notes

    ### Вимірювання часу виконання коду

    • Для визначення ефективності двох функцій з однаковим кінцевим результатом, можна засікти час їхнього виконання.
    • В C++11 для цього використовується бібліотека chrono.
    • Для зручності використання функцій з std::chrono можна створити клас Timer.
    • Клас Timer використовує псевдоніми типів для зручного доступу до вкладених типів: clock_t для високоточного годинника std::chrono::high_resolution_clock, second_t для тривалості std::chrono::duration.
    • Конструктор класу Timer ініціалізує приватний член m_beg поточним часом за допомогою clock_t::now().
    • Метод reset() скидає значення m_beg до поточного часу.
    • Метод elapsed() повертає тривалість часу в секундах, яка минула з моменту ініціалізації або останнього скидання m_beg, використовуючи std::chrono::duration_cast.
    • Щоб використовувати клас Timer необхідно створити об'єкт цього класу.

    Вступ до потоків вводу-виводу

    • Функціонал вводу-виводу в C++ не вбудовано в мову, а надається Стандартною бібліотекою C++, зокрема в просторі імен std.
    • Бібліотека iostream надає всі необхідні класи та функції для роботи з вводом-виводом даних.

    Ієрархія класів бібліотеки iostream

    • Бібліотека iostream містить ієрархію класів, що відповідають за введення та вивід.
    • Серед цих класів – клас iostream.
    • Ієрархія класів iostream розглядає множинне спадкування, але добре розроблена та протестована, щоб уникнути проблем, пов'язаних з ним.

    Потоки в C++

    • Основний механізм вводу-виводу в C++ – потоки.
    • Потік – послідовність символів, до якої можна отримати доступ.
    • Потоки можуть бути вводильними або виводильними.

    Вводильний потік

    • Зберігає дані, отримані від джерела даних (клавіатура, файл, мережа).
    • Приклад: якщо користувач натискає клавішу, поки програма не очікує вводу, символ потрапляє у вводильний потік.

    Виводильний потік

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

    Клас ios

    • є дочірнім класом ios_base.
    • Визначає загальні характеристики потоків вводу-виводу.

    Клас istream

    • Працює з вводильними потоками.
    • Оператор вилучення >> витягує значення з потоку.

    Клас ostream

    • Працює з виводильними потоками.
    • Оператор вставки << вставляє значення в потік.

    Деякі приклади роботи з потоками

    • cin – це стандартний об’єкт класу istream, пов'язаний з вводильним потоком від клавіатури.
    • cout – це стандартний об’єкт класу ostream, пов'язаний з виводильним потоком на екран.
    • Приклад: int nAge; cin >> nAge; (зчитується ціле число з вводу і зберігається в змінній nAge).

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Description

    Цей тест призначений для перевірки знань про вимірювання часу виконання коду в C++11 за допомогою бібліотеки chrono. Ви дізнаєтеся, як створити клас Timer, що дозволяє ефективно відстежувати час виконання функцій. Пройдіть тест, щоб перевірити свої навички в цій темі.

    More Like This

    Use Quizgecko on...
    Browser
    Browser