Specjalne miejsce w Turbo Pascal zajmują cykle.Zaczynają się uczyć natychmiast po ćwiczeniu umiejętności wprowadzania i wyprowadzania informacji na ekranie. W końcu większość zadań sprowadza się do tego, że pętle z parametrem i innymi konstrukcjami pomagają w pisaniu i funkcjonowaniu określonego bloku programu.
Odmiany cykli
W sumie istnieją trzy typy:
- z parametrem
- z warunkiem wstępnym
- z warunkiem końcowym.
Pętle z parametrem, w przeciwnym razie nazywane są For ... to ...zrobić lub For… downnto…. zrobić, powtarzaj określoną sekwencję czynności wiele razy. Zasadniczo inne odmiany są używane do tego samego celu, tylko liczba kroków jest znana z góry w pętli for.
W pozostałych dwóch konstrukcjach (While i Repeat) liczba iteracji jest początkowo nieznana. Dlatego podczas studiowania zadania konieczne jest już zrozumienie, który cykl zostanie użyty.
Podstawowe definicje na ten temat
Pętle z parametrami - powtarzalneiteracje. Licznik jest głównym wskaźnikiem, według którego wykonywany jest dany projekt. Granice interwału pokazują granice, w których będą wykonywane określone iteracje. Nawiasem mówiąc, nie jest wcale konieczne, aby wartość początkowa była równa 1. Użytkownik samodzielnie ustala obie granice przedziału. Ciało pętli to zestaw poleceń, dla których została już określona liczba powtórzeń.
Termin „pętle z parametrami” oznacza, że wtej konstrukcji sprawdzany jest stan, po czym wykonywany jest zestaw iteracji. Licznik rośnie (lub maleje) i wszystko się powtarza. Treść pętli będzie używana, o ile warunek będzie spełniony.
For… to… do: algorytm pracy, składnia
Jak już wspomniano, pętle z parametrem są używane w zadaniach określających „interwał” pracy. Może to być więc tablica liczb, dni tygodnia, wiersze wiersza itp.
Istnieją 2 rodzaje konstrukcji: zwiększanie licznika i zmniejszanie go. Pierwsza konstrukcja zostanie zapisana w następujący sposób:
dla out.variable : = obramowanie 1 do obramowanie 2 robić
zaczynać
pętla;
koniec;
Tutaj: ref. zmienna zadeklarowane przez użytkownika na początku programu lub bloku; border 1 i border 2 - początkowa i końcowa wartość przedziału; w ciało cykl zalecono szereg działań, które powinnyuruchamiany przez program. Należy pamiętać, że jeśli w treści pętli znajduje się tylko 1 polecenie, to można pominąć nawiasy operatorskie początek… koniec. W tej wersji projektu licznik, a mianowicie <init.variable>, będzie zwiększał się z krokiem równym 1.
dla out.variable : = obramowanie 1 aż do obramowanie 2 robić
zaczynać
pętla;
koniec;
Tutaj ref. zmienna będzie się zmniejszać w przyrostach o 1.
Schemat działania pętli z parametrem For… to… do będzie wyglądał następująco:
- Ustala się wartość górnej granicy odstępu, tj. obramowanie 2.
- Zmienna źródłowa przypisywana jest wartość parametru obramowanie 1.
- Stan jest sprawdzany: zmienna odniesienia ≤ granica 2.
- Podczas uzyskiwania wyniku Prawdziwe (Prawdziwe) zostaje wykonana treść pętli.
- Licznik jest zwiększany o 1.
- Pozycje 3-5 są wykonywane dokładnie do momentu spełnienia warunku: zmienna odniesienia> granica 2... Jak tylko to nastąpi, pętla jest zamykana, a sterowanie przekazywane jest do komendy wykonującej daną konstrukcję.
W For ... downto ... do, algorytm działania jest podobny do powyższego, z wyjątkiem kilku punktów:
- W trzecim akapicie sprawdzany jest stan: zmienna referencyjna ≥ granica 2.
- W piątym wierszu algorytmu licznik jest zmniejszany o 1.
- W szóstym akapicie polecenia 3-5 będą wykonywane, dopóki warunek nie zostanie spełniony: zmienna źródłowa <granica 2.
Wszystko inne jest takie samo w obu algorytmach pracy.
Schemat blokowy pętli z parametrem
Pętle z parametrem mają następującą postać schematu blokowego (chociaż zostało to już przedstawione powyżej). Pokazuje również uproszczoną organizację konstrukcji.
Podstawowe wymagania dotyczące cyklu z parametrem
Pętle z parametrami wymagają określonego rodzaju warunków.
- Granice licznika i luki (tj. Ref.zmienna, obramowanie 1 i obramowanie 2) muszą mieć ten sam typ danych. Jeśli istnieje tylko zgodność między początkową i końcową wartością segmentu a oryginalną zmienną, program może zachowywać się niepoprawnie, ponieważ granice zostaną przekonwertowane zgodnie z typem danych oryginalnego parametru.
- Typ danych, do którego muszą należeć wartości parametrów, musi być liczbą całkowitą. Odradza się używanie prawdziwego typu.
- Niepożądana jest zmiana wartości parametru out.variable na siłę w ciele pętli. W przeciwnym razie użytkownik nie będzie w stanie śledzić możliwych błędów, które się pojawiły.
- W przeciwieństwie do innych typów pętli For ... to ... do lub Bo… w dół… krok nie może się zmienić do parametru innego niż 1.
Turbo Pascal: jak wyjść z pętli
Często zdarzają się zadania, w których sąpętla, tj. sprawdzony warunek jest zawsze prawdziwy. Procedura Break pomaga wyjść z pętli z warunkiem wstępnym, warunkiem końcowym, parametrem. Oznacza to, że ich praca kończy się przed terminem.
Cykle z parametrem Pascal (programowaniektóry zakłada „wieczną” prawdę warunku) można zatrzymać za pomocą Kontynuuj. Tutaj praca jest zorganizowana w następujący sposób: bieżąca iteracja kończy swoje wykonanie przed terminem, sterowanie jest przenoszone do następnego polecenia, ale bez wychodzenia z pętli.
Aby to zrobić, konieczne jest wykonanie procedury wyjściaaby zakończyć pracę jednego lub drugiego bloku w kodzie programu. Jest wywoływana wewnątrz procedury (funkcji) iw tym samym momencie wykonanie tego „kawałka” natychmiast się zatrzymuje. Jeśli Exit znajduje się w głównym bloku programu, kończy działanie.
Procedura zatrzymania ogranicza zasadę działania do następującego: praca programu jest całkowicie zakończona.
Przykłady zadań z rozwiązaniem
Przyda się użytkownikowi po przestudiowaniu tematuNajpierw przestudiuj przykłady „pętli z parametrem w pascalu”, a następnie przećwicz samodzielne pisanie kodu. Proste zadania pomagają przyszłemu programiście poznać teorię w praktyce, a następnie z powodzeniem ją zastosować. W temacie „Pętle z parametrem” przykłady problemów z rozwiązaniem można znaleźć jako łatwe i złożone. Oto 3 problemy, w których analizowane są algorytmy pracy, a do każdego rozwiązania podawane są wyjaśnienia i komentarze.
Zadanie 1
Mając na uwadze dwuwymiarową tablicę liczb naturalnych z zakresu [0..199], wybranych losowo. Znajdź liczbę wszystkich dwucyfrowych liczb, których suma cyfr jest wielokrotnością 2.
Algorytm działań:
- Utwórz dwuwymiarową tablicę.
- Sprawdź każdy numer pod kątem zgodności z warunkami:
a) jeśli 9 <X <100, to podziel go całkowicie przez 10 za pomocą div;
b) wybrać drugą cyfrę liczby, dzieląc ją za pomocą mod;
c) dodać podświetlone liczby;
d) podzielić przez mod podaną kwotę przez 2;
e) jeśli wynik wynosi 0, to licznik jest zwiększany o 1.
Zadanie 2
Biorąc pod uwagę jednowymiarową tablicę elementów całkowitych. Znajdź liczbę liczb dodatnich.
Algorytm działań:
- Utwórz tablicę elementów całkowitych utworzonych za pomocą randomize.
- Wstaw warunkową instrukcję IF do pętli z parametrem, która sprawdzi podany element pod kątem zgodności z warunkiem: X> 0.
- Jeśli warunek jest spełniony, licznik jest zwiększany o 1.
- Po cyklu wyświetl wynikową wartość licznika.
Dane w nawiasach {} tokomentarze. W linii 11. możesz wyświetlić tablicę na ekranie na dwa sposoby: pozostaw spację między liczbami lub odłóż określoną liczbę komórek dla każdego elementu (w tym przypadku jest ich 5).
W linii 12. zmienną licznika można również zwiększyć na dwa sposoby: albo dodać 1 do poprzedniej wartości, albo użyć standardowej funkcji Inc.
Problem 3
Otrzymujesz kwadratową macierz. Znajdź liczbę pozytywnych elementów na głównej przekątnej.
Objaśnienia:
W szeregu liczb główna przekątna rozciąga się odlewy górny róg do prawego dolnego rogu. Jego osobliwość polega na tym, że indeksy wierszy i kolumn są takie same. Dlatego wystarczy zorganizować 1 pętlę, aby przejść przez linie bez przechodzenia przez pozostałe elementy.
Algorytm działań:
- Utwórz macierz kwadratową.
- Ustaw zmienną odpowiedzialną za zliczanie elementów dodatnich na wartość „0”.
- Utwórz cykl do tworzenia macierzy kwadratowej.
- Zorganizuj pętlę, aby sprawdzić warunek: jeśli liczba na głównej przekątnej> 0, licznik jest zwiększany o 1.
- Po zakończeniu cyklu wyświetl wartość zmiennej przechowującej liczbę dodatnich elementów na ekranie.
Sprzeciw dwóch języków programowania: C i Turbo Pascal
Z reguły szanujący się programista wiekilka języków. Na przykład może to być C ++, Turbo Pascal, Delphi, Java itp. Konfrontacja między nimi została wyraźnie wyrażona w latach 80-tych. (C i turbo pascal). Pod koniec XX wieku tę samą walkę zaobserwowano między C ++ i Javą.
W wirtualnej przestrzeni wśród trzech tuzinówIstnieją trzy najjaśniejsze pary języków programowania, których przeciwieństwo zadziwiało największe umysły cyberprzestrzeni: Algol-60 i Fortran, Pascal i C, Java i C ++. Oczywiście te odczucia są subiektywne, ale kiedyś jedna z par była liderem. Wynikało to z wymagań branży i zapotrzebowania na określone oprogramowanie. W latach 70. Fortran „rządził światem”, w latach 80-tych - Turbo Pascal, w latach 90-tych - C ++. Oczywiście żaden z nich nie „umarł”. Raczej ewoluowały w ulepszone oprogramowanie.
Podczas nauki języków programowania zauważysz, że składnia jest podobna w niektórych tematach. Zatem pętle z parametrem w C są podobne do podobnych konstrukcji w Pascalu, z wyjątkiem niektórych punktów.
Co ciekawe, twórcy Turbo Pascal (OldLight) korzystali z wyników osiągnięć amerykańskich naukowców, natomiast w Nowym Świecie aktywnie korzystali z wyników badań europejskich specjalistów. W Europie programiści bardziej opowiadają się za czystością i zwartością języków programowania, a amerykańskie umysły są bardziej skłonne do korzystania z nowatorskich trendów w pisaniu kodu.