11718

Базові типи даних і уведення-виведення

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторна робота №4 Тема: Базові типи даних і уведеннявиведення Мета роботи: Отримання практичних навиків в роботі з типами даних мови С і використанні функцій стандартного уведеннявиведення. Теми для попереднього опрацьовування Типи даних мови С. ...

Украинкский

2013-04-10

247 KB

20 чел.

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

Тема: Базові типи даних і уведення-виведення

Мета роботи: Отримання практичних навиків в роботі з типами даних мови С++ і використанні функцій стандартного уведення-виведення.

Теми для попереднього опрацьовування

  •  Типи даних мови С++.
  •  Оголошення змінних.
  •  Функції стандартного уведення-виведення.

Завдання для виконання

    Розробити програму, яка вводить фактичні дані з таблиці, представленої у Вашому варіанті індивідуального завдання і виводить на екран таблицю, подібну тій, яка знаходиться в індивідуальному завданні (включаючи заголовок і примітки).

Варіанти індивідуальних завдань

Варіант №1

Деякі види антилоп

Назва

Група

Житло

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

Джейран

А

Азія

30000

Гну

B

Африка

560000

Бейза

H

Африка

2500

Групі: А справжні антилопи, B коров'ячі антилопи, H кінські антилопи

Варіант №2

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

Фірма

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

Річний об'єм продажу ($)

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

Oracle

1

2488000000

31.1

IBM

3

2392000000

29.9

Microsoft

2

1048000000

13.1

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

Варіант №3

Відділ кадрів

Прізвище

Ініціали

Рік народження

Оклад

Іванов

И.И.

1975

517.50

Петренко

П.П.

1956

219.10

Паніковський

М.С.

1967

300.00

Примітка: оклад встановлений за станом на 1 січня 2000 року

Варіант №4

Відомість деталей

Найменування

Тип

Кількість

Вага 1 деталі (г)

Фланець

З

3

450

Переходник

К

8

74

Станина

О

1

117050

Примітка: прийнято таке кодування типів: О оригінальна, К купувальна, З  запозичена

Варіант №5

 

 

Характеристики ПЕВМ

Процесор

Частота (Mgz)

RAM (Mb)

Тип

Pentium-III

233

 

С

AMD-К6

166

 

С

PowerPC-620

2000

 

R

Тип: С  CISC процесор, R  процесор

Варіант №6

 

 

Каталог бібліотеки

Автор книги

Назва

Рік випуску

Група

Сенкевіч

Потоп

1978

Х

Ландау

Механіка

1989

У

Дойль

Сумчасті

1990

С

Примітка: Х - художня література; У - учбова література; С - довідкова література

Варіант №7

Відомість комплектуючих

Позначення

Тип

Номінал

Кількість

RT-11-24

R

100000

12

RT-11-24

R

50000

10

CGU-12K

С

17.5

3

Примітка: R - резистор; С – конденсатор

Варіант №8

Проекти пошуку позаземних сигналів

Рік

Науковий керівник

Діаметр антени (м)

Робоча частота (Мгц)

1960

Дрейк

26

1420

1970

Троїцкий

14

1875

1978

Хоровіц

300

1665

Примітка: спостерігалися об'єкти від 2 зірок до декількох галактик

Варіант №9

Офісні пакети

Найменування

Виробник

Кількість складових частин

Ціна ($)

Office

Microsoft

4

870

SmartSute

Lotus

5

1020

StarOffice

Sun

4

9

Примітка: можливо безкоштовно отримати продукт StarOffice через Internet

Варіант №10

Сільськогосподарські культури

Найменування

Тип

Посівна площа (га)

Врожайність (ц/га)

Соя

Б

13000

45

Чумиза

З

8000

17

Рис

З

25650

24

Примітка: З зернові, Б  бобові

Варіант №11

Відомість спортивних змагань

Прізвище учасника

Код команди

Кількість балів

Місце у результаті

Баландін

С

123.7

2

Шишков

Ш

79.98

3

Кравченко

Д

134.8

1

Примітка: Д - "Динамо", С - "Спартак", Ш - "Шахтар"

Варіант №12

Відомість суспільного транспорту

Вид транспорту

№ маршруту

Протяжність маршруту (км)

Час в дорозі (мін)

Тр

12

27.55

75

Тс

17

13.6

57

А

12а

57.3

117

Примітка: Тр - трамвай, Тс - тролейбус, А - автобус

Варіант №13

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

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

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

Частина %

Чисельність

О

32

0.00002

55000

F

1.25

2.9

12000000000

M

0.2

73.2

293000000000

Примітка: не показані дані для класів: B, А, G, К

Варіант №14

Час виконання деяких програм, які застосовують паралельні алгоритми

Назва програми

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

Час використання на SGI Callenge (сік)

Час використання  на SGI Indy (сік)

OCEAN

1917

8.70

18.2

DYFESM

3386

6.95

22

TRFD

417

1.05

2.98

Примітка: SGI Callenge - ЦП R1000 196 MHz, 1.024 MB RAM SGI Indy - ЦП MIPS R4600 134 MHz, 64 MB RAM

Варіант №15

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

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

СУБД

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

Мін.об'ем оперативної пам'яті (MB

Приблизна ціна ($)

OS/2

DB2

130

22

3343

Windows/NT

SQLServer

230

24

2685

SCO/Unix

Oracle

110

48

3745

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

Варіант №16

Сільськогосподарські підприємства

Назва

Вид власності

Площа землі (га)

Кіль. працівників

Зоря

Д

300

120

Росинка

К

174

27

Петренко

П

56

6

Вид власності: Д - державна, П - приватна, К - кооперативна

Варіант №17

 

Прайслист

Найменування товару

Тип товару

Ціна за 1 шт (грн)

Мінімальна кількість в партії

Тека

К

4.75

4

Папір

К

13.90

10

Калькулятор

О

411.00

1

Примітка: К - канцтовари, О – оргтехніка

Варіант №18

 

В'язкість металів в рідкому стані

Речовина

Атомний номер

Температура (град.С)

В'язкість (кг/м*сек)

Алюміній

13

700

2.90

Вісмут

83

304

1.65

Свинець

82

441

2.11

Примітка: дані дані для температури плавлення

Варіант №19

Коефіцієнти теплопровідності матеріалів

Речовина

Тип

Вогкість (%)

Коефіцієнт

Алюміній

М

0-100

209.3

Скловата

Т

0-100

0.035

Глина

Д

15-20

0.73

Примітка: М - метали, Т - термоізоляційні матеріали, Д - інші матеріали

Варіант №20

 

Варіант №21

Швидкість звуку в рідинах

Речовина

Тип

Температура (град.С)

Швидкість (м/сек)

Анілін

Ч

20

1656

Ртуть

Ч

20

1451

Кедрове

М

29

1406

Тип рідини: Ч  чиста речовина, М – масло

 

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

Речовина

Тип

Температура

Zn

М

0.8-0.8

Pb-Au

П

2.0-7.3

NbC

С

10.1-10.5

Тип речовини: М - метал, П - сплав, С – з'єднання

Варіант №22

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

Сплав

Опір

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

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

Константан

0.44

0.00001

500

Никелін

0.39

0.39

150

Фехраль

1.1

0.0001

900

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

Варіант №23

Властивості напівпровідників

Речовина

Ширина забороненої зони

Рух електронів

Рух дірок

Бір

1.1

10

10

Телур

0.36

1700

1200

CdTe

1.45

450

100

Одиниці вимірювання: ширина забороненої зони - ев; рух - кв.см/сек*в

Варіант №24

 

Елементарні частинки

Частинка

Група

Заряд

Маса спокою

Нейтрон

Н

0

940

Ка-плюс

М

+1

494

Електрон

Л

-1

0.511

Групи частинок: Г - гіперони, Н - нуклони, М - мезони, Л – лептони

Варіант №25

Штучно отримані елементи

Атомний номер

Назва

Масове число

Період напіврозпаду (літ)

93

Нептуній

237

220000

97

Берклій

247

700

98

Каліфорній

251

660

Варіант №26

Японські острови

Острів

Площа (кв.км)

Кіль. малих островів

Протяжність берегової лінії (км)

Хонсю

230500

192

11875

Хоккайдо

78500

75

3072

Сикоку

18800

13

2946

Варіант №27

 

Прайс

лист

Код товару

Категорія

Ціна (грн)

Термін поставки (дн)

01-0018

К

11282

7

01-0033

С

170

1

02-0170

М

1735

14

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

Варіант №28

Журнал реєстрації аварій:

Назва підприємства

Категорія

Втрати від аварії (тис.грн)

Термін простою (дн)

Птицефабрика

1

12.7

4

Теплоцентраль

1

0.711

1

Автосервіс

2

1770.15

38

Примітка: указуються тільки прямі витрати, пов'язані з ліквідацією наслідків аварії

Варіант №29

Відомості про привласнення кваліфікації

Прізвище

Рік народження

Оцінка результатів іспитів

Привласнений рівень кваліфікації

Шевченко

1970

4.33

6

Розанців

1975

5.1

5

Панасюк

1966

3.07

3

Примітка: показана підсумкова оцінка за наслідками екзаменів з теоретичної і практичної підготовки

Варіант №30

Буддійські монастирі Японії періоду Нара

Назва

Школа

Кількість ченців

Площа землі (га)

Тодайдзі

Т

220

368.8

Якусидзі

С

50

54.7

Дайандзі

Д

10

12.2

Примітка: Т - Тендай; С - Сингон; Д - Дзедзіцу

Приклад рішення задачі

1. Розробка алгоритму рішення

 

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

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

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

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

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

    Оскільки алгоритм програми чисто лінійний, схему алгоритму ми не приводимо.

 

2. Визначення змінних програми

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

    Назва. У всіх фактичних значеннях цей стовпець є символьним рядком з 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;

3. Розробка тексту програми

    Починаємо розробку тексту програми із заголовка головної функції main():

int main(void)

    Далі відкривається тіло функції і в неї включається опис змінних (див. п.2).

    Кодова частина програми починається із запрошення - виводу рядка-константи: printf("1. Введіть: назву, школу, кількість, площу >"); за яким прочитуються дані, що вводяться оператором: scanf("%s %c %d %f",name1, &sc1, &cnt1, &sq1); Оскільки описи цих функцій зберігаються у файлі stdio.h, включаємо цей файл в початок програми: #include <stdio.h>. При введенні рядок вводиться по специфікації типу %s, один символ - по специфікації типу %c, ціле число - по специфікації типу %d, число з плаваючою крапкою - по специфікації типу %f. Специфікації розділяються пропусками, тобто і дані при введенні повинні розділяться пропусками або переходом на новий рядок. В списку введення перед всіма елементами крім того, який вводиться по %s, ставиться знак &.

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

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

    Перший рядок - горизонтальна лінія, яка складається з символу '-', повтореного 47 разів. Другий рядок - загальний заголовок, доповнений до ширини 47 пропусками. Третій рядок - ще одна горизонтальна лінія. Четвертий і п'ятий рядки - заголовки стовпців, кожний з них має встановлену ширину. Шостий рядок - ще одна горизонтальна лінія.

    Нарешті, рядки з сьомого до дев'ятого - фактичні дані. В кожному рядку виводяться значення набору змінних для одного рядка. Наприклад: printf("| %9s | %c | %-3d | %5.1f |\n", name1, sc1, cnt1, sq1);

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

    Решта чотирьох рядків виводиться як текстові константи.

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

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

/*           Лабораторна  робота №4                   */

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

/*        Приклад виконання. Варіант №30.              */

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

#include <stdio.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 | %3d | %-5.1f |\n", name1, sc1, cnt1, sq1);

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

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

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

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

printf("| Примітка: Т - Тендай; С - Сингон;         |\n");

printf("|             Д - Дзедзіцу                    |\n");

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

return 0;

}

4. Відладка програми

При відладці програми можна використовувати покроковий режим відладки з відстежуванням значень змінних - тих, які вводяться. Якщо виникнуть проблеми з введенням змінних, то має сенс вводити кожну змінну окремим оператором.

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

5. Результати роботи програми

При роботі програми на екран було видане наступне:

1. Введіть: назву, школу, кількість, площу > Тодайдзі Т 220 368.8

2. Введіть: назву, школу, кількість, площу > Якусидзі С 50 54.7

3. Введіть: назву, школу, кількість, площу > Дайандзі Д 10 12.2

Буддійські монастирі Японії періоду Нара

Назва

Школа

Кількість

ченців

Площа землі

(га)

Тодайдзі

Т

220

368.8

Якусидзі

С

50

54.7

Дайандзі

Д

10

12.2

Примітка: Т - Тендай; С - Сингон;

Д - Дзедзіцу


 

А также другие работы, которые могут Вас заинтересовать

35263. Тема. Метод Гауса рішення системи лінійних рівнянь складання алгоритму. 91.5 KB
  h void min { double x1x2x3x4; int ij; doubleb=new double[4]; fori=1;i =4;i b[i]=new double[41]; double=new double[4]; fori=1;i =4;i [i]=new double[41]; cout Vvedite mtricy : n ; fori=1;i =4;i forj=1;j =41;j cin [i][j]; if[1][1]==0 cout â€Metod Gus ne premenimâ€; else { forj=2;j =41;j b[1][j]=[1][j] [1][1]; } fori=2;i =4;i forj=2;j =41;j [i][j]=[i][j]b[1][j][i][1]; if[2][2]==0 cout â€Metod Gus ne premenimâ€; else { forj=3;j =41;j b[2][j]=[2][j] [2][2]; } fori=3;i =4;i forj=3;j...
35264. Тема. Метод Крилова побудови власного багаточлена матриці. 90.5 KB
  h void min {int ij; double x1x2x3x4; double [4][5]; double b[4][5]; double c[4][4]; double y0=new double [4]; double y1=new double [4]; double y2=new double [4]; double y3=new double [4]; double y4=new double [4]; cout Введите матрицу n ; fori=0;i 4;i {forj=0;j 4;j {cin c[i][j];}} y0[0]=1; y0[1]=0; y0[2]=0; y0[3]=0; y1[0]=0.0; forj=0;j 4;j {y1[j]=y0[0]c[j][0]y0[1]c[j][1]y0[2]c[j][2]y0[3]c[j][3];} forj=0;j 4;j...
35265. Тема. Знаходження коренів нелінійного рівняння ітераційним методом. 89 KB
  Знаходження коренів нелінійного рівняння ітераційним методом. Мета: навчитися вирішувати нелінійні рівняння методом ітерацій скласти програму. Дано рівняння fx=0 де fx – безперервна функція. Замінимо рівняння fx=0 рівносильним йому рівнянням х= х де= ’xq 1.
35266. Тема. Знаходження значення інтеграла по формулам НьютонаКотеса. 28.5 KB
  h void min {double bhSI; int in; cout Vvedite bn n ; cin b n; doublex=new double[n]; doubley=new double[n]; doubleH=new double[n]; h=b n; x[0]=; fori=0;i =n;i {x[i]=x[0]ih; y[i]=1 sqrt2x[i]x[i]3; } switchn {cse 4:{H[0]=0.
35267. Тема. Знаходження інтеграла за формулами прямокутників. 24 KB
  h void min {double bhSI; int in; cout Vvedite bn n ; cin b n; doublex=new double[n]; doubley=new double[n]; h=b n; x[0]=; fori=0;i =n;i {x[i]=x[0]ih; y[i]=1 sqrtx[i]x[i]1; } S=0.
35268. Тема. Знаходження інтегралу за формулами трапецій. 47.5 KB
  Знаходження інтегралу за формулами трапецій. навчитися знаходити значення інтегралу за формулами трапецій. Дан інтеграл – число розбивок формула трапецій Оцінка похибки: де 12.
35269. Метод Гауса рішення системи лінійних рівнянь складання алгоритму 34.5 KB
  Поставте задачу розв’язання системи лінійних рівнянь методом Гауса. Яка умова застосування методу Гауса. Скільки етапів вирішення системи лінійних рівнянь методом Гауса. Що називають прямим та зворотнім ходом методу Гауса...
35270. Тема. Знаходження інтегралу за формулами трапецій. 181 KB
  h void min {double bhSynI; int ni; cout Vvedite nijnii predel : ; cin ; cout Vvedite verhnii predel b: ; cout Vvedite verhnii predel b: ;; cin b; cout Vvedite n: ; cin n; doublex=new double [n]; doubley=new double [n]; h=b n; S=0; x[0]=; fori=1;i =n1;i {x[i1]=x[0]ih; y[i]=1 pow3x[i]x[i]0.5; S=Sy[i]; I=b nSy[0]y[n] 2; cout I= I; } } .
35271. Тема. Знаходження інтегралу за формулами трапецій. 22.5 KB
  h void min { int n; double bhT ; cout Enter bn n ; cin b n; h=b n; doublex=new double[n]; x[0]=; forint i=0;i =n;i {x[i]=x[0]ih;} doubley= new double [n]; for i=0; i =n; i { y[i]=1 sqrtx[i]x[i]0.