Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Вопрос-Ответ Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 Помогите!Очень срочно!  [new]
Lena111
Member

Откуда:
Сообщений: 116
нужно решить задачку в Qbasic:В районном обществе автолюбителей имеются сведения об автомобилях(N-заданное число)
О каждой машине известно: фамилия владельца, год выпуска и номер автостоянки.
Необходимо для каждой из стоянок получить два списка: список самых новых и список самых старых машин с указанием их владельцев и года выпуска.
Предусмотреть, что нумерация стоянок может быть прерывистой.
НАЧАЛО ПРОГРАММЫ
Cls
Type spisok
Marka as string*12
Fam as string*18
God vipuska as integer
Nomer stoyanki as string*7
End type
Dim gruppe (1 to 20) as spisok
Input gruppe(1).fam
24 фев 06, 16:17    [2387606]     Ответить | Цитировать Сообщить модератору
 Re: Помогите!Очень срочно!  [new]
Gold Fish
Member

Откуда: Kiev
Сообщений: 408
на Qbasic или Visual Basic??? То что вы написали больше смахивает на визуал
24 фев 06, 16:30    [2387635]     Ответить | Цитировать Сообщить модератору
 Re: Помогите!Очень срочно!  [new]
Lena111
Member

Откуда:
Сообщений: 116
нет,именно Qbasic!
В этом все и дело!
24 фев 06, 16:32    [2387640]     Ответить | Цитировать Сообщить модератору
 Re: Помогите!Очень срочно!  [new]
Gold Fish
Member

Откуда: Kiev
Сообщений: 408
блин дети пронресса!!!!
В Qbasic не нужно объявлять переменные и указывать их тип. Все остальное почти также
24 фев 06, 16:38    [2387651]     Ответить | Цитировать Сообщить модератору
 Re: Помогите!Очень срочно!  [new]
Lena111
Member

Откуда:
Сообщений: 116
эта программа дана преподавателем информатики и она работает!
И делать её нужно именно в кубейсике!
24 фев 06, 16:40    [2387659]     Ответить | Цитировать Сообщить модератору
 Re: Помогите!Очень срочно!  [new]
Gold Fish
Member

Откуда: Kiev
Сообщений: 408
http://www.qbasic.com/mirror/tutorial.html
http://www.geocities.com/Area51/5967/chapter1.htm
24 фев 06, 16:46    [2387674]     Ответить | Цитировать Сообщить модератору
 Re: Помогите!Очень срочно!  [new]
Lena111
Member

Откуда:
Сообщений: 116
Спасибо огромное!
Попробую разобраться!
Если получится,конечно..))
но если кто может помочь,то пишите-буду очень благодарна!!
24 фев 06, 16:52    [2387685]     Ответить | Цитировать Сообщить модератору
 Re: Помогите!Очень срочно!  [new]
neskif
Member [заблокирован]

Откуда:
Сообщений: 2634
Lena111
нужно решить задачку в Qbasic

Что значит решить ? Вы демонстируете некий кусок. Это препод Вам его швырнул или это Ваши потуги. Если уже есть программа и Вам надо просто в ней разобраться, то так и пишите здесь. Замечания в форуме на Вас свалились из-за нечеткого формулирования Вами задачи. Вам это ясно ? Если ясно, то говорите, что конкретно Вам надо.
24 фев 06, 17:46    [2387825]     Ответить | Цитировать Сообщить модератору
 Re: Помогите!Очень срочно!  [new]
Lena111
Member

Откуда:
Сообщений: 116
Преподаватель дал такое задание!
Надо вывести два списка!
Собственно,она называет это решением задачи!
24 фев 06, 17:50    [2387838]     Ответить | Цитировать Сообщить модератору
 Re: Помогите!Очень срочно!  [new]
neskif
Member [заблокирован]

Откуда:
Сообщений: 2634
Lena111
Собственно,она называет это решением задачи!

Так это преподдавательница ?
24 фев 06, 17:59    [2387864]     Ответить | Цитировать Сообщить модератору
 Re: Помогите!Очень срочно!  [new]
Lena111
Member

Откуда:
Сообщений: 116
Преподавательница!
Но от этого дело не меняется!
24 фев 06, 18:07    [2387888]     Ответить | Цитировать Сообщить модератору
 Re: Помогите!Очень срочно!  [new]
Gold Fish
Member

Откуда: Kiev
Сообщений: 408
автор

Преподавательница!


А где это такие преподовательницы водятся????
Убил бы!!!!!!!!!!!!!
24 фев 06, 18:09    [2387891]     Ответить | Цитировать Сообщить модератору
 Re: Помогите!Очень срочно!  [new]
Lena111
Member

Откуда:
Сообщений: 116
А реально Вы можете помочь??
24 фев 06, 18:15    [2387909]     Ответить | Цитировать Сообщить модератору
 Re: Помогите!Очень срочно!  [new]
Gold Fish
Member

Откуда: Kiev
Сообщений: 408
Что и менно нужно помочь???? Я вам дал ссылки на туториалы по QBasic. Что еще вам нужно???? Полностью написать программу - непомогу!!! Т.к. бейсика у меня нет под рукой, да и я на нем уже лет 5 ничего не писал. Задавайте конкретные вопросы я постараюсь вам на них ответить.
Совет №1: выбросьте этот кусок кода, который вам дала преподавательница. И пишпте все сами
24 фев 06, 18:19    [2387919]     Ответить | Цитировать Сообщить модератору
 Re: Помогите!Очень срочно!  [new]
Lena111
Member

Откуда:
Сообщений: 116
я выбросила-она заставила вставить!
Вот такой вариант еще!Можете посмотреть?Она говорит,что тоже неправильно!Но прогр работает!
CLS 'Очистка экрана, ну сами знаете

TYPE MLIST ' Структура массива
Id AS INTEGER
Fam AS STRING * 10
Year AS INTEGER
Num AS INTEGER
END TYPE
N = 3 ' количество элементов lists если добавляете машины не забудьте это число увеличить
DIM lists(N) AS MLIST

lists(0).Id = 0
lists(0).Fam = "Ivanov"
lists(0).Year = 1985
lists(0).Num = 1

lists(1).Id = 1
lists(1).Fam = "Petrov"
lists(1).Year = 1995
lists(1).Num = 2


lists(2).Id = 2
lists(2).Fam = "Sidorov"
lists(2).Year = 1925
lists(2).Num = 1



DIM sto(N) AS INTEGER ' Массив для сбора списка стоянок из информации о машинах. Нам пофигу в каком порядке, через одну они идут или через тысячу.
DIM nsto
nsto = 0

' Собираем список стоянок
FOR i = 0 TO N
FOR J = 0 TO nsto
IF (sto(J) = lists(i).Num) THEN EXIT FOR
NEXT J
IF (sto(J) = lists(i).Num) THEN
EXIT FOR
ELSE sto(nsto) = lists(i).Num: nsto = nsto + 1
END IF
NEXT i

nsto = nsto - 1

' Выводим информацию на экран, можете собирать в массив

FOR i = 0 TO nsto
PRINT "STOYANKA #"; sto(i)
FOR J = 0 TO N
IF (lists(J).Num = sto(i)) THEN
PRINT "Machine #"; lists(J).Id; "Name "; lists(J).Fam; "Year "; lists(J).Year

END IF
NEXT J

PRINT ""
NEXT i
24 фев 06, 18:26    [2387933]     Ответить | Цитировать Сообщить модератору
 Re: Помогите!Очень срочно!  [new]
Gold Fish
Member

Откуда: Kiev
Сообщений: 408
Если прога работает прога выдает правильный результат, то она работает правильно. Если она утверждает что она неправильная то пусть скажет что неправильно.

Некоторые преподаватели любят говорить что прога неправильная для того чтобы проверить сам ли студент писал эту программу. Если студент писал сам он с пеной у рта будет доказывать что она правильная, а если несам то развернется и уйдет.


Вообще что это у вас за модификация бейсика?????
24 фев 06, 18:40    [2387955]     Ответить | Цитировать Сообщить модератору
 Re: Помогите!Очень срочно!  [new]
Lena111
Member

Откуда:
Сообщений: 116
Qbasic обыкновенный!
А что не так?
24 фев 06, 18:43    [2387963]     Ответить | Цитировать Сообщить модератору
 Re: Помогите!Очень срочно!  [new]
neskif
Member [заблокирован]

Откуда:
Сообщений: 2634
Gold Fish
Некоторые преподаватели любят говорить что прога неправильная для того чтобы проверить сам ли студент писал эту программу. Если студент писал сам он с пеной у рта будет доказывать что она правильная, а если несам то развернется и уйдет.

Да, это правда. Т.е. Вам надо разобрать работу программы и потом ответить на все вопросы этой чересчур любопытной преподдавательницы.
24 фев 06, 18:47    [2387970]     Ответить | Цитировать Сообщить модератору
 Re: Помогите!Очень срочно!  [new]
Lena111
Member

Откуда:
Сообщений: 116
она не задала мне ни одного вопроса!Преподавательница никогда не задает их!Ей все равно,кто делал программу,лищь бы работала!
просто стала исправлять мне программу!
И то,что она сделала-не работало!
Так что дело не в вопросах,а в программе!
24 фев 06, 18:51    [2387973]     Ответить | Цитировать Сообщить модератору
 Re: Помогите!Очень срочно!  [new]
Gold Fish
Member

Откуда: Kiev
Сообщений: 408
Вообще если я правильно понял ваше задание то вам нужно найти машины с максимальным и ми нимальным годом выпуска для каждой стоянки.
Если да это делается так:

a = год_выпуска_машины_1

FOR i = 2 TO количество_машин_на_стоянке
IF год_выпуска_машины_i < a THEN
a = год_выпуска_машины_i
n = i
END IF
NEXT i

в результате у вас в n будет номер машины с максимальным годом выпуска
24 фев 06, 18:53    [2387977]     Ответить | Цитировать Сообщить модератору
 Re: Помогите!Очень срочно!  [new]
Lena111
Member

Откуда:
Сообщений: 116
Да,так!
Спасибо!
Это и все,что надо написать?
24 фев 06, 18:58    [2387984]     Ответить | Цитировать Сообщить модератору
 Re: Помогите!Очень срочно!  [new]
neskif
Member [заблокирован]

Откуда:
Сообщений: 2634
Lena111
я выбросила-она заставила вставить!

Похоже на правду. Но, как сказал бы Станиславский, не верю.
Оператор DIM должен задавать размерность как минимум массива, а у Вас его применение я не понял.
DIM sto(N) AS INTEGER ' Массив для сбора списка стоянок из информации о машинах. Нам пофигу в каком порядке, через одну они идут или через тысячу.
DIM nsto
nsto = 0

Вот это все - это какой-то наворот. Первая строка логична, а дальше......
' Собираем список стоянок
FOR i = 0 TO N
FOR J = 0 TO nsto
IF (sto(J) = lists(i).Num) THEN EXIT FOR
NEXT J
IF (sto(J) = lists(i).Num) THEN
EXIT FOR

ELSE sto(nsto) = lists(i).Num: nsto = nsto + 1
END IF
NEXT i
Строки, выделенные мною цветом, должны полностью совпадать или отличаться переменной индекса ?
24 фев 06, 19:00    [2387987]     Ответить | Цитировать Сообщить модератору
 Re: Помогите!Очень срочно!  [new]
Gold Fish
Member

Откуда: Kiev
Сообщений: 408
это сама логика, а дальше уже сами.
объявление переменных
внесение данных
перебор стоянок
вывод результата на экран
и т.д.
24 фев 06, 19:01    [2387989]     Ответить | Цитировать Сообщить модератору
 Re: Помогите!Очень срочно!  [new]
Lena111
Member

Откуда:
Сообщений: 116
Gold Fish спасибо огромное1
24 фев 06, 19:04    [2387993]     Ответить | Цитировать Сообщить модератору
 Re: Помогите!Очень срочно!  [new]
Lena111
Member

Откуда:
Сообщений: 116
neskif

Вроде совпадать!А там не знаю..
24 фев 06, 19:06    [2387995]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Вопрос-Ответ Ответить