b : w & 0xd3fb = 1010 11002Міністерство освіти і науки України Національний університет «Львівська політехніка» Інститут комп’ютерних наук та інформаційних технологій Кафедра автоматизованих систем управління Звіт до лабораторної роботи №8 з дисципліни Алгоритмізація та програмування, част. 1 на тему: “ФОРМАТНЕ ВИВЕДЕННЯ ТА ВВЕДЕННЯ ДАНИХ” Виконав: студент КН-106 Филипчук Богдан Прийняв: Кинаш Ю. Є. Львів – 2021 Лабораторна робота № 8 Варіант №30 Тема роботи: “ Форматне виведення та введення даних” Мета роботи: • практично закріпити знання про організацію форматного виведення і введення даних у С-програмах; • навчитись застосовувати специфікації виведення стандартної бібліотечної функції printf() для наочного відображення даних на екрані; • отримати навики введення числової та іншої інформації через бібліотечну функцію scanf(). Завдання лабораторної роботи Детально ознайомитися із функціональними можливостями стандартних бібліотечних функцій форматного виведення і введення даних printf() та scanf(). Розглянути структуру полів кожної із специфікацій формату і продумати, у яких випадках доцільно їх застосовувати. Проаналізувати виклик функції printf(), записаний в п. 1 індивідуального завдання. Уважно розглянути її параметри: специфікації рядка формату та вирази, значення яких виводяться на екран. Розрахувати значення кожного з цих виразів для заданих типів і значень змінних – всі розрахунки мають бути наведені в звіті. Визначити, в якій формі, з якою точністю, в яких позиціях екрану тощо відображатиметься кожне значення (у специфікаціях формату не плутати малу латинську літеру l з цифрою 1). Потім програмно реалізувати задану функцію printf() і порівняти отримані результати з прогнозованими. Якщо виявлено відмінності, то встановити їхню причину та зробити відповідні висновки. У п. 2 індивідуального завдання наведено оголошення двох змінних. Написати програму (краще дві окремі програми), в якій реалізувати різні можливі форми виведення значень цих змінних, використовуючи відповідні специфікації формату. Програма має складатися із набору (послідовності) операторів виклику printf() з різними допустимими для відповідного типу специфікаціями формату. До значень цілочислових типів треба застосувати кожну зі специфікацій: d, i, x, X, o, с з необхідними модифікаторами і можливими прапорцями. До значень дійсних типів застосувати специфікації: f, e, E, g, G, задаючи різну точність зображення чисел. Результати виведення у звіті подати парами: <специфікація> – <виведене значення> (зазначити обов’язкові пробіли перед числом або за ним). Для зручності перегляду та аналізу результатів можна встановити затримку програми наприкінці її роботи. Найпростіше це зробити через виклик функції getchar(). Написати коротку програму, в якій перевірити правильність розрахунків значень виразів з п. 2 індивідуального завдання лабораторної роботи №7. Для цього реалізувати наочне та зручне для сприйняття виведення результату– виокремити його порожніми рядками, вивести супроводжуючий текст, вибрати відповідну специфікацію формату (числову, символьну чи текстову) тощо. Значення булевих виразів найкраще спочатку вивести в шістнадцятковій формі (щоби легше було порівняти з результатами попередніх розрахунків), а потім вказати їхні десяткові значення. Значення логічних виразів можна вивести як числові, але краще доповнити їх умовною операцією і вивести відповідні текстові повідомлення. Розробити ще одну програму, в якій реалізувати виведення значення виразу, заданого в п. 3 індивідуального завдання попередньої лабораторної роботи. Оголосити необхідні змінні та організувати введення з клавіатури їхніх значень (попередньо треба вивести на екран відповідну підказку). Для введення використати функцію scanf(), вказавши коректну для типу кожної змінної специфікацію та задавши адреси змінних у списку введення. Записати функцію printf(), в якій розроблений вираз має бути елементом виведення. Рекомендації: 1) бажано, щоб окрім значення виразу в printf() виводилися також значення змінних, для яких обчислюється цей вираз (див. приклад нижче); 2) якщо вираз використовує побітові операції, то для введення даних і виведення результату найкраще використати 16-ві форми подання значень; 3) якщо вираз має дати відповідь на поставлене в умові запитання, то доцільно щоб значенням виразу був символьний рядок (див. приклад). Виконати програму для різних значень змінних, проаналізувати і записати результати. Приклад. Фрагмент програми для перевірки виразу з попередньої лабораторної роботи, який визначає менше з двох заданих дійсних чисел. printf ("\n\n З двох чисел: %.2f та %.2f менше - %s \n ", fst, scnd, fst < scnd ? "перше" : "друге ); У звіті до лабораторної роботи треба для кожного пункту записати завдання, навести відповідні розрахунки і /або тексти розроблених програм, а також результати реалізацій цих програм та зроблені висновки. Завдання 1 int c = '5', b = 0123, a = b + c - '0'; printf( "\n\t c = %-2c = %3d \n dyz = %#0.8X", c, c, a ^ a ^ |