Zadania do projektu nr 1 - przykład programu obliczeniowego
18 zadań do wykonania w trybie tekstowym w Turbo Pascalu
Napisz program, który oblicza sumę, różnicę, iloczyn i iloraz ułamków zwykłych i przedstawia wynik w postaci ułamka nieskracalnego. Poszczególne działania powinny realizować oddzielne procedury.
Określ potrzebną liczbę odpowiednich banknotów i monet potrzebną do wypłacenia poborów dla n osób przy założeniu, że wypłata jest realizowana przy najmniejszej możliwej liczbie wypłacanych banknotów i monet oraz że znane są wartości nominałów banknotów i monet i wysokości poborów (pobory dla każdej osoby są wprowadzane z klawiatury).
Określ datę (rok, miesiąc, dzień, dzień tygodnia) odległą o n dni od daty podanej w postaci: dzień, miesiąc, rok. Rozważ osobno przypadki, gdy n>0 i n<0.
Informacje dodatkowe: 1 stycznia 1960 to był piątek.
Do jednowymiarowej tablicy o elementach typu znakowego wprowadź tekst zakończony znakiem $.
Wyprowadź tekst na ekran wierszami o określonej długości, z przenoszeniem do następnego wiersza wyrazów, które nie mieszczą się w całości w danym wierszu.
Wprowadź dodatkowe zmiany wiersza po wykryciu w tekście wyróżnionego znaku, np.#, oznaczającego nowy akapit.
Wyznacz liczbę wyrazów w każdym zdaniu oraz liczbę zdań, przy założeniu, że słowa oddzielone są jedną spacją, a każde zdanie jest zakończone kropką.
Poszczególne podpunkty powinny realizować oddzielne procedury.
Napisz program, który zamienia podaną kwotę pieniędzy na jej zapis słowny.
Przykład: 234 zł 50 gr - dwieście trzydzieści cztery złote pięćdziesiąt groszy.
Napisz program, który wyświetla na ekranie tabliczkę mnożenia dla liczb w systemie dziesiętnym, dwójkowym, ósemkowym i szesnastkowym. Poszczególne tabliczki powinny być zrealizowane oddzielnymi procedurami.
Napisz program, który zamienia liczbę rzymską na liczbę arabską.
Przykład: MCMXCIX - 1999
Napisz program, który zamienia liczbę arabską na liczbę w zapisie rzymskim.
Przykład: 1999 - MCMXCIX
Napisz program, który zamieni liczbę daną w systemie dwójkowym na liczbę w systemie ósemkowym, dziesiętnym i szesnastkowym. Poszczególne zamiany powinny być zrealizowane oddzielnymi procedurami.
Napisz program, który zamieni liczbę daną w systemie szesnastkowym na liczbę w systemie ósemkowym, dziesiętnym i dwójkowym. Poszczególne zamiany powinny być zrealizowane oddzielnymi procedurami.
Napisz program, który zamieni liczbę daną w systemie dziesiętnym na liczbę w systemie dwójkowym, ósemkowym, i szesnastkowym. Poszczególne zamiany powinny być zrealizowane oddzielnymi procedurami.
Napisz program zawierający procedury obsługujące słownik nazw w postaci tablicy napisów, wykonujące następujące operacje:
wprowadzanie nazwy do słownika (jeżeli jeszcze się w nim nie znajduje) i podanie jej numeru w słowniku - kolejność nazw w słowniku powinna być alfabetyczna.
odczytanie nazwy na podstawie jej numeru w słowniku,
wyprowadzenie na ekran nazw umieszczonych w słowniku.
Poszczególne podpunkty powinny realizować oddzielne procedury.
Napisz program zawierający procedury obsługi tablicy napisów uporządkowanych alfabetycznie. Tablica ma zawierać napisy złożone wyłącznie z wielkich liter. Program ma wykorzystywać zmienną określającą aktualną ilość napisów wstawionych do tablicy. Procedury powinny umożliwiać:
wstawianie nowego napisu tak, aby tablica pozostała uporządkowana, z kontrolą możliwości wstawiania,
usunięcie podanego napisu z pozycji, na której się znajduje, z uwzględnieniem kompresji tablicy po usunięciu elementu,
wyprowadzenie zawartości tablicy na ekran,
podanie liczby wolnych i zajętych elementów tablicy.
Poszczególne podpunkty powinny realizować oddzielne procedury.
Napisz program, który wczyta położenie wieży oraz gońca na szachownicy i wyświetli szachownicę (w trybie tekstowym) z zaznaczoną pozycją figury oraz wskazanymi polami przez te figurę atakowanymi. Należy napisać oddzielną procedurę dla wieży i dla gońca.
Napisz procedurę, która umożliwi sterowanie ruchem gwiazdki na ekranie za pomocą klawiatury oraz program, który umożliwi pokonanie gwiazdką labiryntu pokazanego na ekranie.
Napisz program, który umożliwi grę w kółko i krzyżyk z komputerem. Algorytm, który zapewnia komputerowi przynajmniej remis jest następujący:
jeżeli możesz postawić trzeci własny pionek w rzędzie (pionowo, poziomu lub ukośnie) - zrób to, w przeciwnym razie:
jeżeli musisz się bronić (przeciwnik ma 2 własne pionki w jednym rzędzie i trzecie pole jest puste) - postaw tam swój pionek, w przeciwnym razie:
postaw pionek na napotkanym wolnym polu - w pierwszej kolejności próbuj zająć pole środkowe, jeżeli się nie da - dowolne narożne, jeżeli i one są zajęte, dowolne pozostałe.
Zapewnij poprawne wyświetlanie planszy po każdym ruchu, wczytywanie ruchu człowieka z kontrolą poprawności i wyświetlanie informacji o wyniku w odpowiednim momencie.
Napisz program, który dany z klawiatury tekst przekształci na sygnały dźwiękowe nadawane alfabetem Morse'a.
Napisz program, który wyświetli rozdanie 52 kart dla 4 graczy. Postaraj się, aby rozdane karty były uporządkowane kolorami oraz od asa do dwójki.
Zespół Szkół Licealnych i Technicznych w Tucholi
Opracował: Piotr Pełczyński e-mail: piotrpel@tuchola.pl