Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний університет „Львівська політехніка”
Кафедра електронних
обчислювальних машин
Звіт
про виконання лабораторної роботи № 3
з курсу „ Засоби системного програмування ”
Тема:
Стандартні засоби вводу - виводу.
Виконав:
студент групи КІ-2
Львів – 2004
Мета роботи: Закріпити теоретичні знання та оволодіти практичними навиками вводу / виводу даних в програму. Засвоїти методику роботи з стандартними функціями вводу – виводу бібліотеки Сі.
Завдання на лабораторну роботу
Розробити програмне забезпечення, яке б вирішувало задачу відповідно до заданого варіанту. При вирішенні задач забезпечити дружній інтерфейс з користувачем.
Варіант 23. Ввести зі стандартного пристрою вводу довільне число. Обчислити п’ять перших цілих степеней цього числа використовуючи мінімальне число множень. Вивести на стандартний пристрій виводу число та його степені у цілочисельних десятковому, вісімковому і шіснадцятковому форматах та у форматі з плаваючою комою. Дані подати таблицею де степені числа розміщені в стовпець а формати представлення в рядок. При виконанні завдання використовувати функції scanf(), sprintf() та puts().
Теоретична частина
Для вводу даних в даній лабораторній роботі я використовував функцію scanf(). Вигляд її оголошення :
int scanf ( const char *format [, address, ...]);
Для виводу даних було поєднано роботу функцій sprintf() та puts().
Функція sprintf() зберігає дані для виводу в символьному рядку. Вигляд її оголошення :
int sprintf (char *buffer, const char *format [, argument, ...]);
Функція puts() виводить на екран рядкову константу, яка є аргументом функції. Вигляд її оголошення :
int puts(const char *s);
Аналіз завдання та опис алгоритму вирішення задачі
Для збереження і виводу п’яти перших цілих степеней введеного числа у цілочисельних форматах та у форматі з плаваючою крапкою використовуємо два окремих масиви. Для того, щоб використати мінімальне число множень, для обчислення кожного наступного степеня використовуємо обчислені раніше менші степені числа, за рахунок чого для обчислення п’яти степеней ми використовуємо 5 операцій множення.
Текст програми
#include <stdio.h>
int main(void)
{
char buffer[80];
float f[5];
int j;
int i[5];
printf("Input any number (Bвeдiть бyдь-якe чиcлo): ");
scanf("%f",&f[0]); // 1
f[1]=f[0]*f[0]; // 2
f[2]=f[1]*f[0]; // 3
f[3]=f[1]*f[1]; // 4
f[4]=f[2]*f[1]; // 5
for (j=0; j<5; j++) i[j]=f[j];
printf("╔═════╦═════════════════════════════════════╦════════════════════════════════╗\n");
printf("║ ║ Integer ║ Floating point ║\n");
printf("║Power║ decimal ║ octadecimal║ hexadecimal║ floating point ║ exponential ║\n");
printf("╠═════╬═══════════╬════════════╬════════════╬══════════════════╬═════════════╣\n");
for (j=0; j<5; j++)
{sprintf(buffer,"║ ► %1d ║%11d║%#12o║%#12x║%18.3f║%13.3e║",j+1,i[j],i[j],i[j],f[j],f[j]);
puts(buffer);}
printf("╚═════╩═══════════╩════════════╩════════════╩══════════════════╩═════════════╝\n");
getchar(); getchar();
return 0;
}
Опис результатів тестування
Результати тестування програми для введеного числа 7.53 :
Input any number (Bвeдiть бyдь-якe чиcлo): 7.53
╔═════╦═════════════════════════════════════╦════════════════════════════════╗
║ ║ Integer ║ Floating point ║
║Power║ decimal ║ octadecimal║ hexadecimal║ floating point ║ exponential ║
╠═════╬═══════════╬════════════╬════════════╬══════════════════╬═════════════╣
║ ► 1 ║ 7║ 07║ 0x7║ 7.530║ 7.530e+00║
║ ► 2 ║ 56║ 070║ 0x38║ 56.701║ 5.670e+01║
║ ► 3 ║ 426║ 0652║ 0x1aa║ 426.958║ 4.270e+02║
║ ► 4 ║ 3214║ 06216║ 0xc8e║ 3214.993║ 3.215e+03║
║ ► 5 ║ 24208║ 057220║ 0x5e90║ 24208.895║ 2.421e+04║
╚═════╩═══════════╩════════════╩════════════╩══════════════════╩═════════════╝
Висновок: Виконуючи дану лабораторну роботу, я закріпив теоретичні знання та оволодів практичними навиками вводу / виводу даних в програму. Під час розробки програми я засвоїв методику роботи зі стандартними функціями вводу / виводу бібліотеки Сі та застосування різних форматів вводу / виводу.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!