Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 150

Перевод кода из Fortran в QBasic

21.10.2015, 14:08. Показов 3650. Ответов 43
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.

Подскажите пожалуйста с переводом кода из Fortran.
Fortran
1
2
3
4
5
6
       DO 5 I=1,N
5      Y1(I)=Z(I)*H
       IF (E_1) 6, 7, 6
6      IF (E_2) 8, 9, 8
8      IF (E_3) 10, 11, 10
10     IF (E_4) 12, 13, 12
тд.

Если перевести в QBasic то тогда это будет так?
PureBasic
1
2
3
4
5
6
7
8
9
            Do while 5
               For I=1 to N
5           Y1(I)=Z(I)*H
            IF (E_1) Then GOTO 6
            IF (E_1) Then GOTO 7
            IF (E_1) Then GOTO 6
...............и тд............................
                Next I
            Loop
Или нужно делать оператор Do без While?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.10.2015, 14:08
Ответы с готовыми решениями:

Перевод кода из Pascal в QBASIC
Помогите переписать код в язык QBasic Задание такое: Дан массив A размера N и целые числа К и L (1<=K<L<=N). Переставить в...

Перевод кода Fortran в QBasic
Здравствуйте. Подскажите пожалуйста как правильно будет перевести данный код из Fortran в QBasic. Код Fortran: 205 K=0 DO 10...

Перевод кода с С на Fortran
Помогите перевести код: subroutine determineValueOfTheInput(t, result) character result real*8 t if (t .LE. 3.14) then result =...

43
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 150
23.10.2015, 11:34  [ТС]
Студворк — интернет-сервис помощи студентам
Для удобства хотел столбиком. Пока что в текстовом (*.txt), а там можно и в Word перевести.
например:
T=???
Tt=???
0
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
23.10.2015, 12:05
Пишите так
QBasic/QuickBASIC
1
PRINT #1, "T="; T
Что в кавычках бейсик просто печатает.
А что без кавычек - выдает значение переменной
0
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 150
23.10.2015, 16:32  [ТС]
Тогда "OPEN "1.txt" FOR OUTPUT AS #1" куда записывать? В самом начале программы или в конце?
0
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
23.10.2015, 17:13
Чаще всего файл открывают в самом начале программы. Но это не обязательно. (открывают когда нужно записывать в него). А закрывают, когда файл больше не нужен.
1
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 150
23.10.2015, 17:27  [ТС]
Так правильно будет?
Кликните здесь для просмотра всего текста

QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
...........................................
       часть программы
...........................................
           печать
SELECT CASE Iw-23
    CASE IS < 0: GOTO 450              
    CASE 0: GOTO 451                    
    CASE IS > 0: GOTO 451            
    END SELECT
451 Iw=0
 OPEN "1.txt" FOR OUTPUT AS #1
   PRINT #1, "Tt";Tt
   CLOSE #1
450 SELECT CASE (T-FINAL)
    CASE IS < 0: GOTO 555              
    CASE 0: GOTO 555                    
    CASE IS > 0: GOTO 181            
    END SELECT
   OPEN "1.txt" FOR OUTPUT AS #1
  PRINT #1,"T";T
    PRINT #1,"U";U
181 PRINT #1, "S1";S1
    PRINT #1,"S2";S2
    CLOSE #1
0
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
23.10.2015, 17:41
MasterAlex,
Нет, неверно.
Если у вас уже есть файл с записями, то вторично он открывается с ключевым словом APPEND вместо OUTPUT.
В этом случае запись добавляется к предыдущей в конец файла. А если вторично применить OUTPUT, то он все старое сотрет и запишет только новое.
1
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 150
24.10.2015, 00:33  [ТС]
Да, получилось вывести в файл *.txt. Выводит не все значения T, только последние 2. Когда провожу расчет в программе, то видно что Т=3 и 6 до 20, а в текстовом документе только 2 последних 18 и 20. В чем может быть ошибка?

Добавлено через 1 час 52 минуты
Сделал в первом разе где открываю OPEN доступ APPEND и второй раз тоже APPEND и тогда он мне выводит время с 4 секунд, а не удаляет предыдущее
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
24.10.2015, 01:38
Не извращайтесь господа, откройте файл в самом начале проги и закройте в самом конце.
1
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
24.10.2015, 09:11
Quiet Snow дал хороший совет.
Открыть файл в начале программы.
Спасибо ему!
0
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 150
24.10.2015, 14:34  [ТС]
Если взять код из Fortran

Нужно ли делать переход в GOTO 10?
Сам сделал без него так. Это верно?
QBasic/QuickBASIC
1
2
3
4
5
6
205   K=0
      FOR I=1 TO N
      X(I)=Y(I)
      UCK=Z(3)
      NEXT I
      GOTO 111
0
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
24.10.2015, 14:57
MasterAlex,
Да, верно.
В Бейсике цикл For ограничен Next и ему
дополнительный Goto не нужен (в отличие от фортрана) значит и метка лишняя ни к чему.
1
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
24.10.2015, 16:32
Да, верно.
Серьёзно? Вижу ссылки в теме не читаются чуть более чем полностью.

Цитирую:
цикл начинается оператором DO, в котором, после ключевого слова DO, сначала
указывается метка (например, «100») последнего оператора тела цикла

MasterAlex, портируй ка дружок сам, тут тебе такого сейчас насоветуют, потом не разгребёшь.
Понимаешь, тут люди не знают фортран, это всё равно что у сантехника спросить как варить суп.
Да и очень советую по гуглу пройтись, наверняка что-то да есть.
1
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 150
25.10.2015, 16:16  [ТС]
Огромное спасибо!
Извините что не по теме пишу. Не подскажите можно ли сделать вывод данных в Visual Basic (в Excel) в отдельные ячейки, например Т1 в одной ячейке, Т2 уже в следующей для удобства построения графиков или проще будет вбить самому и уже строить?
Нашел только Cells(2, 2) = T, но выводит только одно конечное значение.
0
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
25.10.2015, 16:32
MasterAlex,
Да. В Visual Basic это сделать несложно.
PS.
Я хорошо знаю VB.
Но лучше задать этот вопрос в Visual Basic.
А то эту тему прикроют.
1
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
26.10.2015, 04:14
Не подскажите можно ли сделать вывод данных в Visual Basic (в Excel) в отдельные ячейки, например Т1 в одной ячейке, Т2 уже в следующей
Что у вас T1, T2?
В VBA(Visual Basic for Applications, ведь это имелось в виду?) для вычислений используются макросы.
А графики и диаграммы можно построить встроенными средствами EXCEL.
Более того, макросы пишутся на достаточно схожем по синтаксису диалекте BASIC.

или проще будет вбить самому и уже строить?
Зависит от типа графика. Обычно самому не проще. Но лично я бы делал сам, чисто принципиально.

Я хорошо знаю VB.
Ещё один феликс! ))) Может быть это даже один человек, кто ж знает, кто там зиждится
по ту сторону монитора.
0
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 150
28.10.2015, 16:51  [ТС]
Сделал немного иначе. Создал для каждого параметра текстовый файл и после этого копирую-вставляю в столбец в Excel и уже потом строю.

Для проверки сделал в VBA. В VBA получается правильный результат.
Возможно ли так что одинаковый код в QBasic и в VBA, но расчеты получаются разные, в чем может быть ошибка?
0
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
28.10.2015, 17:07
MasterAlex,
QBasic и VBA все же разные языки
PS.
Спросите у Билла Гейтса
1
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 150
28.10.2015, 19:58  [ТС]
Точности сделаны одни и те же. Сделал Single. Операторы также сделаны. Вот скобки - порядок выполнения опять же не менял.
0
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
28.10.2015, 20:09
MasterAlex,
А вы задайте этот вопрос в VBA.
Выложите обе программы для сравнения
PS.
Я программирую на VB6. Он круче VBA.
Они тоже различаются.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
29.10.2015, 10:27
Возможно ли так что одинаковый код в QBasic и в VBA, но расчеты получаются разные.
Может незначительно отличаться результат в младших порядках.
Из-за специфичных особенностей вычислений float чисел в разных компиляторах\интерпретаторах.
Обращать внимание на это не стоит пока оно не критично(пока не округляет int-ы в разные стороны).

Добавлено через 1 час 12 минут
Он круче VBA.
На каких доводах основана ваша точка зрения.
И в чём крутость по-вашему?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.10.2015, 10:27

Перевод с Fortran на c/c++
Помогите, пожалуйста, перевести с Fortran на язык c/c++(что легче)заранее спасибо subroutine STEP2(x,y,pov) complex x, y,...

Перевод с Fortran на С++
Доброго времени суток. Проблема в следующем, никак не могу разобраться с синтаксисом Fortran. В свое время изучал С++, и то правда давно...

Перевод с Fortran на С++
Здравствуйте. Есть код программы на Fortran, не могли бы Вы переписать его на С++. удалено Задача: Минимизация (или максимизация)...

Перевод с Fortran на с/с++
Помогите, пожалуйста, перевести с Fortran на язык c/c++(что легче)заранее спасибо subroutine STEP2(x,y,pov) complex x, y, pov, u,...

Перевод из Fortran в Delphi
Здравствуйте. Помогите пожалуйста перевести код из фортрана в делфи. Я почти перевел, но не все получилось. Я в тексте пояснил, где-что....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации: 1. Вернуть возможность использования знаков | 1 l I;. . .
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru