Відладка програми
При відладці програми використовувався покроковий режим відладки з|із| відстежуванням|відслідковувати| значень змінних - тих, які вводяться|запроваджують|.
Результати роботи програми
При роботі програми на екран було відображено наступне|слідуюче|:
1.6. Виводи|висновки|
При виконанні лабораторної роботи вивчені питання:
типи даних в мові|язиці| C;
оголошення змінних в програмі;
введення і виведення даних, форматування виводу|висновку|.
Використання функцій для організації введення даних і|та| виведення таблиці на екран.
Існує два способи передачі параметрів у функцію: за значенням і за адресою.
При передачі за значенням в стек заносяться копії значень аргументів, і оператори функції працюють з цими копіями. Доступу до початкових значень параметрів у функції немає, а, отже, немає і можливості їх змінити.
При передачі за адресою в стек заносяться адреси аргументів, а функція здійснює доступ до елементів пам'яті по цих адресах і може змінити початкові значення аргументів .
Приклад: Обчислити площу прямокутника заданої довжини і ширини. Для отримання вхідних даних (довжина і ширина) створити окрему функцію.
Створимо функцію "get_dimension", що буде змінювати значення змінних довжини і ширини ("this_length" і "this_width"), переданих їй як параметри, на значення , введені користувачем з клавіатури.
Зміна параметрів функції можлива при передачі параметрів по посиланню. У таких параметрів в заголовку функції при описі формальних параметрів після імені типу вказується символ "&".
Програма.
#include<iostream.h>
int area( int length, int width );
void get_dimensions( int& length, int& width );
------------------------------------------------ ------------------------------------------------ ГОЛОВНА ФУНКЦІЯ:
int main()
{
int this_length, this_width;
get_dimensions( this_length, this_width );
cout << "Площа прямокутника з розмірами ";
cout << this_length << "x" << this_width;
cout << " дорівнює " << area( this_length, this_width ) << "\n";
return 0;
}
-------------------------------- ФУНКЦІЯ ВВЕДЕННЯ РОЗМІРІВ ПРЯМОКУТНИКА :
void get_dimensions( int& length, int& width )
{
cout << "Введіть довжину: ";
cin >> length;
cout << "Введіть ширину: ";
cin >> width;
cout << "\n";
}
-------------------------------------- ФУНКЦІЯ ОБЧИСЛЕННЯ ПЛОЩІ :
int area( int length, int width )
{
return length*width;
}
Функція "get_dimensions" змінює значення параметрів "this_length" і "this_width", але не повертає ніякого значення. Цей факт відбивається і в прототипі, і у визначенні функції - як повертане значення вказаний тип "void" ("порожній" тип).
Розробка програми з використанням функцій
За рахунок використання функції програма стане яснішою і|та| компактнішою, тому що|бо| задача була розділена на три:
Функція введення початкових даних;
Функція виводу таблиці;
Головна функція, яка викликає спочатку функцію 1, а потім функцію 2.
Текст програми:
#include<iostream.h>
#include <windows.h>
#include <iomanip.h>
#include <string.h>
int i; //номер записи
const char simb='-';
const int poz1=8; // ширина поля "Школа"
const int poz2=19; // ширина поля "Количество монахов"
const int poz3=14; // ширина поля "Площадь земли"
const int poz_all=poz1+poz2+poz3+2*4;
//общая ширина всех полей с учетом
// символов границ для каждого поля("| ").
//------------------------------------------------------ input---
void input(char &school, short int &k_monk,double &square)
{
cout.setf(ios::left); //выравнивание элементов объекта cout слева cout<<i<<"\n";
cout<<setw(20)<<"Школа"<<":";
cin>>school;
cout<<setw(20)<<"Количество монахов"<<": ";
cin>>k_monk;
cout<<setw(20)<<"Площадь земли"<<":";
cin>>square;
return;
}
//------------------------------------------------------ output---
void output(char school, short int k_monk,double square)
{
cout.unsetf(ios::right);
cout.setf(ios::left);
cout<<setfill(simb)<<setw(poz_all-1)<<simb<<endl;
cout<<setfill(' ')<<"| "<<setw(poz1)<<school;
cout<<"| "<<setw(poz2)<<k_monk;
cout.unsetf(ios::adjustfield); // снятие всех флагов выравнивания
cout.setf(ios::fixed); //вформат с фиксированной точкой
cout<<setprecision(2); //два знака после запятой
cout<<"| "<<setw(poz3)<<setiosflags(ios::right)<<square<<"| \n";
return;
}
//------------------------------------------------------ main---
void main(){
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
char sc1='Т', sc2='С', sc3='Д'; //школа
short int cnt1=220, cnt2=50, cnt3=10; //количество монахов
double sq1=368.8, sq2=54.7, sq3=12.2; //площадь земли
//ввод данных
i=1;
input(sc1,cnt1,sq1);
input(sc2,cnt2,sq2);
input(sc3,cnt3,sq3);
//вывод данных
// Вывод заголовка таблицы
cout.unsetf(ios::adjustfield);
cout.setf(ios::right);
cout<<endl<<setw(poz_all)<<"Буддийские монастыри Японии периода Нара\n";
cout<<endl;
//вывод строк таблицы
output(sc1,cnt1,sq1);
output(sc2,cnt2,sq2);
output(sc3,cnt3,sq3);
// Вывод строки примечания
cout.fill(simb);
cout<<setw(poz_all-1)<<simb<<endl;
cout<<"Примечание: Т - Тэндай; С - Сингон; Д - Дзедзицу\n";
cout<<endl<<endl; //перевод строки
return ;
}
Індивідуальні завдання|задавання|.
Розробити програму, яка виводить на екран таблицю, що містить|утримує| дані, введені|запроваджувати| з клавіатури.
Варіант 1
Офисные пакеты
Наименование (сокр.) |
Количество составных частей |
Цена ($) |
О |
4 |
870,75 |
S |
5 |
1020,80 |
S |
4 |
9,27 |
Примечание: О – Office, S - SmartSute, S - StarOffice
Варіант 2
Ведомость спортивних состязаний
Код команды |
Количество балов |
Место в итоге |
С |
123.7 |
2 |
Ш |
79.8 |
3 |
Д |
134.8 |
1 |
Примечание: Д - "Динамо", С - "Спартак", Ш - "Шахтер"
Вариант 3
Ведомость общественного транспорта
Вид транспорта |
маршрута |
Протяженность маршрута (км) |
Время в дороге (мин) |
Т |
12 |
27.5 |
75 |
М |
17 |
13.6 |
57 |
А |
16 |
57.3 |
117 |
Примечание: Тр - трамвай, М – маршрутное такси, А – автобус
Вариант 4
Информация о некоторых планетах солнечной системы
Планета |
Расстояниеот Солнца (млн км) |
Расстояние от Солнца (а.е.) |
Период обращения (сут) |
Период вращения на экваторе (сут) |
М |
57.9 |
0.39 |
87.97 |
58 |
В |
108.2 |
0.72 |
227.7 |
243 |
З |
149.6 |
1.00 |
365.26 |
1 |
Примечание: М – Меркурий, В – Венера, З - Земля
Вариант 5
Прайс-лист
Тип товара |
Цена за 1 шт (грн) |
Минимальное количество в партии (штук) |
П |
4.75 |
4 |
Б |
13.90 |
10 |
К |
411.00 |
1 |
Примечание: П - папка, К – Калькулятор, Б - бумага
Вариант 6
Вязкость металлов в жидком состоянии
Вещество |
Атомный номер |
Температура плавления (град.С) |
Вязкость (кг/м*сек) |
А |
13 |
700 |
2.90 |
В |
83 |
304 |
1.65 |
С |
82 |
441 |
2.11 |
Примечание: А – Алюминий, В – Висмут,С - Свинец
Вариант 7
Скорость звука в жидкостях
Вещество |
Тип |
Температура (град.С) |
Скорость (м/сек) |
А |
Ч |
20 |
1656 |
Р |
Ч |
20 |
1451 |
К |
М |
29 |
1406 |
Примечание:
Вещество: А – Анилин, Р – Ртуть, Л- Кедровое;
Тип жидкости: Ч - чистое вещество, М – масло.
Вариант 8
Сплавы с высоким сопротивлением
Сплав |
Сопротивление (ом) |
Темп.коэфф.сопр (1/град) |
Макс.температура (град.С) |
К |
0.44 |
0.00001 |
500 |
Н |
0.39 |
0.39000 |
150 |
Ф |
1.1 |
0.00010 |
900 |
Примечание: Сплав: К - Константан, Н - Никелин, Ф - Фехраль
Вариант 9
Свойства полупроводников
Вещество |
Сокращенное название вещества |
Ширина запрещенной зоны |
Движение дырок |
Б |
Б |
1.10 |
10 |
Т |
Т |
0.36 |
1200 |
У |
У |
1.45 |
100 |
Примечание:
Вещество: Б - Бор, Т - Телур, У - Уран
Единицы измерения: ширина запрещенной зоны - эв; движение - кв.см/сек
Вариант 10
Элементарные частицы
Частица |
Группа |
Заряд |
Масса покоя |
Н |
Н |
0 |
940,000 |
К |
М |
+1 |
494,000 |
Е |
Л |
-1 |
0,511 |
|
|
|
|
Примечание:
Частица: Н - Нейтрон, Л - Ка-плюс, Е - Електрон
Группы частиц: Г - гипероны, Н - нуклоны, М - мезоны, Л – лептоны
Вариант 11
Искуственно полученные элементы
Атомный номер |
Название |
Массовое число |
Период полураспада (лет) |
93 |
Н |
237 |
220000 |
97 |
Б |
247 |
700 |
98 |
К |
251 |
660 |
Примечание: Н – Нептуний, Б - Берклий, К - Калифорний.
Вариант 12
Японские острова
Остров |
Площадь (кв.км) |
Кол. малых островов |
Протяженность береговой линии (км) |
Хонсю |
230500 |
192 |
11875.8 |
Кюсю |
42600 |
75 |
3072.2 |
Сикоку |
18800 |
13 |
2946.1 |
Примечание: Х - Хонсю, С – Сикоку, K- Кюсю.
Вариант 13
Прайс-лист
Код товара |
Категория |
Цена (грн) |
Срок поставки (дн) |
01.0018 |
К |
11282.55 |
7 |
01.0033 |
С |
170.00 |
1 |
02.0170 |
М |
1735.25 |
14 |
Примечание: К - компьютеры, С - комплектующие, М - множительная техника
Вариант 14
Журнал регистрации аварий:
Название предприятия |
Категория |
Утраты от аварии (тис.грн) |
Срок простоя (дн) |
П |
1 |
12.700 |
4 |
Т |
3 |
0.711 |
1 |
А |
2 |
1770.150 |
38 |
Примечание: П - Птицефабрика, Т - Теплоцентраль, А - Автосервис
Вариант 15
Ведомости о присвоении квалификации
Фамилия |
Год рождения |
Оценка результатов экзаменов |
Присвоен уровень квалификации |
Шевченко |
1970 |
4.33 |
6 |
Розанов |
1975 |
5.10 |
5 |
Панасюк |
1966 |
3.07 |
3 |
Примечание: Ш - Шевченко, Р - Розанов, П - Панасюк
Вариант 16
Некоторые виды антилоп
Название |
Группа |
Место обитания |
Численность популяции |
Д |
A |
1.1 |
30000 |
Г |
B |
1.2 |
560000 |
Б |
H |
1.2 |
2500 |
Примечание:
Название: Д -Джейран, Г -Гну, Б –Бейза
Групи: А - настоящие антилопы, B - коровьи антилопы, H - лошадиные антилопи.
Место обитания: 1.1 – Азия, 1.2 – Африка.
Вариант 17
Фирмы - производители СУБД
Фирма |
Количество. продуктов |
Годовой объем продажи ($) |
Часть рынка (%) |
O |
1 |
2488000000 |
31.1 |
I |
3 |
2392000000 |
29.9 |
M |
2 |
1048000000 |
13.1 |
Примечание: по данным Gartner Group за 1999г.
Фирма: O - Oracle, I- IBM, M - Microsoft.
Вариант 18
Отдел кадров
Фамилия |
Место рождения |
Год рожд |
Оклад |
И |
К |
1975 |
517.50 |
П |
Б |
1956 |
219.10 |
С |
Х |
1967 |
300.00 |
Примечание:
Фамилии: И – Иванов, П - Петренко, С – Сидоров;
Место рождения: К - Киев, Б - Бердичев, Х - Харьков.
Вариант 19
Ведомость деталей
Наименование |
Тип |
Количество |
Вес 1 детали (г) |
Ф |
1.1 |
3 |
450 |
П |
1.2 |
8 |
74 |
С |
1.3 |
1 |
117050 |
Примечание:
Наименование: Ф - Фланец,П - Переходник, С - Станина;
Тип: 1.1 - оригинальная, 1.2 - покупная, 1.3 – заимствованная.
Вариант 20
Характеристики режимов памяти и шины FSB
Стандарт памяти |
Частота шины (МГц) |
Наименование (цифровой номер) |
Скорость передачи данных на один канал |
Скорость передачи данных на два канала |
1.0667 |
333 |
5300 |
5312 |
10624 |
1.0800 |
400 |
4000 |
6400 |
12800 |
1.1200 |
600 |
9600 |
9600 |
19200 |
Примечание:
Тип памяти: 1 - DDR2
Наименование: PC2-цифровой номер.
Вариант 21
Ведомость комплектующих
Обозначение |
Тип |
Номинал |
Количество |
11.2478 |
R |
100000.0 |
12 |
11.2623 |
R |
50000.0 |
10 |
12.0001 |
C |
17.5 |
3 |
Примечание: R - резистор; C – конденсатор
Вариант 22
Проекты поиска внеземных сигналов
Год |
Научный руководитель |
Диаметр антенны (м) |
Рабочая частота (МГц) |
1960 |
Д |
26.456 |
1420 |
1970 |
Т |
14.555 |
1875 |
1978 |
Х |
300.748 |
1665 |
Примечание: наблюдались объекты от 2 звезд до нескольких галактик
Научный руководитель: Д - Дрейк, Т - Троицкий, Х –Хоровиц
Вариант 23
Сельскохозяйственные культуры
Наименование |
Тип |
Посевная площадь (га) |
Урожайность (ц/га) |
С |
1.1 |
13000 |
45 |
Ч |
1.2 |
8000 |
17 |
Р |
1.2 |
28650 |
24 |
Примечание:
Тип: 1.1 - зерновые, 1.2 – бобовые;
Наименование: С -Соя, Ч - Чумиза, Р –Рис.
Вариант 24
Приблизительное количество звезд разных спектральных классов в Галактике
Спектральный класс |
Приблизительная масса (отн.Солнца) |
Часть % |
Численность |
O |
32.00 |
0.00002 |
55000 |
F |
1.25 |
2.90000 |
12000000000 |
M |
0.20 |
73.2000 |
293000000000 |
Примечание: не показаны данные для классов: B, A, G, K
Вариант 25
Время выполнения некоторых программ, которые применяют параллельные алгоритмы
Название программы |
Количество строк кода |
Время исп. на SGI Callenge (cек) |
Время исп. на SGI Indy (cек) |
O |
1917 |
8.70 |
18.2 |
D |
3386 |
6.95 |
22 |
T |
417 |
1.05 |
2.98 |
Примечание:
SGI Callenge - ЦП R1000, SGI Indy - ЦП MIPS;
O - OCEAN, D - DYFESM, Т - TRFD.
Вариант 26
Конфигурация програмных средств информационных систем
Операционная система |
СУБД |
Мин.объем внешней памяти (MB) |
Мин.объем оперативной памяти (MB |
Приблизительная цена ($) |
W |
S |
230 |
48 |
3343.56 |
O |
D |
110 |
22 |
2685.99 |
U |
O |
130 |
24 |
3745.23 |
Примечание:
Операционные системы: W - Windows/XP, О - OS/2, U – Unix;
СУБД: S - SQLServer, D - DB2, О - Oracle
Вариант 27
Сельскохозяйственные предприятия
Название |
Вид собственности |
Площадь земли (кв.м) |
Кол. работников |
З |
Д |
3000.45 |
120 |
Р |
К |
174896.96 |
27 |
П |
Ч |
56026.55 |
6 |
Примечание:
Название: З - Заря, Р -Росинка, П - Петренко.
Вид собственности: Д - государственная, Ч - частная, К – кооперативная.
Вариант 28
Коэффициенты теплопроводимости материаллов
Вещество |
Тип |
Влажность (%) |
Коэффициент |
А |
М |
100 |
209.300 |
С |
Т |
100 |
0.035 |
Г |
Д |
20 |
0.730 |
Примечание:
Вещество: А - Алюминий, С -Стекловата , Г -Глина.
Тип: М - металлы, Т - термоизоляционные материалы, Д - другие материалы
Вариант 29
Скорость звука в жидкостях
Вещество |
Тип |
Температура (град.С) |
Скорость (м/сек) |
А |
2.1 |
20 |
1656 |
Р |
2.1 |
20 |
1451 |
К |
2.2 |
29 |
1406 |
Примечание:
Тип жидкости: 2.1 - чистое вещество, 2.2 – масло.
Вещество: А - Анилин, Р - Ртуть, К – Кедровое.
Вариант 30
Температура перехода веществ в сверхпроводниковое состояние
Вещество |
Тип |
Температура |
Zn |
P |
М |
20 |
7.3 |
A |
П |
80 |
0.8 |
N |
C |
42 |
10.5 |
Примечание:
Вещество: P- Pb, A - Au, N - Nb
Тип вещества: М - металл, П - сплав, С – соединение
Вариант 31
Измерение скорости света
Методы измерения скорости света |
Исследователь |
Год |
Скорость света (м/с) |
1 |
О |
1676 |
2,22•108 |
2 |
Л |
1849 |
3,12•108 |
2 |
И |
1972 |
2.99792456•108 |
Примечание:
Методы: 1 - Астрономический , 2 – Лабораторный.
Исследователь: О - Оле Ремер, Л - Луи Физо, И - Ивенсон
Вариант 32
Таблица элементарных частиц
Частица |
Масса (Мэв) |
Масса (me) |
Время жизни (с) |
М |
105.66 |
206 |
2,2·10–6 |
Т |
1782.00 |
3490 |
3,5·10–12 |
О |
1675.00 |
3273 |
1·10–10 |
Примечание:
Название частицы: М - Мюон, Т - Тау-лептон, О - Омега-гиперон.