ЛАБОРАТОРНАЯ РАБОТА №1
«Программирование операций ввода-вывода»
Цель лабораторной работы – создание консольного приложения, работа с кириллическим текстом, знакомство с встроенной справочной системой, программирование операций ввода-вывода.
Приложение консольного типа – это программа, которая запускается в «окне MS DOS» и для ввода с клавиатуры и вывода на экран использует функции и потоки символьного ввода-вывода.
Главное правило работы: каждый новый проект (программу, пример, вариант и т. д.) следует сохранять в отдельном каталоге своей личной папки.
1. Создание консольного приложения
Откройте личную папку и создайте в ней каталог Console. Запустите Builder и оставьте на рабочем столе только основное меню и панель инструментов. Для этого закройте без сохранения окна инспектора объектов, формы и первого модуля (Unit1.cpp), которые открываются при запуске Builder автоматически.
Для создания нового проекта выполните: File ® New ® Other ® Console Wizard (Рис. 1).

Рис. 1 Рис. 2
Установите параметры проекта как указано на рисунке 2. Мастер приложений сгенерирует необходимые файлы и запустит редактор кода с открытым файлом Unit1.cpp (рис.3).

Рис. 3. Редактор кода
Некоторые пояснения по файлу Unit1.cpp. Файл текстовый и содержит первую функцию (так называемую «точку входа»). Аргументы функции main (argc – количество и argv –массив аргументов командной строки) можно убрать, так как они не будут использованы.
Директива #pragma hdrstop указывает компилятору, что в данном месте нужно прекратить генерацию предварительно скомпилированных заголовочных файлов. Расположенные после директивы заголовочные файлы будут компилироваться при каждой компиляции данного модуля, а те что расположены выше - не будут. Перед этой директивой рекомендуется располагать те заголовочные файлы, которые являются общими для двух и более модулей, чтобы избежать их повторной компиляции. Включение данной директивы в коды больших проектов способствует уменьшению времени компиляции.
Возвращаемое значение функции main можно сделать void (пустой), т. к. не планируется что-либо возвращать монитору операционной системы. При этом необходимо удалить оператор return 0;. В итоге, «первая программа» получается близкой варианту 1 (листинг).
#include <conio. h> //вариант 1 #include <iostream. h> void main() { char s[20] = "Hello, World!"; cout << s; getch(); } | Сохраните текущий проект в каталоге Console вашей личной папки (File ® Save All…). |
ЗАДАНИЕ: Измените по предлагаемому образцу (вариант 1) файл Unit1.cpp, сохраните его (например, с помощью Ctrl+S), а затем запустите сборку и выполнение подготовленной программы.
В варианте 1 программы были использованы операторы ввода-вывода, определенные в библиотеке iostream. Функция getch(); (из библиотеки conio) предназначена для удерживания консольного экрана до первого нажатия клавиши на клавиатуре (это вы можете увидеть, запустив программу без getch();).
• Библиотека iostream (потокового ввода-вывода)
cin – имя стандартного потока ввода;
cout – имя стандартного потока вывода;
<< - операция вывода в поток;
>> операция ввода из потока.
Правый операнд операций >> и << является источником (операция вывода) или приемником данных (операция ввода).
2. Русифицированный вариант «первой программы»
Задача – «перевести» программу – приветствие на русский язык. Проблема заключается в том, что Builder – это приложение системы Windows, в которой поддерживается кодировка ANSI, а консольное приложение («окно MS-DOS») использует таблицы ASCII. Как известно, кодировка кириллицы в этих системах различна. Следствием этого является результат выполнения «варианта 2» приветствия:
#include <conio. h> //вариант 2
#include <iostream. h>
void main()
{
char a[20]="Здравствуй, Мир!";
cout << a;
getch();
}
ЗАДАНИЕ: Проверьте «вариант 2» в работе.
Решить проблему «русификации» можно несколькими способами:
1. воспользоваться редактором, способным конвертировать тексты между ANSI и ASCII кодировками,
2. набрать текстовую константу по кодам (Alt+код, если «код» набирать на дополнительной клавиатуре),
3. программно заменить содержимое массива-строки,
4. использовать функцию CharToOem().
Остановимся на последнем варианте. Добавим в нашу программу функцию Rus:
#include <vcl. h>
#include <conio. h>
#include <iostream. h>
char* Rus(const char* text);
void main()
{
char a[20]="Здравствуй, Мир!";
cout << Rus(a);
getch();
}
char bufRus[256];
char* Rus(const char* text)
{
CharToOem(text, bufRus);
return bufRus;
}
ЗАДАНИЕ: Проверьте действие "русифицированного" варианта «приветствия».
3. Работа с встроенным справочником
Краткие справки по функциям, которые приводятся в методических указаниях или учебниках, не является исчерпывающими, так как библиотек функций в инструментальной среде достаточно много. Для эффективного программирования необходимо использовать уже имеющиеся в системе функции, знать их имена, назначение, правила вызова. Все это можно установить с помощью встроенной справочной системы. Работать с ней можно в двух режимах: через оглавление (меню Help) и по контексту. Второй способ эффективнее, если известно имя функции.
Рассмотрим как, например, получить справку по функции getch. Для этого в окне редактирования следует поставить курсор на имя функции и нажать Ctrl+F1. В ответ на это запускается приложение справочной системы и в ее окне открывается первая страница справки. В разделе Prototype описывается интерфейс функции, Description – назначение, Note – предупреждения по использованию, Return – возвращаемое значение функции. Ссылка Example открывает файл с примером использования данной функции. Пример можно скопировать через буфер обмена (Правка ® Копировать) и вставить в свой файл (Edit ® Paste). Не забудьте после вставки примера удалить (или закомментировать) из исходного файла первоначальную программу.
ЗАДАНИЕ: Самостоятельное выполнение:
Сделайте приветствие адресным (после запуска программа предлагает ввести имя, а затем это имя использует в обращении, например, «Привет, < имя>!»).
4. Типы данных. Переменные.
Основная цель любой программы состоит в обработке данных. Данные различного типа хранятся и обрабатываются по-разному. В любом алгоритмическом языке каждая константа, переменная, результат вычисления выражения или функции должны иметь определенный тип.
Тип данных определяет:
· внутреннее представление данных в памяти компьютера;
· множество значений, которые могут принимать величины этого типа;
· операции и функции, которые можно применять к величинам этого типа.
Исходя из этих характеристик, программист выбирает тип каждой величины, используемой в программе для представления реальных объектов. Обязательное описание типа позволяет компилятору производить проверку допустимости различных конструкций программы. От типа величины зависят машинные команды, которые будут использоваться для обработки данных.
Некоторые типы данных могут иметь знаковую и беззнаковую разновидность. Переменные знакового типа могут содержать как положительные, так и отрицательные числа, тогда как беззнаковые – только положительные. В таблице приведены базовые типы данных С++, их размеры и диапазоны допустимых значений.
Типы данных, используемые в С++ (32-разрядные программы)

Переменная – это именованная область памяти, в которой хранятся данные определенного типа. У переменной есть имя и значение. Имя служит для обращения к области памяти, в которой хранится значение. Во время выполнения программы значение переменной можно изменять. Перед использованием любая переменная должна быть описана.
Строковый тип данных. В С++ строки (переменные, содержащие текст) хранятся и обрабатываются в виде символьных массивов, на которые накладывается дополнительное ограничение.
Символьные строки описываются следующим образом:
char <имя переменной>[<длина строки>];
Пример:
char phrase[17];
5. Организация ввода-вывода в стиле Си
Обмен данными с внешним миром программа на стандартном Си реализует с помощью библиотеки функций ввода-вывода #include <stdio. h>
printf() - форматный вывод на экран:
int printf(char *format, <список вывода>);
Первый параметр (format) является символьной строкой, которая задает спецификации формата, то есть показывает, как должны быть напечатаны аргументы. Форматная строка может содержать:
1) символы печатаемые текстуально;
2) спецификации преобразования
3) управляющие символы.
Остальные параметры - перечисление переменных и выражений, значения которых выводятся. Каждая спецификация формата имеет вид (параметры в квадратных скобках необязательны):
%[flags][width][.prec][F|N|h|l]type
где | type - | тип спецификации |
d или i | целое десятичное число со знаком | |
u | десятичное число без знака | |
x | целое 16-ричное число без знака | |
f | число с плавающей точкой | |
e | число в E-форме | |
g | число с плавающей точкой или в E-форме | |
c | один символ | |
s | строка | |
% | символ % | |
flags - | признак выравнивания: | |
+ или пусто | выравнивание по правому краю | |
- | выравнивание по левому краю | |
width - | целое число - общая ширина поля. Если это число начинается с цифры 0, вывод дополняется слева нулями до заданной ширины. В заданную ширину входят все символы вывода, включая знак, дробную часть и т. п. | |
prec - | целое число, количество знаков после точки при выводе чисел с плавающей точкой | |
F - | соответственный элемент списка вывода является дальним указателем | |
N - | соответственный элемент списка вывода является близким указателем | |
l - | соответствующий элемент списка вывода является long int или double |
Например вывод на экран значения переменной pi:
printf ( "Значение числа Пи равно %f\n", pi);
где \n - управляющий символ новая строка.
scanf() - форматный ввод с клавиатуры:
int scanf(char *format, <список ввода>);
Первый параметр является символьной строкой, которая задает спецификации формата (см. функцию printf()). Остальные параметры - перечисление адресов переменных, в которые вводятся данные. В этом списке перед именами всех переменных, кроме тех, которые вводятся по спецификации типа %s, должен стоять символ &.
Например ввод с клавиатуры значений переменных x и y:
scanf(" %d%f ", &x,&y);
Задание
Разработать программу, которая вводит фактические данные из таблицы, представленной в Вашем варианте индивидуального задания (см. ч. 7) и выводит на экран таблицу, подобную той, которая находится в индивидуальном задании (включая заголовок и примечания).
Пример решения задачи (вариант 19)
1. Общий метод решения
В таблице, приведенной в индивидуальном задании, первая строка - общий заголовок таблицы, вторая - заголовки столбцов таблицы. Фактические данные составляют третью, четвертую и пятую строки. Шестая строка - примечания.
Программа должна начинаться с ввода фактических данных. Для удобства оператора перед вводом на экран должно выводиться приглашение, в котором перечисляется, какие именно данные ожидает программа. За одно приглашение-ввод будет вводиться одна строка фактических данных таблицы. Т. е., приглашение ввода должно повторяться трижды. Введенные данные будут сохранятся в переменных программы.
На втором этапе программа выполняет вывод данных на экран. Каждая строка таблицы может выводиться одним оператором вывода. Среди строк, которые выводятся, будут строки без переменных значений (заголовки и линии) и строки с переменными значениями (строки с фактическими данными).
Для формирования наглядного табличного вида можно применять символы '|' и '-'.
2. Определение переменных программы
Определение переменных является первой и самой главной задачей нашей программы. Для каждой переменной нужно подобрать такой тип, который бы обеспечивал представление в памяти ее значения с достаточным диапазоном и достаточной точностью.
Название. Во всех фактических значениях этот столбец является символьной строкой из 8 символов. Т. е. для представления его в памяти переменные, в которых хранятся значения этого столбца, должны быть объявлены как:
char name1[9], name2[9], name3[9];
дополнительный символ резервируется для обозначения конца символьной строки.
Школа. Эти данные являются одним символом. Их объявление:
char sch1, sch2, sch3;
Количество монахов. Эти данные являются целыми числами в диапазонеЭтот диапазон перекрывается диапазоном возможных значений типа unsigned int (диапазон этого типа: Т. е. объявление соответственных переменных:
unsigned int cnt1, cnt2, cnt3;
Площадь земель. Это число с дробной частью, следовательно, соответствующие переменные должны быть переменными с плавающей точкой. Точность данных - всего один знак после точки, поэтому для их представления будет достаточно типа float:
float sq1, sq2, sq3;
3. Разработка текста программы
Начинаем разработку текста программы с заголовка главной функции main():
void main()
Далее открывается тело функции и в нее включается описание переменных (см. п.2).
Кодовая часть программы начинается с приглашения - вывода строки-константы (не забываем про руссификацию):
printf(Rus("1. Введите: название, школу, количество, площадь >"));
за которым считываются данные, вводимые оператором:
scanf("%s %c %d %f",name1, &sc1, &cnt1, &sq1);
Поскольку описания этих функций хранятся в файле stdio. h, включаем этот файл в начало программы:
#include <stdio. h>
При вводе строка вводится по спецификации типа %s, один символ - по спецификации типа %c, целое число без знака - по спецификации типа %u, число с плавающей точкой - по спецификации типа %f. Спецификации разделяются пробелами, т. е. и данные при вводе должны разделятся пробелами или переходом на новую строку. В списке ввода перед всеми элементами кроме того, который вводится по %s, ставится знак &.
Приглашение-ввод повторяется трижды, с разными переменными в списке ввода.
Для формирования вывода следует подсчитать ширину каждого столбца. Ширина первого столбца определяется размером фактических данных в строке - 9 символьных мест, с учетом пробелов в начале и в конце - 11. Ширина остальных столбцов определяется шириной текста в заголовках столбцов и составляет соответственно 7, 11 и 13 символьных мест. Учитывая вертикальные линии ширина строки составляет 47 знакомест.
Первая строка - горизонтальная линия, которая состоит из символа '-', повторенного 47 раз. Вторая строка - общий заголовок, дополненный до ширины 47 пробелами. Третья строка - еще одна горизонтальная линия. Четвертая и пятая строки - заголовки столбцов, каждый из них имеет установленную ширину. Шестая строка - еще одна горизонтальная линия.
Наконец, строки с седьмой до девятой - фактические данные. В каждой строке выводятся значения набора переменных для одной строки. Например:
printf("| %9s | %c | %-3d | %5.1f |\n", name1, sc1, cnt1, sq1);
Значения имени выводятся по спецификации типа %s с шириной 9. Значения школы выводятся по спецификации типа %c. Поскольку значения в этом столбце выводится по центру столбца, перед и после него ставятся пробелы. Значения количества выводятся по спецификации типа %u с шириной 3, а площадь - %f с общей шириной 5 и одним знаком после точки. Значения в этих столбцах дополняются до нужной ширины пробелами. В столбце 3 ставится признак выравнивания по правому краю.
Остальные четыре строки выводятся как текстовые константы.
Полный текст программы приведен ниже.
/*******/
/* Лабораторная работа 2 */
/* Типы данных и ввод-вывод */
/* Пример выполнения. Вариант 19. */
/*******/
#include <vcl. h>
#include <stdio. h>
#include <conio. h>
char* Rus(const char* text);
void main() {
char name1[10], name2[10], name3[10];
char sc1, sc2, sc3;
unsigned int cnt1, cnt2, cnt3;
float sq1, sq2, sq3;
/* Введение фактических данных*/
printf(Rus("1. Введите: название, школу, количество, площадь >"));
scanf("%s %c %u %f",name1, &sc1, &cnt1, &sq1);
printf(Rus("2. Введите: название, школу, количество, площадь >"));
scanf("%s %c %u %f",name2, &sc2, &cnt2, &sq2);
printf(Rus("3. Введите: название, школу, количество, площадь >"));
scanf("%s %c %u %f",name3, &sc3, &cnt3, &sq3);
/* Вывод таблицы */
/* вывод заголовков */
printf(Rus("--\n"));
printf(Rus("| Буддийские монастыри Японии периода Нара |\n"));
printf(Rus("||\n"));
printf(Rus("| Название | Школа | Количество|Площадь земли|\n"));
printf(Rus("| | | монахов| (га) |\n"));
printf(Rus("||-------||--|\n"));
/* вывод строк фактических данных */
printf("|%9s | %5c | %9u | %-11.1f |\n", name1, sc1, cnt1, sq1);
printf("|%9s | %5c | %9u | %-11.1f |\n", name2, sc2, cnt2, sq2);
printf("|%9s | %5c | %9u | %-11.1f |\n", name3, sc3, cnt3, sq3);
/* вывод примечаний */
printf(Rus("||\n"));
printf(Rus("| Примечание: Т - Тэндай; С - Сингон; |\n"));
printf(Rus("| Д - Дзедзицу |\n"));
printf(Rus("--\n"));
getch();
}
char bufRus[256];
char* Rus(const char* text){
CharToOem(text, bufRus);
return bufRus;
}
4. Отладка программы
При отладке программы можно использовать пошаговый режим отладки с отслеживанием значений переменных - тех, которые вводятся. Если возникнут проблемы с вводом переменных, есть смысл вводить каждую переменную отдельным оператором.
Аккуратный формат таблицы достигается несколькими запусками программы с последующим выравниванием столбцов по результатам запуска.
5. Результаты работы программы
При работе программы на экран было выдано следующее:
1. Введите: название, школу, количество, площадь > Тодайдзи Т
2. Введите: название, школу, количество, площадь > Якусидзи С
3. Введите: название, школу, количество, площадь > Дайаедзи Д
--
|Буддийские монастыри Японии периода Нара |
||
| Название | Школа | Количество|Площадь земли|
| | | монахов | (га) |
||-------||--|
| Тодайдзи | Т | 220 | 368.8 |
| Якусидзи | С | 50 | 54.7 |
| Дайаедзи | Д | 10 | 12.2 |
||
| Примечание: Т - Тендай; С - Сингон; |
| Д - Дзедзицу |
--
6. Организация ввода-вывода в стиле Си++
Используется библиотечный файл iostream. h, в котором определены стандартные потоки ввода данных от клавиатуры cin и вывода данных на экран дисплея cout, а также соответствующие операции
1) << - операция записи данных в поток;
2) >> - операция чтения данных из потока.
Например:
#include <iostream. h>;
.
cout << “\nВведите количество элементов: ”;
cin >> n;
Задание
Разработать программу, которая вводит фактические данные из таблицы, представленной в Вашем варианте индивидуального задания (см. ч. 7) и выводит на экран таблицу, подобную той, которая находится в индивидуальном задании (включая заголовок и примечания).
Пример решения задачи (вариант 19)
Общий метод решения и определение переменных, используемых в программе, не отличаются от уже рассмотренных выше. Рассмотрим разработку текста программы.
Начинаем разработку текста программы с заголовка главной функции main():
void main()
Далее открывается тело функции и в нее включается описание переменных (см. п.2).
Кодовая часть программы начинается с приглашения – записи в стандартный поток вывода строки-константы (не забываем про руссификацию):
cout << Rus("1. Введите: название, школу, количество, площадь >");
за которым считываются данные из стандартного потока ввода, вводимые оператором:
cin >> name1 >> sc1 >> cnt1 >> sq1;
Поскольку описания этих функций хранятся в файле iostream.h, включаем этот файл в начало программы:
#include <iostream.h>
Приглашение-ввод повторяется трижды, с разными переменными в списке ввода.
Строки таблицы с первой по шестую выводятся по тем же принципам что и стандартном выводе.
Строки с седьмой до девятой - фактические данные, которые необходимо отформатировать при выводе в поток. В каждой строке выводятся значения набора переменных для одной строки. Например:
cout << '|' << setw(9) << name1 << " | " << setw(5) << sc1 << " | "
<< setw(9) << cnt1 << " | " << setw(11) << setprecision(1)
<< setiosflags(ios::fixed) << sq1 << " | " << endl;
При использовании потоков форматирование данных выполняется тремя способами – с помощью флагов, манипуляторов и форматирующих методов.
Для установки ширины используется параметризированный манипулятор setw(int) из библиотеки iomanip.h.
Для форматирования вывода вещественного числа можно использовать манипуляторы:
setiosflags(long) – устанавливает флаги состояния потока, в частности при решении задачи устанавливается флаг fixed из класса ios для вывода вещественного числа в форме с фиксированной точкой;
setprecision(int) – устанавливает количество цифр в дробной части вещественного числа в форме с фиксированной точкой.
Полный текст программы приведен ниже.
/*******/
/* Лабораторная работа 2 */
/* Типы данных и ввод-вывод */
/* Пример выполнения. Вариант 19. */
/*******/
#include <vcl. h>
#include <iostream. h>
#include <conio. h>
#include <iomanip. h>
char* Rus(const char* text);
void main() {
char name1[10], name2[10], name3[10];
char sc1, sc2, sc3;
unsigned int cnt1, cnt2, cnt3;
float sq1, sq2, sq3;
/* Введение фактических данных*/
cout << Rus("1. Введите: название, школу, количество, площадь >");
cin >> name1 >> sc1 >> cnt1 >> sq1;
cout << Rus("2. Введите: название, школу, количество, площадь >");
cin >> name2 >> sc2 >> cnt2 >> sq2;
cout << Rus("3. Введите: название, школу, количество, площадь >");
cin >> name3 >> sc3 >> cnt3 >> sq3;
/* Вывод таблицы */
/* вывод заголовков */
cout << Rus("--\n");
cout << Rus("| Буддийские монастыри Японии периода Нара |\n");
cout << Rus("||\n");
cout << Rus("| Название | Школа | Количество|Площадь земли|\n");
cout << Rus("| | | монахов| (га) |\n");
cout << Rus("||-------||--|\n");
/* вывод строк фактических данных */
cout << '|' << setw(9) << name1 << " | " << setw(5) << sc1 << " | "
<< setw(9) << cnt1 << " | " << setw(11) << setprecision(1)
<< setiosflags(ios::fixed) << sq1 << " | " << endl;
cout << '|' << setw(9) << name2 << " | " << setw(5) << sc2 << " | "
<< setw(9) << cnt2 << " | " << setw(11) << setprecision(1)
<< setiosflags(ios::fixed) << sq2 << " | " << endl;
cout << '|' << setw(9) << name3 << " | " << setw(5) << sc3 << " | "
<< setw(9) << cnt3 << " | " << setw(11) << setprecision(1)
<< setiosflags(ios::fixed) << sq3 << " | " << endl;
/* вывод примечаний */
cout << Rus("||\n");
cout << Rus("| Примечание: Т - Тэндай; С - Сингон; |\n");
cout << Rus("| Д - Дзедзицу |\n");
cout << Rus("--\n");
getch();
}
char bufRus[256];
char* Rus(const char* text){
CharToOem(text, bufRus);
return bufRus;
}
7. Варианты индивидуальных заданий
Разработать программу, которая вводит фактические данные из таблицы, представленной в Вашем варианте индивидуального задания и выводит на экран таблицу, подобную той, которая находится в индивидуальном задании (включая заголовок и примечания). Реализовать два варианта программы используя организацию ввода-вывода в стиле стандартного Си и в стиле Си++.
Вариант №1
Фирмы - производители СУБД | |||
Фирма | Количество продуктов | Годовой объем продажи ($) | Часть рынка (%) |
Oracle | 1 | 31.1 | |
IBM | 3 | 29.9 | |
2 | 13.1 | ||
Примечание: по данным Gartner Group за 1999г |
Вариант №2
Отдел кадров | |||
Фамилия | Инициалы | Год рожд | Оклад |
Иванов | И. И. | 1975 | 517.50 |
Петренко | П. П. | 1956 | 219.10 |
Паниковский | М. С. | 1967 | 300.00 |
Примечание: оклад установлен по состоянию на 1 января 2000 года |
Вариант №3
Ведомость комплектующих | |||
Обозначение | Тип | Номинал | Количество |
RT-11-24 | R | 100000 | 12 |
RT-11-24 | R | 50000 | 10 |
CGU-12K | C | 17.5 | 3 |
Примечание: R - резистор; C - конденсатор |
Вариант №4
Проекты поиска внеземных сигналов | |||
Год | Научный руководитель | Диаметр антенны (м) | Рабочая частота (МГц) |
1960 | Дрейк | 26 | 1420 |
1970 | Троицкий | 14 | 1875 |
1978 | Хоровиц | 300 | 1665 |
Примечание: наблюдались объекты от 2 звезд до нескольких галактик |
Вариант №5
Ведомость спортивных состязаний | |||
Фамилия участника | Код команды | Количество балов | Место в итоге |
Баландин | С | 123.7 | 2 |
Шишков | Ш | 79.98 | 3 |
Кравченко | Д | 134.8 | 1 |
Примечание: Д - "Динамо", С - "Спартак", Ш - "Шахтер" |
Вариант №6
Ведомость общественного транспорта | |||
Вид транспорта | № маршрута | Протяженность маршрута (км) | Время в дороге (мин) |
Тр | 12 | 27.55 | 75 |
Тс | 17 | 13.6 | 57 |
А | 12а | 57.3 | 117 |
Примечание: Тр - трамвай, Тс - троллейбус, А - автобус |
Вариант №7
Приблизительное количество звезд разных спектральных классов в Галактике | |||
Спектральный класс | Приблизительная масса (отн. Солнца) | Часть % | Численность |
O | 32 | 0.00002 | 55000 |
F | 1.25 | 2.9 | |
M | 0.2 | 73.2 | |
Примечание: не показаны данные для классов: B, A, G, K |
Вариант №8
Время выполнения некоторых программ, которые применяют параллельные алгоритмы | |||
Название прграммы | Количество строк кода | Время исп. на SGI Callenge (cек) | Время исп. на SGI Indy (cек) |
OCEAN | 1917 | 8.70 | 18.2 |
DYFESM | 3386 | 6.95 | 22 |
TRFD | 417 | 1.05 | 2.98 |
Примечание: SGI Callenge - ЦП R1MHz, 1.024 MB RAM SGI Indy - ЦП R4MHz, 64 MB RAM |
Вариант №9
Конфигурация программных средств информационных систем | ||||
Операционная система | СУБД | Мин. объем внешней памяти (MB) | Мин. объем оперативной памяти (MB | Приблизительная цена ($) |
OS/2 | DB2 | 130 | 22 | 3343 |
Windows/NT | SQLServer | 230 | 24 | 2685 |
SCO/Unix | Oracle | 110 | 48 | 3745 |
Примечание: принималась цена лицензии на 8 пользователей |
Вариант №10
Прайс-лист | |||
Наименование товара | Тип товара | Цена за 1 шт (грн) | Минимальное количество в партии |
Папка | К | 4.75 | 4 |
Бумага | К | 13.90 | 10 |
Калькулятор | О | 411.00 | 1 |
Примечание: К - канцтовары, О - оргтехника |
Вариант №11
Вязкость металлов в жидком состоянии | |||
Вещество | Атомный номер | Температура (град. С) | Вязкость (кг/м*сек) |
Алюминий | 13 | 700 | 2.90 |
Висмут | 83 | 304 | 1.65 |
Свинец | 82 | 441 | 2.11 |
Примечание: данные даны для температуры плавления |
Вариант №12
Коэффициенты теплопроводимости материалов | |||
Вещество | Тип | Влажность (%) | Коэффициент |
Алюминий | М | 0-100 | 209.3 |
Стекловата | Т | 0-100 | 0.035 |
Глина | Д | 15-20 | 0.73 |
Примечание: М - металлы, Т - термоизоляционные материалы, Д - другие материалы |
Вариант №13
Элементарные частицы | |||
Частица | Группа | Заряд | Масса покоя |
Нейтрон | Н | 0 | 940 |
Ка-плюс | М | +1 | 494 |
Электрон | Л | -1 | 0.511 |
Группы частиц: Г - гипероны, Н - нуклоны, М - мезоны, Л - лептоны |
Вариант №14
Сплавы с высоким сопротивлением | |||
Сплав | Сопротивление | Темп. коэфф. сопр | Макс. температура |
Константан | 0.44 | 0.00001 | 500 |
Никелин | 0.39 | 0.39 | 150 |
Фехраль | 1.1 | 0.0001 | 900 |
Единицы измерения: сопротивление - ом*кв. мм/м. Коэффициент сопротивления - 1/град. Температура - град. С |
Вариант №15
Прайс-лист | |||
Код товара | Категория | Цена (грн) | Срок поставки (дн) |
01-0018 | К | 11282 | 7 |
01-0033 | С | 170 | 1 |
02-0170 | М | 1735 | 14 |
Примечание: К - компьютеры, С - комплектующие, М - множительная техника |
Вариант №16
Свойства полупроводников | |||
Вещество | Ширина запрещенной зоны | Движение электронов | Движение дырок |
Бор | 1.1 | 10 | 10 |
Телур | 0.36 | 1700 | 1200 |
CdTe | 1.45 | 450 | 100 |
Единицы измерения: ширина запрещенной зоны - эв; движение - кв. см/сек*в |
Вариант №17
Журнал регистрации аварий: | |||
Название предприятия | Категория | Утраты от аварии (тис. грн) | Срок простоя (дн) |
Птицефабрика | 1 | 12.7 | 4 |
Теплоцентраль | 1 | 0.711 | 1 |
Автосервис | 2 | 1770.15 | 38 |
Примечание: указываются только прямые затраты, связанные с ликвидацией последствий аварии |
Вариант №18
Ведомости о присвоении квалификации | |||
Фамилия | Год рождения | Оценка результатов экзаменов | Присвоен уровень квалификации |
Шевченко | 1970 | 4.33 | 6 |
Розанов | 1975 | 5.1 | 5 |
Панасюк | 1966 | 3.07 | 3 |
Примечание: показана итоговая оценка по результатам экзаменов по теоретической и практической подготовке |
Вариант №19
Буддийские монастыри Японии периода Нара | |||
Название | Школа | Количество монахов | Площадь земли (га) |
Тодайдзи | Т | 220 | 368.8 |
Якусидзи | С | 50 | 54.7 |
Дайандзи | Д | 10 | 12.2 |
Примечание: Т - Тэндай; С - Сингон; Д - Дзедзицу |


