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

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

21.10.2015, 14:08. Показов 3356. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru