Номер первого отрицательного чиста в последовательности - QBasic
Формулировка задачи:
В последовательности sinx^n (n=1,2,…,30) найти номер первого отрицательного числа. Если такого не найдется, выдать сообщение. Значения элементов последовательности поместить в ячейки столбца C.
Пожалуйста, напишите синтаксис от Do до Loop
Заранее большое спасибо.
Решение задачи: «Номер первого отрицательного чиста в последовательности»
textual
Листинг программы
CLS DIM C(1 TO 30) INPUT "X = "; x DO i = i + 1 C(i) = SIN(x ^ i) IF C(i) < 0 THEN k = k + 1 IF C(i) < 0 AND k = 1 THEN j = i LOOP UNTIL i = 30 i = 0 DO i = i + 1 PRINT USING " ##.### "; C(i); LOOP UNTIL i = 30 PRINT : PRINT IF k = 0 THEN PRINT "OTRICATELNYH CHISEL NET" IF k > 0 THEN PRINT "J ="; j END
Объяснение кода листинга программы
CLS— очистка экранаDIM C(1 TO 30)— объявление массива C на 30 элементовINPUTX =; x— ввод числа X и сохранение его в переменной xDO— начало циклаi = i + 1— увеличение счетчика i на 1C(i) = SIN(x ^ i)— вычисление синуса x в степени i и сохранение результата в массиве C(i)IF C(i) < 0 THEN k = k + 1— увеличение счетчика k на 1, если C(i) отрицательноеIF C(i) < 0 AND k = 1 THEN j = i— если C(i) отрицательное и k=1, то сохранение i в переменной jLOOP UNTIL i = 30— продолжение цикла до тех пор, пока i не станет равным 30i = 0— обнуление счетчика iDO— начало циклаi = i + 1— увеличение счетчика i на 1PRINT USING##.###; C(i);— вывод значения C(i) с форматированием до 3-х знаков после запятойLOOP UNTIL i = 30— продолжение цикла до тех пор, пока i не станет равным 30PRINT : PRINT— вывод двух пустых строкIF k = 0 THEN PRINTOTRICATELNYH CHISEL NET`` — вывод сообщения, если k=0IF k > 0 THEN PRINTJ =; j— вывод значения j, если k больше 0END— завершение программы