Клуб сисадминов
22:43 09.02.2012
Приветствуем, Гость | Регистрация \ Вход | Ваш IP: 38.107.179.208 | RSS
 
Знаете ли вы: можно увидеть все устройства, когда-либо подключенные к системе
[Главная · Последние сообщения · Правила форума · Поиск · RSS ]
Страница 27 из 28«1225262728»
Форум » Программное обеспечение » Программирование » Программирование на Qbasic
Программирование на Qbasic
IwanSДата: 10:47 08.07.2008 | Сообщение # 1
Администратор
Сообщений: 1849
Статус: не в сети
Всем привет!

Продолжаем добрую традицию помогать всем посетителям в программировании на QBasic. Напоминаю, что у нас есть самоучитель по qbasic (1 часть и 2 часть).

Ждем ваших задач и наших решений!


Для большей наглядности вы можете прикрепить картинку с формулой из задачи. Для этого напечатайте формулу в Microsoft Word и нажмите кнопку PrtScr SysRq. После этого запускаем mspaint и нажимаем Правка -> Вставить. Выделяем область с формулой и нажимаем Копировать в файл. Теперь нажимаем Файл -> Открыть и пересохраняем нашу картинку в формате JPEG. Разрешено прикреплять картинки только в форматах JPEG или GIF!


Техзадание - точное и четкое определение задачи, стоящей перед программистом. В техзадании должно содержаться достаточно сведений, чтобы человек мог написать адекватную запросу программу. При этом нужно уметь не просто перепечатать задание преподавателя, а понимать его смысл и быть готовым ответить на вопросы по заданию. Без нормального техзадания лично я помогать с программированием не буду!

Строгому наказанию подлежит несоблюдение правил орфографии и пунктуации. Пишите грамотно, правильно расставляйте запятые. Иначе в коде мы тоже будем косячить так, что фиг разберешь, что там вообще написано!

Изменил IwanS - Четверг, 12.02.2009, 17:21
 
GreatEvilGodДата: 22:30 22.06.2010 | Сообщение # 391
Модератор
Сообщений: 238
Награды: 4
Статус: не в сети
Paris, кстати, возможно это случайность, но у вас в двух задачах прослеживается одна и та же ошибка, а именно:

Quote (Paris)
imax=b

и

Quote (Paris)
a(i) = p

я это к чему, когда вы выполняете операцию присваивания, сначала пишите ту переменную которой хотите задать новое значение, потом оператор присваивания (в qb это "="), потом значение которое хотите положить в переменную т.е. в ваших случаях так:

b = imax

и

p = a(i)

Обратите на это внимание. prof

 
ParisДата: 00:58 24.06.2010 | Сообщение # 392
Новичок
Сообщений: 18
Статус: не в сети
Quote
но у вас в двух задачах прослеживается одна и та же ошибка

Вот этого я как раз и незнала, спасибо за информацию, запомню на будущее)))

Добавлено (24.06.2010, 00:58)
---------------------------------------------
Help please!! Нашла задачку, решила попробовать, но что то вообще намудрила, помогите разобраться пожалуйста...

Программа дожна напечатать произведения всех положительных пар элементов из массивов X и Y
Например:
X -8 5 -3 7 6 9
Y 3 2 -6 3 -1 2
Ответ: 5*2, 7*3, 9*2

Code

CLS
REM "Vvod massivov X i Y"
INPUT "Vvedite colichestvo elementov v mssive:"; n
DIM x(n)
  FOR i = 1 TO n
   PRINT "Vvedite"; i; "element massiva X:";
   INPUT x(i)
  NEXT i
PRINT " "
m = n
DIM y(m)
  FOR j = 1 TO m
   PRINT "Vvedite"; j; "element massiva Y:";
   INPUT y(j)
  NEXT j
PRINT "X  ";
  FOR i = 1 TO n
   PRINT x(i); " ";
  NEXT i
PRINT " "
PRINT "Y ";
  FOR j = 1 TO m
   PRINT y(j); " ";
  NEXT j
PRINT " "

REM "Poisk mnogitelei", "Отсюда и начинаются пробемы.... Незнаю как сдеать чтобы масивы обрабатывались синхронно и естесственно перемножались и выводиись на печать"

       FOR i = 1 TO n
        FOR j = 1 TO m
    IF x(i) <= 0 AND y(j) <= 0 THEn GOTO 130
    p = x(i) * y(j)
    PRINT x(i); "*"; y(j); "="; p
120  NEXT j
130 NEXT i


_____________________________________________________________
ОЛОЛО


Изменил Paris - Вторник, 22.06.2010, 23:07
 
IwanSДата: 08:15 24.06.2010 | Сообщение # 393
Администратор
Сообщений: 1849
Статус: не в сети
Paris,
Code
CLS
INPUT "Vvesti dlinu massivov: ", n
DIM x(n)
DIM y(n)
FOR i = 1 TO n
PRINT "Vvesti "; i; " element massiva X: ";
INPUT x(i)
PRINT "Vvesti "; i; " element massiva Y: ";
INPUT y(i)
NEXT i
PRINT
PRINT "X: ";
FOR i = 1 TO n
PRINT x(i); " ";
NEXT i
PRINT
PRINT "Y: ";
FOR i = 1 TO n
PRINT y(i); " ";
NEXT i
PRINT : PRINT
FOR i = 1 TO n
IF x(i) > 0 AND y(i) > 0 THEN PRINT x(i); " * "; y(i); " = "; x(i) * y(i)
NEXT i
 
GreatEvilGodДата: 08:26 24.06.2010 | Сообщение # 394
Модератор
Сообщений: 238
Награды: 4
Статус: не в сети
Вот решение:

Code
CLS
INPUT "Vvedite colichestvo elementov v mssive: ", n   
DIM x(n)   
FOR i = 1 TO n   
     PRINT "Vvedite"; i; " element massiva X:";   
     INPUT " ", x(i)   
NEXT i
     
PRINT " "    
DIM y(n)   
FOR i = 1 TO n   
     PRINT "Vvedite"; i; " element massiva Y:";   
     INPUT " ", y(i)   
NEXT i   

PRINT " "
PRINT "X  ";   
FOR i = 1 TO n   
     PRINT x(i); " ";   
NEXT i
     
PRINT " "   
PRINT "Y ";   
FOR i = 1 TO n   
      PRINT y(i); " ";   
NEXT i

PRINT " "
PRINT " "   
FOR i = 1 TO n   
IF (x(i) > 0) AND (y(i) > 0) THEN
      p = x(i) * y(i)   
      PRINT x(i); "*"; y(i); "="; p   
End If
NEXT i

Теперь по поводу замечаний к вашей реализации:
1) Зачем постоянно использовать конструкцию "GOTO #" выучите "If .... Then .... Else .... End IF"
2) Зачем нужна переменная m если она всегда равна переменной n
3) Что бы обрабатывать массивы синхронно нужно использовать один цикл, а не два. В связи с этим отпадает необходимость в использовании переменной j.

P.S. Блин, опоздал... sad

Изменил GreatEvilGod - Четверг, 24.06.2010, 08:28
 
IIaHuKePДата: 11:55 24.06.2010 | Сообщение # 395
Новичок
Сообщений: 6
Статус: не в сети
вапрос как копирывать и вставлять сюда из Qbasic?
 
ParisДата: 16:10 24.06.2010 | Сообщение # 396
Новичок
Сообщений: 18
Статус: не в сети
аааа... я думала, для разных массивов нужно разные значения использовать, работать с GOTO как то проще, ладно поизучаю ещё раз IF..... Спасибо ребята)))) Чтоб я без вас делала, даж незнаю.. respect

_____________________________________________________________
ОЛОЛО
 
IwanSДата: 16:32 24.06.2010 | Сообщение # 397
Администратор
Сообщений: 1849
Статус: не в сети
IIaHuKeP, я сохраняю код и открываю его блокнотом. У меня все в одной папке, поэтому занимает ровно 4 клика (2 на сохранение, 2 на открытие блокнотом, который выставлен редактором по-умолчанию).
 
IIaHuKePДата: 18:25 24.06.2010 | Сообщение # 398
Новичок
Сообщений: 6
Статус: не в сети
ооооомг.... не понял малёха))))))) преметивно можеш обьяснить на кнопках))))))
 
GreatEvilGodДата: 18:36 24.06.2010 | Сообщение # 399
Модератор
Сообщений: 238
Награды: 4
Статус: не в сети
IIaHuKeP, ну приколол! biggrin IwanS, тебе и так на пальцах объяснил!

Сначала через основное меню программы: Файл ---> Сохранить как
Потом для сохраненного файла: открыть с помощью ---> Блокнот

P.S. Сам юзал этот способ, но теперь с переходом на "Geany" хватает: Ctrl+C ---> Ctrl+V

Изменил GreatEvilGod - Четверг, 24.06.2010, 18:39
 
LunatikДата: 08:31 26.06.2010 | Сообщение # 400
Новичок
Сообщений: 6
Статус: не в сети
Помогите пожалуйста составить 4 программы на языке QBasik:
1. Составить программу для графического изображения футбольного поля.
2. Составить программу для графического изображения баскетбольной площадки.
3. Составить программу для графического изображения ванны плавательного бассеина (5 дорожек).
4. Составить программу для графического изображения хоккейного поля.
Спасибо заранее.
 
GreatEvilGodДата: 12:42 26.06.2010 | Сообщение # 401
Модератор
Сообщений: 238
Награды: 4
Статус: не в сети
Quote (Lunatik)
1. Составить программу для графического изображения футбольного поля.

Code
SCREEN 7   
color 15
paint (1,1),2   
circle (160, 100), 22, 15, 0, 6.28, 1/1
circle (160, 100), 3, 15, 0, 6.28, 1/1

paint (160, 100)   
line (160,10)-(160,190)
line (15,10)-(305,190), 15, b
circle (41, 100), 22, 15, 0, 6.28, 1/1
line (16,11)-(53,189), 2, bf
circle (41, 100), 3, 15, 0, 6.28, 1/1
paint (41, 100)
circle (279, 100), 22, 15, 0, 6.28, 1/1
line (304,11)-(267,189), 2, bf
circle (279, 100), 3, 15, 0, 6.28, 1/1
paint (279, 100)
line (15,52)-(53,148), 15, b
line (305,52)-(267,148), 15, b
line (15,78)-(28,122), 15, b
line (305,78)-(292,122), 15, b

circle (15, 10), 5, 15, 4.71, 0, 1/1
circle (305, 10), 5, 15, 3.14, 4.71, 1/1
circle (305, 190), 5, 15, 1.57, 3.14, 1/1
circle (15, 190), 5, 15, 0, 1.57, 1/1

line (15,91)-(10,109), 15, b
line (305,91)-(310,109), 15, b

SLEEP 10

Quote (Lunatik)
2. Составить программу для графического изображения баскетбольной площадки.

Code
SCREEN 7   
color 15
paint (1,1),6   

circle (23, 100), 68, 15 ,4.71, 1.57, 1/1
circle (69, 100), 20, 15 ,4.71, 1.57, 1/1
circle (297, 100), 68, 15 , 1.57, 4.71,1/1
circle (251, 100), 20, 15 ,1.57, 4.71, 1/1

line (6,67)-(69,80)
line (6,133)-(69,120)
line (314,67)-(251,80)
line (314,133)-(251,120)

line (69,80)-(69,120)
line (251,80)-(251,120)

line (6,32)-(23,32)
line (6,168)-(23,168)
line (314,32)-(297,32)
line (314,168)-(297,168)

circle (160, 100), 20, 15, 0, 6.28, 1/1
circle (160, 100), 3, 15, 0, 6.28, 1/1
paint (160, 100)   
line (160,15)-(160,185)
line (6,17)-(314,183), 15, b

line (6,0)-(6,17)
line (314,0)-(314,17)
line (105,0)-(105,17)
line (215,0)-(215,17)

paint (310, 100),1,15
paint (20, 100),1,15

sleep 10

P.S. Пока все, остальное пока не хочу делать... Может чуть позже.

Прикрепления: 5857472.jpeg(14Kb) · 7081750.jpeg(16Kb)


Изменил GreatEvilGod - Воскресенье, 27.06.2010, 09:17
 
LunatikДата: 12:51 26.06.2010 | Сообщение # 402
Новичок
Сообщений: 6
Статус: не в сети
ну пожалуйста, мне завтра сдавать, у нас время разное, у мя уже почти 9 вечера, я до завтра переписать не смогу

Добавлено (26.06.2010, 12:51)
---------------------------------------------
и еще вопрос на рисунках этих полей координаты отмечать не надо?

 
IIaHuKePДата: 15:03 26.06.2010 | Сообщение # 403
Новичок
Сообщений: 6
Статус: не в сети
блин не понял как засунуть сюда напишу тада)))так кусочек...

LINE(0,0)-(640,200),9,BF
CIRCLE(145,45),30,15
PAINT(145,45),15
CIRCLE(230,45),30,15
PAINT(230,45),15
CIRCLE(190,45),30,15
LINE(145,67)-(230,67),15
PAINT(190,50),15
PAINT(165,65),15
PAINT(209,65),15

заставьте облоко двигаться плииз)) впаво ===>
вроде так

 
GreatEvilGodДата: 15:47 26.06.2010 | Сообщение # 404
Модератор
Сообщений: 238
Награды: 4
Статус: не в сети
Quote (Lunatik)
3. Составить программу для графического изображения ванны плавательного бассеина (5 дорожек).

Не понял что конкретно нужно изображать, без схемы с размерами решать не буду.

Quote (Lunatik)
4. Составить программу для графического изображения хоккейного поля.

Code
SCREEN 7

circle(50,65),40,2,1.57,3.14,1/1
circle(50,135),40,2,3.14,4.71,1/1
circle(270,65),40,2,0,1.57,1/1
circle(270,135),40,2,4.71,0,1/1
line(50,25)-(270,25),2
line(50,175)-(270,175),2
line(10,65)-(10,135),2
line(310,65)-(310,135),2
paint(160,100),7,2

line(30,167)-(3 0,33),4
line(290,167)-(290,33),4
line(160,26)-(160,174),4

line(116,26)-(116,174),1
line(204,26)-(204,174),1

circle(30,100),8,4,4.71  ,1.57,1/1
circle(290,100),8,4,1.57,4.71,1/1
paint(35,100),1,4
paint(285,100),1,4

circle(123,65),2,4,0,6.28,1/1
paint(123,65),4,4
circle(123,135),2,4,0,6.28,1/1
paint(123,135),4,4
circle(197,65),2,4,0,6.28,1/1
paint(197,65),4,4
circle(197,135),2,4,0,6.28,1/1
paint(197,135),4,4

circle(160,100),23,1,0,6.28,1/1
circle(160,100),2,1,0,6.28,1/1
paint(160,100),1,1

For i=0 to 1
     For j=0 to 1
        cx = 60 + i*200
        cy = 65 + j*70
        circle(cx,cy),2,4,0,6.28,1/1
        paint(cx,cy),4,4
        circle(cx,cy),22,4,0,6.28,1/1
        line(cx-5,cy+2)-(cx-9,cy+2),4
        line(cx-5,cy-2)-(cx-9,cy-2),4
        line(cx+5,cy+2)-(cx+9,cy+2),4
        line(cx+5,cy-2)- (cx+9,cy-2),4
          
        line(cx-5,cy+2)-(cx-5,cy+5),4
        line(cx-5,cy-2)-(cx-5,cy-5),4
        line(cx+5,cy+2)-(cx+5,cy+5),4
        l ine(cx+5,cy-2)-(cx+5,cy-5),4
          
        line(cx-5,cy+21)-(cx-5,cy+26),4
        line(cx-5,cy-21)-(cx-5,cy-26),4
        line(cx+5,cy+ 21)-(cx+5,cy+26),4
        line(cx+5,cy-21)-(cx+5,cy-26),4
     Next j
Next i   

circle(160,25),15,4,3.14,0,1/1

sleep 10

Прикрепления: 9938658.jpeg(17Kb)


Изменил GreatEvilGod - Воскресенье, 27.06.2010, 09:15
 
GreatEvilGodДата: 16:37 26.06.2010 | Сообщение # 405
Модератор
Сообщений: 238
Награды: 4
Статус: не в сети
Quote (Lunatik)
Сделайте пожалуйста синий прямоугольник разделенный на 5 равных частей по горизонтали

Code
SCREEN 7   
Line (10,10)-(310,190),15,b
paint(160,100),1,15
y = 10
For i = 1 to 4
     y=y+36
     Line (10,y)-(310,y),15   
Next i

sleep 10

Прикрепления: 8351771.jpeg(12Kb)


Изменил GreatEvilGod - Воскресенье, 27.06.2010, 09:18
 
Форум » Программное обеспечение » Программирование » Программирование на Qbasic
Страница 27 из 28«1225262728»
Поиск:

© Иван Собакарь, 2004 - 2012 | Сайт управляется системой uCoz