Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Vase misljenje ???

[es] :: C/C++ programiranje :: Vase misljenje ???

[ Pregleda: 4522 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Mix5
Milos Djuric
STE, Asseco
Jagodina

Član broj: 14282
Poruke: 332
*.vdial.verat.net.



Profil

icon Vase misljenje ???18.05.2006. u 21:41 - pre 217 meseci
Ovaj projekat radi nas petoro kao sto se moze i videti a rok za izradu je mesec dana. Interesuje me vase misljenje, da li je normalno da nam daju ovako nesto da pravimo posle dva meseca predavanja iz C-a.



Kratak opis projekta: stvaranje softvera za jednostavnu simbolicku i numericku obradu matematickih izraza. Softver treba da omoguci korisniku da putem jednostavnog menija moze da interaktivnounosi aritmeticke izraze i nad njima primenjuje obradu. Meni treba da se sastoji od sledecih stavki: unos izraza, simplifikacija izraza, resavanje sistema linearnih jednacina, izracunavanje vrednosti odredjenog integrala. Korisniku treba omoguciti da svu obradu u toku jedne sesije snimi u fajl, kao i da nastavi rad na mestu snimljenom u fajl.

Raspodela aktivnosti:

Student 1: predstavljanje izraza binarnim stablom. Izraz se zadaje jednim znakovnim nizom (string) i osim simbolickih i numerickih vrednosti moze da sadrzi operatore +,-,*,/, zagrade (i), trigonometrijske funkcije, eksponencijalnu funkciju, logaritamsku funkciju, stepenu funkciju i simbol jednakosti =. Rezultujucu izraz se smesta u listu izraza. U slucaju greske, odgovarajuca poruka se ispisuje na standardnom izlazu. Ispisivanje izraza obilaskom cvorova stabla u inorder poretku

Student 2: simplifikacija aritmetickog izraza predstavljenog binarnim stablom. Rezultat simlifikacije je novo stablo koje se smesta u listu izraza. Izracunavanje vrednosti izraza uz eksplicitno zadavanje promenljivih u izrazu.

Student 3: resavanje sistema linearnih jednacina. Sistem jednacina se zadaje listom izraza za koje se trazi resenje. U slucaju da resenje postoji, ispisuje se resenje za sve promenljive na standardnom izlazu. U suprotnom ispisuje se poruka o gresci.

Student 4: izracunavanje vrednosti odredjenog integrala funkcije zadate izrazom, za zadati opseg promenljive i zadati korak

Student 5: glavni program sa menijem. Na ekranu, osim opcija menija, treba ispisivati listu unetih izraza. Omoguciti brisanje zadatog izraza, snimanje izraza u fajl i ucitavanje iz fajla.
 
Odgovor na temu

rumpl

Član broj: 54959
Poruke: 156
*.net81-66-198.noos.fr.



Profil

icon Re: Vase misljenje ???19.05.2006. u 11:48 - pre 217 meseci
Pa i nije normalno...
U stvari, zavisi, sta si radio pre toga, da li je ovo prva godina da prgramiras, da li si vec video binarna stabla ranije, u bilo kom jeziku.
"The problem with the world is that everyone is a few drinks behind."
-Humphrey Bogart
 
Odgovor na temu

SHCkabbio_[2hot]
Predrag Radenkovic
Pirot

Član broj: 13966
Poruke: 25
*.etf.bg.ac.yu.



Profil

icon Re: Vase misljenje ???25.05.2006. u 20:05 - pre 217 meseci
Pa cekaj, upisao si ETF i to smer SI. Naravno da treba na tom fakultetu naucis programiranje (i to prakicno a ne da se igras sa matricama i dinamickom memorijom).
Ovo je najbolji nacin da krenes da programiras!
Ja bih voleo da su i na opstem odseku dali da se radi projekat.

I nemoj da se zalis jer pitao bih te da pored C-a, mate (koja vam je mnogo laksa u odnosu na OO), ORT-a treba da ucis i OET.
 
Odgovor na temu

nikoladsp
nikola radovanovic
trenutno-developer
novi sad

Član broj: 5455
Poruke: 193
*.ADSL.neobee.net.



Profil

icon Re: Vase misljenje ???26.05.2006. u 15:52 - pre 217 meseci
ne znam za ostale, ali ja ne bih voleo da sam student br2.
inace mislim da nije realno, pogotovo ako nemate puno iskustva.bilo bi lepo da ako dodjete do neke interesantne literature o binarnim stablim i ostalim problemima (recimo simplifikacija istih) bacite neki link ovde.

pozdrav
ja sam panker sa diplomom kod moje mame...
 
Odgovor na temu

z@re
Zarko Bulatovic
Split

Član broj: 29849
Poruke: 443
*.cmu.carnet.hr.



+25 Profil

icon Re: Vase misljenje ???28.05.2006. u 02:17 - pre 217 meseci
Ovo spada u kolegije koji se ovdje zovu "Strukture podataka i algoritmi". I to dolazi tek nakon godinu dana C-a. Cekaj, ti zelis kazat da su vas nakon dva mjeseca predavanja iz C-a, pod hipotezom da ste krenuli od pocetka, uputili da radite matematicke algoritme i binarna stabla. Uff, to nece na dobro ;)

Q: HSP56 Micromodem nece da radi kompjuter ga prepozna a kad treba da se konektujem nece ne daje ni znaka zivota. u cemu je problem.

A: Crko mozda od grmljavine mozda od spanaca. Uglavnom baci ga u WC solju jako povuci vodu. Skupi 5e i uzmi drugi i ne postuj temu na pogresno mesto.
 
Odgovor na temu

cynique
Ivan Štambuk
Zagreb@Croatia

Član broj: 93690
Poruke: 155
193.198.17.*

ICQ: 106979934
Sajt: istambuk.blogspot.com


Profil

icon Re: Vase misljenje ???28.05.2006. u 12:12 - pre 217 meseci
Student 1 i 2 će krv ispišat ukoliko nisu nikad prije radili neki elementarni lexer/parser, jer ima tu poprilično teorije za preći prije nego napišu i jedne linije koda (PS: ako je samo jedan izraz u pitanju, onda čak i nije tako teško.. :) 3. i 4. zadatak nisu tako teški, najbolje iskoristite neke već poznate metode za numeričku integraciju i rješavanje matrice sustava linearnih jednadžbi (Gaussova eliminacija, Cramerovo pravilo i sl.). Student 5 je osvojio jackpot! :D

Svejedno, za početni kolegij programiranja ovo je zadatak koji samo psihopat može sastaviti.
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.sr.gov.yu.



+2789 Profil

icon Re: Vase misljenje ???28.05.2006. u 17:03 - pre 217 meseci
Pravljenje parsera nije sasvim jednostavno, ali se nivo matematičkih izraza može lepo odraditi i bez teorije potisnih mašina. Ja sam to radio i bez parser generatora. No, nije baš ni da je sasvim lako.

Ni u matematici nije jasno šta je to uprošćavanje izraza. Drugi deo zadatka, ako se ne formuliše preciznije i nije korektno postavljen. Taj deo zadatka ne zahteva nikakvo parsiranje.
Citat:
SHCkabbio_[2hot]: Pa cekaj, upisao si ETF i to smer SI. Naravno da treba na tom fakultetu naucis programiranje (i to prakicno a ne da se igras sa matricama i dinamickom memorijom).

To što nazivaš "igranjem matricama i dinamičkom memorijom" spada u osnove programiranja i bez toga nema ni makac dalje prema nečem ozbiljnijem.
Citat:
[url=/poruka/1162488]Svejedno, za početni kolegij programiranja ovo je zadatak koji samo psihopat može sastaviti.

Potpuno se slažem.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

c0d3r

Član broj: 90349
Poruke: 28
*.rcub.bg.ac.yu.



Profil

icon Re: Vase misljenje ???28.05.2006. u 22:48 - pre 217 meseci
Ja sam student prve godine ETFa, smer OO, i mogao bih uraditi te zadatke za 7 dana s odmorima ;) Stvari jesu relativno teske, ali zar postoji ista toliko tesko kada ti je na raspolaganju gomila literature + internet??? Istina je da imam dobro predznanje iz C-a i uopste programiranja i pre nego sto sam upisao ETF, ali vi ste ipak SI, potrudite se...
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.sr.gov.yu.



+2789 Profil

icon Re: Vase misljenje ???29.05.2006. u 08:59 - pre 217 meseci
Super! Reši samo drugi zadatak i svaka ti čast.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

z@re
Zarko Bulatovic
Split

Član broj: 29849
Poruke: 443
*.cmu.carnet.hr.



+25 Profil

icon Re: Vase misljenje ???29.05.2006. u 17:34 - pre 217 meseci
Citat:
Mix5:
Student 2: simplifikacija aritmetickog izraza predstavljenog binarnim stablom. Rezultat simlifikacije je novo stablo koje se smesta u listu izraza. Izracunavanje vrednosti izraza uz eksplicitno zadavanje promenljivih u izrazu.


Ok, ovo je jako interesantno, kontajuci da su prosla dva mjeseca kursa iz C-a. Znaci, student broj 2. je u ta dva mjeseca naucio kompletne osnove C-a, aritmetiku pointera, povezane liste, i onda na kraju teoriju binarnih stabala. Oprostite gospodo, ali ovo je apsolutni kretenizam. Po meni, rjesavanje ovakvog zadatka bi studentu trebalo donijet minimalno oslobadjanje od usmenog ispita, a mozda cak i gotovu ocjenu u index prije roka. Sjecam se da je i nama dalo slican zadatak nakon mjesec dana jednosemestralnog kolegija koji je zapravo bio osnove C-a, napravit jednostavan program za upisivanje 30 studenata, njihove ocjene, prosjek, itd. Profesor je rekao bonus za onoga ko napravi u tjedan dana, bonus je zapravo bio ovisan o tome kako si ti to izveo sve skupa. Jedan kolega je napravio na najjednostavniji moguci nacin, unutar jedne petlje, da se odma varijabilno racuna prosjek nakon svakog upisa. Ja sam napravio sa nedefiniranim brojem studenata preko dinamicke alokacije memorije (znao sam C dobrano prije faxa), strukturama, finim menijem za upis itd. Mislim, zadatak je piz**rija za nekog ko zna, ali to je bio samo za "bonus", nikakav obavezan zadatak unutar kolegija. Uglavnom, kolega je dobio ocjenu vise nakon ispita, a ja sam bio oslobodjen kompletnog.

Poanta : ima ljudi koji znaju mnogo stvari od prije, ali je vecina onih koji se prvi put susrecu sa programiranjem, i suludo je nakon dva mjeseca trazit od njih ovakve stvari.

Q: HSP56 Micromodem nece da radi kompjuter ga prepozna a kad treba da se konektujem nece ne daje ni znaka zivota. u cemu je problem.

A: Crko mozda od grmljavine mozda od spanaca. Uglavnom baci ga u WC solju jako povuci vodu. Skupi 5e i uzmi drugi i ne postuj temu na pogresno mesto.
 
Odgovor na temu

jokiduki

Član broj: 96126
Poruke: 1
*.smin.sezampro.yu.



Profil

icon Re: Vase misljenje ???29.05.2006. u 19:42 - pre 217 meseci
;'

p[[pk[[8974+654677;][899*84-*+
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.sr.gov.yu.



+2789 Profil

icon Re: Vase misljenje ???30.05.2006. u 19:30 - pre 217 meseci
z@are

Nikakvo znanje nijednog programskog jezika (uključujući liste, stabla itd.) nije samo po sebi dovoljno da se reši zadatak o kome diskutuješ. Taj zadatak se mora prvo matematički rešiti. Bi u matematici nije jasno šta je to zapravo uprošćavanje izraza. Taj zadatak ima smisla samo ako strogo preciziraš skup izraza i kriterijum koji je od dva ekvivalentna izraza jednostavniji.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

z@re
Zarko Bulatovic
Split

Član broj: 29849
Poruke: 443
*.cmu.carnet.hr.



+25 Profil

icon Re: Vase misljenje ???30.05.2006. u 23:41 - pre 217 meseci
Hmm, da, potpuno si u pravu. Ja sam se samo osvrnuo na programersku stranu problema, izgleda da su momci u jos vecoj gabuli nego sta se meni cinilo na prvi pogled.

Prosto me zanima ovo "rjesavanje odredjenog integrala". Ako je profesor to zamislio kao zadavanje aritmetickog izraza preko tog izbornika, pa onda integraciju preko navedenih granica, teoretski bi se mogao upisat najtezi integral koji se nalazi u bilo kojoj zbirci matematike sa prve godine faksa. Znaci da je navedeni lik psihopat teze klase.

Q: HSP56 Micromodem nece da radi kompjuter ga prepozna a kad treba da se konektujem nece ne daje ni znaka zivota. u cemu je problem.

A: Crko mozda od grmljavine mozda od spanaca. Uglavnom baci ga u WC solju jako povuci vodu. Skupi 5e i uzmi drugi i ne postuj temu na pogresno mesto.
 
Odgovor na temu

Mix5
Milos Djuric
STE, Asseco
Jagodina

Član broj: 14282
Poruke: 332
217.24.27.*



Profil

icon Re: Vase misljenje ???12.06.2006. u 22:15 - pre 216 meseci
Ovo je samo deo mog dela projekta. Molim vas da mi objasnite sta i kako trebam da prepravim da bi to radilo.

Code:
#include<stdio.h>
#include"stablo.h"
#include"greska.h"

typedef struct elementListe
{
        CvorStabla *root;
        char *infixizraza;
        struct elementListe *next;
}       ElementListe;

typedef struct lista
{
        struct ElementListe *prvi;
        struct ElementListe *poslednji;       
}       Lista;

ElementListe *NapraviElement(CvorStabla *root, char *infixizraza)
{
             ElementListe *e;
             e = malloc(sizeof(ElementListe));
             if (!e) {PrijaviGresku("Greska u pravljenju elementa");return 0;}
             e -> next = NULL;
             e -> infixizraza = malloc(strlen(infix)+1);
             strcpy(e -> infixizraza, infix);
             e -> root = root;
             return e;
}

Lista *NapraviListu()
{
      Lista *l;
      l = malloc(sizeof(Lista));
      prvi = NULL;
      poslednji = NULL;
      return l;
}

void DodajUListu(Lista *l, ElementListe *e)
{
     if(!prvi) prvi = e;
     else      poslednji->next = e;
     poslednji = e;
              
}

char *UnesiIzrazUInfixu(char *infix)
{
     printf("\nUnesi izraz: ");
     scanf("%s", infix);
     return infix;
}

void IspisiMeni()
{
                 system("CLS");
                 printf("\n(1) Unos izraza\n");
                 printf("(2) Simplifikacija izraza\n");
                 prnitf("(3) Izracunavanje vrednodti izraza\n");
                 printf("(4) Resavanje sistema linearnih jednacina\n");
                 printf("(5) Izracunavanje vrednosti odredjenog integrala\n");
                 printf("(6) Snimanje u fajl\n");
                 printf("(7) Ucitavanje fajla\n");
                 printf("(8) Izbrisi element iz liste\n");
                 printf("(9) Izlaz\n");
                 printf("\nIzbor: ");
}

main () 
{
        char *infix;
        CvorStabla *koren;
        Lista *lista;
        int a;
        while (a!=8)
        {
                  IspisiMeni();
                  scanf("%d", &a);
                  switch (a)
                  {
                            case 1: lista = NapraviListu();
                                    if (!lista) lista = NapraviListu();
                                    infix = UnesiIzrazUInfixu(infix);
                                    koren = NapraviStabloIzraza(infix);
                                    DodajUListu(lista,NapraviElement(koren,infix));
                                    
                                    break;
                            
                            case 2: 
                                    break;
                                    
                            case 3: 
                                    break;
                            
                            case 4: 
                                    break;
                                    
                            case 5: 
                                    break;
                            
                            case 6: 
                                    break;
                            
                            case 7: 
                                    break;
                                    
                            case 8: 
                                    break;
                   }
      }
}


Code:
//greske.h

#ifndef Greske_h
#define Greske_h

    void PrijaviGresku (char *poruka);
    char *DohvatiGresku ();

#endif



Code:
//stablo.h

#ifndef STABLO_H
#define STABLO_H

typedef struct cvorstabla
{
        char tip;
        double vrednost;
        char oznaka[10];
        struct cvorstabla *levi,*desni;
} CvorStabla;

CvorStabla *NapraviStabloIzraza(char *);

char *StabloUZnakovniNiz(CvorStabla *);

void ObrisiStablo(CvorStabla *);

#endif
 
Odgovor na temu

Igor Gajic

Član broj: 93194
Poruke: 747
*.ADSL.neobee.net.



+987 Profil

icon Re: Vase misljenje ???13.06.2006. u 22:51 - pre 216 meseci


Pogledaj source na ovoj adresi: http://www.singsurf.org/djep/index.html.

To je open source projekat za pojednostavljenje aritmetickih izraza uradjen u JAVI + jos nesto.
Jeste Java, ali mislim da ces se manje vise lako snaci u kodu.
Pronadji fajl SimplificationVisitor.java, on sadrzi kod koji ti treba.


Nadam se da ce ti ovo pomoci. Inace ovaj zadatak nije normalan za studente prve godine.

Pozdrav
 
Odgovor na temu

Mix5
Milos Djuric
STE, Asseco
Jagodina

Član broj: 14282
Poruke: 332
*.ptt.yu.



Profil

icon Re: Vase misljenje ???15.06.2006. u 15:51 - pre 216 meseci
Ne treba meni simplifikacija izraza, nego da mi neko kaze kako da prepravim funkcije koje sam napisao!
 
Odgovor na temu

Mix5
Milos Djuric
STE, Asseco
Jagodina

Član broj: 14282
Poruke: 332
217.24.27.*



Profil

icon Re: Vase misljenje ???16.06.2006. u 08:03 - pre 216 meseci
Resio sam problem.
 
Odgovor na temu

[es] :: C/C++ programiranje :: Vase misljenje ???

[ Pregleda: 4522 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.