Podstawy programowania - cykle, na przykład dla. Pascal Jak każdy język komputerowy, zawiera także takie konstrukcje w swojej składni.
Wyznaczanie operatorów cyklicznych
Typowym zadaniem jest wymuszenie na komputerze wykonania kilku takich samych operacji. Tutaj i zapisz projekty, które pozwolą ci zorganizować powtórzenie kodu. Cykl programowania jest więc powtarzającym się działaniem zorganizowanym za pomocą narzędzi językowych. Język programowania Pascal zawiera kilka takich konstrukcji:
dla - powtórzeń z parametrem;
while - powtórzyć z warunkiem wstępnym;
powtarzaj aż - powtórz z postitalem.
Pomimo pozornej prostoty i oczywistości cyklicznych projektów, początkujący programiści mają do czynienia z szeregiem problemów z ich realizacją. Największą trudnością jest ustawienie warunków wyjścia z cyklu. Pod tym względem operator liczący jest najprostszy.
Struktura
Aby napisać konstrukcję powtórzenia z parametrem, należy wpisać następujący kod: FOR {a}: = {b} TO {c} DO {d}. W tym przykładzie zastrzeżone słowa języka dla wygody są wielkimi literami, w praktyce można użyć rysowania liniowego. Używane zmienne i operatory są wyświetlane w nawiasach klamrowych. Mają na myśli:
{a} jest zmienną dowolnego typu konta, najczęściej INTEGER;
{b}, {c} - wyrażenia typu konta, takie same jak {a};
{d} jest arbitralnym operatorem /operatorem językowym, zwanym także ciałem cyklu.
Opracowanie projektu, Pascaloblicza wartość {b}, przypisuje {a}: = {c}, a następnie powtarza akcję:
warunek sprawdzania {b}
uruchom operatora {d};
zwiększają wartość {a} do jednego, czyli {a}: = {a} + 1.
Ponieważ liczba powtórzeń w ciele jest znana, konstrukcja ta odnosi się do cykli deterministycznych.
Przykład
Aby zrozumieć, jak postępować dalej, istnieje przykład kodu paskowego dla manekinów.
s: = 0;
dla a: = 1 do 5 zrobić
zacząć
s: = s + a;
koniec;
writeln (s);
Rozumiejąc pisemne instrukcje, możesz zapisać wartość w każdej iteracji:
Pierwsza iteracja: a = 1; s = 1;
Druga iteracja: a = 2; s = 3;
Trzecia iteracja: a = 3; s = 6;
4. iteracja: a = 4; s = 10;
5. iteracja: a = 5; s = 15
W rezultacie użytkownik zobaczy na ekranie liczbę "15" - sumę liczb od 1 do 5. Aby uczynić pierwszy program bardziej wszechstronnym, zastąp cyfry 1 i 5 zmiennymi.
Częste błędy
Podczas korzystania z pętli for, Pascal wymaga starannego rozważenia wartości {a}, {b}, {c}. Jeśli nie przestrzegasz zasad pisania programów, kompilator zgłosi błąd. Istnieje pięć takich zasad.
Licznik (parametr cyklu) {a} jest określony przez liczbę całkowitą.
Wartości {b} i {c} również muszą mieć typ całkowity. Na przykład musisz obliczyć wartość kąta podaną w radianach od 0 do p. Ale następny wpis kodu będzie niepoprawny dla: = 0 do pi do. Rozwiązaniem jest użycie funkcji zaokrąglania trunc () lub round (). Pierwszy odrzuca ułamkową część liczby rzeczywistej, druga - rundydo najbliższej całości.
Jeżeli użytkownik popełnił błąd i wskazał {b}
Po zakończeniu cyklu licznik {a} może mieć dowolną wartość. Chociaż jest to sprzeczne z logiką, ale w praktyce {a} {c}. Wniosek: nie zaleca się kontaktowania się z {a} po wykonaniu instrukcji for.
W treści pętli (tj. Po słowie do) nie zaleca się używania operatorów, którzy zmieniają wartość {a}. Zgodność z tą zasadą nie spowoduje błędu, ale logika programu zostanie naruszona.
Taka zasada jest ogólnie akceptowana i odpowiada "dobrej tonacji" w programowaniu: wygodnie byłoby pracować z kodem, który musi być zarejestrowany przez operatorów treści pętli nie z pierwszej kolumny. Na przykład robiąc odstęp 2-3 po lewej stronie lub używając klawisza Tab.
Dekret ten dotyczy nie tylko języka Pascala. Dla "manekinów" pozwala szybko znaleźć i naprawić błąd w instrukcjach.
Typowe zadania
Załóżmy, że konieczne jest wykonanie tabeli funkcji f (x) = 3 * x + 15, czyli uzyskanie tabeli M wartości funkcji z zakresu [x1; x2], gdzie x 1 i x 2 są wartościami minimalnymi i maksymalnymi argumentu. Aby rozwiązać ten i podobne problemy pomaga zaprojektować dla. Pascal zaleca się dodanie kodu w następujący sposób:
dla: = 1 do M do
,
rozpoczyna się
,
, x: = x1 + (x2-x1) * (a-1) /(m -1);
f: = 3 * x + 15;
writeln (x, '', f);
koniec
Jak skokowa zmiana x podawany jest wartość argumentu obliczona w czasie trwania programu w każdej iteracji, stosując wzór: x: = x1 + (x2- X1) * (a-1) /(m-1).
w cyklupętle
Biorąc pod uwagę, że dozwolone jest używanie dowolnych operatorów wewnątrz projektu, dozwolone jest umieszczenie w nim innej pętli. Pascal ma standardowy opis tego zadania, podobny do innych języków programowania:
FOR {a}: = {b} TO {c} DO
FOR {a1}: = {b1} TO {c1} DO
Aby konstrukcja działała poprawnie, warunek musi być przestrzegany: liczniki w każdym cyklu muszą być różne. W przeciwnym razie wewnętrzna pętla zmieni wartość parametru zewnętrznej pętli, co spowoduje błędy logiczne.