Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЗФ_ОАиП / Laboratornaja_rabota_1 семестр / Laboratornaja_rabota_2_Tipy_dannykh_Konsolnyi_vvod-vyvod

.doc
Скачиваний:
24
Добавлен:
21.03.2016
Размер:
117.76 Кб
Скачать

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

Типы данных. Консольный ввод-вывод

Цель работы:

Изучить типы данных языка С и наиболее распространенные функции ввода информации с клавиатуры и ее вывода на экран (консольный ввод-вывод):

getchar , getch и putchar (для ввода-вывода символа),

gets и puts (для ввода-вывода строки),

scanf и printf (для форматированного ввода-вывода ), спецификации формата и функцию

fflush очистки буфера stdin.

Задание.

1. Изучить основные типы данных языка С.

2. Изучить функции getchar, putchar, gets, puts, scanf, printf, fflush очистки буфера stdin, спецификации формата.

3. Разобрать и выполнить пример к данной лабораторной работе.

3. Написать и отладить хорошо комментированную программу в среде Borland C++ 3.1, осуществляющую ввод и вывод данных в соответствии с заданием 1 и заданием 2.

4. Вывести текст программы и результаты ее выполнения на принтер.

5. Подготовить отчет, который должен содержать:

  • Название работы

  • Цель работы

  • Задание

  • Таблица соответствия переменных

  • Краткое описание функций ввода и вывода (для чего предназначены и общий вид)

  • Листинг программы и результатов ее выполнения

  • Выводы

Задание 1.

Разработать программу на алгоритмическом языке СИ, которая с помощью операторов ввода-вывода вводит и выводит на экран числовые значения переменных.

Спецификации операторов ввода и вывода выбрать самостоятельно в соответствии со значениями перемнных.

Задание выбрать по порядковому номеру студента в списке журнала группы из таблицы 1.1.

Таблица 1.1

Вариант

Группа чисел

1

2

3

01

P= -1084

L= 265

M= 28,56

S= 1,83900645

Z=0,00001

A=106

02

A=26,3•103

J= -32

B= -0,03375

D=5•102

C=3,75•10 -5

H= -0,01

03

J= -520

K=72800•10 -2

N=365,4

E=102

L=74,5•104

F= -0,035•10 -2

04

B=25•102

C=76000•10 -2

A=3,25•10 -4

P=3,14

E=3,725•104

L=0,025

05

J= -62

S=8,5•104

M=5,6

C=0,042

D=72•10 -5

N=4,7•10 -2

06

A=6,32•103

B= -42

D=435•10 -4

F= -0,0054

X= -10 -6

Y=4,5•103

07

K= -67

L=45700•10 -2

S=5,601

M=526•10 -2

N= -0,00042

P=4

08

E= -652

C=344

K= -3,2

A=526,3•10 -1

B=0,1

D=456,3•10 -5

09

W=3

J= -475

I=4•104

D= -7,005

F=4,32•10 -6

K= -0,0001

10

E= -3000

D=750•10 -1

Z= -32•10 -3

M=0,001

C=64,5•103

Y= -0,005

11

A=100

B= -0,52•104

N=4

D=104

Y= -5

X= -0,045•10 -3

12

L= -457

M=7

Z=33,66•10 -3

F=465

N= -0,1•104

A=6,7•103

13

E=104

L= -25

K= -4,5

D=42567•10 -2

F=4,57•10 -3

M= -56,3

14

C=17

K= -4500

F=752•102

L= -0,0003

D= -4,57•10 -2

A= -0,01

15

X=4

Y= -0,1•103

E=256•10 -5

N= -3,5

F=4•10 -5

A=106

16

L= -756

B=62•102

C=4,5•10 -3

K= -0,0032

X= -4,5•103

Y=3,14

17

I= -3200

M=654000•10 -2

C= -625

N=3,5•10 -4

A=462•10 -5

D= -0,0015

18

N= -75200

D=45

E=32,5

P=652,3•10 -4

K=10 -4

C=0,01•106

19

Y= -54

H=35000

K=5,6•10 -3

Z= -3,7•104

E=10 -3

L= -6•104

20

E=103

F= -450

H=0,005•102

X= -43,562•10 -3

I=75600

Y= -0,00036

21

L=7•103

H= -452

X= -3,2•10 -4

Z=653•102

E=3,2•10 -3

F= -65486•10 -4

22

K= -0,015•104

F=365

S=1,457

Z=999,99

L=105

P= -333,3•102

23

C= -5

H=425

X=3,567

Y= -0,0001

N=365000

E= -0,00004

24

Y= -47

D=6

F=7,2•106

S= -64,5•10 -3

A=0,0001•103

L=4•10 -2

25

N=3,25•103

E= -76

Y=54,6

C= -0,001•10 -4

F= -0,0001

L=456•102

26

K= -375

E=5

S= -3,001•10 -2

N=6,5•102

F=104

D= -3,88•10 -3

27

L= -400

A=105

B=4,56•10 -3

M= -52,5•102

I=10 -3

E=3,5•10 -4

28

P= -184

I=6001

Z=37,54•10 -3

F= -0,0064

K=735000

E=3,5•10 -4

29

L= -254

S=76000

D= -5,5•10 -2

A=103

Z=0,000001

F= -37000•10 -4

30

P= -3

Y=4600

N= -62,5

H=4,8•103

E= -3,5•10 -3

Y=745000

Задание 2.

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

Задание выбрать по порядковому номеру студента в списке журнала группы из таблицы 1.2.

Вариант

Задание

01

Тип электродвигателя (до 16 символов), номинальная мощность в кВт, номинальная частота обращения в об/мин, отношение пускового момента к номинальному, дата ввода данных, фамилия пользователя программы.

02

Наименование элементов привода (до 80 символов), максимальное и минимальное значение КПД закрытой и открытой передач, дата ввода данных, фамилия пользователя программы.

03

Марка стали (до 8 символов), минимальное и максимальное значение диаметра заготовки в мм, предел прочности материала в Н/м2, дата ввода данных, фамилия пользователя программы.

04

Способ термической или химико-термической обработки зубьев (до 30 символов), диапазон значений средней твердости материала в НРС (два числа), тип стали (до 20 символов), дата ввода данных, фамилия пользователя программы.

05

Тип стали (до 20 символов), диапазон значений средней твердости зубьев в НРС (два числа), предел прочности материала на изгиб в МПа, дата ввода данных, фамилия пользователя программы.

06

Твердость поверхности зубьев в НВ, виды зубьев (до 80 символов), коэффициент учета влияния вида зубчатой передачи, дата ввода данных, фамилия пользователя программы.

07

Степень точности передачи (целое число от 6 до 9), максимальное значение окружной скорости в м/с для прямозубой передачи, тип передачи (до 80 символов), дата ввода данных, фамилия пользователя программы.

08

Мощность на приводном валу в кВт, частота вращения приводимого вала в об/мин, тип редуктора (до 20 символов), окружная скорость на рабочем органе в м/с, дата ввода данных, фамилия пользователя программы.

09

КПД привода (число от 0 до 1), КПД редуктора, КПД открытой передачи, вид открытой передачи (до 20 символов), дата ввода данных, фамилия пользователя программы.

10

Общее передаточное число привода, передаточное число редуктора, передаточное число открытой передачи, тип редуктора (до 20 символов), дата ввода данных, фамилия пользователя программы.

11

Частота вращения вала в об/мин, передаваемая мощность в кВт, расчетная нагрузка в Н/м, наименование вала (до 16 символов), дата ввода данных, фамилия пользователя программы.

12

Вид сопрягаемой детали (до 16 символов), размер детали в мм, номер квалитета (может принимать значения от 5 до 13), значение допуска размера в мкм, дата ввода данных, фамилия пользователя программы.

13

Посадочная поверхность (до 30 символов), класс точности подшипника (одно из чисел 0,4,5,6), параметр шероховатости поверхности подшипника качения в мкм, дата ввода данных, фамилия пользователя программы.

14

Марка материала для изготовления венцов червячных колес (до 10 символов), способ отливки (до 16 символов), скорость скольжения в червячной передаче в м/с, предел текучести в МПа, дата ввода данных, фамилия пользователя программы.

15

Модель устройства телеобработки данных (до 8 символов), назначение (до 20 символов), предельная скорость передачи данных в бит/с , максимальное число каналов, дата ввода данных, фамилия пользователя программы.

16

Модель электронно-лучевого генератора изображений (до 8 символов), страна-разработчик (до 10 символов), размеры рабочего поля в мм ( два числа), разрешение в мкм, дата ввода данных, фамилия пользователя программы.

17

Модель микрофотонаборной установки (до 10 символов), материал и режим набора (до 16 символов), размеры поля перемещений координатного стола в мм (два числа), точность позиционирования в мкм, дата ввода данных, фамилия пользователя программы.

18

Модель спецпроцессора (до 12 символов), назначение (до 20 символов), количество разрядов, максимальное число накопителей, производительность в бит/c, дата ввода данных, фамилия пользователя программы.

19

Модель внешнего запоминающего устройства (до 8 символов), назначение (до 4 символов), скорость обмена в Мбит/с, информационная емкость в Мбайт, дата ввода данных, фамилия пользователя программы.

20

Модель устройства подготовки данных (до 8 символов), назначение (до 10 символов), количество символов, предельная скорость набора в знак/с, дата ввода данных, фамилия пользователя программы.

21

Модель графического дисплея (до 7 символов), тип (до 9 символов), количество адресуемых точек (два числа), размер рабочего поля экрана в мм (два числа), дата ввода данных, фамилия пользователя программы.

22

Модель устройства документирования текста (до 16 символов), назначение (до 20 символов), страна-изготовитель (до 10 символов), производительность в строк/мин или знак/с, дата ввода данных, фамилия пользователя программы.

23

Модель графопостроителя (до 14 символов), тип графопостроителя (до 20 символов), размеры рабочего поля в мм (два числа), максимальная скорость чтения в мм/с, дата ввода данных, фамилия пользователя программы.

24

Модель координатографа (до 12 символов), страна-изготовитель (до 14 символов), точность позиционирования в мм, максимальная скорость в мм/c, максимальная скорость в мм/с, размеры рабочего поля в мм (два числа), дата ввода данных, фамилия пользователя программы.

25

Модель пресса (до 8 символов), номинальное усилие в кН, ширина, длина и толщина заготовки в мм (три числа), дата ввода данных, фамилия пользователя программы.

26

Модель многопозиционного пресса-автомата (до 6 символов), номинальное усилие в кН, число ходов ползуна в дв.ход/мин, число позиций, наибольшая ширина ленты в мм, дата ввода данных, фамилия пользователя программы.

27

Наименование комплекта вытяжных штампов (до 16 символов), технологический диаметр фланца в мм, диаметр заготовки в мм, относительная толщина в %, число переходов, дата ввода данных, фамилия пользователя программы.

28

Номер чертежа детали (до 12 символов), марка материала (до 10 символов), толщина материала в мм, ход раскроя (шестиразрядное число), число рядов, дата ввода данных, фамилия пользователя программы.

29

Вид вытяжки (до 16 символов), диаметр полученной детали в мм, толщина заготовки в мм, предел прочности материала в МПа, дата ввода данных, фамилия пользователя программы.

30

Марка материала (до 8 символов), температура начала штамповки в оС, максимальная и минимальная температура конца штамповки в оС (два числа), дата ввода данных, фамилия пользователя программы.

Пример

Написать программу ввода и вывода двух целых и четырех вещественных числа, ввода и вывода марки материала (до 8 символов), температуры начала штамповки, минимальной и максимальной температуры конца штамповки, текущей даты и фамилии пользователя.

Решение.

Таблица соответствия

Переменная в задаче

Имя переменной в программе

Тип

Спецификация ввода (для оператора scanf)

Спецификация вывода

1-ое целое число

P

int

%d

%2d

2-ое целое число

J

int

%d

% 4d

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

N

float

%f

%5.2f

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

H

float

%f

%e

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

E

float

%f

%e

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

Y

float

%f

%f

Марка материала

M

char M[8]

%s

Температура начала штамповки

T

int

%d

Миниальная температуры конца штамповки

TN

int

%d

Максимальную температуры конца штамповки

TK

int

%d

Текущая дата

D

char D[10]

%s

Фамилия

F

char F[20]

%s

Текст программы

/* Пример для лабораторной работы №2 */

#include <stdio.h>

#include <conio.h>

main()

{

int P,J,T,TN,TK; // Переменные целочисленного типа

float N,H,E,Y; //Переменные вещественного типа

char M[8], D[10], F[20]; //Массивы символов (строки)

puts("Введите два целых числа");

scanf("%d %d",&P,&J);

puts("Введите четыре вещественных числа");

scanf("%f %f %f %f",&N,&H,&E,&Y);

printf("Введите марку материала (до 8 символов) ");

fflush(stdin);

gets(M);

fflush(stdin);

puts("Введите температуру начала штамповки");

scanf("%d",&T);

puts("Введите минимальную и максимальную температуры конца штамповки");

scanf("%d %d",&TN,&TK);

fflush(stdin);

puts("Введите текущую дату");

gets(D);

puts("Введите свою фамилию");

gets(F);

puts("Были введены:");

printf("Целые числа P=%2d J=% 4d\n", P,J);

printf("Вещественные числа N= %5.2f H= %e E= %e Y= %f\n", N,H,E,Y);

printf("Марка материала: %s\n", M);

printf("Температура начала штамповки: %d град.C\n", T);

printf("Минимальная и максимальная температуры конца штамповки: %d

град.C % d град.C\n", TN,TK);

printf("Работу выполнил %s %s\n", F,D);

fflush(stdin);

getchar();

return(0);

}

Контрольные вопросы

  1. Что определяет тип данных?

  2. На какие две группы можно разделить все типы языка C?

  3. Какие типы данных относятся к основным типам?

  4. Какие типы данных являются составными?

  5. Какие ключевые слова определены для описания основных типов данных (целого, символьного, расширенного символьного, логического, вещественного, вещественного с двойной точностью)?

  6. Назовите четыре спецификатора типа, уточняющих внутреннее представление и диапазон значений стандартных типов

  7. .Объемы занимаемой памяти для основных типов данных?

  8. Множество значений типа void?

  9. Когда используется тип void?

  10. Дать определение переменной.

  11. Дать определение именованной константы.

  12. Привести общий вид описания переменной.

  13. Что понимается под консольным вводом-выводом"

  14. Функции ввода и вывода символа?

  15. Функции ввода и вывода строки?

  16. Функция, предназначенная для вывода форматированной последовательности данных?

  17. Функция, предназначенная для ввода данных в заданном формате?.

  18. Для чего предназначена форматная строка функций ввода и вывода?

  19. Что может содержать форматная строка?

  20. Общий вид спецификации преобразования форматной строки?

  21. Перечислите спецификации преобразования функции printf.

  22. Что такое Еscape-последовательности, для чего они предназначены?

  23. Приведите таблицу Еscape-последовательностей.

  24. Назначение и примеры использования функций atoi, atol, atof.

  25. Назначение и примеры использования функции strtod?