Przeglądaj wersję html pliku:

wiczenie 22


cwicz_22

H M P R O G R A M O W A N I E

str. 59
W D E L P H I

ĆWICZENIE 22 – Rozwiązywanie zadań o większym stopniu złożoności
komunikować się z komputerem poprzez ekran monitora, stosować zmienne różnych typów, w tym także tablicowe, stosować instrukcje przypisania, grupować instrukcje elementarne w instrukcje złożone, stosować funkcje i procedury standardowe, a także definiować i stosować własne funkcje i procedury, ♦ stosować instrukcje iteracyjne, ♦ generować liczby losowe.
♦ ♦ ♦ ♦ ♦

Jeśli na każde z postawionych wyżej pytań odpowiesz - „TAK” , to jesteś już niczego sobie programistą. Umownie rzecz określając, możesz awansować z „zerówki” do klasy pierwszej. A dokładniej, w każdym z wymienionych punktów poznałeś wiedzę minimalną. Wystarcza ona jednak do rozwiązania większości typowych zadań, nawet o wiele bardziej złożonych niż zadania definiowane w ćwiczeniach. Na następnych stronach przedstawiony jest zestaw zadań, które powinieneś rozwiązać, i które formułują nieco bardziej złożone problemy. Nawiązują one czasem do zadań definiowanych wcześniej. Do technicznego zrealizowania każdego z nich, wystarczy wiedza zawarta na kartach tej instrukcji (Programowanie w DELPHI - zestaw podstawowych ćwiczeń laboratoryjnych). Za każdym jednak razem niezbędna jest ANALIZA zadania, a więc umiejętne rozłożenie całego problemu na mniejsze problemy cząstkowe. To jest proces twórczy, niezależny od języka programowania. Dla programisty, - dotrzeć do wyniku, - to nie jest powód do satysfakcji. Zrozumiesz to, gdy przy wykonywaniu następnych zadań porównasz rezultaty swoich działań z rezultatami pracy kolegów. Oceń wtedy: ♦ wygodę obsługi i komunikatywność interfejsu użytkownika, ♦ prostotę logiki algorytmu rozwiązującego problem, ♦ czytelność zapisu programu, a co za tym idzie łatwość wyszukiwania błędów i jego modernizacji, ♦ odporność na błędne lub niestarannie sformułowane dane, ♦ sposób funkcjonowania w przypadkach skrajnych lub absurdalnych, ♦ szybkość działania programu. Aby dobry programista, przy każdym z tych pytań mógł powiedzieć - „jestem najlepszy”, twórcy języków programowania wymyślili jeszcze mnóstwo typów zmiennych i operatorów, setki funkcji, procedur oraz obiektów i metod z nimi związanych. Każda taka konstrukcja optymalizuje rozwiązanie jakiegoś zadania cząstkowego. Zgłębianie tej wiedzy pozostawiam samodzielnej pracy studenta. Na pocieszenie Choć sam od ponad 25 lat programuję w różnych językach, nie powiem, że wiem wszystko o jakimś z tych języków. Nie spotkałem też programisty, z którego ust takie twierdzenie padło. Żaden szanujący się programista nie oznajmi, że w jego programie nie ma błędów. (Gdzieś wyczytałem, że w każdym systemie operacyjnym błędów jest co najmniej kilkaset ). A więc -

59

cwicz_22

H M P R O G R A M O W A N I E

str. 60
W D E L P H I

Zadania do samodzielnego wykonania
Stosowanie standardowych algorytmów Zadanie 1.
(średnia, max) Opracuj program, który na podstawie ocen, które otrzymali studenci z 5-ciu przedmiotów, przyzna specjalne stypendium naukowe dla 3 najlepszych z nich, dzieląc fundusz stypendialny (dana do wprowadzenia) w proporcji 4/2/1. (min, max, średnia, sortowanie) Opracuj program, który służy do zapamiętania rezultatów sędziowania w całych zawodach łyżwiarstwa figurowego (10 zawodników) i obsługuje tablicę wyników. Nie tylko oblicza rezultat, ale także po naciśnięciu odpowiedniego przycisku, podaje aktualną klasyfikację. (zmienna losowa, średnia, zagnieżdżanie pętli) Opracuj program, który nakazuje kutrom rybackim powrót do bazy, gdy prędkość wiatru przekroczy 50 km/godz. (Rozkaz, - to wysłanie odpowiedniego komunikatu - nie w eter, lecz na ekran monitora.) Zasada pomiaru prędkości wiatru opisana jest w zadaniu 3 ćwiczenia 21. W morzu jest 5 kutrów. Ich odległość od portu mierzona i rejestrowana jest o każdej godzinie automatycznym systemem radarowym (w zadaniu - wartość losowa z przedziału 0..30). Rozkaz powrotu dotyczy tylko tych kutrów, których odległość od portu jest większa niż 10 km. (zmienna losowa, granica ciągu, wybieranie z ciągu w podciąg) Program obsługuje załadunek promu morskiego o ładowności 10 000 kN. Analizie podlega ciężar 100 samochodów osobowych i ciężarowych oczekujących w kolejce. Ciężar każdego z nich jest zmienną losową z przedziału 10..400 kN (dla potrzeb zadania generator liczb losowych zastępuje wagę). Program wyznacza ilość samochodów zabieranych z kolejki. Ponieważ prom ma 3 poziomy pokładów załadowczych, program sortuje tę grupę samochodów rozdzielając je przed wjazdem na prom na 3 pasy wjazdowe: samochody najcięższe (ponad 250 kN -będą załadowane na pokład najniższy), średnie (100..250 kN - będą załadowane na pokład środkowy) i lekkie (do 100 kN - będą załadowane na pokład najwyższy). Zalecenie. Wszystkie etapy przekształcania informacji o samochodach zawrzyj w kolejnych kolumnach zmiennej tablicowej. Dla ekranowej kontroli zawartości poszczególnych kolumn tablicy utwórz procedurę, która będzie pokazywała fragment zawartości wybranej kolumny tablicy.

Zadanie 2.

Zadanie 3.

Zadanie 4.

60

 
statystyka