Важная информация
Показано с 1 по 9 из 9

Тема: Помогите пожалуйста с массивом в QBasic

  1. #1 Помогите пожалуйста с массивом в QBasic 
    Новичок
    Регистрация
    16.11.2014
    Сообщений
    3
    Сказал(а) спасибо
    2
    Поблагодарили 0 раз(а) в 0 сообщениях
    Помогите пожалуйста!!! Вычислить сумму и количество четных чисел в массиве. заменить все элементы массива, совпадающие с числом А, на число В.
    Ответить с цитированием  
     

  2. #2  
    Профи Аватар для nik_1
    Регистрация
    03.08.2014
    Сообщений
    284
    Сказал(а) спасибо
    162
    Поблагодарили 145 раз(а) в 109 сообщениях
    Записей в блоге
    1
    Basic Code:
    1. namber=0
    2. sum=0
    3. Input " введите количество элементов массива", n
    4.  
    5. DIM A(n)
    6.  
    7. For i=1 to n
    8.  
    9.   Input "введите элементы массива", A(i)
    10.  
    11.   a1=A(i)/2
    12.   a2=Int(a1)
    13.   a3=a1-a2
    14.   If a3=0 Then goto 10 else goto 20
    15. 10 namber=namber+1
    16.      sum=sum+A(i)
    17. 20
    18. Next i
    19.  
    20. print "число четных чисел"; namber
    21. print "cумма четных чисел"; sum
    22.  
    23. input "введите число В", B
    24. for i=1 to n
    25. if A(i)=B then A(i)=B
    26. next
    Ответить с цитированием  
     

  3. Пользователь сказал cпасибо:

    Гуля (16.11.2014)

  4. #3  
    Разбирающийся
    Регистрация
    13.10.2013
    Сообщений
    53
    Сказал(а) спасибо
    52
    Поблагодарили 34 раз(а) в 22 сообщениях
    Может, так лучше:
    QBasic Code:
    1. [Ссылки могут видеть только зарегистрированные пользователи. ] "n - ", n
    2. [Ссылки могут видеть только зарегистрированные пользователи. ] "A - ", A
    3. [Ссылки могут видеть только зарегистрированные пользователи. ] "B - ", B
    4. [Ссылки могут видеть только зарегистрированные пользователи. ] "number of even elements: "; n\2
    5. n=n-1
    6. [Ссылки могут видеть только зарегистрированные пользователи. ] a(0 TO n)
    7. FOR i=0 TO n
    8.   [Ссылки могут видеть только зарегистрированные пользователи. ] "", temp
    9.   IF i [Ссылки могут видеть только зарегистрированные пользователи. ] 1 THEN sum=sum+temp
    10.   IF temp=A THEN a(i)=B ELSE a(i)=temp
    11. NEXT i
    12. [Ссылки могут видеть только зарегистрированные пользователи. ] "sum of even elements:"; sum
    Ответить с цитированием  
     

  5. #4  
    Супер модератор Аватар для >Quiet Snow<
    Регистрация
    11.04.2011
    Адрес
    Планета земля
    Сообщений
    3,822
    Сказал(а) спасибо
    1,808
    Поблагодарили 933 раз(а) в 795 сообщениях
    Записей в блоге
    1
    Может, так лучше:
    Эта задача на алгоритмизацию. Призвана обучить обработке порций данных. Т.е. массив должен быть уже заполнен.
    Мы работаем с массивом и обрабатываем массив. Т.е. важен участок кода, где блок обработки. Но как я всегда говорю
    выплёвывать голый алгоритм(нерабочую программу) пользователю - это мягко говоря не очень, поэтому заполнение
    массива, его вывод(для отладки) - хороший тон. Поэтому лично я бы сделал 3 цикла, один - заполнение массива, второй
    - обработка, 3-й вывод массива, да прога стала бы потолще, но она приблизилась бы немного к реальности в плане
    процессов. При обучении никто не рассказывает зачем оно нужно, когда преподы дают задание, это х*ровый подход.
    По проге - вижу невооружённым глазом, что не гонялось через редактор QB\QBASIC. CLS - нет, а под досом текстовый
    экран очень желательно очищать перед выводом. т.к. он обычно адски загажен технической информацией от
    драйверов или уже запущенных программ. Да определять конечно через AND, то что в проге выше это вообще ппц.
    Возможно для изучающих с нуля бывает что-то проще с GOTO, но лучше целенаправленно не прививать им этот стиль.
    GOTO нужен редко и лучше бы понимать зачем он нужен, это определённо полезный оператор для нужд отладки и
    оптимизации(если понимать как работают механизмы ВУ то можно отсекать лишние издержки, в старых ЯП - актуально,
    в новых - уже всё сделано).
    Обучение прикладному программированию(по skype), качественно, недорого, 18+, вопросы в личку.
    «Если вы ничего не сделаете, я уверяю вас, ничего и не произойдёт» © Жак Фреско
    Ограниченно модерирую.
    Ответить с цитированием  
     

  6. #5  
    Разбирающийся
    Регистрация
    13.10.2013
    Сообщений
    53
    Сказал(а) спасибо
    52
    Поблагодарили 34 раз(а) в 22 сообщениях
    Цитата Сообщение от >Quiet Snow< Посмотреть сообщение
    вижу невооружённым глазом, что не гонялось через редактор QB\QBASIC
    После некоторых событий всегда прогоняю через QBasic. CLS, как по-моему, нужен для каких-то серьезных программ,
    а это - просто маленькое консольное приложение, может, и ошибаюсь.
    Цитата Сообщение от >Quiet Snow< Посмотреть сообщение
    лично я бы сделал 3 цикла ... через AND
    Это моя, конечно, ошибка.
    Не мог ничего не написать, когда увидел программу выше с ее конструкциями вида:
    QBasic Code:
    1. a1=A(i)/2
    2.   a2=[Ссылки могут видеть только зарегистрированные пользователи. ](a1)
    3.   a3=a1-a2
    4.   IF a3=0 THEN GOTO 10 ELSE GOTO 20
    5. 10 namber=namber+1
    6.      sum=sum+A(i)
    7. 20
    Ответить с цитированием  
     

  7. #6  
    Супер модератор Аватар для >Quiet Snow<
    Регистрация
    11.04.2011
    Адрес
    Планета земля
    Сообщений
    3,822
    Сказал(а) спасибо
    1,808
    Поблагодарили 933 раз(а) в 795 сообщениях
    Записей в блоге
    1
    всегда прогоняю через QBasic
    Ну тогда сохраняй(ALT -> F -> S), это ведь не сложно. Через DOSBox это не проблема, т.к. он
    монтирует директорию. Просто когда вижу, что нет пробелов(или лишние пробелы) и\или операторы не кепсом,
    то значит не сохранялось в IDE(я обычно сохраняю, т.к. форматирование визуально более качественное).
    Визуально то понятно, что ошибок в коде нет. Но допустим могут быть ошибки при наборе (если набиралось с листика),
    например одна из букв может быть русской.

    CLS, как по-моему, нужен для каких-то серьезных программ
    Он нужен везде, и в серьёзных и в учебных. Вот когда его не пишут - это уже косяк. За всё время программирования
    у меня сложилось ощущение, что есть определённая аудитория, которая считает это дело ненужной украшалкой,
    или даже понтами, аргументируя порой, что оно не имеет отношения к алгоритму. Лично мне не сложно ткнуть три
    буковки на клавиатуре, чтобы человек потом не видел кучи лишнего текста на экране, и да смотреть на других не
    нужно, нужно идти своим путём, желательно рациональным.

    когда увидел программу выше с ее конструкциями вида
    Так я и написал, что ппц))), просто вся соль была не в том, чтобы поправить это. nik_1 пишет на дельфи и ему
    простительно. А я как бы высказал мнение, что мол студентам втирают о другом, но никто не пытается объяснить сразу
    зачем это задание нужно. В виде тех кодов, что выше оно бесполезно как действие, ну это моё имхо.
    Обучение прикладному программированию(по skype), качественно, недорого, 18+, вопросы в личку.
    «Если вы ничего не сделаете, я уверяю вас, ничего и не произойдёт» © Жак Фреско
    Ограниченно модерирую.
    Ответить с цитированием  
     

  8. #7  
    Профи Аватар для nik_1
    Регистрация
    03.08.2014
    Сообщений
    284
    Сказал(а) спасибо
    162
    Поблагодарили 145 раз(а) в 109 сообщениях
    Записей в блоге
    1
    ребята препод посмотрев ваши варианты поймет сразу, что писала не гуля.
    а так на твердую тройку.
    квик басика нет пишу по памяти, не прогоняя программу.
    объяснять тем (Гуле и прочим) кто не хочет понять как это все работает, дело бесполезное.
    Ответить с цитированием  
     

  9. #8  
    Профи Аватар для nik_1
    Регистрация
    03.08.2014
    Сообщений
    284
    Сказал(а) спасибо
    162
    Поблагодарили 145 раз(а) в 109 сообщениях
    Записей в блоге
    1
    Цитата Сообщение от Good.Morning Посмотреть сообщение
    После некоторых событий всегда прогоняю через QBasic. CLS, как по-моему, нужен для каких-то серьезных программ,
    а это - просто маленькое консольное приложение, может, и ошибаюсь.

    Это моя, конечно, ошибка.
    Не мог ничего не написать, когда увидел программу выше с ее конструкциями вида:
    Флаг тебе в руки! Делай!
    Ответить с цитированием  
     

  10. #9  
    Супер модератор Аватар для >Quiet Snow<
    Регистрация
    11.04.2011
    Адрес
    Планета земля
    Сообщений
    3,822
    Сказал(а) спасибо
    1,808
    Поблагодарили 933 раз(а) в 795 сообщениях
    Записей в блоге
    1
    объяснять тем (Гуле и прочим) кто не хочет понять как это все работает, дело бесполезное.
    Не могу с этим спорить. Так и есть.

    ребята препод посмотрев ваши варианты поймет сразу, что писала не гуля.
    Зная, что гуля и так ничего написать не может, любой код непроканает, это абсолютно очевидно.
    Просто вижу эти грабли каждый раз, а виноваты то не решатели, а преподы, которые не могут донести суть.
    И да это не критика, монинг и так уже давно понимает, что к чему и зачем(его скорость обучения близка к максимальной).
    О подходе к таким заданиям глаголю.
    Обучение прикладному программированию(по skype), качественно, недорого, 18+, вопросы в личку.
    «Если вы ничего не сделаете, я уверяю вас, ничего и не произойдёт» © Жак Фреско
    Ограниченно модерирую.
    Ответить с цитированием  
     

Информация о теме
Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Помогите пожалуйста "Задача в QBasic
    от RomanSamsonov в разделе QBasic
    Ответов: 29
    Последнее сообщение: 04.06.2014, 04:09
  2. Помогите решить задачу на QBasic. Пожалуйста!!!
    от Коля Танасійчук в разделе Basic
    Ответов: 2
    Последнее сообщение: 29.10.2013, 04:22
  3. Ответов: 7
    Последнее сообщение: 25.11.2011, 01:40
  4. Помогите пожалуйста решить задачи на QBasic
    от Дмитрий 1993 в разделе QBasic
    Ответов: 9
    Последнее сообщение: 23.11.2011, 18:53
  5. Ответов: 2
    Последнее сообщение: 05.05.2011, 10:55
Ваши права
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •