Организация ввода в диалоге

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

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

Запрос осуществляется установкой дополнительного блока в алгоритме (оператора в программе), организующего вывод на экран соответствующего сообщения.

Ответ на запрос выполняется уже существующим в алгоритме (программе) блоком (оператором) ввода.

u Внимание! Блок (оператор) запроса должен располагаться в алгоритме (в программе) перед блоком (оператором) ввода.

Диалоговый режим (запросом) позволяет конкретно обозначить момент ввода численных значений переменных.

При необходимости ввода нескольких переменных возможны два варианта запроса:

общий на все переменные;

конкретный по каждой переменной.

Фрагменты алгоритмов и программ ввода переменных (например, a, b, c, x) могут иметь вид:

  • общий на все переменные:
Алгоритм Программаprintf("Введите значения a, b, c, x \n");scanf("%f %f %f %f", &a, &b, &c, &x);Указание символа \n (перевод строки) в конце запроса организует ввод численных значений указанных переменных отдельной, следующей после запроса, строкой.
  • конкретный по каждой переменной:

<table border="0">

Алгоритм Программаprintf("Введите значение a: ");scanf("%f ", &a);printf("Введите значение b: ");scanf("%f ", &b);printf("Введите значение c: ");scanf("%f ", &c);printf("Введите значение x: ");scanf("%f ", &x);Отсутствие символа \n в конце каждого запроса организует ввод численных значений каждой переменной в конце соответствующей строки. Следовательно, значения вводимых переменных должны быть записаны под программой не строкой, а столбцом.

Реализация рассмотренных фрагментов программ выполняется диалогами:

  • для общего запроса

Введите значения a, b, c, x (общий запрос программы)

5.7_ 3.8_ -7.89_ 0.004(ввод данных)

  • для запроса по каждой переменной

Введите значение a: 5.7(конкретный запрос-ввод)

Введите значение b: 3.8(конкретный запрос-ввод)

Введите значение c: -7.89(конкретный запрос-ввод)

Введите значение x: 0.004(конкретный запрос-ввод)

Варианты ввода массивов

Ввод элементов массива выполняется аналогично вариантам ввода простых переменных:

стандартно (перечислением всех элементов);

поэлементно (указанием каждого отдельно).

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

  • стандартный вариант:
Алгоритм Программаprintf("Введите элементы массива А \n");scanf("%f %f %f %f %f" ,&a[0],&a[1], &a[2],&a[3]); Следовательно, значения вводимых переменных должны быть записаны под программой одной строкой.
  • поэлементный вариант:
Алгоритм Программаprintf("Введите значение a(1): ");scanf("%f ", &a[0]);printf("Введите значение a(2): ");scanf("%f ", &a[1]);printf("Введите значение a(3): ");scanf("%f ", &a[2]);printf("Введите значение a(4): ");scanf("%f ", &a[3]); Следовательно, значения вводимых переменных должны быть записаны под программой не строкой, а столбцом.

Реализация представленных фрагментов программы выполняется диалогами:

  • при стандартном вводе:

Введите элементы массива A (общий запрос программы)

-4.1_5.3_0.34_93.1(ввод данных)

  • при поэлементном вводе:

Введите значение a(1): -4.1(поэлементный запрос-ввод)

Введите значение a(2): 5.3(поэлементный запрос-ввод)

Введите значение a(3): 0.34(поэлементный запрос-ввод)

Введите значение a(4): 93.1(поэлементный запрос-ввод)

Анализ фрагментов второго варианта показывает низкую эффективность при большом количестве элементов массива и невозможность изменения размера массива в процессе выполнения.

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

Фрагменты алгоритма и программы имеют вид:

алгоритм программа printf("Введите размер ""массива n: ");scanf("%d", &n);for( i=0 ; i

Реализация фрагмента программы выполняется диалогом:

Введите размер массива n: 4(запрос-ввод)

Введите значение a(1): -4.1(запрос-ввод)

Введите значение a(2): 5.3(запрос-ввод)

Введите значение a(3): 0.34(запрос-ввод)

Введите значение a(4): 93.1(запрос-ввод)

Рандомно подобранные статьи с сайта:

Урок 8. Операторы ввода readln/read и диалоговые программы. Программирование на Pascal / Паскаль


Похожие статьи:

admin