Операционные среды персональных компьютеров. Программные средства создания и сохранения информации. Часть 1: Методические указания к выполнению лабораторных работ, страница 13

Каждому объекту из списка, следующего за строкой формата должна соответствовать своя спецификация формата преобразования данных. При выводе данных на ее место подставляется значение объекта. Общий вид записи спецификации формата преобразования

%[<флаг>][<ширина>][.<точность>]<тип преобразования > где:

<флаг>        - символ, устанавливающий форму вывода (“-“ - выравнивание влево, “+” – вывод знака числа и т.д.);

<ширина>  - число, устанавливающее максимальную ширину поля вывода;

<точность> - число, устанавливающее максимальное количество позиций после десятичной точки, предназначенных для вывода данных;

тип преобразования    - символ, указывающий как должны трактоваться данные, хранящие­ся в памяти компьютера при их выводе на экран.

Используются следующие символы для задания типа преобразования данных при их выводе:

c – вывод одного символа;

d - вывод десятичного целого числа;

f - вывод десятичного вещественного числа в естественной форме представления;

e - вывод десятичного вещественного числа в экспоненциальной форме представления;

s - вывод строки символов.

Три первых элемента записи спецификации формата преобразования в функции printf (флаг, ширина, точность) являются необязательными

Запись оператора обращения к стандартной функции форматного консольного ввода имеет вид

scanf (“<строка формата>” [,<адреса аргументов>]);  где:

<строка формата>     - совокупность спецификаций формата преобразования данных, разделяемых между собой пробельными символами;

<адреса аргументов>       -адреса объектов, перечисленные через запятую.

В отличие от функции printf в функции scanf в качестве аргументов используются не имена объектов, а их адреса. Для того  чтобы указать адрес объекта нужно перед его именем записать символ “&” (символ амперсанд).

Спецификация формата преобразования данных в функции scanf имеет общий вид записи

%[<ширина>]<тип преобразования >, где:

<ширина>  - необязательное число, устанавливающее максимальную ширину поля ввода;

<тип преобразования>    - обязательный символ, указывающий как должны трактоваться дан­ные, вводимые с клавиатуры, при помещении их в память компьютера.

Используются следующие символы для задания типа преобразования данных при их вводе

c – ввод одного символа;

d - ввод десятичного целого числа;

g - ввод десятичного вещественного числа;

s - ввод строки символов.

Неформатированный ввод-вывод обеспечивает за одно обращение к библиотечной функции обработку только одного объекта данных, значениями которых могут быть одиночные символы и их последовательности. Для ввода одиночного символа используется функция getchar. Пример записи оператора обращения к ней имеет вид

Sy = getchar( );

По этому оператору функция getchar считывает введенный с клавиатуры символ и помещает его в оперативную память компьютера по адресу переменной Sy.

Кроме функции getchar имеется аналогичная ей функция getch. Она осуществляет ввод одиночного символа с клавиатуры компьютера без копирования на экран. Это делает ее очень удобной для организации паузы при исполнении программы. Как только встретиться оператор

getch( );

компьютер переходит в режим ожидания ввода символа и никаких действий не производится до тех пор, пока не будет нажата какая-либо клавиша.

Для вывода одиночного символа используется функция putchar. Пример записи оператора обращения к ней имеет вид

putchar (<аргумент>); где:

<аргумент> - имя выводимого объекта (аргументом может быть символьная константа).

Неформатированный ввод-вывод символьных строк выполняют соответственно функции

gets(<имя строки>)         и          puts(<имя строки>)

В них имя <имя строки> - область памяти, в которой хранится символьная строка.

2.Задание.

2.1. Разработать программу форматного ввода-вывода объектов, значениями которых являются: целое число, вещественное число, символ, символьная строка. Вывод значений этих объектов произвести в таблице вида

Имя объекта

Значение объекта

Перед  завершением работы программы организовать паузу для просмотра результатов.

2.2. Модифицировать программу таким образом, чтобы ввод объектов, значениями которых являются символы и их последовательности, производился с помощью функций неформатного ввода

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

Программирование линейных и разветвляющихся

 вычислительных процессов

1.  Справочная информация

При программировании вычислительных процессов используются математические функции библиотеки компилятора. Для обеспечения возможности обращения к ним в программе должна указываться директива препроцессора  #include <math.h>. Все математические функции результатом своей работы имеют вещественные числа типа double. Описание некоторых функций дано в таблице.

функция

назначение функции

значения аргументов

sin(x)

вычисляет синус угла x

вещественное число

cos(x)

вычисляет косинус угла x

в диапазоне

tan(x)

вычисляет тангенс угла x

от -2p до 2p

asin(x)

вычисляет арксинус величны  x

вещественное число

acos(x)

вычисляет арккосинус величны x

в диапазоне

atan(x)

вычисляет арктангенс величны x

от -1 до 1

sqrt(x)

вычисляет корень квадратный из  x

exp(x)

вычисляет значение e в степени x

log(x)

вычисляет натуральный логорифм от x

любое

log10(x)

вычисляет десятичный логорифм от x

вещественное

ceil(x)

округляет число х путем отбрасывания дробной части

число

floor(x)

округляет число х до наибольшего целого, не превышающего х

pow(x,y)

вычисляет значение x в степени y

любые

fmod(x,y)

вычисляет остаток от деления x на y

вещественные числа

Для организации разветвляющихся процессов используются условный оператор if  и оператор-переключатель switch