La campana.

Ci sono quelli che hanno letto questa notizia prima di te.
Iscriviti per ricevere articoli freschi.
E-mail
Nome
Cognome
Come vuoi leggere la campana
Senza spam.

In generale, oggi impareremo su ciascuno dei cicli di Pascal in modo più dettagliato e vedere come sono impostati. Smonteremo durante il ciclo con la precondizione, ciclo per il parametro e ripetere il ciclo - fino a quando con la postcondition.

1. Ciclo con parametro a Pascal - per

Il ciclo per il ciclo fissa una condizione specifica per la quale il programma lavorerà prima che venga eseguito, dobbiamo permetterci a 5 (o n) volte per allentare il programma, allora è facile da fare con questo ciclo. Il per il ciclo ha una caratteristica caratteristica - un contatore di solito denotato dalla lettera I o J.

Aspetto Ciclo con parametro in Pascal:

per i: \u003d 1 a n do // Assegniamo prima prima prima due, tre, tre, ..., n

Dopo il 1 ° passaggio della variabile I, assegniamo 1, dopo il secondo, assegniamo 2 e quindi fino a quando non raggiungiamo n. Ad è prima .. in ordine ascendente, c'è anche fino a quando .. in ordine decrescente.

Blocco - circuito a ciclo con parametro:

2. Ciclo con prelazione in Pascal - mentre

L'operatore del ciclo con la precondizione esegue le azioni in anticipo del numero sconosciuto. L'uscita dal ciclo viene eseguita se alcune espressioni logiche o il suo risultato saranno false. Poiché la lealtà dell'espressione logica è controllata all'inizio, il corpo del ciclo potrebbe non essere soddisfatto.

Struttura del ciclo con precondizione:

Mentre iniziano a finire;

Espressione logica, la cui verità è verificata all'inizio dell'attuazione dell'operatore ciclico;

Eventuali operatori linguistici eseguiti.

La procedura per eseguire un ciclo:

Finora, la condizione è veramente eseguita dal corpo del ciclo. Non appena la condizione diventa falsa, l'esecuzione del ciclo si ferma.

Circuito del ciclo del blocco con precondizione:


Nota: nei blocchi rettangolari, qualsiasi azione è mostrata nel ciclo o dopo la sua (fase ciclo), nell'ovalagio - l'inizio o la fine dell'intero programma o della sua parte. Il ruolo principale in questo blocco - lo schema gioca la sua parte centrale.

Esempio:

Compito: calcolare la somma della riga 1 + 1,5 + 2 + 2,5 + 3 + 3,5 + .. + 30

esempio di programma, mentre;

Var somma: reale; N: reale; Inizia la somma: \u003d 0; n: \u003d 1; Mentre N.

3. Ciclo con post-ripetizione - fino a.

Questo operatore è simile all'operatore del ciclo con la precondizione, ma differisce dal fatto che le condizioni di convalida vengono effettuate dopo il corpo (azioni) del ciclo. Ciò garantisce la sua esecuzione almeno una volta a differenza dei cicli precedentemente smontati.

Notare che questo operatore. Il ciclo presuppone la presenza di diversi operatori nel corpo del ciclo, cioè è possibile eseguire diverse azioni, quindi le parole di servizio e di servizio di inizio e fine non sono necessarie.

La sequenza di operatori incluse nel corpo del ciclo viene eseguita una volta, dopo di che la condizione registrata da seguita dalla parola di servizio non viene controllata. Se la condizione non è rispettata, il ciclo è completato. In caso contrario, il corpo del ciclo viene ripetuto di nuovo, dopo di che la condizione viene nuovamente verificata.

Schema del ciclo del blocco con la bandaband:

Formato di registrazione, struttura del ciclo:
Ripetere fino a;

Esempio:

PROGRAMMA TEST2; VAR B: reale; Iniziare B: \u003d 100; Ripeti B: \u003d B / 2; Fino a B.

Conclusioni:

1. Il cylcon con un parametro viene utilizzato da una variabile chiamata parametro o misuratore del ciclo. Prima di eseguire il ciclo, il parametro (misuratore) è impostato significato iniziale. Dopo aver completato la fase del ciclo, il valore del parametro è aumentato di uno. Il ciclo continua fino a quando il parametro raggiunge il suo valore finale, che è indicato dopo (verso il basso).

2. Il ciclo con la precondizione viene eseguita fino a quando la condizione di esecuzione diventa falsa e continua se la condizione è vera.

3. Il ciclo con il POST viene eseguito fino a quando la condizione diventa veramente se la condizione è falsa, il ciclo continua.

scopo: Dai il concetto di cicli con un parametro, bloccare diagrammi raffiguranti tali cicli. Per apprendere in esempi privati \u200b\u200bper disegnare diagrammi di blocco e programmi con cicli; Per fornire il concetto di differenze tra i cicli con precondizioni, posticipare e ciclare con un parametro; Per imparare in un programma per utilizzare diversi cicli se il programma contiene diversi cicli; Immettere ed eseguire programmi utilizzando compilatori BPW o Turbo Pascal.

1. Operatore. Ciclo per ... per ... fare ...

A volte è conosciuto in anticipo quante volte dovrebbe essere eseguito il ciclo. Per compiti di questo tipo in linguaggio pascal, ci sono operatori cicli con parametri .
Il formato della registrazione di tali operatori è il seguente:
per<par. Cyclala.> := <nach.> per.<kon.konk..> fare. <operatore>.
Qui per, per., fare. - Parole riservate (per, prima, eseguite);
<coppia. ciclo\u003e - Parametro ciclo - tipo variabile Intero (più precisamente, qualsiasi tipo ordinale);
<nach. Valore.\u003e - Il valore iniziale è il numero o l'espressione dello stesso tipo;
<con. Valore.\u003e - Il valore finale - il numero o l'espressione dello stesso tipo;
<operatore\u003e - Operatore arbitrario Pascal.
Se ci sono diversi operatori, quindi, come nell'operatore mentre ... fare ... Le staffe dell'operatore sono utilizzate: inizia ... fine..
Ad esempio, sono possibili tali record dell'operatore del ciclo:

per I: \u003d a per. B. fare. S1;

per J: \u003d a per. B. inizia. S1; S2; ..., sn. fine.; o

per K: \u003d P per. M. fare.
Inizio.
S1;
S2;
...
Sn.
Fine.;

Qui è S1, S2, S3, ... Operatori per ciclo SN.
Quando si esegue l'operatore per Inizialmente, l'espressione è calcolata<nach..\u003e e assegnando il suo valore della variabile del ciclo
<par. Cyclala.> := <nach. Valore.>.
Dopodiché, ripeti ciclicamente:
1) Condizioni di verifica<par. Cyclala.> <con. Valore.\u003e;; Se la condizione non viene eseguita, l'operatore per completa il lavoro;
2) Esecuzione dell'operatore<operatore\u003e o operatori S1; S2; S3; ... Sn;
3) Variabile del ciclo<coppia. ciclo\u003e Aumenti per unità.

Dobbiamo immediatamente notare cosa impostare un passaggio del ciclo è diverso da 1 in questo operatore, è impossibile.


Immagine grafica dei cicli per Sarà così (vedi Fig. 33):

Fico. 33.

Qui: i - ciclo variabile; n è il suo significato iniziale; K è il suo significato finale. Il corpo del ciclo è un operatore o diversi operatori: S1; S2; ... Sn; che sono disegnati in un rettangolo.

Per illustrare il lavoro dell'operatore per Considera un esempio che già diventa tradizionale quando si studia il lavoro di questo operatore.

ESEMPIO 1. Compilare un programma per il calcolo del numero fattoriale N, I.e. N!.

Richiamare dalla matematica che il fattoriale dei numeri n è uguale al prodotto dei numeri da 1 a n.
Per esempio:

Z. modificare . In matematica accettata: 0! \u003d 1.


Diagramma a blocchi


Fico. 34.

Programma

Programma Problema1; (Calcolo del numero fattoriale N!)
usi. Wincrt;
var.
n, f, i: longant;
inizio.

F: \u003d 1;
se N.<> 0 poi. per I: \u003d 1 per. N. fare. f: \u003d f * i;
fine.

Variabile n - per l'utente inserito dall'utente, il cui fattoriale deve essere trovato; F - La variabile in cui sarà " accumulare"Il valore del numero fattoriale n; I è una variabile di ciclo.
Il valore iniziale della variabile f: \u003d 1 è impostato.
Quindi inizia il ciclo. Variabile I viene assegnato il valore iniziale di 1; È confrontato con il finito - n (1<= n), se un La condizione è vera poi L'operatore viene eseguito (in questo programma è uno): f: \u003d f * i, 1 * 1 \u003d 1; Il valore della variabile del ciclo aumenta di 1, I.e. Sarà uguale a: I: \u003d I + 1, 1 + 1 \u003d 2 e il ciclo viene ripetuto.
quando Valore sarò uguale a n, poi Il ciclo è l'ultimo eseguito perché il prossimo valore che sarò n + 1, che è più il valore finale n, condizione IO.<= n - falsoIl ciclo non è eseguito.

2. Gestione del ciclo Per ... Downto ... Do ...

C'è un'altra forma di un operatore del ciclo per:
per<par. Tsik..> := <nach. zn..> giù verso. <con. zn..> fare. <operatore>.

Sostituzione di una parola riservata per. sul giù verso. significa che il passaggio del parametro del ciclo è uguale (-1).

La modifica del valore del parametro deriva da un valore maggiore a un minimo, I.e.
<nach. Valore.> <con. Valore.>.
Il numero del programma di calcolo fattoriale può essere compilato utilizzando questo operatore del ciclo.
Programma

Programma Problema1a;
usi. Wincrt;
var.
N, i, f: longint;
inizio.
Scrivi ("Inserisci un numero naturale"); readln (n);
F: \u003d 1;
se N.<> 0 poi. per I: \u003d n giù verso.1 fare. f: \u003d f * i;
writeln ("numeri fattoriali", n, "uguale", f)
fine.

1. Modificare il programma in modo che venga visualizzato lo schermo non i quadrati della tabella dei numeri da 1 a N e il quadrato di un solo numero n inserito dall'utente.

2. Cambia e aggiungi il programma in modo da fornire il valore del quadrato del numero e quei numeri dispari la cui somma è uguale.

3 . Continuare l'argomento della costruzione di numeri naturali nel gradosenza operazioni di moltiplicazione, considera altri esempi più interessanti. Nel primo di loro dovremo combinare " investire"In ogni altro due cicli per, e nel secondo, i cicli pere ripetere.

ESEMPIO 3. Cubo di qualsiasi numero naturale n è uguale alla quantità di n di numeri dispari che seguono in ordine per i numeri, la cui somma era il cubo del numero precedente n - 1:

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

Sulla base di questa proprietà, creare un programma che ti consente di stampare i cubi da tavolo dei numeri naturali.

Qui hai già bisogno di due cicli. Uno - esterno , dal numero di numeri dispari, che è uguale al numero nel cubo, ad esempio, per 43 questo ciclo dovrebbe essere effettuato 4 volte. Nello stesso ciclo sarà necessario dopo aver contato la quantità per emettere il suo valore sullo schermo insieme al numero che è integrato nel cubo.
Il secondo è interno che riassumeranno i numeri dispari e " produrre"I numeri dispari desiderati per la sommazione.


Diagramma a blocchi

Fico. 36.

Programma

Programma Problema3; (Cubetti di numeri naturali da 1 a N)
usi. Wincrt;
var.
Io, J, N, S, K: Longant;
inizio.
Writeln ("Inserisci un numero naturale a cui è necessario");
Scrivi ("Visualizza numeri Cuba"); readln (n);
Writeln ("I cubici dei numeri sono i seguenti:");
K: \u003d 1;
per I: \u003d 1 per. N. fare.
inizio.
S: \u003d 0;
per J: \u003d 1 per. IO. fare.
inizio.
S: \u003d s + k;
K: \u003d k + 2
fine.;
Writeln ("cubo dei numeri", io, "uguale", s)
fine.
fine.

Analizzeremo il lavoro di questo programma

Le variabili I e J sono necessarie come variabili dei cicli primitivi e secondi e secondi. Variabile K per numeri dispari e s per la quantità di numeri. Il tipo di queste variabili è impostato da un intero, ma longant, poiché ci possono essere numerosi numeri interi, grandi 32767.
Il programma inizia con una richiesta per un utente che utilizza gli operatori di scrittura e scrittura sull'ingresso di un numero naturale, a cui è necessario emettere una tabella di cubetti di numeri. Quindi, utilizzando l'istruzione Readln, questo valore viene inserito nella memoria del computer e assegnata una variabile N.
Viene visualizzata un'iscrizione " I numeri dei cubi sono i seguenti". Viene dato prima dell'inizio dei cicli per ovvi motivi. Nei cicli è impossibile darlo, - verrà ripetuto più volte. Alla fine dei cicli, anche allora sarà scritto di seguito, dopo I numeri stessi vengono emessi. La variabile K è assegnato il primo valore dispari 1.
Il ciclo esterno inizia in termini di numeri, da 1 a n. Nel ciclo diversi operatori, quindi " apertura"Staffe dell'operatore: - inizio ...
Prima dell'inizio del ciclo interno, la variabile S viene ripristinata. E tale azzeramento si verificherà ogni volta ripetuto esterno Il ciclo, prima dell'inizio del ciclo interno.
Il ciclo interno viene eseguito da 1 a I. Perché? L'importo è calcolato nel ciclo e uno dispari K a 2, I.e. " prodotto"Il prossimo numero dispari.

Nota! La variabile K non è assegnata prima dell'inizio di ciascun ciclo interno 1. Perché?
Il prossimo operatore Writeln all'interno del ciclo esterno viene emesso informazioni sullo schermo. Perché si trova nel ciclo esterno?

ESEMPIO 4. Dalla matematica è noto che qualsiasi grado naturale di NUM N è la somma di n numeri naturali consecutivi. Fai un programma che per qualsiasi grado di numero naturale n troverebbe la sequenza di numeri dispari la cui importo è uguale a questo grado.

Ad esempio, per 53, darà la sequenza di numeri: 21, 23, 25, 27, 29.

Piano di compilazione del programma

1. Determinare lo scopo del programma: è necessario mostrare che davvero qualsiasi grado naturale del numero naturale può Presente sotto forma della somma dei numeri dispari coerenti.
E se sì, allora abbiamo assolutamente bisogno di conoscere il valore del numero n con un indicatore k.
Questo può essere fatto usando un semplice ciclo:

s: \u003d 1;
per I: \u003d 1 per. K. fare. S: \u003d s * n;

Il grado si accumulerà nella variabile S, per questo è impostato sul valore iniziale di 1.
Nel ciclo, il valore della variabile S è costantemente, i tempi tempi moltiplicati alla base del grado n. Dopo aver eseguito il ciclo, la variabile s riceverà il valore del numero n con l'indicatore K.
2. Tutta l'acuità del problema è che è sconosciuto il primo numero dispari da cui deve essere avviata la sommazione dei numeri dispari consecutivi.
Per questo è necessario provare per mettere i numeri dispari all'inizio da 1 e oltre (il loro numero è noto - n);
1 + 3 + 5 + 7 + 9 ...,
E quindi controllare il risultato, confrontando con il valore del grado s. Se viene eseguita l'uguaglianza, quindi terminare il ciclo e visualizzare i numeri compiuti ottenuti, se l'uguaglianza non viene eseguita, è necessario avviare la sommazione dal prossimo numero dispari - 3: 3 + 5 + 7 + 9 ... ecc. .
Questo processo è più facile da organizzare con un ciclo. ripetere.. Una variabile J, che imposterà i numeri dispari iniziali da installare prima dell'inizio del ciclo, il valore iniziale di 1.
Vista generale di un ciclo del genere:

j: \u003d 1;
ripetere.
. . . . . .
J: \u003d J + 2
fino a ... \u003d s; s;

3. Resta da pensare come contare la somma dei numeri dispari coerenti. Abbiamo già incontrato questa domanda e sappiamo che per questo è necessario creare un ciclo da 1 a N, in cui in una delle variabili, dire m, accumulare questo importo e la seconda variabile dovrebbe " produrre"Il prossimo numero dispari.
Questo ciclo può essere scritto come:

p: \u003d j; M: \u003d 0;
per I: \u003d 1 per. N. fare.
Inizio.
M: \u003d m + P;
P: \u003d P + 2
fine.;

Nota! Variabile P, ogni ciclo ripetere., (esterno a questo), riceverà un nuovo valore iniziale di un numero dispari e la variabile M - per l'importo deve essere ripristinato a ciascuna nuova sommatrice per un'altra sequenza di numeri dispari.
4. Infine, quando viene trovata la sequenza di numeri dispari, deve essere visualizzato. Per fare ciò, è necessario organizzare un altro ciclo da 1 a N, in cui produrre i valori di questi numeri dispari. Per il primo numero dispari dalla sequenza, è necessario prendere il valore di J, ma poiché è già aumentato di 2, quindi da J, sottrarre 2. Questo ciclo sarà:

j: \u003d J - 2;
per I: \u003d 1 per. N. fare.
Inizio.
Scrivi (j "," ");
J: \u003d J + 2
Fine.

Diagramma a blocchi

Fig . 37
Programma

Programma Problema4;
usi. Wincrt;
var.
N, i, k, j, m, s, p: longint;
inizio.
Scrivere ("Inserisci un numero naturale - un grado"); readln (n);
Scrivi (inserire un numero naturale - un indicatore del grado "); readln (k);
S: \u003d 1; J: \u003d 1;
per I: \u003d 1 per. K. fare. S: \u003d s * n;
ripetere.
P: \u003d j;
M: \u003d 0;
per I: \u003d 1 per. N. fare.
inizio.
M: \u003d m + P;
P: \u003d P + 2
fine.;
J: \u003d J + 2
fino a m \u003d s;
Scrivi ("grado con base", n);
Writeln ("e indicatore", k, "cioè", s);
Writeln ("uguale alla somma dei seguenti numeri dispari");
J: \u003d J - 2;
peri: \u003d 1 per. N. fare.
inizio.
Scrivi (j "," ");
J: \u003d J + 2
fine.
fine.

Per capire meglio il suo lavoro, prendere laurea 25 e controllare come verranno eseguiti gli operatori del programma.

1 . Eseguire questo programma sui computer.

2 . Fare un diagramma a blocchi e un programma che scopre se il lavoro può
a) tre; b) Quattro numeri naturali consecutivi pari ad un certo grado di un numero naturale (quadrato, cubo, ecc.)?

4. Compiti diversi

Esempio 5. Stampa tutti i numeri a quattro cifre, nel documento decimale di cui non ci sono due numeri identici.

Commento . Prima di iniziare la compilazione del diagramma di flusso di questo compito, dovresti sapere come i cicli del ciclo sono raffigurati per i cicli con parametri. Il design complessivo dei due cicli investiti con parametri sarà così:


Fico. 38.
Si presenta immediatamente l'idea di effettuare un programma secondo il seguente schema:
organizzare ciclo in termini di numero di migliaia, T da 1 a 9, e quindi interno cicli: dal numero di centinaia, da da 0 a 9; nel numero di decine, D da 0 a 9; dal numero di unità, e da 0 a 9; Controlla le condizioni: se un I numeri sono diversi poi Composto da loro numero a quattro cifre per produrre sullo schermo.
Diagramma a blocchi

Fico. 39.
Programma

Programma Problema5; (1 ° modo)
usi. Wincrt;
var.
T, S, D, E: Integer;
inizio.
per T: \u003d 1 per. 9 fare.
per S: \u003d 0 per. 9 fare.
per D: \u003d 0 per. 9 fare.
per E: \u003d 0 per. 9 fare.
se (T.<> S) e. (T.<> d) e. (T.<> e) e. (S.<> d) e.
(S.<> e) e. (D.<> e)
poi. Scrivi (T * 1000 + S * 100 + D * 10 + E, "")
fine..

È chiaro che questo programma è irrazionale. In esso, tutti i cicli vengono eseguiti completamente.
Il programma può essere migliorato in questo modo. Quando viene eseguito il ciclo di centinaia, il ciclo successivo di dozzine deve essere iniziato a svolgere, se un La cifra di centinaia s non è uguale al numero di migliaia di t, altrimenti altrimenti , Il ciclo centinaia dovrebbe essere continuato, cioè prendi la seguente cifra di centinaia.
Per le figure di dozzine, impostare anche la condizione che verrà eseguito il ciclo successivo di unità, se un La cifra di decine di D non è uguale al numero di centinaia e migliaia, altrimenti, altrimenti , È necessario passare alla cifra successiva di TENS.
Poi, " dentro"Il ciclo di unità è sufficiente per scrivere la condizione, se un Unità di figure e. non uguale alla cifra di decine d., centinaia s. e migliaia t,quindi il numero a quattro cifre è il desiderato e viene visualizzato.


Diagramma a blocchi

Fig . 40

Programma

Programma Problema5a; (2nd way)
usi. Wincrt;
var.
T, S, D, E: Integer;
inizio.
Writeln ("tutti i numeri a quattro cifre da numeri diversi");
per T: \u003d 1 per. 9 fare.
per S: \u003d 0 per. 9 fare se S.<> T. poi.
per D: \u003d 0 per. 9 fare se (D.<> S) e. (D.<> t) poi.
per E: \u003d 0 per. 9 fare.
se (E.<> d) e. (E.<> S) e. (E.<> t)
poi. Scrivi (((((T * 10 + S) * 10 + D) * 10) + E, "")
fine..

Attività 4.

1. Completa e modifica questo programma in modo che possa rinunciare non solo diversi numeri a quattro cifre sullo schermo, ma anche la loro quantità.

2. Quando moltiplicando un numero di quattro cifre costituito da numeri diversi, si è rivelato il numero nel prodotto, che era diverso dal fatto che c'era zero tra numeri di migliaia e centinaia. Trova più. Creare un diagramma e un programma a blocchi.

ESEMPIO 6. Tre numeri naturali A, B, C, soddisfacente uguaglianza: - sono chiamati numeri di Pythagora.
Ad esempio, 3, 4 e 5 sono Pythagoras, da allora

Crea un programma per trovare e stampare tutti i numeri di Pepagorov non superiori a 20.

La matematica di questa domanda è semplice. Per i numeri A, B e C, i valori possibili sono numeri naturali da 1 a 20.
Il valore iniziale A è uno, A \u003d 1. Vedremo tutti i tipi di valori da 1 a 20, così come i valori c da 1 a 20 e verificare l'esecuzione dell'uguaglianza AA + BB \u003d C C . Non appena viene eseguita l'uguaglianza, quindi visualizza i valori di A, B e C.
Successivamente, è necessario prendere il valore A \u003d 2 e controllare che i valori di B siano già da 2 a 20. Perché non da 1, ma da 2? Sì, poiché il set di due numeri da 1 e 2 è già stato considerato ai valori di A \u003d 1 e B \u003d 2, in modo da non ripetere i valori di A e B, I.e. Evitare l'aspetto di due coppie identiche di numeri, i valori B dovrebbero essere avviati la visualizzazione o il valore uN. o ot. uN. fino a 20.
A questo proposito, ci sono diversi modi per organizzare cicli per le variabili A e B.
1 ° modo:

per A: \u003d 1 per. 20 fare.
Per B: \u003d a per. 20 fare.

2 ° modo:

per A: \u003d 20 giù verso. 1 fare.
Per B: \u003d 1 per. UN. fare.

3 ° modo:

per A: \u003d 1 per. 20 fare.
Per B: \u003d 1 per. UN. fare.

Non è difficile vedere che ognuno di questi metodi non verrà ripetuto un paio di numeri. Controlla te stesso.
Per valori c, dobbiamo controllare tutti i numeri naturali da 1 a 20 per ogni coppia di numeri A e B. Pertanto, il ciclo per c dovrebbe essere così: per C: \u003d 1 per. 20 fare.

Diagramma a blocchi

Fig . 41

Programma

Programma Problema6;
usi. Wincrt;
var.
A, B, C: intero;
inizio.
Writeln ("numeri di Troika Pythagora dal gap");
per A: \u003d 1 per. 20 fare.
per B: \u003d 1 per. UN. fare.
per C: \u003d 1 per. 20 fare.
se A * A + B * B \u003d c * c poi. Writeln (a, "", b, "", c)
fine..

1. Effettuare un diagramma a blocchi e un programma che trova tutte le soluzioni dell'equazione in cui n è un numero specificato, dallo spazio.

2. Trova tutto naturale X dallo spazio per il quale l'espressione è un quadrato di un numero naturale.

ESEMPIO 7. In qualche modo, un dato numero naturale n può essere rappresentato come la somma di due cubi dei numeri naturali:

La permuta della scarica del nuovo metodo non dà. Non possiamo usare la costruzione di 1/3.

Immediatamente la prossima idea semplice del programma è sorto.

Organizza due cicli, uno - un ciclo esterno con variabile I da 1 a N e il secondo - il ciclo interno di J, anche da 1 a n.

L'essenza del programma sarà il seguente:

il primo valore di I è 1, è moltiplicato tre volte su se stesso (questo è sostituito dalla costruzione del 3 ° grado);
poi " noi ci muoviamo"Tutti i valori di J da 1 a N, ognuno dei quali moltiplica anche tre volte su se stesso ed è coerente con il valore I I I, cioè io a Cuba;
Inoltre, tale importo è controllato se è uguale al valore n Se viene eseguita l'uguaglianza, il contatore, ovviamente definito nel programma aumenta di 1 e i valori I e J possono essere visualizzati;
Il ciclo secondo I Continua, prendo il secondo valore - 2 e il ciclo interno di J da 1 a N viene ricominciato e così via.
Se prepariamo il programma su questo piano, avrà due significativi inconvenienti:
1) È fatto un sacco di lavori inutili - entrambi i cicli sono organizzati da 1 a N e tra loro un sacco di superfluo (solo per prendere valori da 1 alla radice del cubico da n);
2) Il programma produrrà valori ottenuti mediante riorganizzazione dei termini, ad esempio: 2 2 2 + 3 3 3 \u003d 35 e 3 3 3 + 2 2 2 \u003d 35, che non è valido dalla condizione del problema . Come eliminare queste carenze?
Il primo inconveniente viene eliminato se scopri per la prima volta quanti valori per ciascuno dei numeri dovrebbero essere considerati per essere effettuati la disuguaglianza.
Per fare questo, puoi organizzare un ciclo con una precondizione, ciclo " fino a "In cui il contatore è K, che contarebbe quante volte verrà eseguita il ciclo.

Questo può essere fatto così:

k: \u003d 0; I: \u003d 1;
mentre I * I * I + 1<= n fare.
Inizio.
K: \u003d k + 1;
I: \u003d I + 1
Fine.;


Ora puoi ridurre in modo significativo il numero di cicli per " test"Numeri e organizzarli da 1 a K, perché con i valori di I più grande di K, anche con il valore più piccolo J (J: \u003d 2) disuguaglianza I I I I + 1<=n не выполняется.
Per eliminare il secondo inconveniente, cioè, per non emettere opzioni con la permutazione dei termini che puoi fare questo:

il ciclo esterno del primo primo numero per organizzare da K a 1 e il ciclo interno per il secondo numero di J per fare da 1 a I. Farà parte del programma:

p: \u003d 0;
per I: \u003d k giù verso. 1 fare.
per J: \u003d 1 per. IO. fare.
Se I * I * I + J * J * J \u003d N
poi.
inizio.
P: \u003d P + 1;
fine.;

Affrontare attentamente questa parte del programma e pensa perché in questo caso evitiamo di ripetere opzioni ed escludere casi di permutazione dei termini?

Sinistra simpatico Termina il programma. Dopo tutto, sarà spesso possibile soddisfare casi quando il numero non può essere presentato sotto forma della quantità di cubi di due numeri. È necessario tenere conto di questa circostanza.

Per fare ciò, dopo aver eseguito tutti i cicli, introduciamo un operatore condizionale in cui, a seconda dei valori del conta dei P, i messaggi corrispondenti saranno emessi.

Se un p \u003d 0, poi dare un messaggio che il numero non può essere presentato come la somma dei cubi di due numeri, e altrimenti, rilasciare un messaggio sul numero di modi.
Questa parte del programma può essere eseguita come segue:

se P \u003d 0.
poi.
inizio.

fine.
aLTRO.


Diagramma a blocchi


Fig . 42

Programma

Programma Problema7;
usi. Wincrt;
var.
I, J, N, K, P: Longant;
inizio.
Scrivi ("Inserisci un numero naturale"); readln (n);
K: \u003d 0; I: \u003d 1;
mentre I * I * I + 1<= n fare.
inizio.
K: \u003d k + 1; I: \u003d I + 1
fine.;
P: \u003d 0;
per I: \u003d k giù verso. 1 fare.
per J: \u003d 1 per. IO. fare.
se I * I * I + J * J * J \u003d N
poi.
inizio.
P: \u003d P + 1;
Writeln (i, "*", i, "*", i, "+", j, "*", j, "*", j, "\u003d", n)
fine.;
se P \u003d 0.
poi.
inizio.
Scrivi ("numero", n, "non può essere inviato nel modulo");
Writeln ("la quantità di cubetti di due numeri")
fine.
aLTRO. Writeln ("il numero di modi è uguale", P)
fine..

Un'altra soluzione a questo compito

Programma Problema7b;
usi. Wincrt;
etichetta1, 2;
var.
I, J, M, K, N: Longint;
inizio.
Scrivi ("Inserisci un numero naturale"); readln (n);
M: \u003d 0; I: \u003d 1; J: \u003d 1;
mentre J * J * J + 1< n fare. J: \u003d J + 1;
ripetere.
K: \u003d I * I * I + J * J * J;
se K \u003d n. poi. M: \u003d m + 1;
se K.<= n poi. I: \u003d I + 1;
se k\u003e \u003d n poi. J: \u003d J - 1;
fino a i\u003e j;
se M \u003d 0. quindi goto. 1;
Scrivi ("numero", n, "può essere rappresentato come somma");
Writeln ("cubetti di due numeri", m, "modi"); Goto 2;
1: scrivi ("questo numero non è immaginato nel modulo");
Writeln ("la quantità di due numeri cubi");
2: fine..

Dato naturale n. È possibile presentare sotto forma della somma di tre quadrati di numeri naturali? Se è possibile, quindi indicare tutte le tre X, Y, Z di tali numeri naturali che la permuta dei componenti del nuovo metodo non dà. Creare un diagramma e un programma a blocchi.

5. Digitare la trasformazione

ESEMPIO 8. Un numero decimale a due cifre nell'ammontare con il numero registrato dagli stessi numeri, ma nell'ordine inverso, dà un quadrato completo. Trova tutti questi numeri.

Lasciare il numero a due cifre desiderato \u003d un 10 + B, quindi il numero registrato dagli stessi numeri, ma in ordine inverso sarà \u003d B 10 + A, ad esempio 12 e 21, 13 e 31, ecc.
La somma di questi numeri dovrebbe dare un quadrato completo, cioè. Quadrato accurato di numeri interi. Come controllarlo?
Il controllo potrebbe essere fatto così: rimuovere la radice quadrata dall'importo ottenuto; Quindi il risultato del risultato è fino a un numero intero, e quindi moltiplicare il risultato del risultato su te stesso se la somma di questi numeri è di nuovo, significa che è un quadrato esatto o completo.
Ad esempio, 12 + 21 \u003d 33, rimuovere la radice quadrata di 33, è 5.74 ...; arrotondato, ci saranno 6; Moltiplicare 6 da solo e ottieni 36.
Non abbiamo ottenuto il risultato della fonte, allora la somma 33 non è un quadrato esatto.
Un altro esempio in modo da capire l'idea di risolvere. Lasciare un numero a due cifre 29, quindi il numero registrato dagli stessi numeri, ma nell'ordine inverso - 92, nell'importo che danno 121. Rimuovere la radice quadrata di 121 e otteniamo 11. Multipling 11 stesso, otteniamo di nuovo 121. Facciamo la conclusione che ha ricevuto un quadrato accurato, e quindi il numero a due cifre 29 è il desiderato.
Per effettuare un programma su questo principio, dovrai estrarre una radice quadrata dall'importo, che può essere eseguita utilizzando la funzione SQRT (X) standard. Il risultato della funzione SQRT (X) è un numero reale, deve essere arrotondato o scartare la parte frazionata, e non siamo noti come farlo.
Ma, ancora più significativo, è che se la radice quadrata nel set di numeri interi viene estratta, come per 121 (è uguale a 11), quindi su una pluralità di numeri reali, non otteniamo un numero 11 severa, e il risultato sarà molto vicino a 11 e dopo la moltiplicazione su noi stessi non funzionerà 121, cioè. C'è un bisogno trasformare Valore reale nel tutto.
Quindi, prima di noi due compiti: 1) Scopri come arrotondare i numeri e; 2) Installare come convertire un tipo reale in un insieme.

Per fare questo, in Pascal ci sono funzioni standard di round (x) e trunc (x)

Funzioni standard il giro e trunco Progettato per sostituire i valori del tipo reale da parte dei valori di tutto il tipo.
Funzione il giro(x) Arrotonda il vero numero X al tutto - il suo valore è il numero intero più vicino:
il giro(4.2) = 4, il giro(4.7) = 5, il giro(4.5)=5,
Il giro(-4.2) = -4, il giro(-4.7) = -5, il giro(-4.5) = -5.
Funzione trunco(x) lancia (senza arrotondamento) parte frazionaria del numero reale X:
trunco(1.2) = 1, trunco(5.8) = 5, trunco(-1.2) = -1,
Trunco(-5.8) = -5, trunco(-6.7) = -6, trunco(8,9) = 8

Le funzioni di arrotondamento sono correlate:
trunco(x + 0.5) \u003d il giro(X), se un x 0,
trunco(x - 0.5) \u003d il giro(X), se un X.< 0.
Quindi, nel programma è possibile utilizzare una di queste funzioni. Che cosa? Pensi e prova a applicare prima la funzione nel programma. trunco, quindi sostituirlo il giro e confronta i risultati ottenuti.

  • Mostra che il numero a quattro cifre che i numeri di migliaia e dozzine sono uguali e i numeri di centinaia e unità sono uguali, non possono essere un quadrato preciso.
  • Il lavoro di sei numeri naturali consecutivi può essere uguale al prodotto di tre numeri naturali consecutivi. Ad esempio, 1 2 3 4 5 6 \u003d 8 9 10 \u003d 720. Ci sono altri numeri?
  • Dimostra che il prodotto di quattro numeri interi successivi nella quantità con un'unità dà un quadrato completo.
  • Trova 11 numeri naturali consecutivi, la somma dei quadrati di cui è la piazza di un intero.
  • Ci sono tali numeri interi che diminuiscono 57 volte quando salti fuori le loro figure (sinistra)?
  • Trova un numero a quattro cifre, sapendo che è un quadrato di un numero naturale e che i numeri vengono disintegrati in due coppie costituite dalle stesse cifre.
  • Trova tutti i numeri a sette cifre divisi in 15 e registrati solo dai numeri 0 e 1.
  • Il numero a sei cifre inizia con la figura 1. Se questa cifra viene riorganizzata alla fine del numero, il nuovo numero sarà tre volte più iniziale. Trova un numero.
  • Quanti quadrati accurati possono essere fatti da numeri 3, 4, 5, 6?
  • Ci sono 20 diversi numeri naturali, non grandi 50. Trova due di loro, la cui differenza è uguale a 4, 5 o 9.
  • Quante volte il numero a due cifre aumenterà, se si è direttamente ad essa attribuire lo stesso numero a due cifre?
  • Determinare il valore più alto del rapporto tra il numero a tre cifre al numero pari all'ammontare dei numeri di questo numero.
  • Trova un numero a tre cifre, più 45, se la differenza tra questo numero e il numero registrato dagli stessi numeri, ma in ordine inverso è 297.
  • Trova un numero a quattro cifre, più 11, fornito: B + C \u003d A e c'è un quadrato completo.
  • Trova un numero a tre cifre uguali alla quantità delle cifre di decine, numero quadrato di centinaia di numeri di centinaia e cubo di unità.
  • Trova due numeri il cui prodotto è un numero a tre cifre, che è un cubo di un certo numero e il privato è il quadrato di questo numero.
  • La differenza tra il numero e il prodotto dei suoi numeri sono uguali alla quantità dei numeri di questo numero. Trova questo numero.
  • Trova tutti i valori del numero m per il quale l'importo è 1! + 2! +, + m! È un quadrato completo.
  • Trova un numero di quattro cifre positivo, più 7 e rappresentando la quantità di cubo e il quadrato di un certo numero.
  • Qualche numero alla divisione di 7 dà nel residuo 3; La sua piazza quando si divide il 72 dà il residuo 44; Il suo cubo con divisione a 73 dà il residuo 111. Trova questo numero.
    1. Con che tipo di valore naturale A è il numero A2 + A + 1589 sarà un quadrato preciso?
    2. Trova il numero perfetto del modulo 16p.
    3. Trova due numeri se la somma dei loro quadrati è 468, e la somma del loro più grande divisorio totale e il più piccolo è 42.

    Le istruzioni per il ciclo per il ciclo implementa la struttura algoritmica ciclo con parametro (o ciclare con un contatore). Il ciclo per il ciclo viene utilizzato nel caso in cui il programma, prima di eseguire le istruzioni del ciclo, diventa noto (o definito in anticipo) il numero di passaggi di questo ciclo. Nel diagramma a blocchi, l'istruzione per l'istruzione è rappresentata come segue:

    Sintassi:

    Per ( inizializzazione; condizione; modifica) (Istruzioni del corpo del ciclo;)

    Se c'è un'istruzione nel corpo del ciclo, allora () può essere omesso. Il ciclo variabile-parametro (contatore) può essere qualsiasi tipo numerico. Ciò rende il ciclo del ciclo C ++ come universale come il ciclo del tipo. Nella sezione Modifica, l'incremento postfix o il prefisso (o decremento (o decremento) è il più frequente utilizzato, ma è possibile utilizzare qualsiasi espressione di assegnazione che modifica il valore del parametro del ciclo. Il ciclo funziona come segue:

    • All'inizio c'è una descrizione e l'inizializzazione del contatore
    • Avanti Condizioni di controllo: se l'espressione è importante vero., si verificherà l'iterazione
    • Dopo aver eseguito le istruzioni del corpo del ciclo, viene modificata una modifica del misuratore

    Nota: C ++ è una regola per creare una descrizione del contatore del misuratore nell'intestazione del ciclo. Ma questo non è necessariamente, specialmente se si prevede di inizializzare diverse variabili nella sezione di inizializzazione in quanto è implementata nel programma 9.2. Tuttavia, l'uso della descrizione del contatore della variabile nell'intestazione del ciclo porta a una descrizione di una variabile locale distrutta automaticamente al completamento dell'operazione del ciclo. Pertanto, senza necessità estrema, la descrizione del contatore della variabile non è necessaria per produrre.
    Nel processo di funzionamento, il ciclo per il ciclo non è consigliato per modificare gli operandi nelle espressioni dell'intestazione del ciclo - questo porterà a diversi tipi di errori! Ma i valori delle variabili (o costanti), compresi i valori variabili (contatore), possono essere utilizzati. Considera un classico esempio.

    Programma 9.1. Il numero naturale n è dato. Per prelevare tutti i divisori di questo numero.

    #Includere. << "N = "; cin >\u003e N; per (int I \u003d 2; io< 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

    Usando le istruzioni Continua in per il ciclo

    Quando si utilizza le istruzioni Continua nel ciclo per il ciclo, è necessario tenere conto delle caratteristiche del lavoro di questo ciclo:

    • Le istruzioni successive continueranno a continuare
    • Poi c'è una modifica del misuratore
    • Transizione alla seguente iterazione (altrimenti, le condizioni di convalida)

    Mostralo all'esempio: int Main () (per (int I \u003d 1; I< 20; i++) { if (i % 2 == 0) continue; cout << i << " "; } 1 3 5 7 9 11 13 15 17 19

    Nota. Nota: sebbene l'output dei numeri da parte della condizione sia persa, ma viene eseguito l'incremento del misuratore. Questo esempio è solo solo per l'illustrazione, la programmazione del ciclo non segue così! Questo compito è meglio risolvere come segue:

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

    Diverse espressioni nella sezione di inizializzazione e modifica

    Come abbiamo già notato in precedenza nell'intestazione dell'istruzione, le istruzioni dovrebbero essere tre sezioni. Le espressioni in queste sezioni possono essere abbassate, ma non possono essere omesse. ";" . Alla fine, puoi solo andarsene; . Titolo nel modulo:

    Per (;;) (...)

    È il titolo del ciclo "infinito". (L'uscita dal ciclo deve essere programmata all'interno del corpo del ciclo).
    C ++ supporta più espressioni nelle sezioni di inizializzazione e modifica nell'intestazione dell'intestazione. Allo stesso tempo, la continuazione delle condizioni del ciclo dovrebbe essere una!
    Per esempio. Dichiarazione del problema: calcola il fattoriale del numero che non supera i 20.
    Programma 9.2.

    #Includere. Usando il namespace std; Int main () (non firmato lungo lungo 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

    Nota: Si prega di notare che il flusso di uscita nella riga 12 non si applica al corpo del ciclo! (Alla fine del titolo -;). Pertanto, questo ciclo nel corpo ha un'istruzione vuota e tutte le espressioni sono calcolate nel titolo. Il programma 9.2 calcola correttamente il fattoriale del numero da 0 a 20.

    Gamma-basata sulla forma

    Per la forza bruta di un array o elementi di container, è necessario eseguire lo stesso tipo, mentre si utilizza un codice ingombrante. Per semplificare il lavoro con i contenitori in C ++, vi è una forma speciale della portata per il ciclo per il ciclo. per una gamma in base alla gamma o banda per).
    Sintassi:

    Per ( anno Domini : nome della ricezione) Loop_statement.

    Utilizzo della gamma basata sull'esempio del C-array:
    Programma 9.3.

    #Includere. Usando il namespace std; Int main () (int x (1, 2, 3, 4, 5, 6, 7, 8, 9, 10); per (Auto & S: x) (cout<< s << " "; } return 0; }

    In modo che gli elementi dell'array possano essere modificati - la variabile s deve essere una variabile di riferimento (come nell'esempio sopra). Se la variabile non è un riferimento, i dati verranno copiati. Per rimuovere automaticamente il tipo in questo ciclo, viene utilizzato il specificatore automatico. La gamma basata per ha una restrizione per lavorare con array dinamici: non supporta il ridimensionamento dell'array, in quanto contiene un indice di fine array fisso. Quando si lavora con gli array con dimensioni fisse, la gamma per è un'alternativa eccellente e sicura al solito per.

    Cicli nidificati per

    Proprio come le altre istruzioni di cicli, per supporta la struttura dei cicli nidificati. Applicazione di annidata cicli per Per organizzare l'input e la produzione di array bidimensionali, sembra molto più compatto di quando si utilizza il ciclo while.
    Tuttavia, quando si risolvono tali array risolvendo tali array, è necessario evitare l'applicazione dell'istruzione condizionale se. Spesso, il compito può essere implementato più razionalmente, manipolando gli indici (variabili ciclabili I e J). Cioè, per aggiungere al cambiamento nel cambiamento di un indice, dal valore dell'altro. Considera due esempi.
    Programma 9.4. Una matrice quadrata N è data, gli elementi di cui sono 0. Riempire gli elementi sottostanti e sulle unità diagonali più importanti.

    #Includere. Usando il namespace std; Int main () (int n; cout<< "n = "; cin >\u003e n; Int mas [n] [n]; // riempire con zeri per per (int i \u003d 0; io< 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

    Programma 9.5. Creare un programma per riempire l'array con i numeri del triangolo di Pascal e il ritiro di questo array. Il triangolo di Pascal ha la forma:


    In questo triangolo in cima e sui lati, ci sono unità (nel programma 9.5, il triangolo "è messo sul lato" - il lato del triangolo: la prima colonna e la diagonale principale). Ogni numero è uguale alla somma di due numeri sopra di esso. Le righe del triangolo sono simmetriche relative all'asse verticale e contengono coefficienti di binomina.

    #Includere. Usando il namespace std; Int main () (int n; cout<< "n = "; cin >\u003e n; Int pas [n] [n]; per (int i \u003d 0; io< 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

    Domande
    1. Potrebbe essere sostituito nel programma per le istruzioni per il ciclo del ciclo all'istruzione del ciclo? È sempre possibile farlo?
    2. Quando è più conveniente richiedere l'organizzazione dei cicli, per le istruzioni per? Mentre?
    3. Se l'intestazione per le istruzioni per le seguenti espressioni è possibile nell'intestazione: a) per (A\u003e B &&! (A% 2);) b) per (A\u003e B;) c) per (; i \u003d 0 ) d) per (; i \u003d 0;) e) per (;; i ++, --b) f) per (- -;) g) per (B \u003d 0; B! \u003d A)?
    4. La variabile I è il parametro del ciclo esterno e J - investito. Ci sarà una variabile J in un ciclo esterno? Io nel ciclo investito?
    Manuale
    compiti a casa
    1. Indietro 29. Scrivi il programma in cui vengono introdotti i numeri naturali uN. e b.e il display mostra tutti i numeri semplici nell'intervallo da uN. prima b. (L'idea del programma dell'algoritmo 8.5)
    2. Indietro 30. Perfetto è il numero pari alla somma di tutti i suoi divisori più piccoli di esso (ad esempio, il numero 6 \u003d 1 + 2 + 3). Scrivi un programma che entra nel numero naturale n e determina se il numero n è perfetto.
    3. Scrivi un programma che visualizza una tabella di dimensioni numeriche quadrata NXN, avente il seguente modulo a N \u003d 10: 1 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 7 * * * * * * * * * * * * 8 * * * * * * * * * * 9 * * * * * * * * * * *
    Letteratura
    1. Lappa R. Programmazione orientata agli oggetti in C ++ (4 ° ED.). PETER: 2004.
    2. Prath, Stephen. Linguaggio di programmazione C ++. Lezioni frontali ed esercizi, 6 ° ed.: Per. dall'inglese - M.: LLC "I.D. William, 2012.
    3. Lippman B. Stanley, Josi Lazhoye, Barbara E. Mu. Linguaggio di programmazione C ++. Corso di base. Ed. 5 °. M: LLC "I. D. Williams ", 2014
    4. Elline A. C ++. Da Lamera al programmatore. San Pietroburgo: Pietro, 2015
    5. Schildt G. C ++: corso di base, 3-ed. M.: Williams, 2010



    Un operatore del ciclo con un parametro è utilizzato con precisione in tali casi quando è necessario organizzare un ciclo con un determinato numero di ripetizioni.

    per <параметр_цикла>:=<начальное_знач> per. <конечное_знач> fare. <оператор>;

    per <параметр_цикла>:=<конечное_знач> giù verso. <начальное_зна.> fare. <оператор>;

    L'operatore che rappresenta il corpo del ciclo può essere semplice o composito.

    Il parametro del ciclo, nonché la sua gamma di modifiche può essere solo un numero intero o elencato.

    Il parametro è descritto in combinazione con altre variabili.

    Il passo del ciclo è sempre costante e uguale a "1" o "-1".

    Mostra i primi dieci numeri interi positivi

    vAR I: Integer; // il contatore è inserito

    fori: \u003d 1to10do // Mentre il valore del misuratore da 1 a 10 esegue quanto segue

    writeln (i); // Valori di conto di uscita

    vari, somma: intero;

    somma: \u003d 0; // azzerando il valore della variabile

    fori: \u003d 10to99do // Busto di numeri positivi a due cifre

    se i mod 3 \u003d 0 quindi // moltiplicità 3

    somma: \u003d somma + i; // la somma del valore precedente della variabile e del numero corrispondente alla condizione

    Per visualizzare il lavoro dei dieci primi numeri positivi anche

    vari, PR: Integer;

    pR: \u003d 1; // Quando il lavoro è il valore iniziale della variabile non 0 e 1

    per i: \u003d da 1 a 10 do

    se i mod 2 \u003d 0 allora // determinazione della parità

    Sono dati due numeri interi a e b (a< B). Вывести в порядке возрастания все целые числа, расположенные между A и B (в том числе A и B), a также количество N этих чисел .

    vAR I, PR: Integer;

    k: \u003d 0; // resettare il valore della variabile che significa il numero

    fore: \u003d ATOBDO // BruePings del numero dall'intervallo specificato

    writeln (i); // Conclusione in numero di ordine crescente

    k: \u003d k + 1; // Conta numeri di conteggio

    writeln (k); // L'uscita della quantità si verifica al di fuori del ciclo. Uscita una volta.

    Inserisci n diversi numeri. Trova la media aritmetica di tutti i numeri.

    VAR N, I, A: Integer;

    Per i: \u003d 1 a n do

    Writeln ("media aritmetica \u003d", s / n: 4: 2);

    Operatore ciclo con mentre ... Do (finora ...)

    Il while ... Operatore è progettato per implementare cicli con la precondizione.

    La condizione per l'esecuzione del funzionamento del ciclo mentre viene controllata prima dell'inizio di ogni passaggio. Pertanto, se la condizione non viene immediatamente eseguita, il corpo del ciclo viene ignorato e il controllo viene trasmesso all'operatore in piedi immediatamente dietro il corpo del ciclo.

    Appello all'operatorementre ... fare. Tradotto come "Mentre ... fai" e sembra questo:

    mentre <условие> fare. <оператор>

    Il ciclo mentre implica un tale algoritmo: mentre la condizione è vera, vengono eseguiti gli operatori del corpo del ciclo.

    La condizione stessa può essere una costante logica, variabile o un'espressione logica.

    Durante la scrittura di cicli con precondizione, è necessario ricordare quanto segue.

      affinché il ciclo abbia la possibilità di finire, il contenuto del suo corpo deve necessariamente influenzare la condizione del ciclo.

      la condizione dovrebbe consistere in espressioni e valori corretti definiti prima del primo adempimento del corpo del ciclo.

    Se la condizione del ciclo è falsa il ciclo, non è mai stato completato!

    espressione1. e B. razione2. - Il valore iniziale e finale del parametro del ciclo.

    Tipo di azione all'operatore ciclista (account diretto):

    2. La condizione è verificata: valore variabile più espressione valori2?

    3. Se sì, il ciclo si ferma; In caso contrario, l'operatore è in funzione, il valore della variabile aumenta di uno e quindi viene ripetuta l'azione, a partire dal paragrafo 2.

    Operatore del ciclo del tipo Downto:

    1. La variabile è assegnata il valore dell'espressione1;

    2. La condizione è verificata: il valore della variabile è inferiore al valore dell'espressione2?

    3. Se sì, il ciclo si ferma; In caso contrario, l'operatore viene eseguito, il valore variabile diminuisce per unità e quindi l'azione viene ripetuta, a partire dal paragrafo 2.

    Regole:

    1. Parametro ciclo Potrebbe esserci solo un'intera variabile.

    2. Parametro ciclo Non può cambiare esplicitamente nel corpo del ciclo.

    Per esempio:

    per i: \u003d da 1 a 10 do

    i: \u003d I + 1; (sbagliato)

    3. Il passaggio del ciclo può essere uguale solo +1 (ciclo con a) o -1 (ciclo con il dorso).

    4. Conformemente a una vista comune, il corpo del ciclo deve consistere in un operatore se diversi operatori utilizzano il componente e le staffe dell'operatore iniziano ..

    5. Il ciclo potrebbe non essere soddisfatto in qualsiasi momento.

    L'obiettivo: Scrivi un diagramma di blocco e un programma per calcolare il valore medio n inserito dai numeri della tastiera.

    vAR I, N: Integer; X, s: reale;

    scrivi (immettere il numero di numeri ");

    per i: \u003d 1 a n do

    scrivi ('Inserisci il numero', i);

    writeln ('valore medio \u003d', s / n);

    Operatore ciclo con precondizione (mentre)

    Operatore del ciclo della ruota - Questo è un operatore del ciclo con un numero sconosciuto di ripetizioni.

    Forma generale:

    mentre l'espressione logica esegue l'operatore;

    espressione logica - Questa è la condizione di continuare il ciclo.

    operatore

    Azione dell'operatore:

    1. L'espressione logica è calcolata;

    2. Se è vero, l'operatore viene eseguito, dopo il quale vengono ripetute tutte le azioni, a partire dalla clausola 1;

    3. Esley un'espressione logica - falsamente, il ciclo si ferma.

    Regole:

    1. Il corpo del ciclo dovrebbe consistere in un solo operatore se sono in qualche modo utilizzando un operatore composito.

    2. Poiché la condizione viene controllata all'inizio del ciclo, il ciclo non può essere eseguito in qualsiasi momento.

    3. Affinché il ciclo sia infinito, i valori inclusi nell'espressione logica devono essere modificati nel corpo del ciclo.

    Per esempio:

    mentre A.<100 do

    L'obiettivo.Scrivi un diagramma a blocchi e un programma che calcola e visualizza una tabella di valori di funzione.

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

    writeln ("Immettere il valore iniziale, finale x e una modifica fase x");

    writeln ("| x | y |");

    mentre X.<=xk do

    writeln ("|", x: 7: 2, "|", y: 7: 2, "|");

    Operatore ciclo con la bandaband (ripeti ... ciclo).

    Gestione del ciclo si ripete ... - Questo è un operatore del ciclo con un numero predeterminato di ripetizioni.

    Forma generale:

    operatori;

    fino all'espressione logica;


    Ripeti ... Operatore ciclo:

    Gli operatori del corpo del ciclo sono eseguiti fino al valore della falsa espressione logica; Una volta che l'espressione logica si verifica, l'esecuzione dell'operatore del ciclo si arresta.

    Regole:

    1. Il corpo del ciclo viene sempre eseguito almeno una volta, poiché la condizione è alla fine del ciclo.

    2. In questo operatore del ciclo, non è necessario un operatore composito, tutti gli operatori nel corpo del ciclo sono limitati dalle parole chiave che si ripetono ...

    L'obiettivo.Scrivi un diagramma di blocco e un programma per il calcolo .

    programma rep_unt;

    vAR N, K, S: Integer;

    scrivi ("Enter K");

    scrivi ("totale", s);

    Array di dati

    Vettore - Questa è una combinazione di dati ordinati con lo stesso nome e tipo e diverso l'uno dall'altro (indice). Gli array sono unidimensionali e multidimensionali. Esempi di array:

    2 5 -15 10 20 - Una serie di un tipo intero di 6 elementi;

    2.3 9 2.45 4.78 5.32 - Un'array di un tipo reale di 5 elementi;

    Ivanov Ivan Ivanovich - una serie di personaggi da 20 elementi;

    Vista generale della descrizione degli array mine-dimensionali:

    var il nome dell'array: array [il valore iniziale dell'indice. Il valore finale dell'indice] del tipo;

    dove il valore iniziale dell'indice e il valore finale dell'indice - valori interi che specificano l'intervallo di modifiche nell'indice dell'array.

    Per esempio:

    var vettore: array di reale;

    Vista generale della descrizione degli array multidimensionali:

    nome del var array: array [valore indice iniziale .. Valore dell'indice finale, ..., ...] di<тип>;

    Per esempio:

    varmatrix: array Ofinteger; - Descrizione della dimensione della matrice 3'5.

    Accesso agli elementi dell'array.

    È possibile fare riferimento agli elementi dell'array specificando il suo nome e elencati in parentesi quadre (in array multidimensionali attraverso la virgola) i valori del suo indice.

    Come tali indici, è possibile utilizzare solo i valori costanti.

    Per esempio:

    a [i], b, v1, a

    BANCA DATI

    Database di concetto

    Inizialmente, i computer sono stati creati per risolvere compito di elaborazioneTuttavia, nel tempo, sono diventati sempre più usati per costruire sistemi di elaborazione dei documenti, Più precisamente, le informazioni contenute in loro. Tali sistemi sono chiamati informativo. I sistemi possono essere portati come esempio. contabilità per il volume di lavoro svolto presso l'impresa, calcolo del libro paga, prodotti contabili in magazzino, libri contabili in biblioteca eccetera.

    Questo tipo sistema informativo richiede la creazione di un computer in memoria aggiornato dinamicamente I modelli sono considerati argomento Usando un singolo repository - banca dati (Banca dati). Argomento - parte del mondo reale da studiare con lo scopo di organizzare la gestione e, in definitiva, automazione. La composizione di ciascuno argomento C'è una totalità di nessuno artificiale. Gruppi di questi artificialeUniti da qualsiasi sign di raggruppamentoChiamata chiamata essenze . Ad esempio, se stiamo parlando di prodotti contabili in un magazzino, quindi è possibile assegnare entità " prodotto", "acquirente", "patch". Gli oggetti saranno i loro rappresentanti specifici, ad esempio, zucchero, OJSC "GEFEST", contorno №252..

    Banca dati - questa è una combinazione di informazioni su Real artificiale, processi o fenomeniparente argomento, organizzato in modo tale da fornire una rappresentazione conveniente (accesso, mappatura) di questa totalità, sia in generale che in qualsiasi parte di esso.

    Informazioni Magazzini B. banca dati siamo tabelle , ognuno dei quali contiene informazioni sullo stesso tipo artificiale (Unito sign di raggruppamento), modulo essenza. Ogni linea tabelle Include singoli dati oggetto, istanza essenza (per esempio, prodotto, acquirente, in alto), ma colonne Tabelle contenere varie caratteristiche di questi oggetti - attributi (per esempio, nomi di merci, nomi di acquirenti e numeri di patch).

    In termini di database stringhe Le tabelle sono chiamate appunti , e lei colonnecampi . Qualunque cosa inserimenti avere la stessa struttura - consistono nella stessa cosa campi , in cui vengono memorizzati vari valori attributi oggetto. Tutti prevaggio Contiene una caratteristica oggetto e ha rigorosamente definito tipo di dati(Ad esempio, stringa di testo, numero, data). Tutti i record di una tabella hanno lo stesso campo, contiene solo valori diversi. attributi.

    Prima di effettuare i dati in tabelle, Ho bisogno di determinare struttura Questi tabelle. Questo è compreso dalla descrizione. nomi e tipi di campi, così come una serie di altre caratteristiche (ad esempio, dimensione del campo, criteri per il controllo dei dati di input). Esempio di definizione della struttura della tabella L'acquirente è mostrato in Fig.8.1.

    Struttura del tavolo "Acquirente".

    Oltre alla descrizione strutture Tavoli in un complicato piuttosto complicato banca dati bisogno di determinare comunicazionetra le tabelle. Comunicazione - Questa è un'associazione installata tra due tabelle. Ad esempio, le informazioni sui clienti nella tabella precedente possono essere completate da un'altra tabella "vacanza dei beni"

    Come banca dati chiamato relazionale (a partire dal relazione - Comunicazione, atteggiamento). Database relazionale rappresenta un sacco di interrelati tabelle, ognuno dei quali contiene informazioni su artificiale Tipo specifico.

    Legami B. database relazionali sono determinati dalla coincidenza dei valori campi in diverse tabelle. I campi per i quali vengono stabiliti la connessione tra le tabelle campi di comunicazione . Nell'esempio sopra di esso campo "Nome dell'acquirente".

    A seconda del tipo di informazione contenuta in tabelle I database, tra di loro possono essere tre tipi principali di connessioni: uno-a-molti, uno a uno, molti-co-molti.

    Atteggiamento uno-a-molti è installato tra le tabelle quando una voce in genitore figlia Tavolo. Nell'esempio sopra, tra i tavoli "acquirente" e "vacanza dei beni" stabilisce questo tipo.

    Atteggiamento uno a uno avviene quando una voce in genitore La tabella corrisponde a non più di una voce in figlia Tavolo.

    In caso di relazione molti-co-molti Una voce B. genitore La tabella può corrispondere a qualsiasi numero di voci in figlia Tavolo e viceversa.

    Relazioni correlate tabelle Interagire in Principio il principale (Maestro) - subordinante (Dettaglio). Nel nostro esempio, la tabella "Acquirente" il principale, e il tavolo "ha rilasciato merci" - subordinante. La stessa cosa Anche il tavolo è spesso chiamato genitore, ma subordinarefiglia. Stesso tavolo può essere la stessa cosa in relazione a uno tavolo Database I. figlia in relazione all'altro.

    Sistemi di gestione del database (SPES). Classificazione

    Lavorare con i dati utilizzati sistemi di gestione del database (DBMS). DBMS. - Questi sono strumenti software destinati a determinare i dati (descrizioni della struttura dei database - tabelle, collegamenti), elaborazione e gestione dei dati. Adatto - FoxPro, Oracle, SQL-server, Delphi, DBASE, Clipper, IDR di accesso MS.

    Si distinguono tre tipi principali di DBMS: destinazione universale industriale, scopo speciale industriale e sviluppato per un cliente specifico (personalizzato).

    Specializzato Creato per controllare i database di un appuntamento specifico - contabilità, magazzino, bancario, ecc.

    Universale Non hanno un quadro applicativo chiaramente definito, sono calcolati "per tutte le occasioni" e, di conseguenza, piuttosto complessi e richiedono conoscenze speciali dall'utente.

    a differenza di industrialsubdzakaznaya. Il massimo grado tiene conto delle specifiche del cliente (una particolare impresa), la loro interfaccia è solitamente intuitivamente compresa dagli utenti e non richiede conoscenze speciali da loro. D'altro canto, specializzato e empowerness universale Refd. relativamente economico, abbastanza affidabile (debug) e pronto per il lavoro immediato, mentre personalizzato richiedono costi significativi e la loro preparazione del lavoro e del debug occupano un considerevole periodo di tempo (da diversi mesi a diversi anni).

    A seconda della posizione del DBMS distinguere localee distribuito(client-server.) DBMS. Tutte le parti dBMS locale Sono pubblicati su un computer utente di database. Se diversi utenti appaiono a un database sulla rete del computer contemporaneamente, ciascun computer utente deve avere una copia del DBM locale. Al contrario, una parte significativa del software e dell'hardware dBMS distribuito Centralizzato ed è su un computer abbastanza potente (server),mentre i computer utente effettuano una parte relativamente piccola del DBM chiamato cliente. Locale DBMS può funzionare sulla rete, ma potrebbe non usarlo mentre distribuito DBMS Assicurati di lavorare rete di computer.

    Si noti che la posizione stessa banca dati Non influisce sulle specifiche del DBMS: in locale Dbms sama. banca dati Può essere posizionato sia sul computer dell'utente che su un computer di rete remoto (file server).

    Dignità incondizionata client-Serversystems. È centralizzato controllo di accesso per banca dati. In tali sistemi banca dati in gran parte protetto Sia da distorsioni casuali che intenzionali, è più facile da implementare integrità e coerenza dei dati.

    DBMS è un componente essenziale. sistema informativo. Per creare e gestire sistema informativo DBMS è necessario nella stessa misura secondo necessità traduttore per lo sviluppo programmi sul lingua algoritmica.

    Le funzioni principali eseguite dal DBMS:

    Gestione dei dati in. memoria esterna (sui dischi);

    Gestione dei dati B. memoria ad accesso casuale;

    - Journization. Cambia I. recupero dati Dopo i guasti;

    Mantenimento delle lingue banche dati (Lingua definizione dei dati - Lingua del linguaggio SDL, linguaggio di manipolazione dei dati - linguaggio DML o un singolo linguaggio integrato contenente tutti i database necessari per lavorare - lingua delle query SQL strutturate).

    La campana.

    Ci sono quelli che hanno letto questa notizia prima di te.
    Iscriviti per ricevere articoli freschi.
    E-mail
    Nome
    Cognome
    Come vuoi leggere la campana
    Senza spam.