Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2016, 20:32   #1
Поль
Новичок
Джуниор
 
Регистрация: 10.05.2016
Сообщений: 4
По умолчанию Алгоритмы BASIC (QBASIC)

1.Задача составить алгоритм на BASIC:"Дан массив А из 20 элементов. Заменить положительные элементы массива на среднее арифметическое элементов массива. Результат вывести на печать"
2.Посоветуйте хороший справочник по операторам BASIC
Поль вне форума Ответить с цитированием
Старый 10.05.2016, 23:24   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Код:
CLS
RANDOMIZE TIMER
CONST n = 20
DIM A(n) 

FOR i = 1 to n
A(i) = RND * 100 - 50
PRINT " ";A(i);
NEXT
PRINT

SUMSR = 0
FOR i = 1 to n
SUMSR = SUMSR + A(i)
NEXT

SR = SUMSR / n
FOR i = 1 to n
IF A(i)>0 Then A(i)=SR
NEXT

PRINT "Result array:"
FOR i = 1 to n
PRINT " ";A(i);
NEXT

не проверял!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.05.2016, 00:58   #3
Поль
Новичок
Джуниор
 
Регистрация: 10.05.2016
Сообщений: 4
По умолчанию

спасибо!
это немного не то
вот здесь где ошибки ??
10 DIM A(20)
20 FOR I=1 TO 20
30 INPUT A(I)
40 NEXT I
50 S=0
60 FOR I=1 TO 20
70 S=S+A(I)
80 NEXT I
90 K=S/20
100 FOR I=1 TO 20
110 IF A[i]>0
120 A (i)=K
130 NEXT I
140 PRINT A(i)
150 END

Последний раз редактировалось Поль; 11.05.2016 в 04:07.
Поль вне форума Ответить с цитированием
Старый 11.05.2016, 09:40   #4
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

В 110 then пропущено и, помнится, что 120 должна быть в 110 сразу после then
или между 110 и 120 должно быть end if
130 и 140 поменяйте местами

Последний раз редактировалось ZX Spectrum-128; 11.05.2016 в 09:42.
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 11.05.2016, 12:37   #5
Поль
Новичок
Джуниор
 
Регистрация: 10.05.2016
Сообщений: 4
По умолчанию

вот так ?????
10 DIM A(20)
20 FOR I=1 TO 20
30 INPUT A(I)
40 NEXT I
50 S=0
60 FOR I=1 TO 20
70 S=S+A(I)
80 NEXT I
90 K=S/20
100 FOR I=1 TO 20
110 IF A[i]>0 THEN A (i)=K
120 END IF
130 PRINT A(i)
140 NEXT I
150 END
Поль вне форума Ответить с цитированием
Старый 11.05.2016, 13:27   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Поль Посмотреть сообщение
вот так ?????
похоже на правду.
Запускать пробовали? Работает? Корректно?
Значит, правильно написали.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.05.2016, 13:28   #7
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Если вы используете линейный синтаксис оператора if, то строка № 120 не нужна вовсе.
А у вас разве компилятора Basic нет?
Элементарно такие вещи проверяются оным.
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 11.05.2016, 13:45   #8
Поль
Новичок
Джуниор
 
Регистрация: 10.05.2016
Сообщений: 4
По умолчанию

Цитата:
Сообщение от ZX Spectrum-128 Посмотреть сообщение
Если вы используете линейный синтаксис оператора if, то строка № 120 не нужна вовсе.
А у вас разве компилятора Basic нет?
Элементарно такие вещи проверяются оным.
Спасибо!
Компилятора у меня нету стоит Win7x64 и QBasic не хочет устанавливаться

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
похоже на правду.
Запускать пробовали? Работает? Корректно?
Значит, правильно написали.
Спасибо!


___
Объединил ваши сообщения.
Не используйте форум как чат - если есть что добавить к своему крайнему сообщению в теме - используйте для этого кнопку "Правка"

Модератор

Последний раз редактировалось Serge_Bliznykov; 11.05.2016 в 13:48.
Поль вне форума Ответить с цитированием
Старый 11.05.2016, 13:49   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Поль Посмотреть сообщение
Компилятора у меня нету стоит Win7x64 и QBasic не хочет устанавливаться
Поставьте маленькую программку DosBox и в ней запускайте QBasic
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Basic.Алгоритмы и сортировка. Mina94 Помощь студентам 3 21.05.2014 13:17
Перевод из qBasic в Visual Basic iwannadrink Помощь студентам 0 09.04.2013 23:19
нужно решить задачу в Visual Basic ( Exel) и QBasic MurNyashka Помощь студентам 0 16.11.2012 19:18
Фрактальные алгоритмы в QBasic student2008 Помощь студентам 0 05.04.2010 14:15