Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Лабораторна робота 4 Знайомство з середовищем програмування мовою С

Работа добавлена на сайт samzan.net:


Лабораторна робота 4

Знайомство з середовищем програмування мовою С. Структура програми. Базові типи даних. Введення та виведення інформації.

1. Мета роботи

     Метою лабораторної роботи є здобуття практичних навичок в роботі з типами даних в мові C і у використанні функцій стандартного введення-виведення.

1.1. Загальний метод рішення

У таблиці, що приведена в індивідуальному завданні, перший рядок - загальний заголовок таблиці, другий - заголовки стовпців таблиці. Фактичні дані складають третій, четвертий і п'ятий рядки. Шостий рядок - примітки.

Програма повинна починатися з введення фактичних даних. Для зручності користувача перед введенням на екран повинно виводитися запрошення, в якому перераховуються дані для введення. За одне запрошення-введення вводитиметься один рядок фактичних даних таблиці. Тобто, запрошення-введення повинно повторюватися тричі. Введені дані будуть збережені в змінних програми.

На другому етапі програма виконує виведення даних на екран. Кожен рядок таблиці може виводитися одним оператором виведення. Серед рядків, які виводяться, будуть рядки без змінних значень (заголовки і лінії) і рядки із змінними значеннями (рядки з фактичними даними). 

Для формування наочного табличного вигляду можна застосовувати символи ''|'' і ''-''.

Визначення змінних є першим і найголовнішим завданням нашої програми. Для кожної змінної потрібно підібрати такий тип, який би забезпечував представлення в пам'яті її значення з достатнім діапазоном і достатньою точністю.

Назва санаторію. У всіх фактичних значеннях цей стовпець є символьним рядком з 8 символів. Тобто для представлення його в пам'яті змінні, в яких зберігаються значення цього стовпця, мають бути оголошені як:

char name1[9], name2[9], name3[9];

додатковий символ резервується для позначення кінця символьного рядка.

 Номер підпорядкування санаторію. Ці дані є одним символом. Їх оголошення:

char sch1, sch2, sch3;

 Кількість відпочиваючих. Ці дані є цілими числами в діапазоні 10 - 220. Цей діапазон перекривається діапазоном можливих значень типа unsigned short (діапазон цього типа: 0 - 255). Тобто оголошення відповідних змінних: unsigned short cnt1, cnt2, cnt3;

Площа території. Це число з дробовою частиною, отже, відповідні змінні мають бути змінними з плаваючою крапкою. Точність даних – всього один знак після крапки, тому для їх представлення буде досить типу float: float sq1, sq2, sq3;

Починаємо розробку тексту програми із заголовка головної функції main(): int main(void) Далі відкривається тіло функції і в неї включається опис змінних. Кодова частина програми починається із запрошення - виведення рядка-константи:

printf("1. Введіть: назву, номер, кількість, площу >");

за яким зчитуються дані, що вводяться оператором:

scanf("%s %c %d %f",name1, &sc1, &cnt1, &sq1);

Оскільки описи цих функцій зберігаються у файлі stdio.h, включаємо цей файл в початок програми:#include <stdio.h>

При введенні рядок вводиться по специфікації типа %s, один символ - по специфікації типа %c, ціле число - по специфікації типа %d, число з плаваючою крапкою - по специфікації типа %f. Специфікації розділяються пропусками, тобто і дані при введенні повинні розділятися пропусками або переходом на новий рядок. У списку введення перед всіма елементами крім того, який вводиться по %s, ставиться знак &.

     Запрошення-введення повторюється тричі, з різними змінними в списку введення.

      Для формування виводу слід підрахувати ширину кожного стовпця. Ширина першого стовпця визначається розміром фактичних даних в рядку - 9 символьних місць, з врахуванням пропусків на початку і в кінці - 11. Ширина останніх стовпців визначається шириною тексту в заголовках стовпців. Слід враховувати вертикальні лінії.

      У кожному рядку виводяться значення набору змінних для одного рядка. Наприклад:

printf("| %9s | %c   | %5d     |   %5.1f    |\n", name1, sc1, cnt1, sq1);

      Значення назви виводяться по специфікації типу %s з шириною 9. Значення номеру виводяться по специфікації типу %c. Значення кількості виводяться по специфікації типа %d з шириною 5, а площа - %f із загальною шириною 5 і одним знаком після крапки. Значення в цих стовпцях доповнюються до потрібної ширини пропусками.

Текст програми наведено нижче.

/*****************************************************/

/*           Лабораторна  робота 6                   */

/*          Типи даних та введенняиведення         */                                                                                               

/*****************************************************/

/*****************************************************/

/*           Лабораторна  робота 6                   */

/*          Типи даних та введення-виведення         */

/*****************************************************/

#include <stdio.h>

#include <conio.h>

int main(void) {

char name1[9], name2[9], name3[9];

char sc1, sc2, sc3;

unsigned short cnt1, cnt2, cnt3;

float sq1, sq2, sq3;

/* Введення фактичних даних*/

 printf("1. Введіть: назву, номер, кількість, площу>");

 scanf("%s %c %d %f",name1, &sc1, &cnt1, &sq1);

printf("2. Введіть: назву, номер, кількість, площу>");

 scanf("%s %c %d %f",name2, &sc2, &cnt2, &sq2);

printf("3. Введіть: назву, номер, кількість, площу>");

 scanf("%s %c %d %f",name3, &sc3, &cnt3, &sq3);

 /* Виведення таблиці */

/* виведення заголовків */

 printf("--------------------------------------------\n");

 printf("|             Санаторії України            |\n");

 printf("|------------------------------------------|\n");

 printf("| Назва     |Номер| Кількість |Площа землі |\n");

 printf("|           |     | відпочив. |    (га)    |\n");

 printf("|-----------|-----|-----------|------------|\n");

/* виведення рядків фактичних даних */

 printf("| %9s | %c   | %5d     |   %5.1f    |\n", name1, sc1, cnt1, sq1);

 printf("| %9s | %c   | %5d     |   %5.1f    |\n", name2, sc2, cnt2, sq2);

printf("| %9s | %c   | %5d     |   %5.1f    |\n", name3, sc3, cnt3, sq3);

/* виведення приміток */

printf("|------------------------------------------|\n");

printf("| Примітка: Номери 1 - Крим; 2 - Карпати;  |\n");

printf("|             3 - інші                     |\n");

printf("-------------------------------------------|\n");

getch();

 return 0;

}

При виконанні лабораторної роботи вивчені питання:

типи даних в мові C, оголошення змінних в програмі  

введення і виведення даних, форматізациі виводу.

Базові типи даних мови С

Назва типу

Пояснення

Діапазон значень

Short

Коротке ціле число

-128 . . . 127

unsigned short

Коротке ціле число без знака

0 . . . 255

int

Ціле число

-32768 . . . 32767

unsigned int

Ціле число

0 . . . 65535

long

Довге ціле число

-230 . . . 230-1

unsigned long

Довге ціле число без знака

0 . . . 231-1

char

Один символ

символы кода ASCII

char[ ]

Рядок

float

Число з плаваючою крапкою

3.4 10-38 . . . 3.4 10+38

double

Число з плаваючою крапкою подвійної точності

1.7 10-308 . . . 1.7 10+308

Завдання:

Розробити програму, яка вводить фактичні дані з таблиці згідно індивідуального завдання та виводить на екран таблицю.

Варіант 1

Види антилоп

Назва

Група

Місце проживання

Чисельність популяції

Джейран

A

Азія

3000

Гну

B

Африка

5600

Бейза

H

Африка

2500

Групи: А - справжні антилопи, B – коров’ї антилопы, H - лошадині антилопи

Варіант 2

Фірми - виробники СКБД

Фірма

Кількість продуктів

Річний обсяг продаж ($)

Частина ринка (%)

Oracle

1

24880

31.1

IBM

3

23920

29.9

Microsoft

2

10480

13.1

Примітка: за даними Gartner Group за 1999р

Варіант 3

Приблизна кількість зірок різних спектральних класів в Галактиці

Спектральний клас

Приблизна маса (відн.Сонця)

Частина %

Чисельність

O

32

0.00002

55000

F

1.25

2.9

12000

M

0.2

73.2

29300

Примітка: не наведені дані для класів: B, A, G, K

Варіант 4

Конфігурація програмних засобів інформаційних систем

Операційна система

СУБД

Мін.обсяг зовнішньої памяті (MB)

Мін.обсяг оперативної пам’яті (MB)

Приблизна вартість ($)

OS/2

DB2

130

22

3343

Windows/NT

SQLServer

230

24

2685

SCO/Unix

Oracle

110

48

3745

Примітка: прийнята вартість ліцензії на 8 користувачів

Варіант 5

Температура переходу речовин в надпровідниковий стан

Речовина

Тип

Температура

Zn

М

0.8

Pb-Au

П

2.0

NbC

С

10.1

Тип речовини: М - метал, П - сплав, С - суміш

Варіант 6

Сплави з високим опором

Сплав

Опір

Темп.коеф.опор.

Макс.температура

Константан

0.44

0.00001

500

Нікелін

0.39

0.39

150

Фехраль

1.1

0.0001

900

Одиниці виміру: опір - ом*кв.мм/м. Коефіцієнт опору - 1/град. Температура - град.С

Варіант 7

Прайс-лист

Код товару

Категорія

Вартість (грн)

Термін постачання (дн)

01-0018

К

11282

7

01-0033

С

170

1

02-0170

М

1735

14

Примітка: К – компютери, С - комплектуючі, М - множувальна техніка

Варіант 8

Види антилоп

Назва

Група

Місце проживання

Чисельність популяції

Джейран

A

Азія

3000

Гну

B

Африка

5600

Бейза

H

Африка

2500

Групи: А - справжні антилопи, B – коров’ї антилопы, H - лошадині антилопи

Варіант 9

Фірми - виробники СКБД

Фірма

Кількість продуктів

Річний обсяг продаж ($)

Частина ринка (%)

Oracle

1

24880

31.1

IBM

3

23920

29.9

Microsoft

2

10480

13.1

Примітка: за даними Gartner Group за 1999р

Варіант 10

Приблизна кількість зірок різних спектральних класів в Галактиці

Спектральний клас

Приблизна маса (відн.Сонця)

Частина %

Чисельність

O

32

0.00002

55000

F

1.25

2.9

12000

M

0.2

73.2

29300

Примітка: не наведені дані для класів: B, A, G, K

Варіант 11

Конфігурація програмних засобів інформаційних систем

Операційна система

СУБД

Мін.обсяг зовнішньої памяті (MB)

Мін.обсяг оперативної пам’яті (MB)

Приблизна вартість ($)

OS/2

DB2

130

22

3343

Windows/NT

SQLServer

230

24

2685

SCO/Unix

Oracle

110

48

3745

Примітка: прийнята вартість ліцензії на 8 користувачів

Варіант 12

Температура переходу речовин в надпровідниковий стан

Речовина

Тип

Температура

Zn

М

0.8

Pb-Au

П

2.0

NbC

С

10.1

Тип речовини: М - метал, П - сплав, С - суміш

Варіант 13

Сплави з високим опором

Сплав

Опір

Темп.коеф.опор.

Макс.температура

Константан

0.44

0.00001

500

Нікелін

0.39

0.39

150

Фехраль

1.1

0.0001

900

Одиниці виміру: опір - ом*кв.мм/м. Коефіцієнт опору - 1/град. Температура - град.С

Варіант 14

Прайс-лист

Код товару

Категорія

Вартість (грн)

Термін постачання (дн)

01-0018

К

11282

7

01-0033

С

170

1

02-0170

М

1735

14

Примітка: К – компютери, С - комплектуючі, М - множувальна техніка




1. нового журнализма
2. Российские межбанковские валютные биржи
3. Особенности экономического роста в России
4. QSPM Ключевые факторы Стратегические альтернати
5. Основными направлениями расходов являются государственное управление правоохранительная и судебная деят
6. 12мы~ жыл ldquo;18671868ж
7. Возраст До 19 лет 02
8. Диамонд Джим Брейди 1901 год 12 способов извлечь наибольшую пользу из книг
9. РЕФЕРАТ дисертації на здобуття наукового ступеня кандидата економічних наук Київ 20
10. Фактори фінансового менеджменту
11. Использование мнемотехники в развитии речи детей на материале загадок и скороговорок в группе с трудными детьми (ОНР)
12. реферат дисертації на здобуття наукового ступеня кандидата економічних наук Ха
13. имидж практически отсутствовал в отечественных научных публикациях и встречался лишь в узкоспециальных и
14. Учет расчетов по подотчетным суммам и прочим операциям
15. Реферат- Микропроцессоры Intel80386
16. Учебное пособие- Гигиена труда медицинских работников
17. РЕФЕРАТ на здобуття наукового ступеня кандидата економічних наук Дніпропетро
18. на тему- Техническое оснащение гостиницы Националь Выполнила- Студентка 4 курса Группы РГБ
19. і ~асиетті ~ара~ле~ді жанына кие т~т~ан Аспантауды~ перзенті Кайнарымны~ ~арлы~ашы Жігер Сопиев бауырым ж
20. физическая подготовка и физическое развитие