5.2.22 Код: DIM A(5), B(5) P1 = 0 P2 = 0 FOR i = 0 TO 4 INPUT "введите элемент массива A ";A(i) INPUT "введите элемент массива B ";B(i) P1 = P1 + A(i)*X^i P2 = P2 + B(i)*X^i NEXT i RES = P1*P2 PRINT "Ответ:"; RES [spoiler:270lv9rh]qbasic... давно его не видел))) попробовал вот написать одну остальные делать уже неинтересно да, в qbasic'е код не запускал- может и ошибся где[/spoiler:270lv9rh]
Спасибо большое, не проверял еще, но надеюсь работает. хотя бы один, лучше чем ничего. Неужели ни кто больше басик не знает. кстати могу предложить,за помощь, ик диоды из lg 22gh.
я кубейсик не помню уже я эту гадость не проходил и вообще он гавно могу написать под турбо или классический бейсик 2 диода за одно решение беру устроит ?
Именно нужен qbasic. Просто преподу не обьяснить. Ну че кто нибудь возьмется за дело. дам по 2 диода не жалко. новые не разу не включеные. Кстати tyago прога вроде работает, но преподу еще не показывал хз может ему не понравиться он ебнутый. Отпишись в лс диоды ждут.
' 6.32 dim b(4,5) 'Вводим элементы матрицы: 'Счетчик столбцов: for j=1 to 5 'Счетчик строк: for i=1 to 4 'Печатаем на экране какой элемент вводим: print "B(";i;j;")=" 'Ввод: input b(j,i) 'Если элемент меньше нуля if b(j,i)<0 then 'Присваиваем ему значение нуль b(j,i)=0 else 'Иначе - единица b(j,i)=1 end if next next 'Печатаем полученную матрицу: for j=1 to 5 for i=1 to 4 print b(j,i);" "; next 'После печати строки матрицы переходим на следующую строку: print next ************************************************************************* Проверь, вроде не ошибся нигде?... В Turbo Basic'е работает (нашел у себя на харде такой ). Quick Basic может отличаться конструкцией оператора "If". Не помню, есть ли там "else". Если нет, то замени это: if b(j,i)<0 then b(j,i)=0 else b(j,i)=1 end if на это: if b(j,i)<0 then b(j,i)=0 end if if b(j,i)>=0 then b(j,i)=1 end if Должно работать. Ну нет у меня QBasic'а. И не программировал я на нем никогда... P.S. Форум ведущие знаки табуляции съел. По его мнению это лишнее В принципе это оправдано, так как сообщения рассчитаны на обычный текст без особых излишеств. Поэтому программа не так наглядно выглядит.
для турбы, второй вариант: Код: for iy=1 to 5 step 1 for ix=1 to 4 step 1 a$="блаблабла, сам напиши тут умные буквы, x"+ix+" y"+iy print a$ input mass[ix,iy] next ix next iy for iy=1 to 5 step 1 for ix=1 to 4 step 1 if mass[ix,iy]<0 then mass[ix,iy]=0 if mass[ix,iy]>=0 then mass[ix,iy]=1 next ix next iy for iy=1 to 5 step 1 for ix=1 to 4 step 1 a$="йэлемент x"+ix+" y"+iy+" = "+mass[ix,iy] next ix next iy возможно наврал и надо вместо Код: print a$ input mass[ix,iy] сказать Код: input a$,mass[ix,iy] вобщем вот так вот как то... ещё я не помню как там переносы строк делать в выводе и оформление хромает и не проверял я её, так что и на один диод соглашусь упд: чорт... опередили... нуиладно
К примеру, я прочитал его сообщение только сегодня. Да и на Турбо Бейсике писал последний раз лет сто назад... Да и сидя на работе хотя бы иногда работать бывает надо...
Держи еще задание 7.9. Проверил в Turbo Basic'е - работает. Должно и в Quick Basic работать, если там так же подпрограммы описываются. Главное - потом сам разберись, как оно работает. Может в жизни пригодиться... ******************************** '7.9 dim a(12),b(12) 'Вводим элементы масива A(): for i=1 to 12 'Печатаем на экране какой элемент вводим: '(знак ";" в конце оператора print чтобы после него не переводить строку) print "A(";i;")="; 'Ввод: '(знак "," в операторе input чтобы он не печатал знак вопроса) input ,a(i) next 'Вводим элементы масива B(): for i=1 to 12 'Печатаем на экране какой элемент вводим: print "B(";i;")="; 'Ввод: input ,b(i) next 'Вычисляем количество для массива A: call kol1(k1,a()) 'Вычисляем сумму для массива A: call sum1(s1,a()) print "Количество положительных элементов массива A(): ";k1 print "Сумма положительных элементов массива A(): ";s1 'Вычисляем количество для массива B: call kol1(k2,b()) 'Вычисляем сумму для массива B: call sum1(s2,b()) print "Количество положительных элементов массива B(): ";k2 print "Сумма положительных элементов массива B(): ";s2 print print "Z =";(k1+k2)/(s1+s2) stop '************************************** 'Подпрограммы: 'Подсчитываем количество положительных элементов одномерного массива: sub kol1(k,x(12)) 'x(12) - входной массив размерностью 12 'k - количество положительных элементов 'Обнуляем счетчик положительных элементов: k=0 for i=1 to 12 'Если элемент положительный, прибавляем к счетчику единицу: if x(i)>=0 then k=k+1 end if next end sub '*** 'Подсчитываем сумму положительных элементов одномерного массива: sub sum1(s,x(12)) 'x(12) - входной массив размерностью 12 's - сумма положительных элементов 'Обнуляем сумму положительных элементов: s=0 for i=1 to 12 'Если элемент положительный, прибавляем к счетчику значение элемента массива: if x(i)>=0 then s=s+x(i) end if next end sub
Спасибо люди. С компа буду посмотрю получше. Потом отпишусь что работает что нет. А дальше разберемся кому диоды. коры сегодня лабы отменили. Там тема такая что в казани открытие всеросийской студвесны меня и освободили только я пох пошел с девушкой гулят а не туда.
jack4096 у меня руки кривые вот пытаюсь все проверить хз какие то ошибки иногда вылетают времени щас мало. можешь в qbasic сделать. или в блокноте но чтоб все было уже готово чтоб в байсик вставить. это нащет 7 задания. и еще отправь в лс адрес с индексом письмом отправлю....диоды кстати время пока есть до следующей недели займись пожалуйста. qbasic прикрепил
Попробовал я в QBasic. Работает все, только не понимает он запятую в операторе input. И с размерностью массива я напутал (нужно было dim(4,5)). Видимо, Turbo Basic для любого массива выделяет не менее 10-ти ячеек памяти, а Quick ругается. Еще раз - проверь программу! Я тоже мог ошибиться... Бог с ними - диодами. Спасибо, конечно за предложение, но мне самому интересно было немножко размять мозги Со временем у меня сейчас крайне фигово, так что попробуй составить третью программу сам. Может быть здесь на форуме кто-нибудь из ребят поможет... Кстати, я сам когда-то заканчивал радиотехнический факультет, мы еще писали на Фортране-4, потом на 77-м, а Бейсик - это я для себя раньше немножко программировал. Удобно было чтобы по-быстрому какую-нибудь программку написать. С третьим заданием не должно быть очень сложно. Ввод массивов можешь сделать в цикле оператором input, типа: 'Резервируем память 5 ячеек для массива A и 5 ячеек для массива B: dim a(5), b(5) for i=0 to 4 input a(i) next for i=0 to 4 input b(i) next а дальше по формулам. Для вывода используй оператор print. Его формат такой: print "Комментарий 1";a;b;c;"Комментарий2";d;e (и т.д.) Переменные и комментарии могут присутствовать в любых комбинациях или отсутствовать вообще. А что такое коэффициенты многочлена - я уже забыл Давно это было. Это как в том анекдоте:"Нам задали найти квадратный трехчлен, а я не то чтобы найти, я даже представить себе такое не могу!" Удачи на сдаче! ***************************************************************************************************************************************** dim b(4,5) 'Вводим элементы матрицы: 'Счетчик столбцов: for j=1 to 5 'Счетчик строк: for i=1 to 4 'Печатаем на экране какой элемент вводим: print "B(";i;j;")=" 'Ввод: input b(j,i) 'Если элемент меньше нуля if b(j,i)<0 then 'Присваиваем ему зеначение нуль b(j,i)=0 else 'Иначе - единица b(j,i)=1 end if next next 'Печатаем полученную матрицу: for j=1 to 5 for i=1 to 4 print b(j,i);" "; next 'После печати строки матрицы переходим на следующую строку: print next ***************************************************************************************************************************************** '7.9 dim a(12),b(12) 'Вводим элементы масива A(): for i=1 to 12 'Печатаем на экране какой элемент вводим: '(знак ";" в конце оператора print чтобы после него не переводить строку) print "A(";i;")="; 'Ввод: '(знак "," в операторе input чтобы он не печатал знак вопроса) input ,a(i) next 'Вводим элементы масива B(): for i=1 to 12 'Печатаем на экране какой элемент вводим: print "B(";i;")="; 'Ввод: input ,b(i) next 'Вычисляем количество для массива A: call kol1(k1,a()) 'Вычисляем сумму для массива A: call sum1(s1,a()) print "Количество положительных элементов массива A(): ";k1 print "Сумма положительных элементов массива A(): ";s1 'Вычисляем количество для массива B: call kol1(k2,b()) 'Вычисляем сумму для массива B: call sum1(s2,b()) print "Количество положительных элементов массива B(): ";k2 print "Сумма положительных элементов массива B(): ";s2 print print "Z =";(k1+k2)/(s1+s2) stop '************************************** 'Подпрограммы: 'Подсчитываем количество положительных элементов одномерного массива: sub kol1(k,x(12)) 'x(12) - входной массив размерностью 12 'k - количество положительных элементов 'Обнуляем счетчик положительных элементов: k=0 for i=1 to 12 'Если элемент положительный, прибавляем к счетчику единицу: if x(i)>=0 then k=k+1 end if next end sub '*** 'Подсчитываем сумму положительных элементов одномерного массива: sub sum1(s,x(12)) 'x(12) - входной массив размерностью 12 's - сумма положительных элементов 'Обнуляем сумму положительных элементов: s=0 for i=1 to 12 'Если элемент положительный, прибавляем к счетчику значение элемента массива: if x(i)>=0 then s=s+x(i) end if next end sub *****************************************************************************************************************************************
Отправь адрес. каждая работа должна оплачиваться. мне диоды не жалко. В письмо засуну и отправлю. спасибо еще раз.
Да я охотно тебе верю! В данном случае мне оплатой послужило мое моральное удовлетворение, что я еще хоть немного помню, как программировать на Васике В конце концов, можно же помочь просто так... Так что, пожалуйста!
пацаны хелп 5 и 7 препод сказал не то нашел....в 5 там не помню...в 7 сказал что че то надо находить через подпрограмму.дебил
"Для вычисления суммы и количества элементов массива используйте подрограммы"... Да, так и есть. Твоему препу пора ставить диагноз, причем неутешительный. На нем случайно желуди не растут?... Спроси его, а более изящное решение - процедуры (конструкция CALL-END SUB) вместо этого архаизма в Бейсике, которое называется подпрограммами и которое не используется уже лет 20, если не больше, почему его не устраивает? И массив любой можно передать внутрь процедуры и писать удобнее... Это мне напоминает армейский маразм. Что-то типа "собрать все кирпичи вокруг казармы и сжечь", или "можешь подметать плац вместо зубной щетки и ломом, лишь бы ты за2.718бался!" Подпрограммы в Бейсике (конструкция GOSUB-RETURN) - это пережиток прошлого. Они оставлены там исключительно для совместимости со старыми версиями Бейсика, в которых программы писались еще, начиная с обязательного номера строки, когда Бейсик еще был только интерпретируемым, а не компилируемым и т.д. Этот навык с подпрограммами тебе может пригодиться, если только ты захочешь программировать микроконтроллеры, но тогда и изучать нужно не Бейсик, а ассемблер на примере какого-нибудь контроллера. Я уже забыл что это такое - подпрограммы в Бейсике в изначальном смысле и еще лет х.з. сколько назад подпрограммами называл процедуры. То есть, считал что "подпрограмма" - синоим слова "процедура". Короче - забирай 7-е задание с ПОДПРОГРАММАМИ как он хочет. Может у него от каждого оператора gosub и return случается тройной оргазм. Там ЧЕТЫРЕ подпрограммы вместо ДВУХ процедур. Очень изящное решение! В качестве издевательства спроси у него заодно, может переписать прогу на Асскмблере для КР580ВМ80А? ... Если уж ему и это не понравится, тогда я не знаю... ****************************************************************************************************************************************************************** '7.9 dim a(12),b(12) 'Вводим элементы масива A(): for i=1 to 12 'Печатаем на экране какой элемент вводим: '(знак ";" в конце оператора print чтобы после него не переводить строку) print "A(";i;")="; 'Ввод: '(знак "," в операторе input чтобы он не печатал знак вопроса) input ,a(i) next 'Вводим элементы масива B(): for i=1 to 12 'Печатаем на экране какой элемент вводим: print "B(";i;")="; 'Ввод: input ,b(i) next 'Вычисляем количество для массива A: gosub kol1 'Вычисляем сумму для массива A: gosub sum1 print "Количество положительных элементов массива A(): ";k1 print "Сумма положительных элементов массива A(): ";s1 'Вычисляем количество для массива B: gosub kol2 'Вычисляем сумму для массива B: gosub sum2 print "Количество положительных элементов массива B(): ";k2 print "Сумма положительных элементов массива B(): ";s2 print print "Z =";(k1+k2)/(s1+s2) stop '************************************** 'Подпрограммы: 'ВЫЧИСЛЯЕМ КОЛИЧЕСТВА: '*** 'Подсчитываем количество положительных элементов одномерного массива a(12): kol1: 'a(12) - входной массив a(12) 'k1 - количество положительных элементов массива a(12) 'i - счетчик (вспомогательная переменная) 'Обнуляем счетчик положительных элементов: k1=0 for i=1 to 12 'Если элемент положительный, прибавляем к счетчику единицу: if a(i)>=0 then k1=k1+1 end if next return '*** 'Подсчитываем количество положительных элементов одномерного массива b(12): kol2: 'b(12) - входной массив b(12) 'k2 - количество положительных элементов массива b(12) 'i - счетчик (вспомогательная переменная) 'Обнуляем счетчик положительных элементов: k2=0 for i=1 to 12 'Если элемент положительный, прибавляем к счетчику единицу: if b(i)>=0 then k2=k2+1 end if next return '*** 'ВЫЧИСЛЯЕМ СУММЫ: '*** 'Подсчитываем сумму положительных элементов одномерного массива a(12): sum1: 's1 - сумма положительных элементов массива a(12) 'Обнуляем сумму положительных элементов: s1=0 for i=1 to 12 'Если элемент положительный, прибавляем к счетчику значение элемента массива: if a(i)>=0 then s1=s1+a(i) end if next return '*** 'Подсчитываем сумму положительных элементов одномерного массива b(12): sum2: 's2- сумма положительных элементов массива b(12) 'Обнуляем сумму положительных элементов: s2=0 for i=1 to 12 'Если элемент положительный, прибавляем к счетчику значение элемента массива: if b(i)>=0 then s2=s2+b(i) end if next return end