Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Care mai sunt mediile de admitere...

Laptop cu HDD atasare memorie MMC...

Hartile google nu mai au chenarul...

Tomate in ghiveci la curte?
 Idei cale de actiune recuperare g...

Intoleranța lactoza- vegan v...

Tobe acustice insonorizare in blo...

Cine canta? Fragment din melodie...
 Tablou sigurante Dacia Sandero 2012

Baby Reindeer - 2024

Hotii voteaza hoti?!

Camera video masina
 Zilele emailului din gospodaria n...

Best gaming laptop?

Humane (2024)

Recomandare casti 100-150 lei
 

Matematica vs Algoritmica din informatica

- - - - -
  • This topic is locked This topic is locked
37 replies to this topic

#19
astf123

astf123

    Junior Member

  • Grup: Junior Members
  • Posts: 225
  • Înscris: 11.10.2017

View PostMarianG, on 17 septembrie 2023 - 09:39, said:

Pentru ca merita sa inveti. Orice, cat timp inveti si nu tocesti mecanic: " a si b sunt ... "

Uite o problema aparuta recent pe forum
De ce algorimi zici tu ca ai nevoie sa o rezolvi ?
https://forum.softpe.../#entry30238928

E clar n-am cu cine vb pe forumul asta.
Apropo asta e un algoritm in  numărul de perechi de numere dintr-un tablou care sunt relativ prime (adunate).
Sti ce nu m a ajutat ca sa imi dau seama de asta?Matematica din scoala(limbajul ala abstract).
Sti ce m a ajutat ?sute de algoritmi de pe internet intelegandu-i,de la cel mai simplu la cel mai complex gasit de mine.

#20
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,445
  • Înscris: 10.08.2005

View Postastf123, on 17 septembrie 2023 - 10:19, said:

E clar n-am cu cine vb pe forumul asta.

Noi nu te retinem sa vorbesti in alta parte.

View Postastf123, on 17 septembrie 2023 - 10:19, said:

Apropo asta e un algoritm in  numărul de perechi de numere dintr-un tablou care sunt relativ prime (adunate).
Este o iteratie, bine, doua, unde de la stanga, alta de la dreapta.
Apoi determinarea de numitori comuni, dar tu n-ai decat sa fii pompos, si sa spui ca sunt nu stiu ce algorimiti.

Edited by MarianG, 17 September 2023 - 10:26.


#21
TamtamTicaticaPiupiu

TamtamTicaticaPiupiu

    Senior Member

  • Grup: Senior Members
  • Posts: 2,481
  • Înscris: 05.04.2023

View Postastf123, on 17 septembrie 2023 - 10:19, said:

sute de algoritmi de pe internet

Posted Image

#22
astf123

astf123

    Junior Member

  • Grup: Junior Members
  • Posts: 225
  • Înscris: 11.10.2017

View PostMarianG, on 17 septembrie 2023 - 10:26, said:

Noi nu te retinem sa vorbesti in alta parte.


Este o iteratie, bine, doua, unde de la stanga, alta de la dreapta.
Apoi determinarea de numitori comuni, dar tu n-ai decat sa fii pompos, si sa spui ca sunt nu stiu ce algorimiti.

Stiu ca  s doua iteratii,dar cand esti intrebat cu ce se mananca algoritmul nu asta zici ci ce am zis eu,care e numele algoritmului.Pompos???
bine domne crezi ce vrei,sanatate si numa bine.

#23
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,445
  • Înscris: 10.08.2005
Care algoritm ?
Arata-l pe cod!

#24
astf123

astf123

    Junior Member

  • Grup: Junior Members
  • Posts: 225
  • Înscris: 11.10.2017

View PostMarianG, on 17 septembrie 2023 - 11:03, said:

Care algoritm ?
Arata-l pe cod!

Se includ fișierele antet necesare pentru operațiile de intrare și ieșire și pentru funcțiile matematice.
Se declară mai multe variabile, inclusiv x, n, i, v (un tablou de numere întregi), p, u, cnt, prim, m, r și aux.
Se citește un număr întreg n de la utilizator.
Se inițializează variabilele u, i și p.
Se citesc n numere întregi în tabloul v.
Se verifică dacă u (care a fost inițial setată la n) este pară sau impară.
Dacă u este pară, intră într-o buclă care se execută de la i = 0 la n/2 - 1.
În interiorul buclei, se actualizează valorile lui p, u, m și n în funcție de elementele din tabloul v.
Se schimbă valorile m și n dacă m este mai mică decât n.
Se calculează cel mai mare divizor comun (CMD) al lui m și n folosind algoritmul lui Euclid într-o buclă while până când r devine zero.
Dacă n devine 1 (adică CMD este 1), se incrementează variabila cnt.
Dacă u este impară, se intră într-o buclă similară, dar se iterează de la i = 0 la n/2.
În cele din urmă, se afișează valoarea lui cnt, care reprezintă numărul de perechi de numere din tablou care sunt relativ prime

Există câteva probleme în cod:
    Codul face schimb de valori între m și n folosind o variabilă neinițializată aux, ceea ce va duce la rezultate incorecte. Ar trebui să folosiți o variabilă temporară pentru a face schimbul între m și n.
    Codul citește x, dar nu este folosită nicăieri în program.
    Variabila prim este declarată, dar nu este folosită.
    Nu este clar care este scopul variabilei x.
    Variabila v are o dimensiune fixă de 201, ceea ce ar putea fi prea mare dacă n este mic. Ar trebui să luați în considerare alocarea dinamică a memoriei pentru v în funcție de valoarea lui n.
    Logica pentru calculul CMD și verificarea dacă numerele sunt relativ prime pare a fi corectă, dar există probleme legate de atribuții și schimburi de variabile care trebuie rezolvate.

#25
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,445
  • Înscris: 10.08.2005
Asta e cod la tine ?

#26
astf123

astf123

    Junior Member

  • Grup: Junior Members
  • Posts: 225
  • Înscris: 11.10.2017

View PostMarianG, on 17 septembrie 2023 - 11:08, said:

Asta e cod la tine ?

Domne asta e explicatia pe codul initiatorului care nu e unul 100% bun si mai jos problemele si solutia de optimizare.
Imi cer scuze daca nu am inteles ,ce rvei defapt sa ti arat?

#27
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,445
  • Înscris: 10.08.2005
Te gandesti la algorimi fara sa intelegi problema in sine.
Matematic, cate perchi sunt ?
Jumatate din numarul de elemente.
Ce faci cu ultimul element ?
Pai orice ai face nu o sa incrementeze rezultatul.

Asa ca, algoritmic te rog sa-mi explici de ce iti pasa de lungimea sirului, ca para sau impara.

View Postastf123, on 17 septembrie 2023 - 11:09, said:

Domne asta e explicatia pe codul initiatorului care nu e unul 100% bun si mai jos problemele si solutia de optimizare.
Imi cer scuze daca nu am inteles ,ce rvei defapt sa ti arat?
Eu am cerut pararea ta, nu parerea initiatorului.

De la tine vreau sa vad COD, care sa exemplifice asa-zisii "algoritmi" atat de necesari in "IT".

Edited by MarianG, 17 September 2023 - 11:13.


#28
astf123

astf123

    Junior Member

  • Grup: Junior Members
  • Posts: 225
  • Înscris: 11.10.2017

View PostMarianG, on 17 septembrie 2023 - 11:12, said:

Te gandesti la algorimi fara sa intelegi problema in sine.
Matematic, cate perchi sunt ?
Jumatate din numarul de elemente.
Ce faci cu ultimul element ?
Pai orice ai face nu o sa incrementeze rezultatul.

Asa ca, algoritmic te rog sa-mi explici de ce iti pasa de lungimea sirului, ca para sau impara.

Eu am cerut pararea ta, nu parerea initiatorului.

De la tine vreau sa vad COD, care sa exemplifice asa-zisii "algoritmi" atat de necesari in "IT".

este importantă pentru că determină cât de multe elemente sunt stocate în acel șir și în ce mod aceste elemente pot fi accesate și manipulate. Lungimea unui șir poate afecta funcționarea corectă a programelor și algoritmilor, și poate avea un impact semnificativ asupra resurselor de memorie și timp necesare pentru a procesa șirul respectiv.
Iată câteva motive pentru care lungimea șirului (sau tabloului) poate fi importantă:
Accesul la elemente: Lungimea șirului determină câte elemente pot fi accesate în mod legal folosind indexarea. Accesarea unui element din afara intervalului valid poate duce la erori sau comportamente nedefinite.
Iterație și bucle: Când parcurgem un șir folosind bucle, este important să știm câte elemente trebuie să parcurgem. De exemplu, într-o buclă for, limita superioară este adesea determinată de lungimea șirului.
Alocarea de memorie: Când alocăm memorie pentru un șir sau tablou, trebuie să știm cât de mare trebuie să fie spațiul de memorie pentru a stoca toate elementele.
Eficiența algoritmilor: În proiectarea algoritmilor, lungimea șirului poate influența complexitatea acestora. Un algoritm care lucrează cu un șir de lungime fixă are o complexitate diferită față de unul care lucrează cu un șir de lungime variabilă.
Validarea datelor de intrare: Verificarea lungimii unui șir poate fi importantă pentru a asigura că datele de intrare corespund așteptărilor și pentru a evita depășirea limitelor memoriei.
În concluzie, lungimea șirului este un aspect fundamental în programare și în manipularea datelor. Ignorarea sau neglijarea lungimii șirului poate duce la erori și comportamente nedorite în codul sursă și poate fi o sursă de probleme în dezvoltarea software-ului.

Daca vrei o parere de a mea pai algoritmul  corect ar fi asa

#include <iostream>
#include <vector>
using namespace std;

// Funcție pentru a calcula cel mai mare divizor comun (CMD) folosind algoritmul lui Euclid
int gcd(int a, int b) {
	if (b == 0)
		return a;
	return gcd(b, a % b);
}

int main() {
	int n;
	cin >> n;
	vector<int> v(n);

	// Citirea elementelor în vector
	for (int i = 0; i < n; i++) {
		cin >> v[i];
	}

	int cnt = 0;  // Contor pentru perechile relativ prime

	// Parcurgem toate perechile de elemente din vector
	for (int i = 0; i < n - 1; i++) {
		for (int j = i + 1; j < n; j++) {
			// Calculăm CMD pentru perechea de elemente
			int common_divisor = gcd(v[i], v[j]);

			// Dacă CMD este 1, înseamnă că perechea este relativ primă
			if (common_divisor == 1) {
				cnt++;
			}
		}
	}

	cout << cnt << endl;

	return 0;
}

Edited by MarianG, 17 September 2023 - 11:19.


#29
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,445
  • Înscris: 10.08.2005
O mizerie
de ce doua for-uri ?
Ori ai un algoritm eficient si frumos ori nu ?

este importantă pentru că determină cât de multe elemente sunt stocate în acel șir și în ce mod aceste elemente pot fi accesate și manipulate.
nu este, numarul de perechi este acelasi, fie ca sunt 10 elemente, fie ca sunt 11 elemente, 5 perechi .. marime/2

Matematica primara te-ar fi ajutat,
dar tu o arzi pe algoritmi

Edited by MarianG, 17 September 2023 - 11:22.


#30
astf123

astf123

    Junior Member

  • Grup: Junior Members
  • Posts: 225
  • Înscris: 11.10.2017

View PostMarianG, on 17 septembrie 2023 - 11:23, said:

O mizerie
de ce doua for-uri ?
Ori ai un algoritm eficient si frumos ori nu ?

este importantă pentru că determină cât de multe elemente sunt stocate în acel șir și în ce mod aceste elemente pot fi accesate și manipulate.
nu este, numarul de perechi este acelasi, fie ca sunt 10 elemente, fie ca sunt 11 elemente, 5 perechi .. marime/2

Matematica primara te-ar fi ajutat,
dar tu o arzi pe algoritmi

Pentru ca tu ai zis 2 iteratii.

"Matematica primara te-ar fi ajutat,
dar tu o arzi pe algoritmi."- Te rog frumos ,lasa ma n pace))))))))))))))))

#31
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,445
  • Înscris: 10.08.2005

View Postastf123, on 17 septembrie 2023 - 11:27, said:

Pentru ca tu ai zis 2 iteratii.
Attached File  perechi-coprime-egal-distatnate-de-margini.png   10.72K   14 downloads

View Postastf123, on 17 septembrie 2023 - 11:27, said:

Te rog frumos ,lasa ma n pace))))))))))))))))

Si eu te rog sa nu indrumi lumea pe cai gresite.

Edited by MarianG, 17 September 2023 - 11:31.


#32
red46

red46

    Senior Member

  • Grup: Senior Members
  • Posts: 4,557
  • Înscris: 06.03.2016
Pai tu ce faci aici, postezi algoritmii de pe Google sau ChatGPT? :))))

Nu inteleg de ce te stresezi atat sa ne spui ca nu trebuie matematica. Te-a traumatizat asa tare?

E clar ca in cazul tau nu e nevoie de matematica ca oricum nu te intereseaza implementatia din spatele unei functii pe care o folosesti. Si daca se ascund concepte matematice prin functia aia, tu oricum nu o sa le vezi, deci ce nu stii nu te afecteaza. Si asta e total in regula in majoritatea cazurilor, toti incoporam idei ale altora, ei au facut la fel, si tot asa.

Dar nu poti sa te duci sa-i spui unui om care poate vrea sa lucreze in criptografie, de ex, ca el are nevoie doar de algoritmica.

#33
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,604
  • Înscris: 30.07.2003

View Postred46, on 17 septembrie 2023 - 12:24, said:

Nu inteleg de ce te stresezi atat sa ne spui ca nu trebuie matematica. Te-a traumatizat asa tare?
Cred ca e materia din facultate ce nu o mai inghite acum cand ar dori sa aloce mai mult timp informaticii.

#34
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,240
  • Înscris: 24.02.2007
  • Fara matematica cum analizezi complexitatea unui algoritm?
  • Fara matematica cum demonstezi ca algoritmul a atins limita de performanta si nu poate exista unul mai eficient pentru problema data?
  • Fara matematica cum gasesti aproximari eficiente pentru probleme NP-Hard?


#35
TamtamTicaticaPiupiu

TamtamTicaticaPiupiu

    Senior Member

  • Grup: Senior Members
  • Posts: 2,481
  • Înscris: 05.04.2023
Spor la prășit cu brelocul!

7t9p3yt6qpwert.jpg

#36
astf123

astf123

    Junior Member

  • Grup: Junior Members
  • Posts: 225
  • Înscris: 11.10.2017

View Postdani.user, on 17 septembrie 2023 - 13:32, said:

  • Fara matematica cum analizezi complexitatea unui algoritm?
  • Fara matematica cum demonstezi ca algoritmul a atins limita de performanta si nu poate exista unul mai eficient pentru problema data?
  • Fara matematica cum gasesti aproximari eficiente pentru probleme NP-Hard?

:))))))))))))))))))))))))))))))

Anunturi

Neurochirurgie minim invazivă Neurochirurgie minim invazivă

"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv.

Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate