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

ЛИЧНЫЙ КАБИНЕТ 

 

Здравствуйте гость!

 

Логин:

Пароль:

 

Запомнить

 

 

Забыли пароль? Регистрация

Повышение уникальности

Предлагаем нашим посетителям воспользоваться бесплатным программным обеспечением «StudentHelp», которое позволит вам всего за несколько минут, выполнить повышение уникальности любого файла в формате MS Word. После такого повышения уникальности, ваша работа легко пройдете проверку в системах антиплагиат вуз, antiplagiat.ru, etxt.ru или advego.ru. Программа «StudentHelp» работает по уникальной технологии и при повышении уникальности не вставляет в текст скрытых символов, и даже если препод скопирует текст в блокнот – не увидит ни каких отличий от текста в Word файле.

Результат поиска


Наименование:


лабораторная работа Структуры и алгоритмы обработки данных

Информация:

Тип работы: лабораторная работа. Добавлен: 05.12.2012. Сдан: 2012. Страниц: 15. Уникальность по antiplagiat.ru: < 30%

Описание (план):



ОБРАЗОВАТЕЛЬНЫЙ КОНСОРЦИУМ
«СРЕДНЕРУССКИЙ  УНИВЕРСИТЕТ»
БРЯНСКИЙ ИНСТИТУТ УПРАВЛЕНИЯ И БИЗНЕСА
 
Факультет «Информационных  технологий»
Кафедра «Информатика и программное обеспечение»
 
 
Курс «Структуры и алгоритмы обработки данных»
 
 
«Структуры и алгоритмы обработки данных»
Второй семестр
Лабораторная работа №1.
 
Базовые типы данных и ввод-вывод
 
 
Вариант
 
 
 
 
 
 
 
 
 
 
Выполнил студент
группы
Проверил преподаватель
Крючкова О.Г.
 
 
 
 
Брянск 2010
 


1. Цель работы
Целью лабораторной работы является получение практических навыков в работе с типами данных языка C и в использовании функций стандартного ввода-вывода.
2. Темы для предварительной  проработки
    Типы данных языка C.
    Объявление переменных.
    Функции стандартного ввода-вывода.
3. Задание
Разработать программу, которая вводит данные из таблицы, представленной в Вашем варианте индивидуального задания и выводит на экран таблицу, подобную той, которая находится в индивидуальном задании (включая заголовок и примечания).
4. Варианты индивидуальных  заданий
В1
Некоторые виды антилоп
Название
Группа
Место обитания
Численность популяции
Джейран
A
Азия
30000
Гну
B
Африка
560000
Бейза
H
Африка
2500
Группы: А - настоящие антилопы, B - коровьи антилопы, H - лошадиные антилопы

В2
Фирмы - производители
Фирма
Количество продуктов
Годовой объем продажи ($)
Часть рынка (%)
Oracle
1
2488000000
31.1
IBM
3
2392000000
29.9
Microsoft
2
1048000000
13.1
Примечание: по данным Gartner Group за 1999г

В3
Отдел кадров
Фамилия
Инициалы
Год рождения
Оклад
Иванов
И.И.
1975
517.50
Петренко
П.П.
1956
219.10
Паниковский
М.С.
1967
300.00
Примечание: оклад установлен по состоянию  на 1 января 2000 года

В4
Ведомость деталей
Наименование
Тип
Количество
Вес 1 детали (г)
Фланец
З
3
450
Переходник
П
8
74
Станина
О
1
117050
Примечание: принято такое кодирование типов: О - оригинальная, П - покупная, З - заимствованная

В5
Характеристики ПЭВМ
Процессор
Частота (Mgz)
RAM (Mb)
Тип
Pentium-III
233
  C
AMD-К6
166
  C
PowerPC-620
2000
  R
Тип: C - CISC-процессор, R - RISC-процессор

В6
Каталог библиотеки
Автор книги
Название
Год выпуска
Группа
Сенкевич
Потоп
1978
Х
Ландау
Механика
1989
У
Дойль
Сумчатые
1990
C
Примечание: Х - художественная литература; У - учебная литература; С - справочная литература

В7
Ведомость комплектующих
Обозначение
Тип
Номинал
Количество
RT-11-24
R
100000
12
RT-11-24
R
50000
10
CGU-12K
C
17.5
3
Примечание: R - резистор; C - конденсатор

В8
Проекты поиска внеземных сигналов
Год
Научный руководитель
Диаметр антенны (м)
Рабочая частота (МГц)
1960
Дрейк
26
1420
1970
Троицкий
14
1875
1978
Хоровиц
300
1665
Примечание: наблюдались объекты  от 2 звезд до нескольких галактик

В9
Приблизительное количество звезд  разных спектральных классов в Галактике
Спектральный класс
Приблизительная масса (отн.Солнца)
Часть %
Численность
O
32
0.00002
55000
F
1.25
2.9
12000000000
M
0.2
73.2
293000000000
Примечание: не показаны данные для  классов: B, A, G, K

В10
Офисные пакеты
Наименование
Производитель
Количество сост.частей
Цена ($)
Office
Microsoft
4
870
SmartSute
Lotus
5
1020
StarOffice
Sun
4
9
Примечание: возможно бесплатно получить продукт StarOffice через Internet

В11
Сельскохозяйственные культуры
Наименование
Тип
Посевная площадь (га)
Урожайность (ц/га)
Соя
Б
13000
45
Чумиза
З
8000
17
Рис
З
25650
24
Примечание: З - зерновые, Б - бобовые

В12
Ведомость спортивных состязаний
Фамилия участника
Код команды
Количество балов
Место в итоге
Баландин
С
123.7
2
Шишков
Ш
79.98
3
Кравченко
Д
134.8
1
Примечание: Д - "Динамо", С - "Спартак", Ш - "Шахтер"

В13
Ведомость общественного транспорта
Вид транспорта
№ маршрута
Протяженность маршрута (км)
Время в дороге (мин)
Тр
12
27.55
75
Т-с
17
13.6
57
А
12а
57.3
117
Примечание: Тр - трамвай, Тс - троллейбус, А - автобус

В14
Время выполнения некоторых программ, которые применяют параллельные алгоритмы
Название программы
Количество строк кода
Время исп. на 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 - ЦП R1000 196 MHz, 1.024 MB RAM SGI Indy - ЦП MIPS R4600 134 MHz, 64 MB RAM

В15
Конфигурация програмных средств  информационных систем
Операционная система
СУБД
Мин.объем внешней памяти (MB)
Мин.объем оперативной памяти (MB
Приблизительная цена ($)
OS/2
DB2
130
22
3343
Windows/NT
SQLServer
230
24
2685
SCO/Unix
Oracle
110
48
3745
Примечание: принималась цена лицензии на 8 пользователей

В16
Сельскохозяйственные предприятия
Название
Вид собственности
Площадь земли (га)
Кол-во работников
Заря
Д
300
120
Росинка
К
174
27
Петренко
Ч
56
6
Вид собственности: Д - государственная, Ч - частная, К - кооперативная

В17
Прайс-лист
Наименование товара
Тип товара
Цена за 1 шт (руб)
Минимальное количество в партии
Папка
К
4.75
4
Бумага
К
13.90
10
Калькулятор
О
411.00
1
Примечание: К - канцтовары, О - оргтехника

В18
Вязкость металлов в жидком состоянии
Вещество
Атомный номер
Температура (град.С)
Вязкость (кг/м*сек)
Алюминий
13
700
2.90
Висмут
83
304
1.65
Свинец
82
441
2.11
Примечание: данные даны для температуры  плавления

В19
Коэффициенты теплопроводимости материаллов
Вещество
Тип
Влажность (%)
Коэффициент
Алюминий
М
0-100
209.3
Стекловата
Т
0-100
0.035
Глина
Д
15-20
0.73
Примечание: М - металлы, Т - термоизоляционные  материалы, Д - другие материалы

В20
Скорость звука в жидкостях
Вещество
Тип
Температура (град.С)
Скорость (м/сек)
Анилин
Ч
20
1656
Ртуть
Ч
20
1451
Кедровое
М
29
1406
Тип жидкости: Ч - чистое вещество, М - масло

В21
Температура перехода веществ в  сверхпроводниковое состояние
Вещество
Тип
Температура
Zn
М
0.8-0.8
Pb-Au
П
2.0-7.3
NbC
С
10.1-10.5
Тип вещества: М - металл, П - сплав, С - соединение

В22
Сплавы с высоким сопротивлением
Сплав
Сопротивление
Темп. коэфф. сопр
Мах Т
Константан
0.44
0.00001
500
Никелин
0.39
0.39
150
Фехраль
1.1
0.0001
900
Единицы измерения: сопротивление – ом кв.мм/м. Коэффициент сопротивления - 1/град. Температура - град.С

В23
Свойства полупроводников
Вещество
Ширина запрещенной зоны
Движение электронов
Движение дырок
Бор
1.1
10
10
Телур
0.36
1700
1200
CdTe
1.45
450
100
Единицы измерения: ширина запрещенной зоны - эв; движение - кв.см/сек

В24
Элементарные частицы
Частица
Группа
Заряд
Масса покоя
Нейтрон
Н
0
940
КА-плюс
М
+1
494
Электрон
Л
-1
0.511
Группы частиц: Г - гипероны, Н - нуклоны, М - мезоны, Л - лептоны

В25
Искуственно полученные элементы
Атомный номер
Название
Массовое число
Период полураспада (лет)
93
Нептуний
237
220000
97
Берклий
247
700
98
Калифорний
251
660

В26
Японские острова
Остров
Площадь (кв.км)
Кол. малых островов
Протяженность береговой линии (км)
Хонсю
230500
192
11875
Хоккайдо
78500
75
3072
Сикоку
18800
13
2946

В27
Прайс-лист
Код товара
Категория
Цена (грн)
Срок поставки (дн)
01-0018
К
11282
7
01-0033
С
170
1
02-0170
М
1735
14
Примечание: К - компьютеры, С - комплектующие, М - множительная техника

В28
Журнал регистрации аварий:
Название предприятия
Категория
Ущерб от аварии (т. руб)
Срок простоя (дн)
Птицефабрика
1
12.7
4
Теплоцентраль
1
0.711
1
Автосервис
2
1770.15
38
Примечание: указываются только прямые затраты, связанные с ликвидацией последствий аварии

В29
Ведомости о присвоении квалификации
Фамилия
Год рождения
Оценка результатов экзаменов
Присвоен уровень квалификации
Шевченко
1970
4.33
6
Розанов
1975
5.1
5
Панасюк
1966
3.07
3
Примечание: показана итоговая оценка по результатам экзаменов по теоретической и практической подготовке

5. Пример решения задачи (вариант 30)
5.1. Разработка алгоритма  решения
5.1.1. Общий метод решения.
В таблице, приведенной в индивидуальном задании, первая строка - общий заголовок  таблицы, вторая - заголовки столбцов таблицы. Фактические данные составляют третью, четвертую и пятую строки. Шестая строка - примечания.
Программа должна начинаться с ввода  фактических данных. Для удобства оператора перед вводом на экран  должно выводиться приглашение, в котором перечисляется, какие именно данные ожидает программа. За одно приглашение-ввод будет вводиться одна строка фактических данных таблицы. Т.е., приглашение - ввода должно повторяться трижды. Введенные данные будут сохранятся в переменных программы.
На втором этапе программа выполняет  вывод данных на экран. Каждая строка таблицы может выводиться одним  оператором вывода. Среди строк, которые  выводятся, будут строки без переменных значений (заголовки и линии) и  строки с переменными значениями (строки с фактическими данными).
Для формирования наглядного табличного вида можно применять символы '|' и '-'.
Поскольку алгоритм программы чисто  линейный, схему алгоритма мы не приводим
5.2. Определение переменных  программы
Определение переменных является первой и самой главной задачей нашей программы. Для каждой переменной нужно подобрать такой тип, который бы обеспечивал представление в памяти ее значения с достаточным диапазоном и достаточной точностью.
Название. Во всех фактических значениях  этот столбец является символьной строкой из 8 символов. Т.е. для представления его в памяти переменные, в которых хранятся значения этого столбца, должны быть объявлены как:
char name1[9], name2[9], name3[9];
дополнительный символ резервируется  для обозначения конца символьной строки.
Школа. Эти данные являются одним  символом. Их объявление:
char sch1, sch2, sch3;
Количество монахов. Эти данные являются целыми числами в диапазоне 10 - 220. Этот диапазон перекрывается диапазоном возможных значений типа unsigned short (диапазон этого типа: 0 - 255). Т.е. объявление соответственных переменных:
unsigned short cnt1, cnt2, cnt3;
Площадь земель. Это число с дробной  частью, следовательно, соответствующие  переменные должны быть переменными с плавающей точкой. Точность данных - всего один знак после точки, поэтому для их представления будет достаточно типа float:
float sq1, sq2, sq3;
5.3. Разработка текста  программы
Начинаем разработку текста программы с заголовка главной функции main():
int main(void)
Далее открывается тело функции  и в нее включается описание переменных (см. п.5.2).
Кодовая часть программы начинается с приглашения - вывода строки-константы:
printf("1. Введите: название, школу, количество, площадь >");
за которым считываются данные, вводимые оператором:
scanf("%s %c %d %f",name1, &sc1, &cnt1, &sq1);
Поскольку описания этих функций хранятся в файле stdio.h, включаем этот файл в начало программы:
#include <stdio.h>
При вводе строка вводится по спецификации типа %s, один символ - по спецификации типа %c, целое число - по спецификации типа %d, число с плавающей точкой - по спецификации типа %f. Спецификации разделяются пробелами, т.е. и данные при вводе должны разделятся пробелами или переходом на новую строку. В списке ввода перед всеми элементами, кроме того, который вводится по %s, ставится знак &.    
Приглашение-ввод повторяется трижды, с разными переменными в списке ввода.
Для формирования вывода следует подсчитать ширину каждого столбца. Ширина первого  столбца определяется размером фактических данных в строке - 9 символьных мест, с учетом пробелов в начале и в конце - 11. Ширина остальных столбцов определяется шириной текста в заголовках столбцов и составляет соответственно 7, 11 и 13 символьных мест. Учитывая вертикальные линии ширина строки составляет 47 знакомест.
Первая строка - горизонтальная линия, которая состоит из символа '-', повторенного 47 раз. Вторая строка - общий заголовок, дополненный до ширины 47 пробелами. Третья строка - еще одна горизонтальная линия. Четвертая и пятая строки - заголовки столбцов, каждый из них имеет установленную ширину. Шестая строка - еще одна горизонтальная линия.
Наконец, строки с седьмой до девятой - фактические данные. В каждой строке выводятся значения набора переменных для одной строки. Например:
printf("| %9s | %c | %-3d | %5.1f |\n", name1, sc1, cnt1, sq1);
Значения имени выводятся по спецификации типа %s с шириной 9. Значения школы выводятся по спецификации типа %c. Поскольку значения в этом столбце выводится по центру столбца, перед и после него ставятся пробелы. Значения количества выводятся по спецификации типа %d с шириной 3, а площадь - %f с общей шириной 5 и одним знаком после точки. Значения в этих столбцах дополняются до нужной ширины пробелами. В столбце 3 ставится признак выравнивания по правому краю.
Остальные четыре строки выводятся  как текстовые константы.
Полный текст программы приведен ниже.
/*******************************************************/
/*Лабораторная работа 1    */
/*Типы данных и ввод-вывод    */
/*Вариант 30.    */
/*******************************************************/
#include <stdio.h>
int main(void) {
char name1[9], name2[9], name3[9];
char sc1, sc2, sc3;
unsigned short cnt1, cnt2, cnt3;
 float sq1, sq2, sq3;
/* Введение фактических данных*/
printf("1. Введите: название, школу, количество, площадь >");
 scanf("%s %c %d %f",name1, &sc1, &cnt1, &sq1);
 printf("2. Введите: название, школу, количество, площадь >");
 scanf("%s %c %d %f",name2, &sc2, &cnt2, &sq2);
 printf("3. Введите: название, школу, количество, площадь >");
 scanf("%s %c %d %f",name3, &sc3, &cnt3, &sq3);
 /* Вывод таблицы */
/* вывод заголовков */
printf("-----------------------------------------------\n");
printf("|Буддийские монастыри  Японии периода Нара |\n");
printf("|---------------------------------------------|\n");
printf("| Название | Школа  | Количество|Площадь земли|\n");
printf("||  |    монахов|    (га)|\n");
printf("|----------|-------|-----------|-------------|\n");
/* вывод строк фактических  данных */
printf("| %9s | %c | %3d | %-5.1f |\n", name1, sc1, cnt1, sq1);
 printf("| %9s | %c | %3d | %-5.1f |\n", name2, sc2, cnt2, sq2);
printf("| %9s | %c | %3d | %-5.1f |\n", name3, sc3, cnt3, sq3);
/* вывод примечаний */
printf("|---------------------------------------------|\n");
 printf("| Примечание: Т - Тэндай; С - Сингон;    |\n");
 printf("|   Д - Дзедзицу|\n");
printf("-----------------------------------------------\n");
 return 0;
}
5.4. Отладка программы
При отладке программы можно  использовать пошаговый режим отладки с отслеживанием значений переменных - тех, которые вводятся. Если возникнут проблемы с вводом переменных, есть смысл вводить каждую переменную отдельным оператором.
Аккуратный формат таблицы достигается  несколькими запусками программы с последующим выравниванием столбцов по результатам запуска.
5.5. Результаты работы  программы
При работе програмы на екран было выдано следущее:
1. Введите: название, школу,  количество, площадь > Тодайдзи  Т 220 368.8
2. Введите: название, школу, количество, площадь > Якусидзи С 50 54.7
3. Введите: название, школу,  количество, площадь > Дайаедзи  Д 10 12.2
 
----------------------------------------------
|Буддийские монастыри  Японии периода Нара    |
|--------------------------------------------|
| Название | Школа | Количество|Площадь земли|
||  |  монахов  |    (га)|
|----------|-------|-----------|-------------|
| Тодайдзи |   Т   |  220 | 368.8  |
| Якусидзи |   С   |   50 |  54.7  |
| Дайаедзи |   Д   |   10 |  12.2  |
|--------------------------------------------|
| Примечание: Т - Тендай; С - Сингон;   |
|   Д - Дзедзицу    |
----------------------------------------------
5.6. Выводы
При выполнении лабораторной работы изучены вопросы:
    типы данных в языке C, объявление переменных в программе
    ввод и вывод данных, формализация вывода.
Приложение 1. Базовые  типы данных языка С
Название типа
Пояснения
Диапазон значений
short
Краткое целое число
-128 . . . 127
unsigned short
Краткое целое число без знака
0 . . . 255
int
Целое число
-32768 . . . 32767
unsigned int
Целое число
0 . . . 65535
long
Длинное целое число
-230 . . . 230-1
unsigned long
Длинное целое число без знака
0 . . . 231-1
char
Один символ
символы кода ASCII
char[ ]
Строка
 
float
Число с плавающей точкой
3.4 10-38 . . . 3.4 10+38
double
Число с плавающей точкой двойной  точности
1.7 10-308 . . . 1.7 10+308

Приложение 2. Некоторые  функции стандартного ввода-вывода
Функции стандартного ввода - вывода описаны в файле stdio.h.
printf() - форматный вывод на экран:
int printf(char *format, <список вывода>);
Первый параметр является символьной строкой, которая задает спецификации формата. Остальные параметры - перечисление переменных и выражений, значения которых  выводятся. Каждая спецификация формата  имеет вид (параметры в квадратных скобках необязательны):
%[flags][width][.prec][F|N|h|l]type
где
тип спецификации
  d или i
целое десятичное число со знаком
  u
десятичное число без знака
  x
целое 16-ричное число без знака
  f
число с плавающей точкой
  e
число в E-форме
  g
число с плавающей точкой или в E-форме
  c
один символ
  s
строка
  %
символ %
  flags -
признак выравнивания:
  + или пусто
выравнивание по правому краю
  -
выравнивание по левому краю
  width -
целое число - общая ширина поля. Если это число начинается с цифры 0, вывод дополняется слева нулями до заданной ширины. В заданную ширину входят все символы вывода, включая знак, дробную часть и т.п.
  prec -
целое число, количество знаков после  точки при выводе чисел с плавающей  точкой
  F -
соответственный элемент списка вывода является дальним указателем
  N -
соответственный елемент списка вывода является близким указателем
  l -
соответствующий елемент списка вывода является long int или double

scanf() - форматный ввод с клавиатуры:
int scanf(char *format, <список ввода>);
Первый параметр является символьной строкой, которая задает спецификации формата (см. функцию printf()). Остальные параметры - перечисление адресов переменных, в которые вводятся данные. В этом списке перед именами всех переменных, кроме тех, которые вводятся по спецификации типа %s, должен стоять символ &.
putchar() - вывод одного символа на экран:
int putchar(int ch);
Параметр функции - код символа, который выводится. При успешном выполнении функция возвращает этот же код, при неуспешном - EOF.
getchar() - ввод одного символа с клавиатуры:
int getchar(void);
Функция возвращает код введенного символа.
puts() - вывод строки символов на экран:
int puts(char *string);
Параметр функции - указатель на начало той строки, из которой выводятся  данные. Функция возвращает количество выведенных символов.
gets() - ввод строки символов с клавиатуры:
char *gets(char *string);
Параметр функции - указатель на начало той строки, в которую вводятся данные. Функция возвращает тот же самый указатель.



и т.д.................


Перейти к полному тексту работы


Скачать работу с онлайн повышением уникальности до 90% по antiplagiat.ru, etxt.ru или advego.ru


Смотреть полный текст работы бесплатно


Смотреть похожие работы


* Примечание. Уникальность работы указана на дату публикации, текущее значение может отличаться от указанного.