Forum CDRinfo.pl

Forum CDRinfo.pl (https://forum.cdrinfo.pl/)
-   Off topic (https://forum.cdrinfo.pl/f5/)
-   -   2 programy w PASCAL`u (https://forum.cdrinfo.pl/f5/2-programy-pascal-u-62576/)

Kasprzak 20.02.2006 13:46

http://forum.idg.pl/lofiversion/index.php/t30488.html
To bedzie odpowiedz na drugie zadanie?

Jezeli tak to to problemem jest takze zebym ja to umial wytlumaczyc, kolejne kroki...

ksviper 20.02.2006 13:20

kiedyś gdzieś miałem zrobione w C metodą eliminacji gaussa ale nie wiem gdzie to teraz jest, z macierzą odwrotną jest najprostrze w liczeniu ale najdłuższe w programowaniu, chyba że masz gotowe moduły, mnożenie macierzy podobne do odwrotnej choć już prostsze.

Kasprzak 20.02.2006 12:52

program jest na 9 marca... ale chcialem go teraz skonczyc. Ten drugi jest na 16.03...
Nie mialem podane jak ma byc numer wpisywany, ale przyjmijmy ze bez spacji...
co do drugiego zadania, mam podane zagadnienia > metoda eliminacji gaussa, macierz odwrotna, mnozenie macierzy)

ksviper 20.02.2006 11:30

Jest jeszcze coś takiego jak readkey i możemy zrobić tablicę 9 elementową typu byte. każdy wczytany znak przekształcamy do liczby i po sprawie, żaden format wprawdzanych danych nas nie interesuje.
Gdybym w pracy miał kompilator i moje domowe przykłady to napisałbym to, a tak to na jutro.

pawelblu 20.02.2006 11:26

Cytat:

Napisany przez ksviper
i
więc spokojnie można wczytać z klawiatury do stringa a potem sprawdzać
Orange (Idea) to łatwizna: pierwszy znak = 5
PLUS: pierwszy 6 i trzeci nieparzysty
ERA: pierwszy 6 i trzeci parzysty
HEYAH: 888, 880, 88... (nie znam wszystkich prefiksów)
SAMI SWOI: nie znam prefiksów oprócz 885 (zawsze można dopisać)

No tak, tylko jezeli mozna by bylo wczytac na liczbe, to operacja np. "trzeci parzysty" wykonuje sie duzo prosciej na liczbie niz na stringu.
Jezeli ten ciag bylby wpisywany ze spacjami tak jak pokazywalem to jestesmy w domu. Zreszta tak czy inaczej jakies zalozenia trzeba przyjac w jakim formacie jest numer (xxxxxxxxx, xxx-xxx-xxx, xxx xxx xxx, xxx xxxxxx), lub obslugiwac wszystkie.

ksviper 20.02.2006 11:17

Cytat:

Napisany przez pawelblu
1) Diabel tkwi we wczytaniu danych z wejscia, zeby sie potem nie bawic. Niestety 888xxxxxx to wiecej niz Word (taki Integer bez znaku, ale za to 2x dluzszy) w Pascalu. Wiec IMO tego nie da sie na raz wczytac (czyba ze do INT64, ale na tym chyba nie dzialaja podstawowe operacja nawet). Ale jezeli mozesz wczytac najpierw 3 cyfry, czyli np. numer postaci xxx xxx xxx to juz jestes w domu. Wczytujesz pierwsza liczbe na Inta i If'ujesz lub lepiej case'ujesz.

i
Cytat:

Napisany przez Kasprzak
1) napisac program ktory po wpisaniu numeru kom.

więc spokojnie można wczytać z klawiatury do stringa a potem sprawdzać
Orange (Idea) to łatwizna: pierwszy znak = 5
PLUS: pierwszy 6 i trzeci nieparzysty
ERA: pierwszy 6 i trzeci parzysty
HEYAH: 888, 880, 88... (nie znam wszystkich prefiksów)
SAMI SWOI: nie znam prefiksów oprócz 885 (zawsze można dopisać)

pawelblu 20.02.2006 11:11

1) Diabel tkwi we wczytaniu danych z wejscia, zeby sie potem nie bawic. Niestety 888xxxxxx to wiecej niz Word (taki Integer bez znaku, ale za to 2x dluzszy) w Pascalu. Wiec IMO tego nie da sie na raz wczytac (czyba ze do INT64, ale na tym chyba nie dzialaja podstawowe operacja nawet). Ale jezeli mozesz wczytac najpierw 3 cyfry, czyli np. numer postaci xxx xxx xxx to juz jestes w domu. Wczytujesz pierwsza liczbe na Inta i If'ujesz lub lepiej case'ujesz.

2) W zasadzie zadanie sprowadza sie do odwrocenia macierzy A i wymnozenia. Ja nie pamietam jak sie odwraca macierz A, tzn umialbym to zrobic teraz, ale to daje znowu uklad wspolrzednych i zapetlenie koncepcyjne :) Zad 2 jest wredne - dosc praco- i czaso-chlonne.

Jezeli mozna pojsc inaczej w zad2 to proponuje gaussa, czyli pozbywasz sie w kazdym kroku jednej zmiennej. We wszystkich rownaniach mnozysz tak, by jedna zmienna zawsze miala ten sam wspolczynnik i potem podejmujesz piersze rownanie od drugiego, drugie od trzeciego itd. tworzac uklad n-1 rownan z n-1 niewiadomymi, bo jedna sie zredukowala. Zagrozeniem jest wyjscie poza zakres i ewentualne liczby niewymierne.

ksviper 20.02.2006 11:06

a do kiedy te programiki są do napisania ?

pierwszy na jutro napiszę :)

Kasprzak 20.02.2006 10:46

2 programy w PASCAL`u
 
Witam.
mam do napisania 2 programy w Pascalu.
Ten pierwszy sobie powininem poradzic chcialem to zrobic IF`em chociaz poczekam na lepsze koncepcje bo nie znam dobrze Pascala

1) napisac program ktory po wpisaniu numeru kom. powie mi w jakiej jest sieci (nie obowiazuje przenoszenie numeru) np. wpisze 602xxxxxx to napisze ERA, wpisze 888xxxxxx heyah,885xxxxxx sami swoi... itp. i wynik np. zapisany do pliku wynik.txt

2)troche bardziej skomplikowany...(na plikach) i jezeli ktos juz go wykona to taki maly opis operacji czyli komentarze...bylbym wdzieczny
Rozwiązuje n równań liniowych z n niewiadomymi (sorka za jakosc ale na szybko w paintcie zrobilem...tam jest dla n=2 tak wyglada rownanie)
http://img81.imageshack.us/img81/1325/zadanie9vq.th.jpg
Czy mniej wiecej dobrze wyjasnilem co potrzebuje? Czy nie za bardzo? :(

Napewno niczego nie zadam, ale prosze, bo jestem w maturalnej klasie i nie mam czasu za barzdo na nauke Pascala :/
Dzieki z gory!


Wszystkie czasy w strefie CET. Aktualna godzina: 06:52.

Powered by vBulletin® Version 3.9.0 LTS
Copyright ©2000 - 2026, vBulletin Solutions Inc.