Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 17 
  Версия для печати (полностью) Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Мемbеr
Статус: Не в сети
Регистрация: 29.07.2009
Откуда: Санкт-Петербург
Приветствую всех, кто знаком с Fortran 77, нужна помощь в написании трех легких задач :D
Отзовитесь!



Партнер
 

Member
Статус: Не в сети
Регистрация: 25.01.2008
Откуда: СПб
Что за условия задач. Надеюсь не надо решать уравнения Навье-Стокса :tooth:
Недавно имел неудовольствие писать программы в этом атавизме. :(

_________________
*AMD OverClan*


 

Мемbеr
Статус: Не в сети
Регистрация: 29.07.2009
Откуда: Санкт-Петербург
нееееет совсем легенько
1. вычислить с заданной точностью:
S=1-(1/6)*(2*3*4*x-3*4*5*x**2+4*5*6*x**3-...) x**2<1


2. Вычислить с использованием внутренней функции
дана матрица 5 на 5, нужно найти номер строки с наибольшим средним арифм-м ее членов...элементы вводятся с клавиатуры..

3. Вычислить конечную сумму или произведение
S= (знак суммы, сверху 15, снизу i=-5) (X**(i+5)\(i+7)!)*e**x X=0.5

Уровень написания: студент 1 курс.
Слушай помоги а, этот фортран насильно втюхали и ничего не обьясняют :D


 

Advanced member
Статус: В сети
Регистрация: 27.02.2007
Откуда: Москва
Фото: 89
Moleculo, есть такой мем-"Настоящий математик на любом языке напишет программу на фортране" :tooth: Прими к сведению :tooth:

_________________
9950X3D / x870e CH Extreme / RX 6900XT / 2x48 Trident Z5 @ 6400 CL28 (ICE-RDT, No GDM Vdd 1.55 Vddq 1.45 SoC 1.3 VDDP 1.08)


 

Мемbеr
Статус: Не в сети
Регистрация: 29.07.2009
Откуда: Санкт-Петербург
с математикой наилучшее положение, чем с другими предметами, а программы не пишуца не пишуца :D


 

Мемbеr
Статус: Не в сети
Регистрация: 29.07.2009
Откуда: Санкт-Петербург
ап...


 

Member
Статус: Не в сети
Регистрация: 08.02.2005
Откуда: Саратов
Молекула, по-моему за 2 дня можно было самому все изучить.

_________________
Russian Pride World Wide


 

Мемbеr
Статус: Не в сети
Регистрация: 29.07.2009
Откуда: Санкт-Петербург
Цитата:
Молекула, по-моему за 2 дня можно было самому все изучить
offtopic

вычислить с заданной точностью:
S=1-(1/6)*(2*3*4*x-3*4*5*x**2+4*5*6*x**3-...) x**2<1
не выходит может помочь кто?


 

Member
Статус: Не в сети
Регистрация: 25.01.2008
Откуда: СПб
IMHO так :oops:
Код:
      program Console1

      implicit none
   
      Integer N
      real*8 X,MaxDelta,S,DS,Dr
       
      print *, 'Tochnost, znakov posle zapyatoi ='
      read *,N
      print *, 'X = (-1<X<1!!!)'
      read *,X
      print *, 'X =',X
      print *, 'Tochnost =',N
      MaxDelta = 0.1D+0**N
      print *, 'MaxDelta =',MaxDelta
      Dr=(1.0D+0/6.0D+0)
      print *, '1/6=',Dr
      N=0
      S=1
  1   N=N+1
      DS=Dr*((N+1)*(N+2)*(N+3)*X**N)*(-1)**N
      S=S+DS
      if (ABS(DS).gt.MaxDelta) goto 1
      print *, 'S=',S     
      pause
      end

_________________
*AMD OverClan*


 

Мемbеr
Статус: Не в сети
Регистрация: 29.07.2009
Откуда: Санкт-Петербург
спс уже сам написал основу..) не понял как задать точность вычисления(эпсиллу)


 

Member
Статус: Не в сети
Регистрация: 25.01.2008
Откуда: СПб
В приведенном коде точность N - количество значащих знаков после запятой.
Соответственно MaxDelta пороговое значение следующего слагаемого (DS), до которого имеет смысл вычислять S
X**2<1 это условие того, что DS будет постоянно уменьшаться, иначе S пойдет в разнос.

_________________
*AMD OverClan*


 

Мемbеr
Статус: Не в сети
Регистрация: 29.07.2009
Откуда: Санкт-Петербург
Все сделал :-)
Кроме одной. Помогите с ней срочно, пожалста!
Дана матрица 5 на 5(вводится с клавиатуры), нужно найти наибольшее среднее арифметическое строк матрицы. Использовать внутренние функции.
Я сделал в тупую с помощью 5 выражений и стопки If :tooth: Естественно препода не удовлетворило. По его словам нужно сделать 5 выражений по сумме чисел каждой строки, ну это понятно, а дальше нужно единое выражение в которое подставлялись бы эти 5 значений и уже рассчитывалось 5 средних.
Ну начало ясно вводим числа составляющие матрицу, дальше 5 выражений по сумме составляющих строки, а вот как среднее сделать я не вдуплил :(
Допустим начнем так:
write(*,1)
1 format('Введите 1 строку')
read(*,*) a,b,c,d,e
и еще 4 строки так же

Или как мне сказали вводить все за раз:
write(*,1)
1 format('Введите матрицу')
read(*,*) a,b,c,d,e,a2,b2,c2,d2,e2 итд

Дальше по словам препода нужно:
X=a+b+c+d+e
X2=a2+b2+c2+d2+e2

Дальше составить цикл с подстановкой X-X5 в выражение типа Sred=(икс от X-X5)/5
Расчета 5 средних и сравнение их через If, ну If то я сделаю а вот цикл этот чет не пойму как написать :fingal:

Помогите срочно :dance:


 

Member
Статус: Не в сети
Регистрация: 25.01.2008
Откуда: СПб
Я бы сделал так

_________________
*AMD OverClan*


 

Мемbеr
Статус: Не в сети
Регистрация: 29.07.2009
Откуда: Санкт-Петербург
Спасибо большое, надо будет попробовать.

Можете только обьяснить на словах что означает часть с Do
Do i=1,5
srar(i)=0
Do j=1,5
srar(i)=srar(i)+M(j,i)
Как бы что куда и что откуда, то что это элементы матрицы я вроде понял, а что куда суется :D


 

Member
Статус: Не в сети
Регистрация: 25.01.2008
Откуда: СПб
Do i=n,k
...
enddo
Арифметический цикл. На первом проходе i=n, на каждом последующем i увеличивается на единицу. Когда i достигает k выполняется последний прогон цикла.
SrAr - массив из пяти элементов. Каждый элемент в конечном счете получит среднее арифметическое своей строки.
Соответственно алгоритм

от i=1 до 5 делать (номера строк)
SrAr(i)=0 (инициализируем нулем)
от j=1 до 5 делать (номера столбцов)
SrAr(i)=SrAr(i)+M(j,i) (последовательно прибавляем к SrAr j-ые элементы строки)
конец цикла j (SrAr(i) содержит сумму всех элементов строки)
SrAr(i)=SrAr(i)/5 (делим сумму элементов на их количество. получаем среднее арифметическое для i-ой строки)
конец цикла i

Дальше вычленяем максимальное из SrAr, и номер соответствующей строки.

_________________
*AMD OverClan*


 

Мемbеr
Статус: Не в сети
Регистрация: 29.07.2009
Откуда: Санкт-Петербург
Отлично работает ))
А можно блок схему еще xDDD
и ваще отлично будет, спасибо большое!!!


 

Member
Статус: Не в сети
Регистрация: 25.01.2008
Откуда: СПб
Я хреновый художник. Держи

_________________
*AMD OverClan*


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 17 
-

Часовой пояс: UTC + 3 часа


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

Сейчас этот форум просматривают: kisulja и гости: 13


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

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan