Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Int area( int length, int width )
Розробка алгоритму 1.1. Загальний|спільний| метод розв'язання Спочатку йде загальний|спільний| заголовок. У заданій таблиці, перший рядок заголовки стовпців таблиці. Фактичні дані складають третю, четвертую і п'яту рядки. Шостий рядок - примітки|тлумачення|. Програма починається з введення фактичних даних. Для зручності оператора, перед введенням на екран виводиться запрошення, в якому перераховується, які саме дані чекає програма. За одне запрошення-введення вводиться|запроваджує| один рядок фактичних даних таблиці. Тобто, запрошення-вводу| повторюється тричі. Введені|запроваджувати| дані зберігаються в змінних програми. На другому етапі програма виконує виведення даних на екран. Кожен рядок таблиці виводиться одним оператором виводу|висновку|. Серед рядків, які виводяться, є рядки без змінних значень (заголовки і лінії) і рядка із|із| змінними значеннями (рядки з|із| фактичними даними).
Визначення змінних програми Для кожної змінної підбирається такий тип, який би забезпечував представлення в пам'яті її значення з|із| достатнім діапазоном і достатньою точністю. Школа. Ці дані є одним символом. Їх оголошення: char| sch1|, sch2|, sch3|; Кількість ченців. Ці дані є цілими числами в діапазоні 10 - 220. Цей діапазон перекривається діапазоном можливих значень типу unsigned short (діапазон цього типу: 0 - 255). Тобто оголошення відповідних змінних: unsigned| short| cnt1|, cnt2|, cnt3|; Площа земель. Це число з дробовою частиною, отже, відповідні змінні мають бути змінними з плаваючою крапкою. Точність даних - всього один знак після крапки, тому для їх уявлення буде достатньо типу float: float| sq1|, sq2|, sq3|;
Текста программы
#include<iostream.h> #include <windows.h> #include <iomanip.h> #include <string.h>
int 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; //площадь земли
cout.setf(ios::left); //выравнивание элементов объекта cout слева //--------------------------------------ввод данных------------------ /* int i=1; //номер записи //ввод 1-й записи cout<<i<<"\n"; cout<<setw(20)<<"Школа"<<":"; cin>>sc1; cout<<setw(20)<<"Количество монахов"<<": "; cin>>cnt1; cout<<setw(20)<<"Площадь земли"<<":"; cin>>sq1; //ввод 2-й записи i=i+1; cout<<i<<"\n\n"; cout<<setw(20)<<"Школа"<<": "; cin>>sc2; cout<<setw(20)<<"Количество монахов"<<": "; cin>>cnt2; cout<<setw(20)<<"Площадь земли"<<": "; cin>>sq2; //ввод 3-й записи i++; cout<<i<<"\n\n"; cout<<setw(20)<<"Школа"<<": "; cin>>sc3; cout<<setw(20)<<"Количество монахов"<<": "; cin>>cnt3; cout<<setw(20)<<"Площадь земли"<<": "; cin>>sq3;
//--------------------------------------вывод данных-------------------
// Объявление переменных для печати таблицы const int poz1=8,poz2=19, poz3=14; const int poz_all=poz1+poz2+poz3+2*4; const char simb='-';
cout.setf(ios::fixed); //выдача в формате с фиксированной точкой cout<<setprecision(2); //два знака после запятой
cout<<endl; cout<<setw(poz_all)<<"Буддийские монастыри Японии периода Нара\n"; cout<<endl; cout.fill(simb); cout<<setw(poz_all-1)<<simb<<endl;
cout.fill(' '); cout<<"| "<<setw(poz1)<<"Школа"; cout<<"| "<<setw(poz2)<<"Количество монахов"; cout<<"| "<<setw(poz3)<<"Площадь земли"<<"| \n";
cout.fill(simb); cout<<setw(poz_all-1)<<simb<<endl;
cout.fill(' '); cout<<"| "<<setw(poz1)<<sc1; cout<<"| "<<setw(poz2)<<cnt1<<"| "<<setw(poz3)<<sq1<<"| \n";
cout<<"| "<<setw(poz1)<<sc2; cout<<"| "<<setw(poz2)<<cnt2<<"| "<<setw(poz3)<<sq2<<"| \n";
cout<<"| "<<setw(poz1)<<sc3; cout<<"| "<<setw(poz2)<<cnt3<<"| "<<setw(poz3)<<sq3<<"| \n";
cout.fill(simb); cout<<setw(poz_all-1)<<simb<<endl; cout<<"Примечание: Т - Тэндай; С - Сингон; Д - Дзедзицу\n"; cout<<endl<<endl; //перевод строки*/ return; }
Відладка програми При відладці програми використовувався покроковий режим відладки з|із| відстежуванням|відслідковувати| значень змінних - тих, які вводяться|запроваджують|.
Результати роботи програми
При роботі програми на екран було відображено наступне|слідуюче|:
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. Функція виводу таблиці; 3. Головна функція, яка викликає спочатку функцію 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 Офисные пакеты
Примечание: О – Office, S - SmartSute, S - StarOffice
Варіант 2 Ведомость спортивних состязаний
Примечание: Д - "Динамо", С - "Спартак", Ш - "Шахтер"
Вариант 3 Ведомость общественного транспорта
Примечание: Тр - трамвай, М – маршрутное такси, А – автобус
Вариант 4 Информация о некоторых планетах солнечной системы
Примечание: М – Меркурий, В – Венера, З - Земля
Вариант 5 Прайс-лист
Примечание: П - папка, К – Калькулятор, Б - бумага
Вариант 6 Вязкость металлов в жидком состоянии
Примечание: А – Алюминий, В – Висмут,С - Свинец
Вариант 7 Скорость звука в жидкостях
Примечание: Вещество: А – Анилин, Р – Ртуть, Л- Кедровое; Тип жидкости: Ч - чистое вещество, М – масло.
Вариант 8 Сплавы с высоким сопротивлением
Примечание: Сплав: К - Константан, Н - Никелин, Ф - Фехраль
Вариант 9 Свойства полупроводников
Примечание: Вещество: Б - Бор, Т - Телур, У - Уран Единицы измерения: ширина запрещенной зоны - эв; движение - кв.см/сек
Вариант 10 Элементарные частицы
Примечание: Частица: Н - Нейтрон, Л - Ка-плюс, Е - Електрон Группы частиц: Г - гипероны, Н - нуклоны, М - мезоны, Л – лептоны
Вариант 11 Искуственно полученные элементы
Примечание: Н – Нептуний, Б - Берклий, К - Калифорний.
Вариант 12 Японские острова
Примечание: Х - Хонсю, С – Сикоку, K- Кюсю.
Вариант 13 Прайс-лист
Примечание: К - компьютеры, С - комплектующие, М - множительная техника
Вариант 14 Журнал регистрации аварий:
Примечание: П - Птицефабрика, Т - Теплоцентраль, А - Автосервис
Вариант 15 Ведомости о присвоении квалификации
Примечание: Ш - Шевченко, Р - Розанов, П - Панасюк
Вариант 16 Некоторые виды антилоп
Примечание: Название: Д -Джейран, Г -Гну, Б –Бейза Групи: А - настоящие антилопы, B - коровьи антилопы, H - лошадиные антилопи. Место обитания: 1.1 – Азия, 1.2 – Африка.
Вариант 17 Фирмы - производители СУБД
Примечание: по данным Gartner Group за 1999г. Фирма: O - Oracle, I- IBM, M - Microsoft.
Вариант 18 Отдел кадров
Примечание: Фамилии: И – Иванов, П - Петренко, С – Сидоров; Место рождения: К - Киев, Б - Бердичев, Х - Харьков.
Вариант 19 Ведомость деталей
Примечание: Наименование: Ф - Фланец,П - Переходник, С - Станина; Тип: 1.1 - оригинальная, 1.2 - покупная, 1.3 – заимствованная.
Вариант 20 Характеристики режимов памяти и шины FSB
Примечание: Тип памяти: 1 - DDR2 Наименование: PC2-цифровой номер.
Вариант 21 Ведомость комплектующих
Примечание: R - резистор; C – конденсатор
Вариант 22 Проекты поиска внеземных сигналов
Примечание: наблюдались объекты от 2 звезд до нескольких галактик Научный руководитель: Д - Дрейк, Т - Троицкий, Х –Хоровиц
Вариант 23 Сельскохозяйственные культуры
Примечание: Тип: 1.1 - зерновые, 1.2 – бобовые; Наименование: С -Соя, Ч - Чумиза, Р –Рис.
Вариант 24 Приблизительное количество звезд разных спектральных классов в Галактике
Примечание: не показаны данные для классов: B, A, G, K
Вариант 25 Время выполнения некоторых программ, которые применяют параллельные алгоритмы
Примечание: SGI Callenge - ЦП R1000, SGI Indy - ЦП MIPS; O - OCEAN, D - DYFESM, Т - TRFD.
Вариант 26 Конфигурация програмных средств информационных систем
Примечание: Операционные системы: W - Windows/XP, О - OS/2, U – Unix; СУБД: S - SQLServer, D - DB2, О - Oracle
Вариант 27 Сельскохозяйственные предприятия
Примечание: Название: З - Заря, Р -Росинка, П - Петренко. Вид собственности: Д - государственная, Ч - частная, К – кооперативная.
Вариант 28 Коэффициенты теплопроводимости материаллов
Примечание: Вещество: А - Алюминий, С -Стекловата , Г -Глина. Тип: М - металлы, Т - термоизоляционные материалы, Д - другие материалы
Вариант 29 Скорость звука в жидкостях
Примечание: Тип жидкости: 2.1 - чистое вещество, 2.2 – масло. Вещество: А - Анилин, Р - Ртуть, К – Кедровое.
Вариант 30 Температура перехода веществ в сверхпроводниковое состояние
Примечание: Вещество: P- Pb, A - Au, N - Nb Тип вещества: М - металл, П - сплав, С – соединение Вариант 31 Измерение скорости света
Примечание: Методы: 1 - Астрономический , 2 – Лабораторный. Исследователь: О - Оле Ремер, Л - Луи Физо, И - Ивенсон Вариант 32 Таблица элементарных частиц
Примечание: Название частицы: М - Мюон, Т - Тау-лептон, О - Омега-гиперон.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2018-04-11; просмотров: 189. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |