Gabe Napisano 16 Listopada 2007 Udostępnij Napisano 16 Listopada 2007 Co do dzielenia AFAIR: div - dzielenie całkowite, czyli '6 div 4' da Ci 1 (czyli część całkowitą) mod - reszta z dzielenia, czyli '6 mod 4' da Ci 2 (czyli licznik, 4 to mianownik) Cytuj Odnośnik do komentarza
Longer Napisano 16 Listopada 2007 Udostępnij Napisano 16 Listopada 2007 Chyba jednak nie o to mi chodziło No więc skombinowałem takie coś: program ulamki; uses crt; var a,b,c,d:integer; e,f,g,h,i,j,k,l:real; begin textcolor(red); textbackground(blue); clrscr; write('Podaj pierwszy licznik:'); readln(a); write('Podaj pierwszy mianownik:'); readln(b); write('Podaj drugi licznki:'); readln(c); write('Podaj drugi mianownik:'); readln(d); if (b=0) or (d=0) then write ('Mianownik nie moľe by† zerem.') else begin e:=a/b; f:=c/d; i:=e+f; j:=e-f; k:=e*f; if c=0 then writeln ('Dzielenie nie bedzie moľliwe.') else l:=e/f; writeln('Dodawanie - wpisz 1'); writeln('Odejmowanie - wpisz 2'); writeln('Mnoľenie - wpisz 3'); writeln('Dzielenie - wpisz 4'); write('Jakie dziaˆanie chcesz wykona†?'); readln(g); if (g=1) then write ('Suma wynosi:',i:8:3) else if (g=2) then write ('R˘ľnica wynosi:',j:8:3) else if (g=3) then write ('Iloczyn wynosi:',k:8:3) else if (g=4) and (c=0) then write ('Nie moľna dzieli† przez zero.') else write('Iloraz wynosi:',l:8:3); end; readln; end. I teraz mam pytanie: jak podać wyniki w postaci ułamków zwykłych? Cytuj Odnośnik do komentarza
Gabe Napisano 16 Listopada 2007 Udostępnij Napisano 16 Listopada 2007 Przede wszystkim - wspólny mianownik najłatwiej uzyskać mnożąc przez siebie mianowniki czyli np w_m:=b*d Mnożymy także liczniki przez mianownik drugiego ułamka: l1:=a*d; l2:=b*c Dodawanie i odejmowanie masz proste (działamy tylko na licznikach, bo mianownik jest wspólny ): dodawanie:=l1+l2; odejmowanie:=l1-l2; Mnożenie (licznik*licznik, mianownik*mianownik): mnozenie_l:=a*c; mnozenie_m:=b*d; Dzielenie ułamków to? Mnożenie przez odwrotność? Ułamki wg Twoich zmiennych to a/b i c/d, więc wynikiem dzielenia będzie a*d/b*c. Robisz te dwie operacje i deklarujesz dwie zmienne dla licznika i dla mianownika i pod licznik podstawiasz a*d, a pod mianownik b*c. dzielenie_l:=a*d; dzielenie_m:=b*c; Przedstawiasz w wynikach w ten sposób: if (g=1) then write ('Suma wynosi:',dodawanie,' / ',w_m); Itd. Tyle filozofii. Cytuj Odnośnik do komentarza
Longer Napisano 16 Listopada 2007 Udostępnij Napisano 16 Listopada 2007 Dzięki :* Dopiero zaczynam przygodę z Pascalem, więc proszę nie śmiejcie się Cytuj Odnośnik do komentarza
Gabe Napisano 17 Listopada 2007 Udostępnij Napisano 17 Listopada 2007 Nikt się nie śmieje Wiesz, jak Ci się chce, to możesz jeszcze skracanie ułamków, czy wyodrębnienie całości zaimplementować, bo ja poszedłem po najmniejszej linii oporu Cytuj Odnośnik do komentarza
FYM Napisano 24 Listopada 2007 Udostępnij Napisano 24 Listopada 2007 Longer ten pascal to edukacja w szkole/uczelni czy z własnej woli ? Bo jeśli to drugie to sobie odpuść i przejdź na coś obiektowego - C++/Java. Ewentualnie jako rozgrzewkę można się zabrać za czyste C. Cytuj Odnośnik do komentarza
Longer Napisano 24 Listopada 2007 Udostępnij Napisano 24 Listopada 2007 W szkole. Z własnej woli w życiu za programowanie bym się nie brał, bo wiem, że studia informatyczne są nie dla mnie (choć na początku myślałem inaczej ) Zresztą nauczyciel informatyki powiedział, że trzeba zacząć od pascala, bo na uczelniach niby tego wymagają. Niedługo mamy przesiadać się na C++ Cytuj Odnośnik do komentarza
Henkel Napisano 25 Listopada 2007 Udostępnij Napisano 25 Listopada 2007 W szkole. Z własnej woli w życiu za programowanie bym się nie brał, bo wiem, że studia informatyczne są nie dla mnie (choć na początku myślałem inaczej ) Zresztą nauczyciel informatyki powiedział, że trzeba zacząć od pascala, bo na uczelniach niby tego wymagają. Niedługo mamy przesiadać się na C++ raczej juz nie wymagaja. na wiekszosc uczelni poszli po rozum do glowy i zaczynaja od razu od C++/Java zamiast meczyc Delphi - ktore swoja droga nie jest zlym jezykiem, ale niestety podbudowanie z Pascala robi swoje. Cytuj Odnośnik do komentarza
Fenomen Napisano 25 Listopada 2007 Udostępnij Napisano 25 Listopada 2007 W szkole. Z własnej woli w życiu za programowanie bym się nie brał, bo wiem, że studia informatyczne są nie dla mnie (choć na początku myślałem inaczej ) Zresztą nauczyciel informatyki powiedział, że trzeba zacząć od pascala, bo na uczelniach niby tego wymagają. Niedługo mamy przesiadać się na C++ raczej juz nie wymagaja. na wiekszosc uczelni poszli po rozum do glowy i zaczynaja od razu od C++/Java zamiast meczyc Delphi - ktore swoja droga nie jest zlym jezykiem, ale niestety podbudowanie z Pascala robi swoje. na dobrych uczelniach dobrzy wykładowcy / ćwiczeniowcy już od wielu lat prowadzą zajęcia tylko w oparciu o obiektowe języki programowania; w poprzednich latach był to raczej c/c++, a teraz dopiero w ostatnich latach częściej sięga się po javę, która bardzo szybko się rozwija Cytuj Odnośnik do komentarza
FYM Napisano 25 Listopada 2007 Udostępnij Napisano 25 Listopada 2007 U mnie na uczelni obecny I rok jest pierwszym, który już nie ma pascala. Dali im C. Cytuj Odnośnik do komentarza
Henkel Napisano 25 Listopada 2007 Udostępnij Napisano 25 Listopada 2007 na dobrych uczelniach dobrzy wykładowcy / ćwiczeniowcy już od wielu lat prowadzą zajęcia tylko w oparciu o obiektowe języki programowania; w poprzednich latach był to raczej c/c++, a teraz dopiero w ostatnich latach częściej sięga się po javę, która bardzo szybko się rozwija Delphi jest obiektowe - z Pascalowa skladnia. Cytuj Odnośnik do komentarza
Greg Napisano 26 Listopada 2007 Udostępnij Napisano 26 Listopada 2007 Nawet gdyby Delphi wykladali to juz byloby cos, bo Delphi w sumie jest ok Tzn. ma swoje plusy - latwiej stworzyc cos konkretnego, dzialajacego niz np. w Javie. Wiec w sumie to nawet sie nie dziwie, ze na pewnych uczelniach nie ma np. Javy bo to tak naprawde olbrzymi sektor. Javy sie uczy kilka lat i to pracujac dzien w dzien po 8 godzin, wiec na uczelni poza praktycznie podstawami (zwiazanymi pewnie z obiektowoscia), ciezko to jakos konkretniej ruszyc. No ale Pascal to juz zdecydowanie nie bardzo... Cytuj Odnośnik do komentarza
Elfiszon Napisano 27 Listopada 2007 Udostępnij Napisano 27 Listopada 2007 Obecnie na pierwszym roku u mnie mają C#. Ja leciałem starym programem nauczania, więc komputer i kompilator widziałem dopiero na trzecim roku :roll: Zdaje się, że potem pierwszaki będą mieć Javę, więc już jakaś podbudowa będzie. To oznaczałoby, że nieśmiertelne zajęcia z ANSI C z dr Kędzierskim odejdą w zapomnienie (powiem tylko, że i tak C tam było mało). W końcu... Swoją drogą nie ważne w czym będą programować, ważne by nauczyli się podstaw obiektówki i programowania. Na resztę przyjdzie czas. Czy to we własnym zakresie, czy w pracy. Takie są, chcąc niechcąc, realia. Cytuj Odnośnik do komentarza
Longer Napisano 27 Listopada 2007 Udostępnij Napisano 27 Listopada 2007 Zabawy z pascalem ciąg dalszy. Tym razem moje zadania polega na zbudowaniu z '*' trójkąta (na wzór tego programu). Pomoże ktoś? Cytuj Odnośnik do komentarza
xemi Napisano 28 Listopada 2007 Autor Udostępnij Napisano 28 Listopada 2007 Panowie potrzebuje cos do ... rysowania grafow!! Tak zebym mogl sobie zaznaczyc wierzcholi, polaczenia miedzy nimi, oraz wagi tych drog i wagi wierzcholkow, oraz zeby na podstawie tego tworzylo mi jakas tablice polaczen i tablice wag wierzcholkow. Sam raczej nie mam na tyle wiedzy zeby samemu takie cos napisac:/ a potrzebuje to na b. szybko do szkoly:/ Cytuj Odnośnik do komentarza
wwosik Napisano 29 Listopada 2007 Udostępnij Napisano 29 Listopada 2007 xemi, jak bardzo skomplikowane? Bo jak mało, to masz Worda, to możesz wykorzystać autokształty i łączniki. Wtedy przynajmniej przy przestawianiu kwadracików strzałki się same dopasowują. Cytuj Odnośnik do komentarza
xemi Napisano 29 Listopada 2007 Autor Udostępnij Napisano 29 Listopada 2007 xemi, jak bardzo skomplikowane? Bo jak mało, to masz Worda, to możesz wykorzystać autokształty i łączniki. Wtedy przynajmniej przy przestawianiu kwadracików strzałki się same dopasowują. wwosik, dzieki, ale nie o to chodzi, takie cos opodobne to bym we flashu moze jakos juz wykombinowal. Chodzi o to ze jak narysuje juz ten graf (wierzcholi, polaczenia miedzy nimi), dodam wagi dla tego, to ma mi program z tego wygenerowac tablice z wartosciami polaczen miedzy wierzcholkami, oraz tablice wag wierzcholkow. Z tej tablicy potem mam algorytmem policzyc njkrotsza droge miedzy wybranymi wierzcholkami. Algorytm sobie napisalem, ale tablice musze sam do niego wprowadzac recznie:/ Cytuj Odnośnik do komentarza
wwosik Napisano 30 Listopada 2007 Udostępnij Napisano 30 Listopada 2007 ok niestety, nie dysponuję niczym takim :( na marginesie - wyobrażam sobie, że w Wordzie jest to nadal możliwe, tylko wymaga trochę zabawy z Visual Basikiem Cytuj Odnośnik do komentarza
Fenomen Napisano 30 Listopada 2007 Udostępnij Napisano 30 Listopada 2007 rzecz zapewne trywialna, ale nie umiem sobie z nią poradzić mianowicie muszę zrobić transponowanie macierzy kwadratowej pierwsza idea była taka, żeby po prostu zamieniać wartość pola tablicy w stylu: tablica[x][y] = tablica[y][x] przy użyciu zmiennej pomocniczej, ale to nie chce działać void transponowanieMacierzy() { int p=0; for (int i=0; i<rozmiar; i++) for (int j=0; j<rozmiar; j++) { p = tablica[i][j]; tablica[i][j] = tablica[j][i]; tablica[j][i] = p; } } może jakaś podpowiedź? Cytuj Odnośnik do komentarza
jakubkwa Napisano 30 Listopada 2007 Udostępnij Napisano 30 Listopada 2007 Wydaje mi się, że działa Ci to źle dlatego, że robisz to dla całej macierzy, czyli zamieniasz ze sobą dane pola dwukrotnie, co w efekcie sprawia, że wracają do swoich pierwotnych stanów Wystarczy to wykonać dla połowy elementów znad lub spod głównej przekątnej, np. void transponowanieMacierzy() { int p=0; for (int i=0; i<rozmiar; i++) for (int j=0; j<i; j++) // tu jedyna modyfikacja - j<i zamiast j<rozmiar { p = tablica[i][j]; tablica[i][j] = tablica[j][i]; tablica[j][i] = p; } } Cytuj Odnośnik do komentarza
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.