Важная информация
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 19

Тема: Задание по файлам

  1. #1 Задание по файлам 
    Разбирающийся Аватар для Stannum
    Регистрация
    26.03.2013
    Адрес
    Moscow
    Сообщений
    32
    Сказал(а) спасибо
    10
    Поблагодарили 1 раз в 1 сообщении
    Доброго времени суток, господа!
    Вопросец назрел насчёт программы по файлам, дабы на этот раз я ничего уж вообще не понимаю, что и как делать.
    Задания, скорее всего для одной задачи:
    1. Составить программу создания файлы данных ЗООПАРК (не более 10 записей), каждая запись которого содержит следующие поля:
    1) вид животного (по-видимому, название)
    2) дата рождения
    3) вес
    4) является ли хищником

    2. Составить программу вывода на экран, в табличной форме, всех записей файла базы данных, и записей видов являющимися хищниками, вес которых превышает 150 кг.

    Серъёзно, ничего не понимаю, какие файлы и что делать-то в qBasic'е надо.
    Помогите, кто чем может)
    Ответить с цитированием  
     

  2. #2  
    Супер модератор Аватар для >Quiet Snow<
    Регистрация
    11.04.2011
    Адрес
    Планета земля
    Сообщений
    3,829
    Сказал(а) спасибо
    1,810
    Поблагодарили 934 раз(а) в 796 сообщениях
    Записей в блоге
    1
    Это лёгкое задание, не вижу смысла решать за вас.

    1) Спросить сколько записей
    2) Открыть файл
    3) В цикле до кол-ва записей вводить с клавиатуры и записывать в файл

    И всё... учите синтаксис языка, это вам ещё повезло, что бейсик, а не си или ассемблер.
    Операторы и ключевые слова, требуемые для выполнения задачи: DIM, OPEN, CLOSE, INPUT, PRINT, FOR ... NEXT
    Для второй задачи дополнительно IF, PRINT USING.
    Обучение прикладному программированию(по skype), качественно, недорого, 18+, вопросы в личку.
    «Если вы ничего не сделаете, я уверяю вас, ничего и не произойдёт» © Жак Фреско
    Ограниченно модерирую.
    Ответить с цитированием  
     

  3. #3  
    Разбирающийся Аватар для Stannum
    Регистрация
    26.03.2013
    Адрес
    Moscow
    Сообщений
    32
    Сказал(а) спасибо
    10
    Поблагодарили 1 раз в 1 сообщении
    Вот что получилось сначала, не понимаю, что делать
    Код qBasic:
    [Ссылки могут видеть только зарегистрированные пользователи. ]
    [Ссылки могут видеть только зарегистрированные пользователи. ] "zoo.txt" FOR [Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ] #1
    FOR i = 1 TO 10
        [Ссылки могут видеть только зарегистрированные пользователи. ] "Animal name:"; naz$
        [Ссылки могут видеть только зарегистрированные пользователи. ] "Birthday:", day$
        [Ссылки могут видеть только зарегистрированные пользователи. ] "Weight:"; ves$
        [Ссылки могут видеть только зарегистрированные пользователи. ] "Whether the predator:"; pre$
        [Ссылки могут видеть только зарегистрированные пользователи. ] #1, naz$, day$, ves$, pre$
    NEXT
    [Ссылки могут видеть только зарегистрированные пользователи. ] #1
    [Ссылки могут видеть только зарегистрированные пользователи. ]
    [Ссылки могут видеть только зарегистрированные пользователи. ] "zoo.dat" FOR [Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ] #1
    DO UNTIL
        [Ссылки могут видеть только зарегистрированные пользователи. ] #1, naz$, day$, ves$, pre$
        IF ves > 150 THEN
            [Ссылки могут видеть только зарегистрированные пользователи. ] naz$, day$, ves$
        [Ссылки могут видеть только зарегистрированные пользователи. ] IF
    LOOP
    [Ссылки могут видеть только зарегистрированные пользователи. ] #1
    [Ссылки могут видеть только зарегистрированные пользователи. ]
    Последний раз редактировалось Stannum; 17.04.2013 в 21:37.
    Ответить с цитированием  
     

  4. #4  
    Супер модератор Аватар для >Quiet Snow<
    Регистрация
    11.04.2011
    Адрес
    Планета земля
    Сообщений
    3,829
    Сказал(а) спасибо
    1,810
    Поблагодарили 934 раз(а) в 796 сообщениях
    Записей в блоге
    1
    WRITE #1, naz$, day$, ves$, pre$
    И это работает? Объясните мне КАК?

    Ладно я вас немного помучил, вижу пытаетесь что-то делать, держите...

    Код qbasic:
    DECLARE SUB CreateBD ()
    DECLARE SUB OpenBD ()
     
    DIM SHARED BdFile$, R$
    BdFile$ = "ZOO.TXT"
    R$ = STRING$(80, 196)
     
    Re: CLS
      PRINT "Rabota s failom: " + BdFile$
      PRINT "[ 1 ]  -  Sozdat bazu dannyh"
      PRINT "[ 2 ]  -  Otkryt bazu dannyh"
      PRINT " ESC   -  Exit"
     
      DO: Kb$ = INKEY$
         IF Kb$ = "1" THEN CreateBD: GOTO Re
         IF Kb$ = "2" THEN OpenBD: GOTO Re
         IF Kb$ = CHR$(27) THEN CLS : END
      LOOP
     
    SUB CreateBD
    CLS
    DIM f
    PRINT R$
    PRINT "Sozdanye bazy dannyh..."
    PRINT R$
    INPUT "Zapisei: ", Recs%
    PRINT R$
      Fr% = FREEFILE
      OPEN BdFile$ FOR OUTPUT AS Fr%
        PRINT #Fr%, Recs%
        FOR i = 1 TO Recs%
            PRINT STR$(i) + "."
            INPUT "Animal name: ", naz$
            INPUT "Birthday: ", day$
            INPUT "Weight: ", ves$
            PRINT "Predator? [Y/N] ";
            Ok% = 0
            DO: Kb$ = LCASE$(INKEY$)
               IF Kb$ = "y" THEN pre$ = "Y": Ok% = 1
               IF Kb$ = "n" THEN pre$ = "N": Ok% = 1
            LOOP UNTIL Ok%: PRINT pre$
            PRINT #Fr%, naz$
            PRINT #Fr%, day$
            PRINT #Fr%, ves$
            PRINT #Fr%, pre$
            PRINT STRING$(80, 196)
        NEXT
      CLOSE Fr%
      f = TIMER: PRINT "Ok..."
      WHILE f + 1 > TIMER: WEND
    END SUB
     
    SUB OpenBD
      CLS
      PRINT R$
      PRINT "Otkryvaem "; BdFile$; "..."
      Fr% = FREEFILE: PRINT R$
      OPEN BdFile$ FOR INPUT AS Fr%
      INPUT #Fr%, LoadRecs%
          FOR i = 1 TO LoadRecs%
             LINE INPUT #Fr%, naz$
             LINE INPUT #Fr%, day$
             LINE INPUT #Fr%, ves$
             LINE INPUT #Fr%, pre$
             IF VAL(ves$) > 150 AND pre$ = "Y" THEN
                 PRINT naz$, day$, ves$
             END IF
         NEXT
      CLOSE Fr%
      WHILE INKEY$ = "": WEND
    END SUB
    Обучение прикладному программированию(по skype), качественно, недорого, 18+, вопросы в личку.
    «Если вы ничего не сделаете, я уверяю вас, ничего и не произойдёт» © Жак Фреско
    Ограниченно модерирую.
    Ответить с цитированием  
     

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

    Stannum (18.04.2013)

  6. #5  
    Супер модератор Аватар для >Quiet Snow<
    Регистрация
    11.04.2011
    Адрес
    Планета земля
    Сообщений
    3,829
    Сказал(а) спасибо
    1,810
    Поблагодарили 934 раз(а) в 796 сообщениях
    Записей в блоге
    1
    Пардон выводить список надо полностью, поэтому сделал просто подсветку хищников по весу > 150
    зелёным цветом, добавил проверку на отсутствие файла и "табличный вид", всё больше тут ничего
    не надо по условию.

    Код qbasic:
    DECLARE SUB CreateBD ()
    DECLARE SUB OpenBD ()
     
    DIM SHARED BdFile$, R$, Nf%
    BdFile$ = "ZOO.TXT"
    R$ = STRING$(80, 196)
     
    Re: CLS
      PRINT "Rabota s failom: " + BdFile$
      PRINT "[ 1 ]  -  Sozdat bazu dannyh"
      PRINT "[ 2 ]  -  Otkryt bazu dannyh"
      PRINT " ESC   -  Exit"
     
      DO: Kb$ = INKEY$
         IF Kb$ = "1" THEN CreateBD: GOTO Re
         IF Kb$ = "2" THEN OpenBD: GOTO Re
         IF Kb$ = CHR$(27) THEN CLS : END
      LOOP
    END
    NoFile: Nf% = 1: RESUME NEXT
     
    SUB CreateBD
    CLS
    DIM f
    PRINT R$
    PRINT "Sozdanye bazy dannyh..."
    PRINT R$
    INPUT "Zapisei: ", Recs%
    PRINT R$
      Fr% = FREEFILE
      OPEN BdFile$ FOR OUTPUT AS Fr%
        PRINT #Fr%, Recs%
        FOR i = 1 TO Recs%
            PRINT STR$(i) + "."
            INPUT "Animal name: ", naz$
            INPUT "Birthday: ", day$
            INPUT "Weight: ", ves$
            PRINT "Predator? [Y/N] ";
            Ok% = 0
            DO: Kb$ = LCASE$(INKEY$)
               IF Kb$ = "y" THEN pre$ = "Y": Ok% = 1
               IF Kb$ = "n" THEN pre$ = "N": Ok% = 1
            LOOP UNTIL Ok%: PRINT pre$
            PRINT #Fr%, naz$
            PRINT #Fr%, day$
            PRINT #Fr%, ves$
            PRINT #Fr%, pre$
            PRINT STRING$(80, 196)
        NEXT
      CLOSE Fr%
      f = TIMER: PRINT "Ok..."
      WHILE f + 1 > TIMER: WEND
    END SUB
     
    SUB OpenBD
    DIM Sh$, R2$
    R2$ = CHR$(179)
    Sh$ = R2$ + " \           \ " + R2$ + " \  \ " + R2$ + "  \   \" + R2$
      CLS
      PRINT R$
      PRINT "Otkryvaem "; BdFile$; "..."
      Fr% = FREEFILE: Nf% = 0: PRINT R$
      ON ERROR GOTO NoFile
      OPEN BdFile$ FOR INPUT AS Fr%
      IF Nf% THEN
        f = TIMER: PRINT "Sorry... File not found..."
        WHILE f + 2 > TIMER: WEND
        ON ERROR GOTO 0
        EXIT SUB
      END IF
      PRINT R$
      PRINT R2$ + "   Jivotnoe    " + R2$ + " Data " + R2$ + "  Ves  " + R2$
      INPUT #Fr%, LoadRecs%
          FOR i = 1 TO LoadRecs%
             LINE INPUT #Fr%, naz$
             LINE INPUT #Fr%, day$
             LINE INPUT #Fr%, ves$
             LINE INPUT #Fr%, pre$
             IF VAL(ves$) > 150 AND pre$ = "Y" THEN COLOR 10 ELSE COLOR 7
             PRINT USING Sh$; naz$; day$; ves$
         NEXT
      CLOSE Fr%
      ON ERROR GOTO 0
      WHILE INKEY$ = "": WEND
    END SUB
    Обучение прикладному программированию(по skype), качественно, недорого, 18+, вопросы в личку.
    «Если вы ничего не сделаете, я уверяю вас, ничего и не произойдёт» © Жак Фреско
    Ограниченно модерирую.
    Ответить с цитированием  
     

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

    Stannum (18.04.2013)

  8. #6  
    Разбирающийся Аватар для Stannum
    Регистрация
    26.03.2013
    Адрес
    Moscow
    Сообщений
    32
    Сказал(а) спасибо
    10
    Поблагодарили 1 раз в 1 сообщении
    Цитата Сообщение от >Quiet Snow< Посмотреть сообщение
    И это работает? Объясните мне КАК?

    Ладно я вас немного помучил, вижу пытаетесь что-то делать, держите...

    Код qbasic:
    [Ссылки могут видеть только зарегистрированные пользователи. ] SUB CreateBD ()
    [Ссылки могут видеть только зарегистрированные пользователи. ] SUB OpenBD ()
     
    [Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ] BdFile$, R$
    BdFile$ = "ZOO.TXT"
    R$ = [Ссылки могут видеть только зарегистрированные пользователи. ](80, 196)
     
    Re: [Ссылки могут видеть только зарегистрированные пользователи. ]
      [Ссылки могут видеть только зарегистрированные пользователи. ] "Rabota s failom: " + BdFile$
      [Ссылки могут видеть только зарегистрированные пользователи. ] "[ 1 ]  -  Sozdat bazu dannyh"
      [Ссылки могут видеть только зарегистрированные пользователи. ] "[ 2 ]  -  Otkryt bazu dannyh"
      [Ссылки могут видеть только зарегистрированные пользователи. ] " ESC   -  Exit"
     
      DO: Kb$ = [Ссылки могут видеть только зарегистрированные пользователи. ]
         IF Kb$ = "1" THEN CreateBD: GOTO Re
         IF Kb$ = "2" THEN OpenBD: GOTO Re
         IF Kb$ = [Ссылки могут видеть только зарегистрированные пользователи. ](27) THEN [Ссылки могут видеть только зарегистрированные пользователи. ] : [Ссылки могут видеть только зарегистрированные пользователи. ]
      LOOP
     
    SUB CreateBD
    [Ссылки могут видеть только зарегистрированные пользователи. ]
    [Ссылки могут видеть только зарегистрированные пользователи. ] f
    [Ссылки могут видеть только зарегистрированные пользователи. ] R$
    [Ссылки могут видеть только зарегистрированные пользователи. ] "Sozdanye bazy dannyh..."
    [Ссылки могут видеть только зарегистрированные пользователи. ] R$
    [Ссылки могут видеть только зарегистрированные пользователи. ] "Zapisei: ", Recs%
    [Ссылки могут видеть только зарегистрированные пользователи. ] R$
      Fr% = [Ссылки могут видеть только зарегистрированные пользователи. ]
      [Ссылки могут видеть только зарегистрированные пользователи. ] BdFile$ FOR [Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ] Fr%
        [Ссылки могут видеть только зарегистрированные пользователи. ] #Fr%, Recs%
        FOR i = 1 TO Recs%
            [Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ](i) + "."
            [Ссылки могут видеть только зарегистрированные пользователи. ] "Animal name: ", naz$
            [Ссылки могут видеть только зарегистрированные пользователи. ] "Birthday: ", day$
            [Ссылки могут видеть только зарегистрированные пользователи. ] "Weight: ", ves$
            [Ссылки могут видеть только зарегистрированные пользователи. ] "Predator? [Y/N] ";
            Ok% = 0
            DO: Kb$ = [Ссылки могут видеть только зарегистрированные пользователи. ]([Ссылки могут видеть только зарегистрированные пользователи. ])
               IF Kb$ = "y" THEN pre$ = "Y": Ok% = 1
               IF Kb$ = "n" THEN pre$ = "N": Ok% = 1
            LOOP UNTIL Ok%: [Ссылки могут видеть только зарегистрированные пользователи. ] pre$
            [Ссылки могут видеть только зарегистрированные пользователи. ] #Fr%, naz$
            [Ссылки могут видеть только зарегистрированные пользователи. ] #Fr%, day$
            [Ссылки могут видеть только зарегистрированные пользователи. ] #Fr%, ves$
            [Ссылки могут видеть только зарегистрированные пользователи. ] #Fr%, pre$
            [Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ](80, 196)
        NEXT
      [Ссылки могут видеть только зарегистрированные пользователи. ] Fr%
      f = [Ссылки могут видеть только зарегистрированные пользователи. ]: [Ссылки могут видеть только зарегистрированные пользователи. ] "Ok..."
      WHILE f + 1 > [Ссылки могут видеть только зарегистрированные пользователи. ]: WEND
    [Ссылки могут видеть только зарегистрированные пользователи. ] SUB
     
    SUB OpenBD
      [Ссылки могут видеть только зарегистрированные пользователи. ]
      [Ссылки могут видеть только зарегистрированные пользователи. ] R$
      [Ссылки могут видеть только зарегистрированные пользователи. ] "Otkryvaem "; BdFile$; "..."
      Fr% = [Ссылки могут видеть только зарегистрированные пользователи. ]: [Ссылки могут видеть только зарегистрированные пользователи. ] R$
      [Ссылки могут видеть только зарегистрированные пользователи. ] BdFile$ FOR [Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ] Fr%
      [Ссылки могут видеть только зарегистрированные пользователи. ] #Fr%, LoadRecs%
          FOR i = 1 TO LoadRecs%
             [Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ] #Fr%, naz$
             [Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ] #Fr%, day$
             [Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ] #Fr%, ves$
             [Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ] #Fr%, pre$
             IF [Ссылки могут видеть только зарегистрированные пользователи. ](ves$) > 150 [Ссылки могут видеть только зарегистрированные пользователи. ] pre$ = "Y" THEN
                 [Ссылки могут видеть только зарегистрированные пользователи. ] naz$, day$, ves$
             [Ссылки могут видеть только зарегистрированные пользователи. ] IF
         NEXT
      [Ссылки могут видеть только зарегистрированные пользователи. ] Fr%
      WHILE [Ссылки могут видеть только зарегистрированные пользователи. ] = "": WEND
    [Ссылки могут видеть только зарегистрированные пользователи. ] SUB
    Насчёт оператора WRITE #1 нам в лекции давали, но сказали так поверхностно, типа думайте сами - решайте сами. В общем ужас.
    Спасибо за программу, но вопрос, ведь выводятся записи с весом выше 150 кг, а все остальные где?
    Ответить с цитированием  
     

  9. #7  
    Разбирающийся Аватар для Stannum
    Регистрация
    26.03.2013
    Адрес
    Moscow
    Сообщений
    32
    Сказал(а) спасибо
    10
    Поблагодарили 1 раз в 1 сообщении
    нет, всё нормально)))

    Вопрос, это, вроде, не файлы с последовательным доступом, прямые, да?
    А как ж там блок-схему писать, как обычные?
    Начало, блок печати, условия и подпрограммы?
    Последний раз редактировалось Stannum; 18.04.2013 в 20:55.
    Ответить с цитированием  
     

  10. #8  
    Супер модератор Аватар для >Quiet Snow<
    Регистрация
    11.04.2011
    Адрес
    Планета земля
    Сообщений
    3,829
    Сказал(а) спасибо
    1,810
    Поблагодарили 934 раз(а) в 796 сообщениях
    Записей в блоге
    1
    Про блок схему вопроса не было(иначе я бы не стал так наворачивать прогу), в любом случае этим не стал
    бы даже за деньги заниматься, может кто из форумчан возьмётся.

    Информация по блок схемам тут: http://www.cyberforum.ru/algorithms/thread116008.html


    Оператор WRITE #номер файла, переменные
    пишет в файл и на экран с ковычками, соотв. информация прочитается LINE INPUT'ом с кавычками.

    не файлы с последовательным доступом, прямые, да?
    Чё? ))) Я просто давно учился, последовательный непоследовательный типизированный нетипизированный,
    это не ко мне а к гуглу...
    Последний раз редактировалось >Quiet Snow<; 18.04.2013 в 22:11.
    Обучение прикладному программированию(по skype), качественно, недорого, 18+, вопросы в личку.
    «Если вы ничего не сделаете, я уверяю вас, ничего и не произойдёт» © Жак Фреско
    Ограниченно модерирую.
    Ответить с цитированием  
     

  11. #9  
    Разбирающийся Аватар для Stannum
    Регистрация
    26.03.2013
    Адрес
    Moscow
    Сообщений
    32
    Сказал(а) спасибо
    10
    Поблагодарили 1 раз в 1 сообщении
    Цитата Сообщение от >Quiet Snow< Посмотреть сообщение
    Про блок схему вопроса не было(иначе я бы не стал так наворачивать прогу), в любом случае этим не стал
    бы даже за деньги заниматься, может кто из форумчан возьмётся.

    Информация по блок схемам тут: [Ссылки могут видеть только зарегистрированные пользователи. ]


    Оператор WRITE #номер файла, переменные
    пишет в файл и на экран с ковычками, соотв. информация прочитается LINE INPUT'ом с кавычками.


    Чё? ))) Я просто давно учился, последовательный непоследовательный типизированный нетипизированный,
    это не ко мне а к гуглу...
    Там, при последовательном, надо сначала данные вписать (открыть файл для записи данных через qBasic), закрыть файл, и открыть для чтения файл, с существующими записями, но не проходит у меня условие > 150 и является ли хищником. Ни в какую((( Печаль, беда
    Ответить с цитированием  
     

  12. #10  
    Супер модератор Аватар для >Quiet Snow<
    Регистрация
    11.04.2011
    Адрес
    Планета земля
    Сообщений
    3,829
    Сказал(а) спасибо
    1,810
    Поблагодарили 934 раз(а) в 796 сообщениях
    Записей в блоге
    1
    Я ж вам сделал с условием, подсвечивает зелёным, если всё это выполняется.
    Код qbasic:
             IF VAL(ves$) > 150 AND pre$ = "Y" THEN COLOR 10 ELSE COLOR 7
             PRINT USING Sh$; naz$; day$; ves$
    Обучение прикладному программированию(по skype), качественно, недорого, 18+, вопросы в личку.
    «Если вы ничего не сделаете, я уверяю вас, ничего и не произойдёт» © Жак Фреско
    Ограниченно модерирую.
    Ответить с цитированием  
     

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

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

Похожие темы

  1. Windows не даёт доступа perl'y к файлам.
    от Max в разделе Сервера
    Ответов: 3
    Последнее сообщение: 12.11.2012, 19:24
  2. Права доступа к файлам
    от Ultra_Dragonoid в разделе PHP
    Ответов: 1
    Последнее сообщение: 06.09.2011, 21:24
Ваши права
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •