Dzwon.

Są ci, którzy przeczytali tę wiadomość przed tobą.
Subskrybuj odbieranie artykułów świeżych.
E-mail
Nazwa
Nazwisko
Jak chcesz przeczytać dzwonek
Bez spamu

Ogólnie rzecz biorąc, dzisiaj dowiemy się więcej o każdym szczegółach w Paskalach i zobaczymy, jak są ustawione. Demontujemy podczas gdy cykl z warunkami wstępnym, cykl z parametrem i powtórz cykl - aż do postcondition.

1. Cykl z parametrem na Pascal - dla

Cykl dla cyklu określa określony warunek, dla którego program będzie pracował, zanim zostanie wykonany, musimy pozwolić nam na 5 (lub n) razy, aby poluzować program, to jest łatwe do zrobienia z tym cyklem. Cykl ma charakterystykę charakterystyczną - licznik zwykle oznaczony literą I lub J.

Wygląd Cykl z parametrem na Pascalu:

dla I: \u003d 1 do n do // przypisujemy pierwszy pierwszy, a następnie dwa, trzy, ..., n

Po pierwszym przejściu zmiennej i przypisujemy 1, po drugim przydzielymy 2, a dopóki nie osiągniemy n. Jest wcześniej .. W porządku rosnącym, jest również spóźniona - przed .. w kolejności malejącym.

Obwód cyklu bloku z parametrem:

2. Cykl z prerelacją w Pascal - podczas gdy

Operator cyklu z warunkami wstępnym wykonuje działania z wyprzedzeniem nieznanego numeru. Wyjście z cyklu przeprowadza się, jeśli niektóre logiczne wyrażenie lub jego wynik będą fałszywe. Ponieważ na początku sprawdzana jest lojalność logicznego wyrażenia, korpus cyklu nie może być spełniony.

Struktura cyklu z warunkami wstępnym:

Podczas rozpoczęcia końca;

Logiczny wyraz, której prawda jest weryfikowana na początku wdrażania operatora cyklicznego;

Wszelkie operatory językowe wykonywane.

Procedura wykonywania cyklu:

Do tej pory stan jest naprawdę wykonywany przez korpus cyklu. Gdy tylko stan staje się fałszywy, wykonanie ograniczników cyklu.

Blokowy obwód cyklu z warunkami wstępnym:


Uwaga: W blokach prostokątnych każde działanie jest wyświetlane w cyklu lub po nim (etap cyklu), w owalizażu - początek lub końcu całego programu lub jego części. Główną rolą w tym bloku - schemat odgrywa swoją centralną część.

Przykład:

Zadanie: Oblicz sumę rzędu 1 + 1,5 + 2 + 2,5 + 3 + 3,5 +. + 30

przykład programu - podczas gdy;

Var sum: real; N: prawdziwy; Rozpocznij sumę: \u003d 0; n: \u003d 1; Podczas gdy N.

3. Cykl z powtórką - aż do.

Operator jest podobny do operatora cyklu z warunkami wstępnym, ale różni się od tego, że warunki walidacji są dokonywane po organizmie (działaniach) cyklu. Zapewnia to jego wykonanie przynajmniej raz w przeciwieństwie do wcześniej zdemontowanych cykli.

Zwróć uwagę na to ten operator. Cykl zakłada obecność kilku operatorów w korpusie cyklu, czyli, można wykonać kilka działań, więc słowa rozpoczynające i końcowe są nie są potrzebne.

Sekwencja operatorów zawartych w korpusie cyklu jest wykonywana raz, po czym warunek zarejestrowany przez następuje sprawdzane przez Słowo Służb. Jeśli warunek nie jest przestrzegany, cykl jest zakończony. W przeciwnym razie korpus cyklu powtarza się ponownie, po czym warunek jest ponownie sprawdzany.

Schemat cyklu bloku z listką:

Format nagrywania, struktura cyklu:
Powtarzać dopóki;

Przykład:

Test programowy2; Var b: real; Rozpocznij b: \u003d 100; Powtórz B: \u003d b / 2; Do B.

Wnioski:

1. Cylcon z parametrem jest używany przez zmienną o nazwie parametr lub metr cyklu. Przed wykonaniem cyklu parametr (metr) jest ustawiony początkowe znaczenie. Po zakończeniu etapu cyklu wartość parametru jest zwiększona przez jeden. Cykl trwa, aż parametr osiągnie ostateczną wartość, która jest wskazana po (Downto).

2. Cykl z warunkiem wstępnym jest wykonywany do momentu, aż stan wykonania stał się fałszywy i kontynuuje, jeśli warunek jest prawdziwy.

3. Cykl z postem jest wykonywany do momentu, gdy warunek stanie się prawdziwie, jeśli warunek jest fałszywy, cykl trwa.

cel, powód: Daj koncepcję cykli z parametrem, schematy blokowe przedstawiające takie cykle. Aby uczyć się w prywatnych przykładach, aby sporządzić schematy blokowe i programy z cyklami; Aby zapewnić koncepcję różnic między cyklami z warunkami wstępnymi, odroczonymi i cyklem z parametrem; Aby uczyć się w jednym programie, aby użyć różnych cykli, jeśli program zawiera kilka cykli; Wprowadź i wykonaj programy za pomocą kompilatorów BPW lub Turbo Pascal.

1. Operator. Cykl na ... do ... do ...

Czasami jest znany z góry, ile razy należy wykonać cykl. W przypadku zadań tego typu w języku Pascala znajdują się operatorzy cykle z parametrami .
Format nagrywania takich operatorów jest następujący:
dla<par. Cyklala.> := <nach.> do.<kon.konk..> zrobić. <operator>.
Tutaj dla, do., zrobić. - zarezerwowane słowa (dla, przed, wykonać);
<para. cykl\u003e - parametr cyklu - zmienna typu Liczba całkowita (dokładniej, każda typ porządkowy);
<nach. Wartość.\u003e - Wartość początkowa jest liczbą lub ekspresją tego samego typu;
<kon. Wartość.\u003e - Ostateczna wartość - liczba lub ekspresję tego samego typu;
<operator\u003e - arbitralny operator Pascal.
Jeśli jest kilka operatorów, jak w operatorze podczas ... zrobić ... Używane są wsporniki operatora: rozpocznij ... koniec..
Na przykład takie zapisy operatora cyklu są możliwe:

dla I: \u003d a do. B. zrobić. S1;

dla J: \u003d a do. B. zacznij. S1; S2; ..., SN. koniec.; lub

dla K: \u003d p do. M. zrobić.
Zaczynać.
S1;
S2;
...
Sn.
Koniec.;

Oto S1, S2, S3, ... operatorzy cyklu SN.
Podczas wykonywania operatora dla Początkowo wyrażenie jest obliczane<nach..\u003e i przypisanie jego wartości zmiennej cyklu
<par. Cyklala.> := <nach. Wartość.>.
Po tym, cyklicznie powtórzyć:
1) Warunki weryfikacji<par. Cyklala.> <kon. Wartość.\u003e; Jeśli warunek nie zostanie wykonany, operator dla uzupełnia pracę;
2) Wykonanie operatora<operator\u003e lub operatorzy S1; S2; S3; ... SN;
3) zmienna cyklu<para. cykl\u003e Wzrasta na jednostkę.

Musimy natychmiast zauważyć co ustawić krok cyklu, jest inny niż 1 w tym operatorze, jest to niemożliwe.


Graficzny obraz cykli dla Będzie to takie (patrz rys. 33):

Figa. 33.

Tutaj: cykl zmienny; n jest jego początkowym znaczeniem; K jest jego ostatecznym znaczeniem. Ciało cyklu jest operatorem lub kilkoma operatorami: S1; S2; ... SN; które są narysowane w prostokącie.

Aby zilustrować pracę operatora dla Rozważmy przykład, który staje się tradycyjny podczas badania pracy tego operatora.

Przykład 1. Skompiluj program do obliczania numeru czynnościowego N, tj. N!

Przypomnijmy od matematyki, że czynnik liczb n jest równy produktowi liczb od 1 do n.
Na przykład:

Z. modyfikować . W matematyce akceptowane: 0! \u003d 1.


Schemat blokowy


Figa. 34.

Program

Program Problem1; (Obliczanie numeru czynnego N!)
używa. Wincrt;
var.
n, f, i: Longint;
zaczynać.

F: \u003d 1;
gdyby N.<> 0 następnie. dla I: \u003d 1 do. N. zrobić. f: \u003d f * i;
koniec.

Zmienna N - dla użytkownika wprowadzonego przez użytkownika, którego należy znaleźć; F - zmienna, w której będzie " gromadzić"Wartość numeru czynnego n; I jest zmienną cyklu.
Wartość początkowa zmiennej F: \u003d 1 jest ustawiona.
Następnie rozpoczyna się cykl. Zmienna I jest przypisana wartość początkowa 1; Jest porównywany z skończonym - n (1<= n), jeśli Stan jest prawdziwy następnie Operator jest wykonywany (w tym programie jest jeden): F: \u003d f * i, 1 * 1 \u003d 1; Wartość zmiennej cyklu wzrasta o 1, tj. Będzie to równe: i: \u003d i + 1, 1 + 1 \u003d 2, a cykl jest powtarzany.
Gdy wartość, którą będę równy n, następnie Cykl jest ostatnio wykonany, ponieważ kolejna wartość, którą będzie N + 1, co jest bardziej ostateczną wartością n, stan: schorzenie JA.<= n - fałszyweCykl nie jest wykonywany.

2. Operator cyklu. Dla ... Downto ... do ...

Jest inna forma operatora cyklu dla:
dla<par. Tsik..> := <nach. Zn..> aż do. <kon. Zn..> zrobić. <operator>.

Wymiana zarezerwowanego słowa do. na aż do. Oznacza to, że krok parametrów cyklu jest równy (-1).

Zmiana wartości parametru wynika z większej wartości do mniejszego, tj.
<nach. Wartość.> <kon. Wartość.>.
Liczba obliczeń czynności może być skompilowany za pomocą operatora cyklu.
Program

Program Problem1a;
używa. Wincrt;
var.
N, i, f: Longint;
zaczynać.
Napisz ("Wprowadź numer naturalny"); Readln (n);
F: \u003d 1;
gdyby N.<> 0 następnie. dla I: \u003d n aż do.1 zrobić. f: \u003d f * i;
Writeln ("Numery czynów", N, "równe", f)
koniec.

1. Zmień program, dzięki czemu pojawi się ekran, a nie kwadraty tabeli liczb od 1 do N, a kwadrat tylko jednego numeru n wprowadzany przez użytkownika.

2. Zmień i dodaj program, aby da wartość kwadratu numeru i te nieparzyste liczby, których suma jest równa.

3 . Kontynuacja temat budowy numerów naturalnych w stopniubez operacji mnożenia należy rozważyć dwa ciekawe przykłady. W pierwszym z nich będziemy musieli połączyć się " inwestować"W każdym z dwóch cyklach dla, a w drugim cykle dlai powtarzać.

Przykład 3. Cube o dowolnej liczbie Naturalnej N jest równa ilości n liczb nieparzystych następujących w kolejności liczb, której suma była sześcianem poprzedniego numeru N - 1:

13 = 1
23 = 3 + 5
33 = 7 + 9 + 11
43 = 13 + 15 + 17 + 19
. . . . . . . . . . . . . . . . . . . . . .

Na podstawie tej właściwości utwórz program, który umożliwia wydrukowanie kostek tabeli numerów naturalnych.

Tutaj już potrzebujesz dwóch cykli. Jeden - zewnętrzny , przez liczbę liczb nieparzystych, która jest równa liczbie w kostce, na przykład, na przykład, dla 43 cykl ten powinien być wykonany 4 razy. W tym samym cyklu będzie konieczne po liczeniu ilości do wyjścia jego wartości na ekranie wraz z liczbą, która jest wbudowana w kostkę.
Drugi jest wewnętrzny który podsumowuje liczby nieparzyste i " produkować"Pożądane liczby nieparzyste do sumowania.


Schemat blokowy

Figa. 36.

Program

Program Problem3; (Kostki numery naturalnych od 1 do n)
używa. Wincrt;
var.
I, J, N, S, K: Longint;
zaczynać.
Writeln ("Wprowadź numer naturalny, do którego potrzebujesz");
Napisz ("Wyświetl liczby Kuba"); Readln (n);
Writeln ("kostki liczb są następujące:");
k: \u003d 1;
dla I: \u003d 1 do. N. zrobić.
zaczynać.
S: \u003d 0;
dla J: \u003d 1 do. JA. zrobić.
zaczynać.
S: \u003d S + K;
k: \u003d k + 2
koniec.;
Writeln ("kostka liczb", ja, "równa", s)
koniec.
koniec.

Przeanalizujemy pracę tego programu

Zmienne I i J są potrzebne jako zmienne pierwszego - zewnętrzne i drugie cykli wewnętrzne. Zmienna k dla liczb nieparzystych i s do ilości liczb. Typ tych zmiennych jest ustawiony przez całość, ale Longint, ponieważ może być dość duże liczby całkowite, duże 32767.
Program zaczyna się od żądania użytkownika za pomocą operatorów WRITELN i zapisu na temat wprowadzania numeru naturalnego, do którego konieczne jest wydanie tabeli kostek liczb. Następnie za pomocą instrukcji Readln wartość ta jest wprowadzana do pamięci komputera i przypisana zmienną N.
Wyświetlany jest napis " Numery kostki są następujące" Same numery są wysyłane. Zmienna K jest przypisana pierwszą nieparzystą wartość 1.
Cykl zewnętrzny zaczyna się pod względem liczb, od 1 do n. W cyklu kilku operatorów, więc " otwarcie"Wsporniki operatora: - zaczynać ...
Przed rozpoczęciem cyklu wewnętrznego zmienna jest resetowana. A takie zerowanie nastąpi za każdym razem, gdy się powtórzył zewnętrzny Cykl przed rozpoczęciem cyklu wewnętrznego.
Wewnętrzny cykl jest wykonywany od 1 do I. Dlaczego? Ilość oblicza się w cyklu i nieparzystym k do 2, tj. " wytworzony"Kolejny nieparzysty numer.

Uwaga! Zmienna K nie jest przypisana przed rozpoczęciem każdego cyklu wewnętrznego 1. Dlaczego?
Następny operator Writeln wewnątrz cyklu zewnętrznego jest wydawane informacje na ekranie. Dlaczego znajduje się w cyklu zewnętrznym?

Przykład 4. Od matematyki wiadomo, że każdy naturalny stopień Num N jest sumą n kolejnych nieparzystej liczby naturalnych. Zrób program, który dla każdego stopnia naturalnego nr n znajdziełoby sekwencję liczb nieparzystych, których kwota jest równa tej stopniu.

Na przykład, dla 53, wydałby sekwencję liczb: 21, 23, 25, 27, 29.

Plan kompilacji programu

1. Określ cel programu: jest to konieczne pokazać to naprawdę każdy naturalny stopień naturalny mogą Obecny w formie sumy spójnych liczb nieparzystnych.
A jeśli tak, absolutnie musimy znać wartość numer n ze wskaźnikiem k.
Można to zrobić za pomocą prostego cyklu:

s: \u003d 1;
dla I: \u003d 1 do. K. zrobić. S: \u003d s * n;

Stopień gromadzi się w zmiennej S, ponieważ jest to ustawione na wartość początkowa 1.
W cyklu wartość zmiennej S jest konsekwentnie konsekwentnie, Kkły KS pomnożone do podstawy stopnia n. Po wykonaniu cyklu zmienna S otrzyma wartość nr n z wskaźnikiem K.
2. Cała ostrość tego problemu jest to, że jest nieznana pierwsza liczba nieparzystalna, z której należy rozpocząć podsumowanie kolejnych liczb nieparzystnych.
Za to jest to konieczne próbować początkowo umieścić nieparzyste liczby od 1 i dalej (ich liczba jest znana - n);
1 + 3 + 5 + 7 + 9 ...,
A następnie sprawdź wynik, w porównaniu z wartością stopnia. Jeżeli równość jest wykonywana, wykończ cykl i wyświetlmy numery uzyskiwane, jeśli równość nie jest wykonana, musisz rozpocząć sumowanie z następnej liczby nieparzystej - 3: 3 + 5 + 7 + 9 ... itp .
Ten proces jest łatwiejszy do organizowania cyklu. powtarzać.. Zmienna J, która ustawi kolejne numery nieparzyste przed rozpoczęciem cyklu, wartością początkową 1.
Ogólny widok takiego cyklu:

j: \u003d 1;
powtarzać.
. . . . . .
J: \u003d j + 2
aż do ... \u003d s;

3. Pozostaje przemyślana, jak policzyć sumę spójnych liczb nieparzystych. Nadaliśmy już na to pytanie i wiemy, że dla tego musisz stworzyć cykl od 1 do N, w którym w jednej z zmiennych, powiedzmy, m, gromadzą tę kwotę, a druga zmienna powinna " produkować"Kolejny nieparzysty numer.
Ten cykl można napisać jako:

p: \u003d j; M: \u003d 0;
dla I: \u003d 1 do. N. zrobić.
Zaczynać.
M: \u003d m + p;
P: \u003d p + 2
koniec.;

Uwaga! Zmienna p, każdy cykl powtarzać., (na zewnątrz), otrzyma nową wartość początkową liczby nieparzystej, a zmienna M - dla kwoty powinna zostać zresetowana do każdego nowego sumowania dla innej sekwencji liczb nieparzystych.
4. Wreszcie, gdy znaleziono sekwencję liczb nieparzystych, należy go wyświetlić. Aby to zrobić, konieczne jest zorganizowanie innego cyklu od 1 do N, w którym w celu uzyskania wartości tych liczb nieparzystych. Dla pierwszej liczby nieparzystej z sekwencji konieczne jest podjęcie wartości J, ale ponieważ już wzrosły o 2, a następnie z J, odejmij 2. Ten cykl będzie:

j: \u003d j - 2;
dla I: \u003d 1 do. N. zrobić.
Zaczynać.
Napisz (j, "");
J: \u003d j + 2
Koniec.

Schemat blokowy

Figa . 37
Program

Program Problem4;
używa. Wincrt;
var.
N, i, k, j, m, s, p: longint;
zaczynać.
Napisz ("Wprowadź numer naturalny - stopień"); Readln (n);
Napisz ("Wprowadź naturalny numer - wskaźnik stopnia"); Readln (K);
S: \u003d 1; J: \u003d 1;
dla I: \u003d 1 do. K. zrobić. S: \u003d s * n;
powtarzać.
P: \u003d j;
M: \u003d 0;
dla I: \u003d 1 do. N. zrobić.
zaczynać.
M: \u003d m + p;
P: \u003d p + 2
koniec.;
J: \u003d j + 2
aż do m \u003d s;
Napisz ("stopień z podstawą", N);
Writeln ("i wskaźnik", k, "to znaczy", s);
Writeln ("równa sumie następujących liczb nieparzystych");
J: \u003d j - 2;
dlai: \u003d 1 do. N. zrobić.
zaczynać.
Napisz (j, "");
J: \u003d j + 2
koniec.
koniec.

Aby lepiej zrozumieć jej pracę, weź stopień 25 i sprawdzić, jak zostaną wykonane operatorzy programu.

1 . Wykonaj ten program na komputerach.

2 . Zrób diagram blokowy i program, który dowiaduje się, czy praca może
a) trzy; b) Cztery kolejne liczby naturalne równe pewnym stopniu liczby naturalnej (kwadrat, kostka itp.)?

4. Różne zadania

Przykład 5. Wydrukuj wszystkie czterocyfrowe numery, w kierunku dziesiętnym, którego nie ma dwóch identycznych numerów.

Komentarz . Przed rozpoczęciem kompilacji schematu tego zadania powinieneś wiedzieć, w jakimi cykle pętli są przedstawiane dla cykli z parametrami. Ogólna konstrukcja dwóch zainwestowanych cykli z parametrami będzie taka:


Figa. 38.
Natychmiast pojawia się pomysł, aby dokonać programu zgodnie z następującym schemacją:
zorganizować cykl Jeśli chodzi o liczbę tysięcy, t od 1 do 9, a następnie wewnętrzne cykle.: przez liczbę setek, s od 0 do 9; W liczbie dziesiątek D od 0 do 9; przez liczbę jednostek, E od 0 do 9; Sprawdź warunki: jeśli Liczby są różne następnie Składa się z nich czterocyfrowy numer do produkcji na ekranie.
Schemat blokowy

Figa. 39.
Program

Program Problem5; (Pierwszy sposób)
używa. Wincrt;
var.
T, s, d, e: liczby całkowitej;
zaczynać.
dla T: \u003d 1 do. 9 zrobić.
dla S: \u003d 0 do. 9 zrobić.
dla D: \u003d 0 do. 9 zrobić.
dla E: \u003d 0 do. 9 zrobić.
gdyby (T.<> s) i. (T.<> re) i. (T.<> mi) i. (S.<> re) i.
(S.<> mi) i. (RE.<> mi)
następnie. Napisz (T * 1000 + S * 100 + D * 10 + E, "")
koniec..

Jasne jest, że ten program jest irracjonalny. W nim wszystkie cykle są wykonane całkowicie.
Program można poprawić w ten sposób. Po wykonaniu cyklu setek, następny cykl dziesiątek należy uruchomić, aby wykonać, jeśli Cyfra setek s nie jest równa liczbie tysięcy t, w przeciwnym razie inaczej , Cykl setki należy kontynuować, tj. Weź następującą cyfrę setek.
W przypadku danych dziesiątki ustalają również stan, który zostanie wykonany następny cykl jednostek, jeśli Cyfra dziesiątek D nie jest równa liczbie setek i tysięcy, w przeciwnym razie, inaczej , Konieczne jest przejście do następnej cyfry dziesiątek.
I wtedy, " wewnątrz"Cykl jednostek wystarczy, aby zapisać stan, jeśli Dane jednostki mI. nie równy cyfrze dziesiątek rE., setki s. i tysiące. t,następnie numer czterocyfrowy jest żądany i jest wyświetlany.


Schemat blokowy

Figa . 40

Program

Program Problem5a; (2. sposób)
używa. Wincrt;
var.
T, s, d, e: liczby całkowitej;
zaczynać.
Writeln ("wszystkie czterocyfrowe numery z różnych liczb");
dla T: \u003d 1 do. 9 zrobić.
dla S: \u003d 0 do. 9 zrobić, jeśli S.<> T. następnie.
dla D: \u003d 0 do. 9 zrobić, jeśli (RE.<> s) i. (RE.<> t) następnie.
dla E: \u003d 0 do. 9 zrobić.
gdyby (MI.<> re) i. (MI.<> s) i. (MI.<> t)
następnie. Napisz ((((T * 10 + S) * 10 + D) * 10) + E, "")
koniec..

Zadanie 4.

1. Wypełnij i zmień ten program, aby porzucić nie tylko różne czterocyfrowe numery na ekranie, ale także ich ilość.

2. Podczas mnożenia czterocyfrowej liczby składającej się z różnych liczb, okazało się, że jest to liczba w produkcie, która różniła się od faktu, że między liczbami tysięcy i setek. Znajdź wiele. Utwórz diagram blokujący i program.

Przykład 6. Trzy liczby naturalnych A, B, C, satysfakcjonującej równości: - nazywa się numery Pitagora.
Na przykład, 3, 4 i 5 to Pitagoras, ponieważ

Zrób program do znalezienia i drukowania wszystkich numerów Pepagorov nieprzekraczający 20.

Matematyka tego pytania jest prosta. Dla liczb A, B i C, możliwe wartości są liczbami naturalnymi od 1 do 20.
Wartość początkową A jest jedną, A \u003d 1. Wyglądamy wszelkiego rodzaju wartości od 1 do 20, a także wartości C od 1 do 20 i sprawdzają wykonanie równości AA + BB \u003d C C . Po przeprowadzeniu równości, wyświetlają wartości A, B i C.
Następnie musisz wziąć wartość A \u003d 2 i sprawdzić, czy wartości B jest już od 2 do 20. Dlaczego nie z 1, ale z 2? Tak, ponieważ zestaw dwóch liczb z 1 i 2 został już uwzględniony w wartościach A \u003d 1 i B \u003d 2, aby nie powtarzać wartości A i B, tj. Unikaj pojawienia się dwóch identycznych par liczb, wartości B należy rozpocząć oglądanie lub wartość zA. lub OT. zA. do 20.
W tym względzie istnieje kilka sposobów na organizację cykli do zmiennych A i b.
Pierwszy sposób:

dla A: \u003d 1 do. 20 zrobić.
Dla B: \u003d a do. 20 zrobić.

2. sposób:

dla A: \u003d 20 aż do. 1 zrobić.
Dla B: \u003d 1 do. ZA. zrobić.

3. sposób:

dla A: \u003d 1 do. 20 zrobić.
Dla B: \u003d 1 do. ZA. zrobić.

Nie jest trudno zobaczyć, że każda z tych metod nie zostanie powtórzona para liczb. Sprawdź to sam.
Dla wartości C, musimy sprawdzić wszystkie numery naturalne od 1 do 20 dla każdej pary liczb A i b. Dlatego cykl dla C powinien być taki: dla C: \u003d 1 do. 20 zrobić.

Schemat blokowy

Figa . 41

Program

Program Problem6;
używa. Wincrt;
var.
A, B, C: Integer;
zaczynać.
Writeln ("Troika Pitagora Numery z Gap");
dla A: \u003d 1 do. 20 zrobić.
dla B: \u003d 1 do. ZA. zrobić.
dla C: \u003d 1 do. 20 zrobić.
gdyby A * A + B * B \u003d C * C następnie. Writeln (A ",", B, "", C)
koniec..

1. Wykonaj schemat blokowy i program, który znajduje wszystkie roztwory równania, w którym N jest określoną liczbą, z luki.

2. Znajdź wszystkie naturalne X z luki, dla której wyrażenie jest kwadratem naturalnego numeru.

Przykład 7. W pewnym sensie dana liczba naturalna N może być reprezentowana jako suma dwóch kostek liczb naturalnych:

Perymentowanie wyładowania nowej metody nie daje. Nie możemy użyć konstrukcji 1/3.

Natychmiast pojawia się kolejny prosty pomysł programu.

Organizuj dwa cykle, jeden - zewnętrzny cykl ze zmienną I od 1 do N, a drugi - wewnętrzny cykl J, również od 1 do n.

Istota programu będzie następująca:

pierwsza wartość I wynosi 1, jest mnożona trzy razy na sobie (jest to zastępowane przez budowę trzeciego stopnia);
następnie " ruszamy"Wszystkie wartości j od 1 do n, z których każdy również mnoży trzy razy na sobie i jest zgodny z wartością I i I.E. I na Kubie;
Ponadto ilość ta jest sprawdzana, czy jest równa wartości N, jeśli równość jest wykonywana, a następnie licznik, oczywiście zdefiniowany w programie wzrasta o 1, a wartości I i J mogą być wyświetlane;
Cykl według I kontynuuje, trwa druga wartość - 2, a cykl wewnętrzny J od 1 do N jest ponownie uruchomiony i tak dalej.
Jeśli przygotowujemy program na ten plan, będzie miał dwie istotne wady:
1) Odbywa się wiele bezużytecznych prac - obie cykle są zorganizowane od 1 do N i między nimi wiele zbędnych (tylko do podjęcia wartości od 1 do korzenia sześciennego z N);
2) Program wytwarza wartości otrzymywane przez przegrupowanie warunków, na przykład: 2 2 2 + 3 3 \u003d 35 i 3 3 3 + 2 2 \u003d 35, co jest nieprawidłowe przez stan problemu . Jak wyeliminować te niedociągnięcia?
Pierwsza wada jest wyeliminowana, jeśli najpierw dowiesz się, ile wartości dla każdej z numerów należy uznać za nierówność.
Aby to zrobić, możesz zorganizować cykl z warunkami wstępnym, cyklem " aż do "W którym licznik jest k, który policzyłby, ile razy cykl zostanie przeprowadzony.

Można to zrobić w ten sposób:

k: \u003d 0; I: \u003d 1;
podczas I * I * I + 1<= n zrobić.
Zaczynać.
k: \u003d k + 1;
I: \u003d i + 1
Koniec.;


Teraz możesz znacznie zmniejszyć liczbę cykli dla " testy"Numery i organizuj je od 1 do K, ponieważ z wartościami I większych niż K, nawet z najmniejszą wartością J (J: \u003d 2) nierówności I I I + 1<=n не выполняется.
Aby wyeliminować drugą wadę, tj., Aby nie wydawać opcji z permutacją terminów, które możesz zrobić:

zewnętrzny cykl pierwszej pierwszej liczby w celu ustalenia od K do 1 i wewnętrznego cyklu dla drugiej liczby J do zrobienia od 1 do I. Będzie to część programu:

p: \u003d 0;
dla I: \u003d k aż do. 1 zrobić.
dla J: \u003d 1 do. JA. zrobić.
gdyby I * i * i + j * j * j \u003d n
następnie.
zaczynać.
P: \u003d p + 1;
koniec.;

Ostrożnie radzić sobie z tą częścią programu i uważaj, dlaczego w tym przypadku unikamy powtarzających się opcji i wykluczają przypadki permutacji terminów?

Lewo miły Zakończ program. W końcu często będzie możliwe spełnienie przypadków, gdy liczba nie może zostać złożona w postaci kwoty kostek dwóch liczb. Konieczne jest uwzględnienie tej okoliczności.

Aby to zrobić, po wykonaniu wszystkich cykli, wprowadzamy warunkowy operator, w którym, w zależności od wartości licznika P, odpowiednie komunikaty zostaną wydane.

Jeśli p \u003d 0, następnie Podaj wiadomość, że numer nie może zostać złożony jako suma kostek dwóch liczb i inaczej, Wydaj wiadomość o liczbie sposobów.
Ta część programu może być wykonana w następujący sposób:

gdyby p \u003d 0.
następnie.
zaczynać.

koniec.
jESZCZE.


Schemat blokowy


Figa . 42

Program

Program Problem7;
używa. Wincrt;
var.
I, J, N, K, P: Longint;
zaczynać.
Napisz ("Wprowadź numer naturalny"); Readln (n);
k: \u003d 0; I: \u003d 1;
podczas I * I * I + 1<= n zrobić.
zaczynać.
k: \u003d k + 1; I: \u003d i + 1
koniec.;
P: \u003d 0;
dla I: \u003d k aż do. 1 zrobić.
dla J: \u003d 1 do. JA. zrobić.
gdyby I * i * i + j * j * j \u003d n
następnie.
zaczynać.
P: \u003d p + 1;
Writeln (i, "*", ja, "*", ja, "+", j, "*", j, "*", j, "\u003d", n)
koniec.;
gdyby p \u003d 0.
następnie.
zaczynać.
Napisz ("Numer", N, "nie można przesłać w formie");
Writeln ("Ilość kostek dwóch liczb")
koniec.
jESZCZE. Writeln ("Liczba sposobów jest równa", P)
koniec..

Kolejne rozwiązanie tego zadania

Program Problem7b;
używa. Wincrt;
etykieta1, 2;
var.
I, J, M, K, N: Longint;
zaczynać.
Napisz ("Wprowadź numer naturalny"); Readln (n);
M: \u003d 0; I: \u003d 1; J: \u003d 1;
podczas j * j * j + 1< n zrobić. j: \u003d j + 1;
powtarzać.
k: \u003d i * i * i + j * j * j;
gdyby K \u003d n. następnie. M: \u003d m + 1;
gdyby K.<= n następnie. I: \u003d I + 1;
gdyby k\u003e \u003d n następnie. J: \u003d j - 1;
aż do i\u003e j;
gdyby M \u003d 0. następnie przejdź do. 1;
Napisz ("Numer", N, "może być reprezentowany jako suma");
Writeln ("kostki dwóch liczb", m, "sposoby"); Goto 2;
1: zapis ("Ten numer nie jest wyobrażany w formie");
Writeln ("Ilość dwóch kostek liczb");
2: koniec..

Biorąc pod uwagę naturalne n. Czy można przedstawić w formie sumy trzech kwadratów liczb naturalnych? Jeśli możesz, wskaż wszystkie trzy x, y, z takich naturalnych numerów, że permutacja składników nowej metody nie daje. Utwórz diagram blokujący i program.

5. Przekształcenie typu

Przykład 8. Dwie cyfrowa liczba dziesiętna w ilości z liczbą zapisaną przez te same liczby, ale w odwrotnej kolejności, zapewnia pełny kwadrat. Znajdź wszystkie takie numery.

Niech pożądany dwucyfrowy numer \u003d 10 + b, a następnie numer zapisany przez te same liczby, ale w odwrotnej kolejności będzie \u003d b 10 + A, na przykład 12 i 21, 13 i 31 itd.
Suma tych liczb powinna dać pełny kwadrat, tj. Dokładny kwadrat liczb całkowitych. Jak to sprawdzić?
Kontrola może być wykonana taka: Usuń pierwiastek kwadratowy z uzyskanej ilości; Następnie zaokrągleniem wyniku zależy od liczby całkowitej, a następnie pomnóż wynik wyniku, jeśli suma tych liczb jest ponownie, oznacza to, że jest to dokładny lub pełny kwadrat.
Na przykład 12 + 21 \u003d 33, usuń pierwiastek kwadratowy z 33, to 5,74 ...; Zaokrąglony, będzie 6; Pomnóż 6 samodzielnie i zdobądź 36.
Nie otrzymaliśmy wyniku źródła, sumy 33 nie jest dokładnym kwadratem.
Inny przykład, aby zrozumieć pomysł rozwiązywania. Niech dwucyfrowy numer 29, a następnie numer zapisany przez te same liczby, ale w odwrotnej kolejności - 92, w ilości, którą dają 121. Usunąć pierwiastek kwadratowy 121 i otrzymamy 11. Mnapling 11 samego siebie 121. Dokonujemy wniosku, że otrzymał dokładny kwadrat, a zatem żądany jest dwucyfrowy numer 29.
Aby dokonać programu na tej zasadzie, będziesz musiał wyodrębnić pierwiastek kwadratowy z kwoty, które można wykonać za pomocą standardowej funkcji SQRT (X). Wynik funkcji SQRT (X) jest numerem rzeczywistym, musi być zaokrąglona lub odrzucić część frakcyjną, a nie jesteśmy znani, jak to zrobić.
Ale, jeszcze bardziej znaczący, jest to, że jeśli kwadratowy korzeń w zestawie liczb całkowitych jest ekstrahowany, jak na 121 (jest równa 11), a następnie na wielu liczbach rzeczywistych nie otrzymujemy ścisłej liczby 11, a wynik będzie bardzo blisko 11 i po mnożenia na sobie nie będzie działać 121, tj. Jest potrzeba przekształcać Prawdziwa wartość w całości.
Więc przed nami Dwa zadania: 1) Dowiedz się, jak okrągłe liczby i; 2) Zainstaluj jak przekonwertować rzeczywisty typ w całości.

Aby to zrobić, na Pascale znajdują się standardowe funkcje rundy (X) i Trunc (X)

Standardowe funkcje okrągły i trunc. Zaprojektowany, aby zastąpić wartości rzeczywistego typu według wartości całego typu.
Funkcjonować okrągły(x) Okrągły prawdziwą liczbę x do całości - jego wartość jest najbliższą liczbą całkowitą:
okrągły(4.2) = 4, okrągły(4.7) = 5, okrągły(4.5)=5,
Okrągły(-4.2) = -4, okrągły(-4.7) = -5, okrągły(-4.5) = -5.
Funkcjonować trunc.(x) rzuca (bez zaokrąglenia) części frakcyjnej rzeczywistej liczby X:
trunc.(1.2) = 1, trunc.(5.8) = 5, trunc.(-1.2) = -1,
Trunc.(-5.8) = -5, trunc.(-6.7) = -6, trunc.(8,9) = 8

Funkcje zaokrąglone są powiązane:
trunc.(x + 0,5) \u003d okrągły(x), jeśli x 0,
trunc.(x - 0,5) \u003d okrągły(x), jeśli X.< 0.
W programie możesz użyć jednej z tych funkcji. Co? Pomyśl sam i spróbuj najpierw zastosować funkcję w programie. trunc., a następnie wymień go okrągły i porównaj uzyskane wyniki.

  • Pokaż, że czterocyfrowy numer, który liczba tysięcy i dziesiątki są takie same, a liczba setek i jednostek są również takie same, nie może być precyzyjnym kwadratem.
  • Praca sześciu kolejnych liczb naturalnych może być równa produktowi trzech kolejnych liczb naturalnych. Na przykład 1 2 3 4 5 6 \u003d 8 9 10 \u003d 720. Czy są więcej liczb?
  • Udowodnij, że produkt czterech kolejnych liczb całkowitych w ilości z jednostką daje pełny kwadrat.
  • Znajdź 11 kolejnych liczb naturalnych, której suma kwadratów jest kwadratem liczby całkowitej.
  • Czy są takie liczby całkowite, które zmniejszają 57 razy, gdy wyskakujesz swoje pierwsze (po lewej) figurach?
  • Znajdź czterocyfrowy numer, wiedząc, że jest to kwadrat liczby naturalnej i że liczby są rozpadane na dwie pary składające się z tych samych cyfr.
  • Znajdź wszystkie siedmiocyfrowe liczby podzielone na 15 i nagrane tylko przez numery 0 i 1.
  • Sześciocyfrowy numer zaczyna się od rysunku 1. Jeśli liczba ta zostanie zmieniona na końcu liczby, nowy numer będzie trzy razy więcej inicjał. Znajdź numer.
  • Ile dokładnych kwadratów można wykonać z numerów 3, 4, 5, 6?
  • Istnieje 20 różnych liczb naturalnych, a nie duży 50. Znajdź dwa z nich, której różnica jest równa 4, 5 lub 9.
  • Ile razy liczba dwukierunkowa liczba wzrasta, jeśli masz do niego, aby przypisać ten sam dwucyfrowy numer?
  • Określ najwyższą wartość stosunku trzech cyfrowych numerów do liczby równej ilości liczby tej liczby.
  • Znajdź trzycyfrowy numer, wiele 45, jeśli różnica między tym numerem a liczbą zarejestrowaną przez te same numery, ale w odwrotnej kolejności wynosi 297.
  • Znajdź czterocyfrowy numer, wiele 11, pod warunkiem: b + C \u003d a i jest pełny kwadrat.
  • Znajdź trzycyfrową liczbę równą ilości cyfry dziesiątek, liczby kwadratowych setek i liczby kostek jednostek.
  • Znajdź dwie liczby, których produkt jest trzycyfrowym numerem, który jest sześcianem pewnej liczby, a prywatny jest plac tego numeru.
  • Różnica między liczbą a produktem jego numerów jest równa ilości liczb tej liczby. Znajdź ten numer.
  • Znajdź wszystkie wartości liczby M, dla których kwota wynosi 1! + 2! +, + m! Jest to kompletny kwadrat.
  • Znajdź pozytywny czterocyfrowy numer, wiele 7 i reprezentujących ilość kostki i kwadratu pewnej liczby.
  • Niektóre liczby w Division o 7 daje w pozostałości 3; Jego kwadrat przy dzieleniu się na 72 daje pozostałość 44; Jego sześcian z podziałem na 73 daje pozostałość 111. Znajdź ten numer.
    1. W jakim rodzaju wartości naturalnej jest liczba A2 + A + 1589 będzie precyzyjnym kwadratem?
    2. Znajdź idealną liczbę formularza 16p.
    3. Znajdź dwie liczby, jeśli suma ich kwadratów wynosi 468, a suma ich całkowitego największego dzielnika i najmniejszej wielokrotności wynosi 42.

    Instrukcje dotyczące cyklu do wdrażania struktury algorytmicznej cykl z parametrem (lub cykl z metrem). Cykl dla cyklu jest używany w przypadku, gdy program, przed wykonaniem instrukcji cyklu, staje się znany (lub zdefiniowany z góry) liczbę etapów tego cyklu. Na schemacie blokowym, dla instrukcji jest przedstawiony następująco:

    Składnia:

    Dla ( inicjalizacja; stan: schorzenie; modyfikacja) (Instrukcje korpusu cyklu;)

    Jeśli istnieje jedna instrukcja w korpusie cyklu, może zostać pominięta. Cykl zmiennych parametrów (licznik) może być dowolnym typem numerycznym. Dzięki temu cykl dla C ++ jako uniwersalny cykl typu. W sekcji Modyfikacja, operacja Postfix lub przyrost prefiksu (lub obniżenie (lub zmniejszania) jest najczęściej stosowana, ale można użyć dowolnej ekspresji przypisania, która zmienia wartość parametru cyklu. Cykl działa w następujący sposób:

    • Na początku istnieje opis i inicjalizacja licznika
    • Następne warunki Sprawdź: Jeśli sprawy ekspresji prawdziwe.nastąpi, iteracja
    • Po wykonaniu instrukcji korpusu cyklu modyfikacja miernika jest modyfikowana

    Uwaga: C ++ jest regułą, aby uzyskać opis licznika w nagłówku cyklu. Ale to niekoniecznie, zwłaszcza jeśli planujesz zainicjowanie kilku zmiennych w sekcji inicjalizacji, ponieważ jest on wdrażany w programie 9.2. Jednakże stosowanie opisu licznika zmiennego w nagłówku cyklu prowadzi do opisu zmiennej lokalnej zniszczonej automatycznie po zakończeniu operacji cyklu. Dlatego, bez skrajnej potrzeby opis licznika zmiennego nie jest konieczne do wytworzenia.
    W procesie działania nie zaleca się zmiany operandów w wyrażeniach nagłówka cyklu - doprowadzi to do różnych rodzajów błędów! Ale wartości zmiennych (lub stałych), w tym wartości zmiennych (licznik), mogą być stosowane. Rozważ klasyczny przykład.

    Program 9.1. Naturalna liczba n jest podana. Aby wycofać wszystkich dzielników tego numeru.

    #Zawierać. << "N = "; cin >\u003e N; dla (int i \u003d 2; ja< N / 2; i++) { if (N % i == 0) cout << i << " "; } return 0; } N = 16000 2 4 5 8 10 16 20 25 32 40 50 64 80 100 125 128 160 200 250 320 400 500 640 800 1000 1600 2000 3200 4000

    Korzystanie z kontynuacji instrukcji w cyklu

    Podczas korzystania z instrukcji Kontynuuj w cyklu, należy wziąć pod uwagę cechy pracy tego cyklu:

    • Instrukcje dotyczące Kontynuacji zostaną pominięte
    • Następnie istnieje modyfikacja licznika
    • Przejście do następującej iteracji (w przeciwnym razie warunki walidacji)

    Pokaż go na przykładzie: int Main () (dla (int I \u003d 1;< 20; i++) { if (i % 2 == 0) continue; cout << i << " "; } 1 3 5 7 9 11 13 15 17 19

    Uwaga. Uwaga: Chociaż wyjście numerów według stanu jest nieodebrane, ale przyrost miernika jest wykonywany. Ten przykład jest po prostu na ilustrację, programowanie cyklu nie śledzi! To zadanie jest lepsze do rozwiązania w następujący sposób:

    Int main () (dla (int i \u003d 1; i< 20; i += 2) cout << i << " ";

    Kilka wyrażeń w sekcji inicjalizacji i modyfikacji

    Jak już zauważyliśmy wcześniej w nagłówku instrukcji, powinny być trzy sekcje. Wyrażenia w tych sekcjach można obniżyć, ale nie można go pominąć. ";" . W końcu możesz tylko odejść; . Tytuł w formie:

    Dla (;;) (...)

    jest to tytuł "niekończący się" cykl. (Wyjście z cyklu musi być zaprogramowane w korpusie cyklu).
    C ++ obsługuje wiele wyrażeń w sekcjach inicjalizacji i modyfikacji w nagłówku nagłówka. Jednocześnie stan kontynuacji cyklu powinien być jednym!
    Na przykład. Oświadczenie o problemach: Oblicz fakturę liczby, która nie przekracza 20.
    Program 9.2.

    #Zawierać. Za pomocą przestrzeni nazw STD; Int main () (niepodpisany długi długość n; int i, k; cout<< "k = "; cin >\u003e k; // 0.<= k <= 20 for(n = 1, i = 1; i <= k; n *= i, ++i); cout << k << "! = " << n << endl; return 0; } k = 20 20! = 2432902008176640000

    Uwaga: Należy pamiętać, że strumień wyjściowy w linii 12 nie ma zastosowania do korpusu cyklu! (Na końcu tytułu -;). Tak więc cykl ten w organizmie ma pustą instrukcję, a wszystkie wyrażenia są obliczane w tytule. Program 9.2 Prawidłowo oblicza czynnik liczby od 0 do 20.

    W zakresie formularza

    W przypadku brutalnej siły elementów tablicy lub kontenera należy wykonać ten sam typ, przy użyciu objętego kodu. Aby uprościć pracę z pojemnikami w C ++, istnieje specjalna forma dla cyklu dla cyklu. dla zakresu na podstawie zasięgu lub pasmo).
    Składnia:

    Dla ( ogłoszenie : nazwa recepcji.) LOOP_Statement.

    Korzystanie z zakresu na przykładzie tablicy C:
    Program 9.3.

    #Zawierać. Za pomocą przestrzeni nazw STD; Int Main () (Int X (1, \u200b\u200b2, 3, 4, 5, 6, 7, 8, 9, 10); dla (Auto & S: X) (Cout<< s << " "; } return 0; }

    Aby elementy tablicy można zmienić - zmienna S musi być zmienną odniesienia (jak w powyższym przykładzie). Jeśli zmienna nie jest odniesieniem, dane zostaną skopiowane. Aby automatycznie usunąć typ w tym cyklu, używany jest specyfikator automatycznie. Oparty na zakresie ma ograniczenie pracy z dynamicznymi tablicami: nie obsługuje zmiany rozmiaru tablicy, ponieważ zawiera ona stały wskaźnik końcowy array. Podczas pracy z tablicami, które mają stały rozmiar, zasięg jest doskonałą i bezpieczną alternatywą dla zwykłego.

    Zagnieżdżone cykle dla

    Podobnie jak inna instrukcje cykli, dla wspiera strukturę zagnieżdżonych cykli. Zastosowanie zagnieżdżone. cykle Aby zorganizować wejście i wyjście tablic dwuwymiarowych, wygląda znacznie bardziej kompaktowy niż przy użyciu cyklu podczas gdy
    Jednak podczas rozwiązywania takich macierzy poprzez rozwiązywanie takich macierzy, konieczne jest uniknięcie stosowania instrukcji warunkowej, jeśli. Często zadanie może być bardziej realizowane bardziej racjonalnie, przez indeksy manipulowanie (zmienne cyklu I i J). To znaczy, aby dodać zmianę zmiany jednego indeksu, od wartości drugiej. Rozważmy dwa przykłady.
    Program 9.4. Dodaje się kwadratową matrycę N, których elementy to 0. Wypełnij pozycje bazowe i na najważniejszych jednostkach przekątnych.

    #Zawierać. Za pomocą przestrzeni nazw STD; Int main () (int n; cout<< "n = "; cin >\u003e n; Int mas [n] [n]; // wypełnij zerami dla (int i \u003d 0; ja< n; i++) for(int j = 0; j < n; j++) mas[i][j] = 0; // Реализация for(int i = 0; i < n; i++) for(int j = 0; j <= i; j++) mas[i][j] = 1; // Вывод for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) { cout.width(2); cout << mas[i][j]; } cout << "\n"; } return 0; } n = 10 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1

    Program 9.5. Utwórz program, aby wypełnić tablicę przez liczby trójkąta Pascala i wycofania tej tablicy. Trójkąt Pascala ma formularz:


    W tym trójkącie, a po bokach znajdują się jednostki (w programie 9.5, trójkąt "jest umieszczony z boku" - bok trójkąta: pierwsza kolumna i główna przekątna). Każda liczba jest równa sumie dwóch numerów powyżej. Rzędy trójkąta są symetryczne względem osi pionowej i zawierają współczynniki binominum.

    #Zawierać. Za pomocą przestrzeni nazw STD; Int main () (int n; cout<< "n = "; cin >\u003e n; Int pas [n] [n]; dla (int i \u003d 0; ja< n; i++) for (int j = 0; j < n; j++) pas[i][j] = 0; pas = 1; for (int i = 1; i < n; i++) { pas[i] = 1; for (int j = 1; j <= i; j++) { pas[i][j] = pas + pas[j]; } } for (int i = 0; i < n; i++) { for (int j = 0; j <= i; j++) { cout.width(4); cout << pas[i][j]; } cout << "\n"; } return 0; } n = 12 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 1 10 45 120 210 252 210 120 45 10 1 1 11 55 165 330 462 462 330 165 55 11 1

    pytania
    1. Czy można go wymienić w programie dla instrukcji cyklu w przypadku instrukcji cyklu? Czy zawsze jest to możliwe?
    2. Kiedy wygodniej jest ubiegać się o organizację cykli, dla instrukcji? Podczas?
    3. Niezależnie od tego, czy jest nagłówek instrukcji dla następujących wyrażeń jest możliwy w nagłówku: a) dla (A\u003e B &&! (A% 2);) b) dla (A\u003e B;) C) dla (;; i \u003d 0 ) d) dla (; i \u003d 0;) e) dla (;; i ++, --b) f) dla (--i ;;) g) dla (b \u003d 0; b! \u003d a)?
    4. Zmienna I jest parametrem cyklu zewnętrznego, a J - zainwestowany. Czy będzie zmienna J w cyklu zewnętrznym? Ja w zainwestowanym cyklu?
    Podręcznik
    zadanie domowe
    1. Z powrotem 29. Wpisz program, w którym wprowadzane są numery naturalne zA. i b., a wyświetlacz pokazuje wszystkie proste numery w zakresie od zA. przed b. (Idea programu algorytmu 8.5)
    2. Z powrotem 30. Idealny jest liczba równa sumie wszystkich jej dzielników mniejszych niż (na przykład, numer 6 \u003d 1 + 2 + 3). Napisz program, który wprowadza numer Naturalny N i określa, czy numer n jest idealny.
    3. Napisz program, który wyświetla kwadratowy rozmiar wielkości numerycznych NXN, mający następujący formularz w n \u003d 10: 1 * * * * * * * * * * * * * * * * * * * * 3 * * * * * * * * * * * 4 * * * * * * * * * 5 * * * * * * * * * * * * * * * * * * * 7 * * * * * * * * * 8 * * * * * * * * * * 9 * * * * * * * * * 10
    Literatura
    1. Laphore R. Obiektowe programowanie w C ++ (4 ed.). Peter: 2004.
    2. Prath, Stephen. Język programowania C ++. Wykłady i ćwiczenia, 6 ed.: Za. z angielskiego - M.: LLC "I.d. William, 2012.
    3. Lippman B. Stanley, Josi Lazhoye, Barbara E. Mu. Język programowania C ++. Kurs podstawowy. Ed. 5. M: LLC "I. D. Williams ", 2014
    4. Elline A. C ++. Od Lamera do programatora. Petersburg: Peter, 2015
    5. Schildt G. C ++: Kurs podstawowy, 3d. M.: Williams, 2010



    Operator cyklu z parametrem jest używany dokładnie w takich przypadkach, gdy konieczne jest zorganizowanie cyklu z daną liczbą powtórzeń.

    dla <параметр_цикла>:=<начальное_знач> do. <конечное_знач> zrobić. <оператор>;

    dla <параметр_цикла>:=<конечное_знач> aż do. <начальное_зна.> zrobić. <оператор>;

    Operator reprezentujący korpus cyklu może być prosty lub kompozytowy.

    Parametr cyklu, a także jego zakres zmian może być jedynie typem całkowitym lub wymienionym.

    Parametr jest opisany w połączeniu z innymi zmiennymi.

    Krok na cykl jest zawsze stały i równy "1" lub "-1".

    Wyświetl pierwsze dziesięć dodatnich liczb całkowitych

    var i: całkowitą; // Licznik zostanie wprowadzony

    fori: \u003d 1to10do // gdy wartość miernika od 1 do 10 wykonuje następujące informacje

    writeln (i); // Wartości licznika wyjścia

    vARI, suma: liczby całkowitej;

    suma: \u003d 0; // zerowanie wartości zmiennej

    fORI: \u003d 10TO99DO // Popiersie dwucyfrowych liczb dodatnich

    jeśli mod 3 \u003d 0 następnie // Multiplicity 3

    suma: \u003d suma + i; // Suma poprzedniej wartości zmiennej i liczby odpowiadającej warunkowi

    Aby wyświetlić pracę dziesięciu pierwszych nawet dodatnich liczb

    vARI, PR: Integer;

    pR: \u003d 1; // gdy praca jest wartością początkową zmiennej, a nie 0 i 1

    dla I: \u003d 1 do 10 do

    jeśli mod 2 \u003d 0 następnie // ustalanie parytetu

    Dwa liczby całkowite otrzymują A i B (a< B). Вывести в порядке возрастания все целые числа, расположенные между A и B (в том числе A и B), a также количество N этих чисел .

    var i, PR: całkowitą;

    k: \u003d 0; // Zresetuj wartość zmiennej, co oznacza numer

    fori: \u003d Atobdo // Bruepings o liczbie z określonego zakresu

    writeln (i); // Wniosek w liczbie rosnącej kolejności

    k: \u003d k + 1; // liczba liczb liczenia

    writeln (k); // Wyjście kwoty występuje poza cyklem. Wyjście raz.

    Wprowadź n różnych numerów. Znajdź średnią arytmetyczną wszystkich numerów.

    Var n, i, a: całkowitą;

    Dla I: \u003d 1 do n

    Writeln ("Średnia arytmetyczna \u003d", S / N: 4: 2);

    Operator cyklu z podczas gdy ... DO (do tej pory ...)

    Podczas gdy operator jest przeznaczony do wdrożenia cykli z warunkami wstępnym.

    Warunek wykonania, podczas gdy korpus cyklu jest sprawdzany przed rozpoczęciem każdego kroku. Dlatego też, jeśli warunek nie zostanie natychmiast wykonany, korpus cyklu jest ignorowany, a kontrola jest przekazywana do operatora stojącego bezpośrednio za korpusem cyklu.

    Odwołaj się do operatorapodczas gdy ... do. Przetłumaczone jako "podczas ... zrobić" i wygląda tak:

    podczas <условие> zrobić. <оператор>

    Podczas gdy cykl oznacza taki algorytm: podczas gdy warunek jest prawdziwy, wykonane są operatorzy korpusu cyklu.

    Stan sam może być stała logiczna, zmienna lub ekspresja logiczna.

    Podczas pisania cykli z warunkiem wstępnym należy zapamiętać następujące informacje.

      aby cykl miał szansę na zakończenie, zawartość jego ciała musi koniecznie wpłynąć na stan cyklu.

      warunek powinien składać się z prawidłowych wyrażeń i wartości określonych przed pierwszym wypełnieniem korpusu cyklu.

    Jeśli warunek cyklu jest fałszywy w cyklu, nigdy nie jest zakończony!

    wyrażenie1. oraz b. racja2. - początkowa i końcowa wartość parametru cyklu.

    Typ akcji do operatora cyklu (bezpośrednie konto):

    2. Sprawdzany jest warunek: Zmienna wartość Więcej wartości wyrażeń2?

    3. Jeśli tak, ograniczniki ograniczają; Jeśli nie, operator pracuje, wartość zmiennej wzrasta po drugim, a następnie powtarzano akcję, począwszy od ust.

    Operator typu Cycle DownTo:

    1. Zmienna jest przypisana wartość wyrażenia1;

    2. Sprawdzana jest warunek: wartość zmiennej jest mniejsza niż wartość wyrażenia2?

    3. Jeśli tak, ograniczniki ograniczają; Jeśli nie, operator jest wykonywany, wartość zmiennej zmniejsza się na jednostkę, a następnie powtarzano działania, począwszy od ust.

    Zasady:

    1. Parametr cyklu. Może istnieć tylko całą zmienną.

    2. Parametr cyklu. Nie można wyraźnie zmienić w korpusie cyklu.

    Na przykład:

    dla I: \u003d 1 do 10 do

    i: \u003d I + 1; (źle)

    3. Krok cyklu może być równy tylko +1 (cykl z do) lub -1 (cykl z Downto).

    4. Zgodnie ze wspólnym widokiem, korpus cyklu musi składać się z jednego operatora, jeśli kilku operatorów rozpoczyna wsporniki komponentu i operatora ...

    5. Cykl nie może być spełniony w dowolnym momencie.

    Zadanie: Napisz schemat blokowy i program, aby obliczyć średnią wartość n wprowadzoną z numerów klawiatury.

    var i, n: liczby całkowitej; X, S: Real;

    napisz ("Wprowadź liczbę numerów");

    dla I: \u003d 1 do n

    napisz ("Wprowadź numer", I);

    writeln ("średnia wartość \u003d ', s / n);

    Operator cyklu z warunkami wstępnym (podczas)

    Operator cyklu koła - Jest to operator cyklu z nieznaną liczbą powtórzeń.

    Ogólny formularz:

    podczas gdy wyrażenie logiczne operator;

    logiczny wyraz - Jest to warunek kontynuowania cyklu.

    operator

    Działanie operatora:

    1. Oblicza się logiczna ekspresja;

    2. Jeśli jest to prawdą, operator zostanie wykonany, po czym powtarzano wszystkie działania, począwszy od klauzuli 1;

    3. Esley Expression Logical - fałszywie, ograniczanie się zatrzymuje się.

    Zasady:

    1. Korpus cyklu powinien składać się tylko z jednego operatora, jeśli są nieco za pomocą operatora kompozytowego.

    2. Ponieważ warunek jest sprawdzany na początku cyklu, cykl może nie być przeprowadzany w żadnym momencie.

    3. Aby cykl był nieskończony, wartości zawarte w ekspresji logicznej należy zmienić w korpusie cyklu.

    Na przykład:

    podczas.<100 do

    Zadanie.Napisz diagram blokowy i program, który oblicza i wyświetla tabelę wartości funkcyjnych.

    var x, xn, xk, y, h: real;

    writeln ("Wprowadź początkowy, końcową wartość x i krok zmiany x");

    writeln ("| x | y |");

    podczas gdy X.<=xk do

    writeln ("|", X: 7: 2, "|", Y: 7: 2 "|");

    Operator cyklu z przesyłką (powtórz ... Cykl).

    Operator cyklu powtórzono ..until. - Jest to operator cyklu z ustaloną liczbą powtórzeń.

    Ogólny formularz:

    operatorzy;

    aż do wyrażenia logicznego;


    Powtórz ... Przegranicznik cyklu:

    Operatorzy w korpusie cyklu są wykonywane aż do wartości fałszywej ekspresji logicznej; Gdy wyrażenie logiczne będzie prawdziwe, wykonywanie operatora cyklu zatrzymuje się.

    Zasady:

    1. Korpus cyklu jest zawsze wykonywany co najmniej raz, ponieważ stan znajduje się na końcu cyklu.

    2. W tym operatorze cyklu nie ma potrzeby operatora kompozytowego, wszyscy operatorzy w korpusie cyklu są ograniczone przez słowa kluczowe powtarzane ...

    Zadanie.Napisz diagram blokowy i program do obliczania .

    program rep_unt;

    var n, k, s: całkowitą;

    napisz ("Enter K");

    napisz ("suma", s);

    Tablice danych.

    Szyk - Jest to kombinacja zamówionych danych o tej samej nazwie i rodzaju, i różni się od siebie (indeks). Tablice są jednowymiarowe i wielowymiarowe. Przykłady tablic:

    2 5 -15 10 20 - tablica liczby całkowitej 6 elementów;

    2.3 9 2,45 4.78 5.32 - Grafika typu rzeczywistego 5 elementów;

    Ivanov Ivan Ivanovich - gama postaci z 20 elementów;

    Ogólny widok opisu jednowymiarowych tablic:

    var Nazwa tablicy: Array [wartość początkowa indeksu .. ostateczna wartość indeksu] typu;

    gdzie wartość początkowa indeksu i ostateczna wartość indeksu - Całe wartości określające zakres zmian w indeksie tablicy.

    Na przykład:

    var vector: macierz prawdziwych;

    Ogólny widok na opis tablic wielowymiarowych:

    nazwa tablicy VAR: Array [Wartość indeksu początkowa .. Ostateczna wartość indeksu, ..., ...]<тип>;

    Na przykład:

    varmatrix: Array ofinteger; - Opis rozmiaru matrycy 3'5.

    Dostęp do elementów tablicy.

    Możesz zapoznać się z elementami tablicy, określając swoją nazwę i wymienione w nawiasach kwadratowych (w wielowymiarowych tablicach przez przecinek) wartości jego indeksu.

    W odniesieniu do takich indeksów można stosować tylko stałe wartości.

    Na przykład:

    [I], b, v1, a

    BAZA DANYCH

    Baza danych koncepcji

    Początkowo komputery zostały stworzone do rozwiązania zadania obliczenioweJednak z czasem stawali się coraz bardziej używane do budowy systemy przetwarzania dokumentów, Dokładniej, informacje zawarte w nich. Takie są nazywane informacyjny. Systemy można przynieść jako przykład. rachunkowość wielkości pracy wykonanej w przedsiębiorstwie, obliczanie wynagrodzeń., produkty księgowe w magazynie, księgowe księgowe w bibliotece itp.

    Tego rodzaju system informacyjny wymaga utworzenia komputera w pamięci dynamicznie aktualizowany Rozważane są modele. tematyka Korzystanie z jednego repozytorium - baza danych (Baza danych). Tematyka - Część prawdziwego świata, który należy studiować w celu organizowania zarządzania, a ostatecznie automatyzacji. Skład każdy tematyka Jest całość jakaś obiekty. Grupy tych obiektyzjednoczony znak grupowaniaZadzwonić esencje . Na przykład, jeśli mówimy o produktach księgowych w magazynie, możesz przeznaczyć podmioty " produkt", "kupujący", "Łata". Przedmioty będą ich konkretnymi przedstawicielami, na przykład cukier, OJSC "GEFEST", zarys №252..

    Baza danych - jest to połączenie informacji o prawdziwej obiekty, procesy lub fenomenakrewny tematyka, zorganizowany w taki sposób, aby zapewnić wygodną reprezentację (dostęp, mapowanie) tej całości, zarówno w ogóle, jak i jakiejkolwiek części.

    Magazyny informacyjne B. baza danychstoły , z których każdy zawiera informacje o tym samym typu obiekty (Zjednoczony znak grupowania), Formularz istota. Każdy linia stoły Zawiera pojedyncze dane. obiekt, instancja istota (na przykład, produkt, kupujący, nad głową), ale kolumny Stoły zawierają różne cechy tych obiektów - atrybuty (na przykład, nazwy towarów, nazwy kupujących i numery poprawek).

    Pod względem baz danych smyczki Tabele są nazywane notatki , i jej kolumnypola . Wszystko wpisy mają tę samą strukturę - składają się z tego samego pola , w którym przechowywane są różne wartości atrybuty obiekt. Wszyscy prognozy Zawiera jedną charakterystykę obiekt i ściśle zdefiniował typ danych(Na przykład ciąg tekstowy, numer, data). Wszystkie rekordy jednego stołu mają takie same pole, zawiera tylko różne wartości. atrybuty.

    Przed dokonaniem danych stoły, Muszę ustalić struktura Te stoły. Jest to zrozumiałe z opisu. nazwy i rodzaje pól, a także wiele innych cech (na przykład rozmiar pola, kryteria sprawdzania danych wejściowych). Przykładowa definicja struktury tabeli Kupujący jest pokazany na rys.8.1.

    Struktura tabeli "kupującego".

    Oprócz opisu struktury Stoły w raczej skomplikowanym baza danych trzeba ustalić komunikacjamiędzy tabelami. Komunikacja - Jest to stowarzyszenie zainstalowane między dwoma stoły. Na przykład, informacje o klientach w poprzedniej tabeli można uzupełnić inną tabelę "Wakacje towarów"

    Taki baza danych nazywa relacyjny (z relacja - Komunikacja, postawa). Baza danych relacyjna reprezentuje wiele powiązanych ze sobą stoły, z których każdy zawiera informacje o obiekty typ specyficzny.

    Więzi B. relacyjne bazy danych. są określane przez przypadek wartości pola w różnych tabelach. Pola, dla których nazywa się połączenie między tabelami pola komunikacyjne . W powyższym przykładzie pole "Imię kupującego".

    W zależności od rodzaju informacji zawartych w stoły Bazy danych między nimi mogą być trzema głównymi typami połączeń: jeden za dużo, jeden na jednego, wiele co-wielu.

    Nastawienie jeden za dużo jest instalowany między tabelami, gdy jeden wpis rodzicielski córka Stół. W powyższym przykładzie między tabelami "kupujący" i "wakacje towarów" ustanawia ten typ.

    Nastawienie jeden na jednego odbywa się, gdy jeden wpis rodzicielski Tabela odpowiada nie więcej niż jeden wpis córka Stół.

    W przypadku relacji wiele co-wielu Jeden wpis B. rodzicielski Tabela może odpowiadać dowolnej liczbie wpisów córka Stół i odwrotnie.

    Powiązane stosunki stoły Interakcja na zasadzie główny (Mistrz) - podrzędny (Szczegół). W naszym przykładzie tabela "kupującego" główny, a tabela "wydane towary" - podrzędny. Główna rzecz Tabela jest często nazywana rodzicielski, ale podrzędnycórka. Podobnie stół może główna rzecz W odniesieniu do jednego stół Baza danych I. córka w stosunku do drugiego.

    Systemy zarządzania bazami danych (SPES). Klasyfikacja

    Pracować z użytymi danymi systemy zarządzania bazami danych (DBMS). DBMS. - Są to narzędzia oprogramowania przeznaczone do określania danych (opisy struktury baz danych - tabele, linki), przetwarzania i zarządzania danymi. Nadaje się - FoxPro, Oracle, SQL-Server, Delphi, DBase, Clipper, MS Access IDR.

    Wyróżnia się trzy główne typy DBMS: przemysłowy cel uniwersalny, cel przemysłowy i opracowany dla konkretnego klienta (zwyczaj).

    Wyspecjalizowany Stworzony do kontroli baz danych konkretnej wizyty - rachunkowość, magazyn, bankowość itp.

    Uniwersalność Nie masz jasno określonych ram aplikacji, są one obliczane "na wszystkie okazje", a w rezultacie, dość złożone i wymagają specjalnej wiedzy od użytkownika.

    w odróżnieniu industrialsubdznaknaya. Maksymalny stopień uwzględnia specyfikę klienta (konkretnego przedsiębiorstwa), ich interfejs jest zwykle intuicyjnie rozumiany przez użytkowników i nie wymaga od nich specjalnej wiedzy. Z drugiej strony, wyspecjalizowany i universal Empowerness REFD. stosunkowo tani, dość niezawodny (debugowany) i gotowy do natychmiastowej pracy, podczas gdy dostosowany wymagają znacznych kosztów, a ich przygotowanie do pracy i debugowania zajmują znaczny okres czasu (od kilku miesięcy do kilku lat).

    W zależności od lokalizacji DBMS rozróżniają lokalnyi rozpowszechniane(serwer klient.) DBMS. Wszystkie części lokalny DBMS. Są publikowane na komputerze użytkownika bazy danych. Jeśli kilka użytkowników pojawia się do jednej bazy danych w sieci komputerowej w tym samym czasie, każdy komputer musi mieć kopię lokalnego DBMS. Natomiast znacząca część oprogramowania i sprzętu rozproszone DBMS. Scentralizowany i jest na jednym potężnym komputerze (serwer),podczas gdy komputery użytkownika noszą stosunkowo niewielką część DBMS klient. Lokalny DBMS może pracować w sieci, ale nie może go używać rozpowszechniane DBMS upewnij się, że działa Śieć komputerowa.

    Zauważ, że sama lokalizacja baza danych Nie wpływa na specyfikę DBMS: w lokalny Dbms sama. baza danych Może być umieszczony zarówno na komputerze użytkownika, jak i na zdalnym komputerze sieciowym (serwer plików).

    Bezwarunkowa godność client-Serversystems. Jest scentralizowany kontrola dostępu do baza danych. W takich systemach. baza danych w dużej mierze chroniony zarówno z losowych, jak i celowych zakłóceń, łatwiej jest wdrożyć integralność i spójność danych..

    DBMS jest niezbędnym komponentem. system informacyjny. Tworzyć i zarządzać system informacyjny DBMS jest potrzebny w takim samym stopniu w zależności od potrzeb tłumacz dla rozwoju programy na algorytmiczny język.

    Główne funkcje wykonywane przez DBMS:

    Zarządzanie danymi pamięć zewnętrzna (na dyskach);

    Zarządzanie danymi B. losowy pamięć dostępu;

    - Dziennikacja Zmień I. odzyskiwanie danych Po awariach;

    Utrzymywanie języków bazy danych. (Język definicji danych - język SDL, język manipulacji danych - język DML lub pojedynczy zintegrowany język zawierający wszystkie niezbędne bazy danych do pracy - język strukturalnych zapytań SQL).

    Dzwon.

    Są ci, którzy przeczytali tę wiadomość przed tobą.
    Subskrybuj odbieranie artykułów świeżych.
    E-mail
    Nazwa
    Nazwisko
    Jak chcesz przeczytać dzwonek
    Bez spamu