| Программирование на Qbasic |
| IwanS | Дата: 10:47 08.07.2008 | Сообщение # 1 |
Администратор
Сообщений: 1850
Статус: не в сети
| Всем привет! Продолжаем добрую традицию помогать всем посетителям в программировании на QBasic. Напоминаю, что у нас есть самоучитель по qbasic (1 часть и 2 часть). Ждем ваших задач и наших решений! Для большей наглядности вы можете прикрепить картинку с формулой из задачи. Для этого напечатайте формулу в Microsoft Word и нажмите кнопку PrtScr SysRq. После этого запускаем mspaint и нажимаем Правка -> Вставить. Выделяем область с формулой и нажимаем Копировать в файл. Теперь нажимаем Файл -> Открыть и пересохраняем нашу картинку в формате JPEG. Разрешено прикреплять картинки только в форматах JPEG или GIF! Техзадание - точное и четкое определение задачи, стоящей перед программистом. В техзадании должно содержаться достаточно сведений, чтобы человек мог написать адекватную запросу программу. При этом нужно уметь не просто перепечатать задание преподавателя, а понимать его смысл и быть готовым ответить на вопросы по заданию. Без нормального техзадания лично я помогать с программированием не буду! Строгому наказанию подлежит несоблюдение правил орфографии и пунктуации. Пишите грамотно, правильно расставляйте запятые. Иначе в коде мы тоже будем косячить так, что фиг разберешь, что там вообще написано!
Изменил IwanS - Четверг, 12.02.2009, 17:21
|
|
| |
| | |
| ex1kaa | Дата: 10:40 09.01.2009 | Сообщение # 61 |
Новичок
Сообщений: 6
Статус: не в сети
| IwanS,Прошу вас о большой помощи ,конечно если не трудно задача 1 В двумерном массиве целых чисел первый нечетный элемент каждой строки удвоить задача 2 Для каждого столбца двум. массива определить кол-во элементов, последняя цифра которых равна а задача 3 В каждом столбце двумерного массива найти первый нечетный элемент задача 4 В Массиве В(20) заполненном датчиком случайных чисел,определить кол-во отрицательных .(-1...) элементов задача 5 В массиве А(10), заполненном датчиком случ чисел,определить кол-во положительных элементов Зарание СПАСИБО!!!
Изменил ex1kaa - Пятница, 09.01.2009, 10:52
|
| |
| | |
| IwanS | Дата: 11:22 09.01.2009 | Сообщение # 62 |
Администратор
Сообщений: 1850
Статус: не в сети
| Quote (ex1kaa) В двумерном массиве целых чисел первый нечетный элемент каждой строки удвоить Code CLS INPUT "Ввести количество строк: ", i INPUT "Ввести количество столбцов: ", j DIM a(i, j) FOR cnt = 1 TO i FOR cnt2 = 1 TO j PRINT "Ввести элемент "; cnt; " строки "; cnt2; " столбца:"; INPUT " ", a(cnt, cnt2) NEXT cnt2 NEXT cnt PRINT " " PRINT " --- "; "Исходная матрица"; " --- " FOR cnt = 1 TO j FOR cnt2 = 1 TO i PRINT a(cnt2, cnt); " "; NEXT cnt2 PRINT " " NEXT cnt FOR cnt = 1 TO j FOR cnt2 = 1 TO i IF a(cnt2, cnt) MOD 2 = 1 THEN a(cnt2, cnt) = a(cnt2, cnt) * 2: EXIT FOR NEXT cnt2 NEXT cnt PRINT " " PRINT " --- "; "Преобразоанная матрица"; " --- " FOR cnt = 1 TO j FOR cnt2 = 1 TO i PRINT a(cnt2, cnt); " "; NEXT cnt2 PRINT " " NEXT cnt Quote (ex1kaa) В каждом столбце двумерного массива найти первый нечетный элемент Впринципе то же самое: Code CLS INPUT "Ввести количество строк: ", i INPUT "Ввести количество столбцов: ", j DIM a(i, j) FOR cnt = 1 TO i FOR cnt2 = 1 TO j PRINT "Ввести элемент "; cnt; " строки "; cnt2; " столбца:"; INPUT " ", a(cnt, cnt2) NEXT cnt2 NEXT cnt PRINT " " PRINT " --- "; "Исходная матрица"; " --- " FOR cnt = 1 TO j FOR cnt2 = 1 TO i PRINT a(cnt2, cnt); " "; NEXT cnt2 PRINT " " NEXT cnt FOR cnt = 1 TO j FOR cnt2 = 1 TO i IF a(cnt2, cnt) MOD 2 = 1 THEN PRINT "Первый нечетный элемент "; cnt; " строки имеет номер "; cnt2: EXIT FOR NEXT cnt2 NEXT cnt Quote (ex1kaa) В Массиве В(20) заполненном датчиком случайных чисел,определить кол-во отрицательных .(-1...) элементов Code CLS RANDOMIZE TIMER DIM b(20) FOR cnt = 1 TO 20 b(cnt) = INT(RND * 100 - 50) IF b(cnt) < 0 THEN a = a + 1 PRINT b(cnt); " "; NEXT cnt PRINT " " PRINT "Количество отрицательных элементов: ", a Quote (ex1kaa) В массиве А(10), заполненном датчиком случ чисел,определить кол-во положительных элементов Можешь сделать как предыдущий, только наоборот: Code CLS RANDOMIZE TIMER DIM b(20) FOR cnt = 1 TO 20 b(cnt) = INT(RND * 100 - 50) IF b(cnt) > 0 THEN a = a + 1 PRINT b(cnt); " "; NEXT cnt PRINT " " PRINT "Количество положительных элементов: ", a Quote (ex1kaa) Для каждого столбца двум. массива определить кол-во элементов, последняя цифра которых равна а Code CLS INPUT "Ввести количество строк: ", i INPUT "Ввести количество столбцов: ", j INPUT "Введите цифру a: ", b DIM a(i, j) FOR cnt = 1 TO i FOR cnt2 = 1 TO j PRINT "Ввести элемент "; cnt; " строки "; cnt2; " столбца:"; INPUT " ", a(cnt, cnt2) NEXT cnt2 NEXT cnt PRINT " " PRINT " --- "; "Исходная матрица"; " --- " FOR cnt = 1 TO j FOR cnt2 = 1 TO i PRINT a(cnt2, cnt); " "; NEXT cnt2 PRINT " " NEXT cnt FOR cnt = 1 TO j FOR cnt2 = 1 TO i IF ABS(a(cnt2, cnt) MOD 10) = b THEN x = x + 1 NEXT cnt2 PRINT "В "; cnt; " столбце "; x; " элементов заканчиваются на цифру "; b x = 0 NEXT cnt Quote (ex1kaa) пожалусто можеш сделать до 12 числа оч надо Не, так нельзя, надо сдавать! Quote (ex1kaa) зачет провалил( О_о
|
|
| |
| | |
| ex1kaa | Дата: 14:20 09.01.2009 | Сообщение # 63 |
Новичок
Сообщений: 6
Статус: не в сети
| ну ето перездача))) СПАСИБОДобавлено (09.01.2009, 14:20) --------------------------------------------- Iwans , можно вопрос: cnt ето что?
|
| |
| | |
| IwanS | Дата: 14:25 09.01.2009 | Сообщение # 64 |
Администратор
Сообщений: 1850
Статус: не в сети
| ex1kaa, cnt - это я так переменную назвал. От слова count. Привычка.
|
|
| |
| | |
| cookie | Дата: 14:59 10.01.2009 | Сообщение # 65 |
Новичок
Сообщений: 12
Статус: не в сети
| Помогите пожалуйста ,для меня ку бэйсик это что то космическое ) 1 задача дан массив из 12 эл ,в отдельный массив записать 3 последних отрицательных 2 задача дана матрица из 3 строк и 4 солбцов ,найти сумму элментов этой матрицы по обсолютной велич >17 3 задача даны 2 русские буквы призвольно стоящие, вывести их в алфавитном порядке Замечание: Нарушение норм правописания.
noob
|
| |
| | |
| IwanS | Дата: 15:47 10.01.2009 | Сообщение # 66 |
Администратор
Сообщений: 1850
Статус: не в сети
| Quote (cookie) дан массив из 12 эл ,в отдельный массив записать 3 последних отрицательных Это СОВСЕМ легко О_о: Code CLS DIM a(12) DIM b(3) c = 3 FOR cnt = 1 TO 12 PRINT "Введите "; cnt; " элемент массива" INPUT a(cnt) NEXT cnt FOR cnt = 12 TO 1 STEP -1 IF a(cnt) < 0 THEN b(c) = a(cnt): c = c - 1 NEXT cnt PRINT "Исходный массив" FOR cnt = 1 TO 12 PRINT a(cnt); " "; NEXT cnt PRINT " " PRINT "Полученный массив "; b(1); " "; b(2); " "; b(3); Quote (cookie) 2 задача дана матрица из 3 строк и 4 солбцов ,найти сумму элментов этой матрицы по обсолютной велич >17 3 задача даны 2 русские буквы призвольно стоящие, вывести их в алфавитном порядке Читаем наш самоучитель и задаем вопросы, если таковые возникнут.
|
|
| |
| | |
| IwanS | Дата: 19:35 10.01.2009 | Сообщение # 67 |
Администратор
Сообщений: 1850
Статус: не в сети
| Quote (cookie) дана матрица из 3 строк и 4 солбцов ,найти сумму элментов этой матрицы по обсолютной велич >17 Code CLS DIM a(3, 4) FOR i = 1 TO 3 FOR j = 1 TO 4 PRINT "Введите элемент "; i; " строки "; j; " столбца" INPUT a(i, j) IF ABS(a(i, j)) > 17 THEN sum = sum + a(i, j) NEXT j NEXT i PRINT "Сумма элементов по модулю > 17 равна "; sum Quote (cookie) даны 2 русские буквы призвольно стоящие, вывести их в алфавитном порядке Code CLS INPUT "Введите первую букву: ", a$ INPUT "Введите вторую букву: ", b$ IF ASC(a$) < ASC(b$) THEN PRINT a$; " "; b$ ELSE PRINT b$; " "; a$ P.S: кстати, поздравляю, вы - обладатель первого замечания с зеленым мигающим плюсиком
|
|
| |
| | |
| cookie | Дата: 19:21 11.01.2009 | Сообщение # 68 |
Новичок
Сообщений: 12
Статус: не в сети
| Здравствуйте опять ,у меня опять проблемы)Помогите пожалуйста. 1) IF ASC(a$) < ASC(b$) THEN PRINT a$; " "; b$ ELSE PRINT b$; " "; a$ что такое asc? 2)PRINT "Полученный массив "; b(1); " "; b(2); " "; b(3); есть ли другой метод вывода рез-го массива?как записывается? 3)как сделать что бы в задаче с матрицей вводимые переменные записывались как матрица? . . . . . . . . . . . . вот так 4) я написал задачи сам вчера и что то не правильно. Дан массив из 14 эл. найти сумму элементов массива до первого элемента равного 17. CLS DIM a(14) FOR i= 1 TO 14 PRINT "el-ti massiva";i INPUT "znachenie";a(i) NEXT i s=0 FOR i=!TO 14 iF a(i) =17 THEN s=s+a(i) <-сказали вроде тут ошибка NEXT i PRINT "znachenie s =";s заранее спасибо)
noob
|
| |
| | |
| IwanS | Дата: 20:03 11.01.2009 | Сообщение # 69 |
Администратор
Сообщений: 1850
Статус: не в сети
| Quote (cookie) что такое asc? Ascii код буквы возвращает он. Quote (cookie) 2)PRINT "Полученный массив "; b(1); " "; b(2); " "; b(3); есть ли другой метод вывода рез-го массива?как записывается? Code for cnt = 1 to 3 print b(cnt); " "; next cnt Quote (cookie) 3)как сделать что бы в задаче с матрицей вводимые переменные записывались как матрица? . . . . . . . . . . . . вот так Там в одной из задач есть пример: Code FOR cnt = 1 TO j FOR cnt2 = 1 TO i PRINT a(cnt2, cnt); " "; NEXT cnt2 PRINT " " NEXT cnt Quote (cookie) 4) я написал задачи сам вчера и что то не правильно. Дан массив из 14 эл. найти сумму элементов массива до первого элемента равного 17. Code CLS DIM a(14) FOR i= 1 TO 14 PRINT "el-ti massiva";i INPUT "znachenie";a(i) NEXT i s=0 FOR i=1 TO 14 iF a(i) =17 THEN exit for NEXT i PRINT "znachenie s =";s
|
|
| |
| | |
| IwanS | Дата: 10:23 12.01.2009 | Сообщение # 70 |
Администратор
Сообщений: 1850
Статус: не в сети
| cookie, в первом случае ты нигде эту самую сумму не считаешь, а во втором у тебя неправильно на выводимом индексе элементы стоят. Code CLS DIM a(14) FOR i= 1 TO 14 PRINT "el-ti massiva";i INPUT "znachenie";a(i) NEXT i s=0 FOR i=1 TO 14 iF a(i) =17 THEN exit for s = s + a(i) NEXT i PRINT "znachenie s =";s Quote (cookie) все равно не в матричном виде выводит((( Code Code CLS DIM a(3, 4) FOR i = 1 TO 3 FOR j = 1 TO 4 PRINT "Введите элемент "; i; " строки "; j; " столбца" INPUT a(i, j) IF ABS(a(i, j)) > 17 THEN sum = sum + a(i, j) NEXT j NEXT i PRINT "Сумма элементов по модулю > 17 равна "; sum FOR i = 1 TO 3 FOR j = 1 TO 4 PRINT a(i, j); " "; NEXT j PRINT " " NEXT i
|
|
| |
| | |
| timer32 | Дата: 12:22 12.01.2009 | Сообщение # 71 |
Новичок
Сообщений: 2
Статус: не в сети
| IwanS. Help плиз....... Написать программу формирования одномерного массива размером М. Выполнить обработку и преобразование массива. Подобрать контрольный пример. Наити сумму и количество чисел,попадающих в диапазон от А до В, где А и В задаются пользователем. Если таких чисел нет,то вывести сообщение об этом. Получить новый масив путем деления всех элементов на наибольший элемент. Сенк.....
Изменил timer32 - Понедельник, 12.01.2009, 12:23
|
| |
| | |
| IwanS | Дата: 18:17 12.01.2009 | Сообщение # 72 |
Администратор
Сообщений: 1850
Статус: не в сети
| timer32, ну примено так: Code CLS INPUT "Введите размер массива: ", c INPUT "Введите нижнюю границу элементов: ", a INPUT "Введите верхнюю границу элементов: ", b DIM q(c) FOR cnt = 1 TO c PRINT "Введите "; cnt; " элемент массива:"; INPUT " ", q(cnt) IF q(cnt) > a AND q(cnt) < b THEN en = en + 1: sum = sum + q(cnt) IF cnt = 1 THEN max = q(1) ELSE IF q(cnt) > max THEN max = q(cnt) NEXT cnt IF en = 0 THEN PRINT "Элементов диапазона нет!" ELSE PRINT "Элементов в диапазоне от "; a; " до "; b; " всего "; en; " и их сумма "; sum PRINT "Максимальный элемент ", max FOR cnt = 1 TO c q(cnt) = q(cnt) / max PRINT q(cnt); " "; NEXT cnt
|
|
| |
| | |
| Lex-krasnodar | Дата: 22:24 16.01.2009 | Сообщение # 73 |
Новичок
Сообщений: 2
Статус: не в сети
| Люди помогите пожалуйста, надо для задачи программу написать а я в программировании ваще не разбираюсь. Задача: Расчет суммы вклада по истечении установленного срока хранения: Sк=Sн*(1+Р) где Sк - сумма вклада в конце срока хранения Sн - начальная сумма вклада Р - процентная ставка, определяемая в зависимости от Sн: 0,02 при Sк < 1000 рублей Р= 0,05 при 1000<=Sн< 10000 рублей 0,07 при 10000<=Sн< 100000 рублей 0,1 при Sн=>100000 рублей если надо могу блок схему прислать
|
| |
| | |
| IwanS | Дата: 22:51 16.01.2009 | Сообщение # 74 |
Администратор
Сообщений: 1850
Статус: не в сети
| Lex-krasnodar, вот код: Code CLS INPUT "Введите сумму вклада: ", a IF a < 1000 THEN b = a * 1.02 IF a >= 1000 AND a < 10000 THEN b = a * 1.05 IF a >= 10000 AND a < 100000 THEN b = a * 1.07 IF a >= 100000 THEN b = a * 1.1 PRINT "Результат: "; b Но эта задача попадает под категорию "легкие", поэтому впредь читаем самоучитель и не задаем глупых вопросов.
|
|
| |
| | |
| IwanS | Дата: 07:58 03.02.2009 | Сообщение # 75 |
Администратор
Сообщений: 1850
Статус: не в сети
| Тема в очередной раз подчищена. Оставлены только вопросы и ответы. Выяснение промежуточных вопросов можно найти в Мусорке форума. Ждем Ваших новых задач!
|
|
| |
| |
|