Second Opinion
Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale. Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit. www.neurohope.ro |
[Fortran] ecuatii de grad 2
Last Updated: Mar 16 2021 09:38, Started by
Mim72
, Mar 15 2021 17:25
·
0
#1
Posted 15 March 2021 - 17:25
Am nevoie de putin ajutor. Aici am scris un program in fortran pentru ecuatia de gradul 2 si ceva este gresit sau lipseste. As aprecia daca ma-ti putea ajuta
program ecuatiadegradul2 write(*,*)'cele 3 valori' read(*,*)a,b,c d=b**2-4*a*c x=-c/b x1=(-b+sqrt(d))/2*a x2=(-b-sqrt(d))/2*a if(d>==0)then if(a==0)then write(*,*)b,c else if(b==0)then write(*,*)'x=',x endif else if(c==0)then write(*,*)'are orice solutie' else write(*,*)'nu are solutii' endif else write(*,*)'x1=',x1,'x2=',x2 endif else write(*,*)'solutii imaginare' endif endif pause end |
#2
Posted 15 March 2021 - 17:31
Ai verificat daca d e pozitiv prea tarziu, dupa ce ai incercat sa calculezi radacinile, daca a e non-nul, etc. Verifica datele la inceput, verifica d-ul la inceput, si abia la sfarsit calculeaza si afiseaza radacinile, cand esti sigur ca nu plesneste pentru ca incerci sa calculezi un radical din ceva negativ sau sa imparti la 0
|
#3
Posted 15 March 2021 - 18:01
KiloW, on 15 martie 2021 - 17:31, said:
Ai verificat daca d e pozitiv prea tarziu, dupa ce ai incercat sa calculezi radacinile, daca a e non-nul, etc. Verifica datele la inceput, verifica d-ul la inceput, si abia la sfarsit calculeaza si afiseaza radacinile, cand esti sigur ca nu plesneste pentru ca incerci sa calculezi un radical din ceva negativ sau sa imparti la 0 Prima data cand scriu deci sunt un pic confuz |
#4
Posted 15 March 2021 - 18:56
Cine mai face fortran in ziua de azi? am studiat ceva la facultate, in 96....
|
#5
Posted 15 March 2021 - 19:13
strehaia, on 15 martie 2021 - 18:56, said:
Cine mai face fortran in ziua de azi? am studiat ceva la facultate, in 96.... |
#8
Posted 15 March 2021 - 20:05
Quote
Cine mai face fortran in ziua de azi? am studiat ceva la facultate, in 96.... |
#9
Posted 15 March 2021 - 20:19
Mim72, on 15 martie 2021 - 18:01, said:
Prima data cand scriu deci sunt un pic confuz Quote daca (delta== 0) atunci afiseaza (-b / DOI_A) altfel daca (delta > 0) x1 = (-b + RADICAL_DIN_DELTA)/ DOI_A; x2 = (-b - RADICAL_DIN_DELTA)/ DOI_A; afiseaza x1 afiseaza x2 sfarsit daca sfarsit daca vezi cum te extinzi cu solutiile complexe, fie ca rezolvare sau ca mesaj de informare |
#10
Posted 15 March 2021 - 22:51
Cum zice Marian. Tu ai calculat x1 si x2 înainte sa verifici dacă delta e pozitiv sau dacă a e non-nul.
N-are legătură cu limbajul de programare, ci cu algoritmul, ar fi plesnit în orice limbaj PS Pentru un progrămel din asta poți folosi debugging, rulezi linie cu linie și poți vedea exact unde a plesnit, ce valori aveau variabilele în momentul ala, etc. Edited by KiloW, 15 March 2021 - 22:54. |
|
#11
Posted 16 March 2021 - 01:31
Salut!
Cum s-a mai spus, problema este la algoritm (cel puțin cel care reiese din programul exemplificat) dar si la sintaxă și semantică. Este gresit scris "d>==0" - operatorul relațional corect este ">=", nu ">==". La școală am învățat că soluțiile sunt cu "supra 2a". În limbaj de programare, "supra 2a" se scrie "/2/a" sau "/(2*a), asta din cauza evaluării expresiilor de la stânga la dreapta la priorități egale între înmulțire și împărțire. Dacă scriem "/2*a" calculatorul va înțelege "supra doi, APOI înmulțit cu a", ceea ce este echivalent cu "*a/2" și ajungem "în bălării" . Este frumos, util și, de multe ori, obligatoriu, să declarăm la începutul programului variabilele utilizate și tipurile lor. Aici am considerat că toți coeficienții ecuației, determinatul și soluțiile sunt numere reale. Iată, deci, o posibilă formă mai corectă pentru programul tău: program ecuatiadegradul2 real:: a,b,c,x,x1,x2,xr,xi write(*,*)'Introduceti coeficientii ecuatiei de grad II:' read(*,*)a,b,c if(a==0)then if(b==0)then if(c==0)then write(*,*)'Ecuatia are orice solutie.' else write(*,*)'Ecuatia nu are solutii.' endif else write(*,*)'Ecuatia este de grad I, cu solutia:' x=-c/b write(*,*)'x = ',x endif else d=b**2-4*a*c if(d>=0)then if(d==0)then write(*,*)'Ecuatia are doua solutii egale:' x=-b/(2*a) write(*,*)'x1,2 = ',x else write(*,*)'Ecuatia are doua solutii distincte:' x1=(-b+sqrt(d))/(2*a) x2=(-b-sqrt(d))/(2*a) write(*,*)'x1 = ',x1,'x2 = ',x2 endif else write(*,*)'Ecuatia are solutii imaginare, distincte:' xr=-b/(2*a) xi=sqrt(-d)/(2*a) write(*,*)'x1 = ',xr,' + ',xi,'i' write(*,*)'x1 = ',xr,' - ',xi,'i' endif endif pause end Cred că ti-ar fi util și link-ul de mai jos: https://www.tutorial...tran_online.php Baftă! |
#12
Posted 16 March 2021 - 09:38
strehaia, on 15 martie 2021 - 19:41, said:
Facultatea de constructii, Iasi? MarianG, on 15 martie 2021 - 20:19, said:
vezi cum te extinzi cu solutiile complexe, fie ca rezolvare sau ca mesaj de informare KiloW, on 15 martie 2021 - 22:51, said:
Cum zice Marian. Tu ai calculat x1 si x2 înainte sa verifici dacă delta e pozitiv sau dacă a e non-nul. N-are legătură cu limbajul de programare, ci cu algoritmul, ar fi plesnit în orice limbaj PS Pentru un progrămel din asta poți folosi debugging, rulezi linie cu linie și poți vedea exact unde a plesnit, ce valori aveau variabilele în momentul ala, etc. Pafarist, on 16 martie 2021 - 01:31, said:
Sincere multumiri sper sa ma descurc de acum incolo.
Edited by MarianG, 16 March 2021 - 15:34.
|
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users