- •Лабораторный практикум
- •Москва – 2006
- •Введение
- •Лабораторная работа № 1 Тема: « Проектирование логической структуры базы данных»
- •1. Изучение информационной модели перевозочного процесса
- •1.3 Пример процессов, отражаемых информационной моделью.
- •2. Построение информационной модели предметной области
- •Функциональные классы
- •Классы ж.Д. Документов
- •Технологические операции (события)
- •Пользовательские классы
- •Тема: «Определение классов объектов, участвующих в перевозочном процессе»
- •3.1 Техника работы c sql -менеджер
- •Insert into SlovarOb_SlovOper.OperWagon (KodOper,Mnemokod,NaimenOper)
- •Values (01,'пост,'Пром остан на станц').
- •3.2 Варианты заданий на выполнение лабораторной работы
- •3.3 Порядок оформления лабораторной работы
- •Лабораторная работа № 4 Тема: «Программирование в среде субд Сache-5»
- •Описание базы данных, построенной для решения контрольных примеров:
- •Лабораторная работа № 5
- •В пакетном режиме os/390
- •3. Под os/390 shell оболочкой
- •43 Пpoc
- •44 Пoдч
- •51 Пpиб
- •53 Пpoc
- •54 Pacф
- •62 Otпp
- •63 Пpoc
- •64 Pacф
- •70 Пpot
- •73 Kopp
- •75 Bkлc
- •76 Иckл
- •79 Tгhл
- •93 Ппpc
- •98 Пpпс
- •Список используемых источников
- •Информационно-вычислительные системы железнодорожного транспорта
- •127994, Москва, ул. Образцова, 15.
Лабораторная работа № 5
Тема: «Освоение работы на ОС/390 с использованием языков программирования С и С++»
Базы данных единой модели перевозочного процесса поддерживаются в информационно-вычислительных центрах железных дорог на Mainframe. Целью данной лабораторной работы является освоение операционной системы ОС/390 Mainframe и разработка кода программы на языке С.
Следующий пример показывает простую OS/390 C программу, которая переводит температуру из шкалы Цельсия в Фаренгейт. Вы можете ввести значение температуры в командной строке или дать возможность программе задать запрос пользователю о значениях температуры.
В данном примере, главная программа вызывает функцию convert() для перевода
температуры из значения по Цельсию в значения по Фаренгейту и выдает результат.
CBC3UAAM
#include <stdio.h> 1
#include "cbc3uaan.h" 2
void convert(double); 3
int main(int argc, char **argv) 4
{
double c_temp; 5
if (argc == 1) { /* получет значение по Цельсию из stdin */
printf("Enter Celsius temperature: \n"); 6
if (scanf("%f", &c_temp) != 1) {
printf("You must enter a valid temperature\n");
}
else {
convert(c_temp); 7
}
}
else { /* перевод аргументов из командной строки в Фаренгейт*/
int i;
for (i = 1; i < argc; ++i) {
if (sscanf(argv[i], "%f", &c_temp) != 1)
printf("%s is not a valid temperature\n",argv[i]);
else
convert(c_temp); 7
}
}
}
void convert(double c_temp) { 8
double f_temp = (c_temp * CONV + OFFSET);
printf("%5.2f Celsius is %5.2f Fahrenheit\n",c_temp, f_temp);
}
Рис 3. Перевод темпереатуры из Цельсия в Фаренгейт
CBC3UAAN
/**************************************************************
* Пользовательский include file: cbc3uaan.h * 9
**************************************************************/
#define CONV (9./5.)
#define OFFSET 32
Рис. 4 Пользовательский #include File для программы преобразования из Цельсия в Фаренгейт
Текст примера приведен на рис. 3. На рис. 4 показано описание пользовательского файла. Ниже дается комментарий к данному примеру.
1. Эта предпроцессорная директива включает системный файл, который
содержит декларирование стандартных библиотечных функций, таких как printf () -
функция, используемая в этой программе.
Компилятор ищет системные библиотеки для файла STDIO.
2. Предпроцессорная директива включает пользовательский файл, который определяет константы, используемые программой.
Компилятор ищет пользовательские библиотеки для файла CBC3UAAN.
Если компилятор не может найти файл в пользовательских библиотеках,
он ищет его в системных библиотеках.
3. Это функция декларирования прототипа. Этот оператор декларирует convert()
как внешнюю функцию, имеющую один параметр.
4. Программа начинает выполнение в этой точке входа.
5. Здесь автоматически определяются данные для программы main()программы.
6. printf оператор– это вызов библиотечной функции, которая позволяет вам форматировать
вывод и печатать его на стандартном устройстве вывода. Функция printf()
объявлена в стандартном I/O заголовке файла stdio.h, включенного в начале программы.
7. Этот оператор содержит запросы к convert() функции, которая была декларирована раньше в программе, как получение одной переменной двойной точности, и не возвращает значение.
8. Это определение функции. В данном примере объявление этой функции
появляется непосредственно перед определением main() функции. Код функции находится в том же файле, что и main() функция.
9. Это пользовательский include файл, который содержит CONV и OFFSET.
Пример компиляции, связки и запуска программы OS/390 C
В общем, вы можете компилировать, связывать и запускать OS/390 C программы в пакетном режиме OS/390, TSO, или OS/390 shell-оболочкой. Вы не можете запустить IPA Link шаг под TSO, или в пакетном режиме OS/390, используя ISPF интерфейс.
В качестве префикса используется имя пользователя. Например, в PETE.TESTHDR.H, префикс пользователя - PETE.