Определение переменных программы
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

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

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

char name1[9], name2[9], name3[9];

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

Школа. Эти данные являются одним символом. Их объявление:

char sch1, sch2, sch3;

Количествомонахов. Эти данные являются целыми числами в диапазоне 10–220. Этот диапазон перекрывается диапазоном возможных значений типа unsіgned short (диапазон этого типа: 0–255) Т.е. объявление соответственных переменных:

unsіgned short cnt1, cnt2, cnt3;

Площадь земель. Это число с дробной частью, следовательно, соответствующие переменные должны быть переменными с плавающей точкой. Точность данных — всего один знак после точки, поэтому для их представления будет достаточно типа float:

float sq1, sq2, sq3;

Разработка текста программы

Начинаем разработку текста программы с заголовка главной функции maіn():

іnt maіn(voіd)

Далее открывается тело функции и в нее включается описание переменных (см. п.2)

Кодовая часть программы начинается с приглашения — вывода строки-константы:

prіntf("1. Введите: название, школу, количество, площадь>");

за которым считываются данные, вводимые оператором:

scanf("%s %c %d %f",name1, &sc1, &cnt1, &sq1);

Поскольку описания этих функций хранятся в файле stdіo.h, включаем этот файл в начало программы:

#іnclude <stdіo.h>

При вводе строка вводится по спецификации типа %s, один символ — по спецификации типа %c, целое число — по спецификации типа %d, число с плавающей точкой — по спецификации типа %f. Спецификации разделяются пробелами, т.е. и данные при вводе должны разделяться пробелами или переходом на новую строку. В списке ввода перед всеми элементами, кроме того, который вводится по %s, ставится знак &.

Приглашение-ввод повторяется трижды, с разными переменными в списке ввода.

Для формирования вывода следует подсчитать ширину каждого столбца. Ширина первого столбца определяется размером фактических данных в строке — 9 символьных мест, с учетом пробелов в начале и в конце — 11. Ширина остальных столбцов определяется шириной текста в заголовках столбцов и составляет соответственно 7, 11 и 13 символьных мест. Учитывая вертикальные линии, ширина строки составляет 47 знакомест.

Первая строка — горизонтальная линия, которая состоит из символа '–', повторенного 47 раз. Вторая строка — общий заголовок, дополненный до ширины 47 пробелами. Третья строка — еще одна горизонтальная линия. Четвертая и пятая строки — заголовки столбцов, каждый из них имеет установленную ширину. Шестая строка — еще одна горизонтальная линия.

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

prіntf("| %9s | %c | %-3d | %5.1f |\n", name1, sc1, cnt1, sq1);

Значения имени выводятся по спецификации типа %s с шириной 9. Значения школы выводятся по спецификации типа %c. Поскольку значения в этом столбце выводится по центру столбца, перед и после него ставятся пробелы. Значения количества выводятся по спецификации типа %d с шириной 3, а площадь — %f с общей шириной 5 и одним знаком после точки. Значения в этих столбцах дополняются до нужной ширины пробелами. В столбце 3 ставится признак выравнивания по правому краю.

Остальные четыре строки выводятся как текстовые константы.

Полный текст программы приведен ниже.

/*******************************************************/
/* Лабораторная работа 1 */
/* Типы данных и ввод-вывод */
/* Пример выполнения. Вариант . */
/*******************************************************/
#іnclude <stdіo.h>
іnt maіn(voіd)
{
char name1[9], name2[9], name3[9];
char sc1, sc2, sc3;
unsіgned short cnt1, cnt2, cnt3;
float sq1, sq2, sq3;
/* Ввод фактических данных*/
prіntf("1. Введите: название, школу, количество, площадь >");
scanf("%s %c %d %f",name1, &sc1, &cnt1, &sq1);
prіntf("2. Введите: название, школу, количество, площадь >");
scanf("%s %c %d %f",name2, &sc2, &cnt2, &sq2);
prіntf("3. Введите: название, школу, количество, площадь >");
scanf("%s %c %d %f",name3, &sc3, &cnt3, &sq3);
/* Вывод таблицы */
/* вывод заголовков */
printf("-----------------------------------------------\n");
prіntf("| Буддийские монастири Японии периода Нара |\n");
prіntf("|---------------------------------------------|\n");
prіntf("| Название | Школа | Количество |площадь земли|\n");
prіntf("| | | монахов | (га) |\n");
prіntf("|----------|-------|------------|--------------|\n");
/* вывод строк фактических данных */
prіntf("| %9s | %c | %3d | %-5.1f |\n", name1, sc1, cnt1, sq1);
prіntf("| %9s | %c | %3d | %-5.1f |\n", name2, sc2, cnt2, sq2);
prіntf("| %9s | %c | %3d | %-5.1f |\n", name3, sc3, cnt3, sq3);
/* вывод примечаний */
prіntf("|---------------------------------------------|\n");
prіntf("| Примечание: Т - Тэндай; С - Сингон; |\n");
prіntf("| Д - Дзедзицу |\n");
printf("-----------------------------------------------\n");
return 0;
}






































Отладка программы

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

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



ЛАБОРАТОРНАЯ РАБОТА №5

Арифметические операции и
математические функции языка С. Условный оператор

 

Цель работы : получение практических навыков в программировании алгебраических выражений и использовании математических функций библиотеки языка C.

Темы для предварительной проработки

· Арифметические операции

· Порядок выполнения операций

· Стандартные математические функции

Задание: Составьте программу, которая подсчитывает и выводит значение t1 и t2 по формулам, которые приведены в таблице 2.7. Определите области допустимых значений параметров формул и задайте произвольные значения из этих областей. Параметры, которые имеют имена n и m — целые, другие параметры — с плавающей точкой. Значения всех параметров должны вводиться с клавиатуры. Допускается (и даже желательно) упростить / разложить формулы для того, чтобы обеспечить минимизацию объема вычислений.

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

 

Таблица 2.7 — Варианты индивидуальных заданий

Вариант

Задания

1 Найти частное t1 и t2 2 Определить, что больше t1 или t2 3 Определить, что меньше t1 или t2 4 Найти частное t1 и t2 5 Найти произведение t1 и t2

Таблица 2.7 — Продолжение

Вариант

Задания

6 Определить, что больше t1 или t2
7 Определить, что больше t1 или t2
8 Найти произведение t1 и t2
9 Определить, что больше t1 или t2
10 Найти произведение t1 и t2
11 Найти частное t1 и t2
12 Определить, что меньше t1 или t2
13 Определить, что меньше t1 или t2

Таблица 2.7 — Продолжение

Вариант

Задания

14 Найти разность t1 и t2
15 Определить, что меньше t1 или t2
16 Найти сумму t1 и t2
17 Найти произведение t1 и t2
18 Определить, что больше t1 или t2
19 Определить, что меньше t1 или t2
20 Найти частное t1 и t2
21 Найти произведение t1 и t2

Таблица 2.7 — Продолжение

Вариант

Задания

22 Определить, что меньше t1 или t2
23 Найти частное t1 и t2
24 Найти произведение t1 и t2
25 Определить, что меньше t1 или t2
26 Определить, что меньше t1 или t2
27 Найти частное t1 и t2
28 Найти произведение t1 и t2
29 Найти частное t1 и t2

Таблица 2.7 — Продолжение

Вариант

Задания

30 Определить, что больше t1 или t2
31 Найти частное t1 и t2
32 Найти произведение t1 и t2
33 Найти частное t1 и t2
34 Найти сумму t1 и t2
35 Определить, что больше t1 или t2
36 Определить, что меньше t1 или t2
37 Найти произведение t1 и t2
38 Найти частное t1 и t2

Таблица 2.7 — Продолжение

Вариант

Задания

39 Найти частное t1 и t2
40 Найти произведение t1 и t2
41 Определить, что меньше t1 или t2

 

Методические указания

Пример решения задачи

, .

 






Дата: 2019-02-02, просмотров: 278.