Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_structure_files.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
180.74 Кб
Скачать

Програмна реалізація алгоритмів лінійної структури

Если в программе все операторы выполняются последовательно один за другим, то такая программа называется линейной.

Задание 1.

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

Вариант 30 Буддийские монастыри Японии периода Нара

Название

Школа

Количество монахов

Площадь земли (га)

Тодайдзи

Т

220

368.8

Якусидзи

С

50

54.7

Дайандзи

Д

10

12.2

Примечание: Т - Тэндай; С - Сингон; Д - Дзедзицу

1. Разработка алгоритма решения

1.1 Общий метод решения

В заданной таблице, первая строка - общий заголовок, вторая - заголовки столбцов таблицы. Фактические данные составляют третью, четвертую и пятую строки. Шестая строка - примечания.

Программа начинается с ввода фактических данных. Для удобства оператора, перед вводом на экран выводится приглашение, в котором перечисляется, какие именно данные ожидает программа. За одно приглашение-ввод вводится одна строка фактических данных таблицы. Т.е., приглашение-ввода повторяется трижды. Введенные данные сохраняются в переменных программы.

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

1.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;

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

/*******************************************************/

/* Linear structure */

/* Input- Output */

/* Variant 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.Input: Name, school, number, square>");

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

printf("2. Input: Name, school, number, square>");

scanf("%s %c %d %f",name2, &sc2, &cnt2, &sq2);

printf("3. Input: Name, school, number, square>");

scanf("%s %c %d %f",name3, &sc3, &cnt3, &sq3);

printf("-----------------------------------------------\n");

printf("|Buddiyskie monastyri Yaponii perioda Nara |\n");

printf("|---------------------------------------------|\n");

printf("| Name | school| number | square land |\n");

printf("| | | monk | (hectare) |\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("|Annotate : Т - Tenday; С - Singol; |\n");

printf("| Д - Ddedzitsu |\n");

printf("-----------------------------------------------\n");

return 0;

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]