- •Тема 2.5. Основные конструкции языков программирования
- •2.5.1.2. Средства программирования алгоритмов линейной структуры
- •Input [;] [подсказка { ; | , }] список_переменных
- •Input “Введите коэффициенты уравнения a, b, c “, a#, b#, c#
- •Input ;“Радиус круга”; r!
- •2.5.1.3. Средства программирования разветвляющихся структур
- •If выражение then оператор(ы) [else оператор(ы)]
- •2.5.1.4. Средства программирования регулярных циклических структур
- •2.5.1.5. Средства программирования итеративных циклических структур
- •2.5.1.6. Средства описания и работы с одномерными массивами данных
- •Dim v1([imin to] imax) as type [, . . . Vn([imin to] imax) [as type]
- •2.5.1.7. Средства описания и работы с двумерными массивами данных
- •2.5.1.8. Строковые данные и операции над строками
- •Val(строка)
- •2.5.1.9. Средства процедурного программирования в среде qb
- •Dim shared переменная [as тип][, переменная [as тип]]...
- •Intx,y;
- •Void main(void)
- •Int test_score;
- •Void main(void)
- •Void main (void)
- •Void main(void)
- •Void main(void)
- •2.5.2.2. Средства программирования алгоритмов линейной структуры и функций
- •Int main ()
- •Int main ()
- •Void main(void)
- •Voidmain(void)
- •Void main(void)
- •Void main(void) {
- •Void main(void)
- •Void main(void)
- •Void main(void)
- •Void main(void)
- •Void main (void)
- •Int rus (unsigned char r)
- •Int rus (unsignedcharr); или rus (unsignedchar);
- •2.5.2.3. Средства программирования разветвляющихся структур
- •If (выражение) оператор_1; [ else оператор_2;]
- •2.5.2.4. Средства программирования регулярных циклических структур
- •Int main ( )
- •If (br2) break;
- •2.5.2.5. Средства программирования итеративных циклических структур
- •2.5.2.6. Средства описания и работы с одномерными массивами данных
- •Int array[4]; /* array - массив из 4 элементов типа int */
- •Int minmaxel (float*mas, int n, int&min)
- •2.5.2.7. Средства описания и работы с двумерными массивами данных
- •Int w[2][3]; /* двумерный массив из двух строк и трех столбцов
- •Int minimum(int [][exams], int, int);
- •Int maximum(int [][exams], int, int);
- •Void printArray(int [][exams], int, int);
- •Int main()
- •Int minimum(int grades[][exams], int pupils, int tests)
- •Int maximum(int grades [][exams], int pupils, int tests)
- •Void printArray(int grades [][exams], int pupils, int tests)
- •2.5.2.8. Строковые данные и операции над строками
- •Int strlen(char s[])
- •Void testirovanie ()
- •Void testirovanie();
- •Void reshenie();
- •Void main (void)
- •2.5.3. Контрольные вопросы по теме «Основные конструкции языка программирования qb» (вставить из лаб.Работ!)
- •2.5.4. Тестовые задания по теме «Основные конструкции языка программирования qb»
- •End select
- •Тема 2.5. Основные конструкции языков программирования Страница 274
2.5.1.4. Средства программирования регулярных циклических структур
Алгоритмы регулярной циклической структурыхарактеризуются заданным (известным) числом повторений: иногда это число задается явно, иногда его предварительно вычисляют. К таким алгоритмам относятся: алгоритмы вычисления значений функций одной или нескольких переменных, у которых аргументы изменяются в известном диапазоне и с заданным шагом изменения; алгоритмы вычисления конечных сумм и произведений и многие другие. Программирование такой алгоритмической структуры на языкеQBпроизводится при помощи оператораFOR...NEXT, имеющего следующий формат:
FOR параметр=выражение1 TO выражение2 [STEP выражение3] блок_операторов
[EXITFOR] NEXT параметр
Здесь параметр цикла – это переменная, для которойвыражение1 является начальным значением,выражение2 – конечным значением, авыражение3 - шаг изменения параметра цикла. Причемшагизменения параметра может быть как положительным, так и отрицательным. По умолчанию его значение равно1.Блок операторов, находящихся между конструкциямиFORиNEXT, называетсятелом цикла, количество повторений которого определяется числом возможных значений параметра цикла. Перед каждым повторением цикла, в том числе первым входом в цикл, текущее значениепараметрацикла сравнивается со значениемвыражение2 (конечным значением). После каждого выполнения операторовтела циклак переменной (параметруцикла) прибавляется значениевыражение3(шаг) и снова производится сравнение параметра с конечным значением. Тело цикла перестает выполняться, когда значение параметра станет больше конечного значения (шаг положителен) или меньше конечного значения (шаг отрицателен). Если условие выхода из цикла выполняется при начальном значении параметра, то тело цикла пропускается, и управление сразу же передается оператору, следующему заNEXT. Для выхода из цикла до его завершения можно использовать операторEXIT FOR.
При организации вложенных циклов (цикл в цикле) используются пары операторов FOR…NEXT, которые не должны “пересекаться” друг с другом. Другими словами, каждой конструкцииFORдолжна соответствовать конструкцияNEXT. При этом конструкцияNEXTдля внутреннего цикла должна предшествовать конструкцииNEXTвнешнего цикла. Для преждевременного выхода из цикла по условию используется операторEXIT FOR. Например:
FOR i = 1 TO 10 FOR j = 1 TO 2
' тело внутреннего цикла
IF g=2 THEN EXIT FOR NEXT j
NEXT i
2.5.1.5. Средства программирования итеративных циклических структур
Отличительной особенностью алгоритмов итеративных циклических структурявляется заранее неизвестное число повторений цикла. К ним относятся, например, алгоритм проверки ввода исходных данных, алгоритмы вычисления отдельных членов, суммы или произведения членов бесконечных последовательностей, алгоритмы вычислений по итерационным формулам и некоторые другие алгоритмы. При программировании алгоритмов итеративных циклических структур используется операторDO…LOOPв одном из двух возможных форматов.
Первый формат оператора DO…LOOPиспользуется при программировании итеративной циклической структуры спредусловием:
DO [{ WHILE | UNTIL } логическое_выражение]
блок_операторов
[EXIT DO]
LOOP
Второй формат оператора DO…LOOPреализует структуру спостусловием:
DO блок_операторов
[EXIT DO] LOOP [{ WHILE | UNTIL } логическое_выражение]
При использовании конструкции WHILEтело цикла будет выполняться до тех пор, пока значениелогического_выраженияистинно. Как только это выражение становится ложным, происходит выход из цикла и управление передается оператору, следующему заLOOP. При использовании конструкцииUNTILтело цикла выполняется до тех пор, пока выражение остается ложным. Как только оно становится истинным, происходит выход из цикла и управление передается оператору, следующему заLOOP. Поэтому, послеWHILEзаписывается условие продолжения цикла, а послеUNTIL- условие окончания цикла.
Если конструкция WHILEилиUNTILв операторе цикла опущена, то имеет место бесконечный цикл, выход из которого на оператор, следующий послеLOOP, осуществляется только при использовании оператораEXIT DO. ОператорEXIT DOможет использоваться и при наличии конструкцийWHILE и UNTILдля организации досрочного выхода из цикла по некоторому дополнительному условию.