Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[Pascal] skomplikowane zadanie

15 Dec 2011 16:51 1570 4
  • Level 2  
    Witam,
    chciałem podzielić się z kimś i przy okazji rozwiązać jedno zadanie z pascal'a. Zadanie jest złożone. Znam podstawy pascal'a ale to zadanie mnie przewyższa. Nie chce też żeby ktoś mi je rozwiązał bo wtedy niczego nie połapie.
    Zadanie jest takie:
    Napisać program tworzący 15 elementową jednowymiarową statyczną tablice liczb. Tablica powinna być wypełniona przez algorytm tak, że indeksy, które są parzyste otrzymują wartość według wzoru: 2*i-i*i+2*i, a pozostałe 3*i*i*i-5*i. Wypełnioną wartościami tablice należy po sortować wykorzystując algorytm bąbelkowy. Następnie policzyć sumę liczb w Tablicy. W kolejnym kroku należy stworzyć 15 elementową jednowymiarowa tablice statyczną i wypełnić ją wartościami z tablicy statycznej. Wstawianie powinno odbywać się w taki sposób, że jeśli obliczona wcześniej suma jest większa od rozmiaru tablicy, to tablicę wypełniamy wartościami powiększonymi o sumę, w innym przypadku - pomniejszonymi. Wynik każdej wykonanej przez algorytm operacji powinien być wyświetlany na ekranie monitora. Zakończenie programu powinno być poprzedzone wyświetlaniem znaków i napisem pod nimi : "koniec działania programu". Liczba znaków powinna odpowiadać rozmiarowi tablicy. Znaki należy wyświetlać tak że jeśli numer znaku jest liczbą niepodzielną przez 5, wyświetlamy'*', w innym wypadku '@'. Po każdym wyświetlonym znaku powinien znaleźć się jeden odstęp.

    Mieliśmy pętle, funkcje procedury, tablice ale nigdy tak dużo w jednym.
    i tak sie zastanawiam bo z tego co mi sie wydaje najpierw trzeba wywołać 15 liczb (tylko nie wiem czy każda liczbe zapisywać w oddzielnej zmiennej czy jako jedną zmienną) pożniej każda liczbe poddac funkcji oraz pażystości lub nie i stworzyć tablice statyczna jednowymiarową i storzyć następną tabele której indeksy bede wstawiane według sumy w zależności od rozmiaru tablicy chyba ?

    tylko tak czy deklarujac zmiene albo funkcje robie to przed "głównym begin " w sekcji var czy przed każdą nową sekcją zaczynającą sie begin i end;
    i zabardzo nie wiem jak połączyć wszystko w jedno może ktoś pomógłby mi to ogarnąć
    [30.03.2021, darmowy webinar] Nowoczesna diagnostyka maszyn, monitorowanie i przewidywanie awarii. Zarejestruj się
  • Helpful post
    Level 42  
    1. Tablica statyczna - po prostu array
    2. Parzyste elementy - reszta z dzielenia (dzielenie modulo = mod) = 0
    3. Algorytm bąbelkowy - znajdziesz opis np w tej paczce: http://www.dzyszla.aplus.pl/download-32.html Nie przejmuj się, że to C. Po prostu przeczytaj punkt 2.3 z pliku sorts1.doc
    4. pętla i dodawanie do zmiennej
    5. kolejna tablica - P pkt. 1
    6. wypełnianie z powiększeniem lub bez - prosty warunek i albo przepisujemy i pomniejszamy, albo z powiększeniem
    7. wyświetlanie na ekranie - drugi element pętli - write z tablicy
    8. Podzielność przez 5 - analogicznie jak pkt 2.

    Zrób po prostu po kolei wszystko ;) Zastanawiam się, czemu takie odniesienia w tekście do wielkości tablicy, skoro na samym poczatku jest podane, że wynosi 15 ;p Gdyby to dynamiczna miała być...
  • Level 2  
    o taką odpowiedź mi chodziło dzięki ;)
    Tylko najpierw tablice zrobić a czy zadeklarować wszystkie zmienne na samym początku w sekcji var czy do każdego pkt oddzielna deklaracja ...
    a co z funkcjami za pomocą których mam wstawić indeksy do tablicy ?
  • Helpful post
    Level 42  
    Zadeklaruj wg potrzeb. Ładniej będzie na pewno podzielić to na procedury i używać zmiennych lokalnych, gdzie tylko możliwe i opłacalne (np. nie ma sensu na siłę robić lokalnych kopii tablic).

    Przypisanie indeksu do tablicy? tablica[j]:=j - to wszystko, żadna filozofia.
  • Level 2  
    Code: pascal
    Log in, to see the code

    I dalej nie wiem bo pokazuje mi ilość liczb czyli 15 zamiast odnosić się do każdej kolejnej liczby z tabeli ...


    Proszę pamiętać o używaniu znaczników syntax. Opcja Listing kodu. Proszę poprawić.- arnoldziq
    Code: pascal
    Log in, to see the code