2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4  След.
 
 Re: Фортран
Сообщение21.09.2015, 15:44 
Заслуженный участник
Аватара пользователя


06/10/08
6422
Sicker в сообщении #1055499 писал(а):
$f(x)=x^2$ :facepalm:
Вы можете хоть один язык привести, в котором это можно сделать?

 Профиль  
                  
 
 Re: Фортран
Сообщение21.09.2015, 15:47 
Заслуженный участник


09/05/12
25179
Sicker в сообщении #1055499 писал(а):
$f(x)=x^2$ :facepalm:
Т.е. где-то все-таки придется задать что-то, похожее на определение функции, не так ли? Тогда в чем проблемы?
iifat в сообщении #1055500 писал(а):
Ну, я в середине восьмидесятых читал сравнение десятка, что ли, Фортранов. Оператор GOTO 5 во всех выполнялся одинаково. И всё.
Середина 80-х была 30 лет тому назад. С тех пор ситуация успела несколько измениться.

 Профиль  
                  
 
 Re: Фортран
Сообщение21.09.2015, 15:48 
Аватара пользователя


13/08/13

4323
Xaositect
function F...
F(x)=x^2
end
matlab

-- 21.09.2015, 15:49 --

Pphantom в сообщении #1055503 писал(а):
Т.е. где-то все-таки придется задать что-то, похожее на определение функции, не так ли? Тогда в чем проблемы?

Да. Проблемы?
Нет никаких проблем кроме КАК это сделать???

 Профиль  
                  
 
 Re: Фортран
Сообщение21.09.2015, 15:55 
Заслуженный участник


09/05/12
25179
Sicker в сообщении #1055504 писал(а):
Нет никаких проблем кроме КАК это сделать???
Я же написал пример выше в теме. Его, кстати, можно сделать существенно короче. Не рекомендуется, но зато будет заметнее, что именно копировал MATLAB: :wink:
Используется синтаксис Fortran
function f(x)
  f=x**2
end

 Профиль  
                  
 
 Re: Фортран
Сообщение21.09.2015, 16:06 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Sicker
Если вы ни на чём не программировали, кроме Matlab, то вам надо учиться программировать с нуля, и забыть, что Matlab - это "программирование". Ну и заодно, всю его местечковую терминологию забыть.

-- 21.09.2015 16:08:36 --

Работать с функцией как с формулой возможно, наверное, в Lisp, в каких-то ещё нескольких функциональных языках, но вообще это для программирования большая редкость. И не нужно. И когда нужно - тогда это делается отдельно, пакетом символьных вычислений. Кроме того, такое бывает в системах типа Mathematica, но вот они уже в свою очередь к программированию относятся очень отдалённо.

 Профиль  
                  
 
 Re: Фортран
Сообщение21.09.2015, 16:09 
Аватара пользователя


13/08/13

4323
Не работает нифига.
И что это за end? Можеть быть end function f(x)?

-- 21.09.2015, 16:10 --

Munin
Просто фортран используется для научных целей, а там одни вычисления.

 Профиль  
                  
 
 Re: Фортран
Сообщение21.09.2015, 16:11 
Заслуженный участник


09/05/12
25179
Sicker в сообщении #1055514 писал(а):
Не работает нифига.
Что Вы пытаетесь с этим кодом сделать? Распишите подробно.

 Профиль  
                  
 
 Re: Фортран
Сообщение21.09.2015, 16:12 
Аватара пользователя


13/08/13

4323
Munin
Нам надо в фортране реализовать метод касательных Ньютона.

-- 21.09.2015, 16:12 --

Pphantom
Код:
program p1

   
    function f(x)
  f=x**2
end function f(x)

real x,y
x=2
y=f(x)
print*, y
    end program p1

 Профиль  
                  
 
 Re: Фортран
Сообщение21.09.2015, 16:14 
Заслуженный участник
Аватара пользователя


06/10/08
6422
function долна быть снаружи program.

Какие ошибки Вам компилятор выдает?

 Профиль  
                  
 
 Re: Фортран
Сообщение21.09.2015, 16:18 
Аватара пользователя


13/08/13

4323
Xaositect
Почему? Это как вы общее название программы.
Было $Consol 5$

 Профиль  
                  
 
 Re: Фортран
Сообщение21.09.2015, 16:23 
Заслуженный участник


09/05/12
25179
Sicker - ну да, еще бы оно работало...

Этот код пишется как минимум так:
Используется синтаксис Fortran
program p1
real x,y
x=2
y=f(x)
print*, y
end program p1

function f(x)
  f=x**2
end
 

а лучше - так:
код: [ скачать ] [ спрятать ]
Используется синтаксис Fortran
program p1
  implicit none

  real :: x,y

  x=2
  y=f(x)
  write(*,*) y

 contains

  function f(x)
    implicit none
    real :: x,f

    f=x**2
  end function f

end program p1
 


-- 21.09.2015, 16:24 --

Sicker в сообщении #1055520 писал(а):
Почему? Это как вы общее название программы.
Потому что синтаксис языка знать и соблюдать надо.

 Профиль  
                  
 
 Re: Фортран
Сообщение21.09.2015, 16:25 
Заслуженный участник
Аватара пользователя


06/10/08
6422
Используется синтаксис Fortran
function f(x)
  f = x ** 2
end

program test
  x = 2
  y = f(x)

  print *, 'Test ', y
end

Вот это у меня работает. Но типы все-таки лучше указывать.

Вы вообще хоть что-нибудь про фортран прочитали перед тем, как браться за задание?

 Профиль  
                  
 
 Re: Фортран
Сообщение21.09.2015, 16:31 
Аватара пользователя


13/08/13

4323
Pphantom
Xaositect
Все спасибо работает)
Правда выдает ошибку Error 2 general error c101008d: Failed to write the updated manifest to the resource of file "c:\Users\???????\documents\visual studio 2013\Projects\Console16\Console16\Debug\Console16.exe". The operation failed. mt.exe
PS. Нет ничего не читал, но есть учебник)

 Профиль  
                  
 
 Re: Фортран
Сообщение21.09.2015, 16:34 
Заслуженный участник
Аватара пользователя


06/10/08
6422
Это какие-то специфические проблемы Visual Studio.

 Профиль  
                  
 
 Re: Фортран
Сообщение21.09.2015, 16:36 
Заслуженный участник


09/05/12
25179

(Оффтоп)

Я, наверное, несколько старомоден, но мне кажется, что первое, что нужно сделать при изучении программирования - забыть о существовании сред разработки. Это приспособления для тех, кто уже умеет программировать и понимает, что именно происходит без его участия. :D

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 59 ]  На страницу Пред.  1, 2, 3, 4  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group