Skocz do zawartości

Programowanie


xemi

Rekomendowane odpowiedzi

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?

Odnośnik do komentarza

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.

Odnośnik do komentarza

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 :P ) :] Zresztą nauczyciel informatyki powiedział, że trzeba zacząć od pascala, bo na uczelniach niby tego wymagają. Niedługo mamy przesiadać się na C++ :)

Odnośnik do komentarza
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 :P ) :] 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.

Odnośnik do komentarza
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 :P ) :] 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

Odnośnik do komentarza
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.

Odnośnik do komentarza

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...

Odnośnik do komentarza

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.

Odnośnik do komentarza

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:/

Odnośnik do komentarza
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:/

Odnośnik do komentarza

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ź? :)

Odnośnik do komentarza

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;
			}
 }

Odnośnik do komentarza

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ą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić obrazków. Dodaj lub załącz obrazki z adresu URL.

Ładowanie
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...