LA CAMPANA

C'è chi ha letto questa notizia prima di te.
Iscriviti per ricevere gli ultimi articoli.
E-mail
Nome
Cognome
Come vuoi leggere La Campana?
Niente spam

Operazioni e operatori del linguaggio di programmazione C. Esempi di programmi.

Strutture di controllo e costrutti di base dei linguaggi di programmazione

Un programma che si trova nella memoria del computer occupa una certa area di memoria al momento dell'esecuzione. In ogni momento, lo stato del programma è caratterizzato da due tipi di informazioni:

Lo stato di alcune celle di memoria, che intendiamo come variabili;

Il punto attivo del programma, ovvero il comando del programma che viene eseguito in quel momento.

Pertanto, ci sono due classi principali di azioni che possono essere eseguite da sistema informatico:

Azioni che allocano un'area di memoria per le variabili di programma (descrizioni).

Azioni che modificano il punto di esecuzione del programma (operatori, istruzioni, costruzioni).

Vari insiemi di azioni di seconda classe sono anche chiamati strutture di governo.

In genere, le istruzioni in un programma vengono eseguite una dopo l'altra nell'ordine in cui sono scritte. Questa è chiamata esecuzione sequenziale. Vari operatori Il linguaggio C, di cui parleremo tra poco, offre al programmatore l'opportunità di indicare che l'istruzione successiva da eseguire potrebbe essere diversa dalla successiva nella sequenza. Questo è chiamato un trasferimento di controllo.

Negli anni '60 divenne chiaro che al centro della maggior parte delle difficoltà affrontate dai team di sviluppo Software, pone l'uso incontrollato del trasferimento di controllo. La colpa è stata data all'istruzione goto, che consente al programmatore di trasferire il controllo nel programma a uno dei possibili indirizzi in un intervallo molto ampio. Il concetto del cosiddetto programmazione strutturataè diventato quasi sinonimo di "goto eccezione".

La ricerca di Bohm e Iacopini ha mostrato che la programmazione è possibile anche in assenza di istruzioni goto. Cambiare lo stile di programmazione in "programmazione senza goto" è diventato un motto epocale per i programmatori. Ma è stato solo negli anni '70 che un'ampia gamma di programmatori professionisti ha iniziato a prendere sul serio la programmazione strutturata. I risultati sono stati impressionanti, con i team di software che hanno riportato tempi di sviluppo più rapidi, consegna più frequente dei sistemi in tempo e completamento dei progetti nel rispetto del budget. La chiave del successo è semplicemente che i programmi creati con tecniche di programmazione strutturata sono più facili da capire, più facili da eseguire il debug e da modificare e, cosa più importante, hanno maggiori probabilità di essere scritti senza errori.
Il lavoro di Bohm e Iacopini nel 1966 ha mostrato che tutti i programmi possono essere scritti utilizzando solo tre strutture di controllo, vale a dire la struttura sequenziale, la struttura di selezione e la struttura di ripetizione. Questo risultato è stato stabilito da Bohm e Jacopini nel 1966 dimostrando che qualsiasi programma può essere trasformato in un programma equivalente costituito solo da queste strutture e dalle loro combinazioni. In questo caso, la struttura sequenziale è essenzialmente incorporata nel linguaggio C. Se non diversamente specificato, il computer esegue automaticamente le istruzioni C una dopo l'altra nell'ordine in cui sono scritte.

Quindi, un programma per risolvere un problema di qualsiasi complessità può essere composto da tre strutture chiamate successione (chain), branching e loop. Ognuna di queste strutture di controllo è implementata nel linguaggio di programmazione da un insieme di costrutti corrispondenti.

Le strutture di governo comprendono:

· La struttura dei seguenti;

· Struttura ramificata;

strutturato operatori - si tratta di costruzioni costruite secondo determinate regole da parte di altri operatori. Gli operatori strutturati includono:

Operatore composto

Operatore condizionale

Operatori di selezione

Operatori di loop

Con dichiarazione

1. Operatore composto

Composito operatore è un gruppo di un numero qualsiasi di operatori, separati l'uno dall'altro da un punto e virgola e delimitati dalle parentesi dell'operatore inizio e fine.

Formato operatore composto:

inizio<Оператор1>; ... ; <ОператорN>;

Indipendentemente dal numero di operatori inclusi in esso, l'operatore composto viene percepito nel suo insieme. L'operatore composto più comunemente usato è nelle istruzioni condizionali e di ciclo.

Gli operatori composti possono essere nidificati l'uno nell'altro, senza limitazioni imposte alla profondità di annidamento degli operatori composti.

2. Operatore condizionale

Condizionale operatore applica o non rispetta determinate dichiarazioni a seconda del rispetto di determinate condizioni.

Formato dell'istruzione condizionale:

Se poi<Оператор1> ;

La condizione è un'espressione tipo logico... L'operatore funziona come segue: se la condizione è vera (ha il valore True), viene eseguito operator1, altrimenti viene eseguito operator2. Entrambi gli operatori possono essere composti.

Un'istruzione condizionale può essere scritta in forma abbreviata quando la parola else e l'istruzione2 dopo di essa sono assenti.

Per organizzare i fork in tre o più direzioni, puoi utilizzare diverse istruzioni condizionali, nidificate l'una nell'altra. Inoltre, ogni altro corrisponde al poi che lo precede immediatamente. Per colpa di possibili errori dovresti evitare di annidare profondamente le istruzioni condizionali l'una nell'altra.

3.Selezione dell'operatore

Operatore di scelta è una generalizzazione dell'operatore condizionale e consente di scegliere tra un numero arbitrario di opzioni disponibili. Questa affermazione consiste in un'espressione chiamata selettore, un elenco di opzioni e un ramo else opzionale, che ha lo stesso significato di un'istruzione condizionale.

Seleziona il formato dell'operatore:

Astuccio<Выражение-селектор>di

<Список1> : <Оператор1>;

<СписокN> : <ОператорN>

Espressione del selettore dovrebbe essere tipo ordinale... Ogni variante è un elenco di costanti, separate da due punti da quelle relative a questa opzione operatore. L'elenco delle costanti di selezione è costituito da un numero arbitrario di valori e intervalli, separati da virgole. I limiti dell'intervallo sono scritti in due costanti separate dal separatore "..". Il tipo di costanti deve corrispondere al tipo dell'espressione del selettore.

L'istruzione di selezione viene eseguita come segue:

1. Viene valutato il valore dell'espressione del selettore.

2. Le opzioni vengono scansionate in sequenza per vedere se il valore del selettore corrisponde alle costanti e ai valori degli intervalli dell'elenco corrispondente.

3. Se questa ricerca ha esito positivo per la variante successiva, viene eseguito l'operatore di questa variante. Successivamente, l'esecuzione dell'istruzione di selezione termina.

4. Se tutti i controlli non hanno avuto esito positivo, viene eseguito l'operatore dopo la parola else (se presente).

Esempio. Operatore di selezione

casoNumeroGiorno di

1..5: strDay: = "Giorno lavorativo";

6..7: strDay: = "Giorno libero"

else strDay: = "";

A seconda del valore della variabile intera NumberDay contenente il numero del giorno della settimana, alla variabile stringa strDay viene assegnato il valore corrispondente.

>> Strutture di controllo. Informazione Generale sui cicli

Corsi di formazione:

Strutture di controllo. Capire i cicli

Strutture di controllo

Capire i cicli

I loop sono ripetizioni di operazioni purché qualche condizione logica sia vera. Ad esempio, impostiamo la condizione del ciclo che una variabile a sia inferiore a 10.

Il ciclo verrà eseguito fino a (cioè, le istruzioni racchiuse in esso verranno eseguite tante volte), finché questa condizione non diventa vera.

Esistono tre tipi di loop: for, do... while, while. Si consideri, ad esempio, il costrutto del ciclo for.

for (Inizializzazione di una variabile; Condizione; Modifica della variabile dopo ogni esecuzione del blocco di istruzioni del ciclo)
{
corpo ad anello
}

Diamo un'occhiata a un esempio di utilizzo del ciclo for (Listato 3.1).

Listato 3.1.
Un esempio di utilizzo di un ciclo for

Questo programma visualizzerà dieci stelle su una riga. Non è necessario inizializzare una variabile contatore in un ciclo (una variabile contatore è una variabile che determina il numero di volte in cui viene eseguito il corpo del ciclo). Diamo un'occhiata a un programma di esempio senza dichiarare una variabile contatore in un ciclo (Listato 3.2).

Listato 3.2.
Un esempio di programma senza dichiarare una variabile contatore in un ciclo

È possibile utilizzare più di una variabile contatore, ma diverse. Consideriamo un esempio di tale programma, mostrato nel Listato 3.3.

Listato 3.3.
Un esempio di utilizzo di più variabili contatore

Considera il ciclo while. In questo ciclo, una condizione viene specificata come parametro. La condizione viene verificata prima di eseguire il ciclo. Il ciclo while è simile a questo.

mentre (condizione)
{
corpo ad anello
}

Diamo un'occhiata a un programma di esempio che utilizza un ciclo while (Listato 3.4).

Listato 3.4.
Un esempio di utilizzo di un ciclo while

Come risultato dell'esecuzione di questo programma, sullo schermo verranno visualizzati dieci asterischi.

Si noti che se si dimentica di specificare un incremento di una variabile in una condizione, o semplicemente si specifica in modo errato una condizione, potrebbe verificarsi un errore di esecuzione, che non verrà rilevato in fase di compilazione e il ciclo verrà eseguito indefinitamente.

Un esempio di programma errato.

Considera ora il ciclo do... while.
È molto simile al ciclo while e differisce solo per il fatto che controlla la condizione non prima della successiva esecuzione del ciclo, ma dopo che è stato eseguito. Il ciclo do ... while è mostrato di seguito.

Capitolo 6. STRUTTURE DI CONTROLLO Operatore di assegnazione Operatori semplici e composti Operatore condizionale Operatore a scelta multipla Operatore di loop precondizionato Operatore di loop postcondizionato Operatore di loop parametrizzato e procedure di salto incondizionato


2 cap. 6. STRUTTURE DI CONTROLLO Operatore di assegnazione Un operatore è un costrutto del linguaggio di programmazione utilizzato per specificare un'azione o una sequenza di azioni in un programma sui dati. L'insieme degli operatori di programma implementa l'algoritmo in esso inerente. Qualsiasi operatore implica un'azione. Il processo di "spinta" di un valore in una variabile è chiamato assegnazione (la prima assegnazione è chiamata inizializzazione). L'assegnazione viene eseguita utilizzando una costruzione speciale - l'operatore di assegnazione: identificatore variabile: =: = espressione Var W, H: Integer; Inizia W: = 23; H: = 17; L: = L * A; Fine.


3 cap. 6. STRUTTURE DI CONTROLLO Proposizioni semplici e composte Due proposizioni consecutive devono essere separate da un punto e virgola (che indica la fine di una proposizione): a: = 11; b: = un * un; Scrivi (a, b); Un'istruzione composta è una sequenza di istruzioni trattate come una singola istruzione. Viene formattato utilizzando le parole riservate inizio e fine (parentesi operatore). Un operatore in un programma è una singola istruzione indivisibile che esegue un'azione. Un operatore semplice non contiene altri operatori (operatore di assegnazione, chiamata di procedura, ...). iniziare a: = 11; b: = un * un; Scrivi (a, b) fine;


5 quindi inizia con X: = X + 5; Y: = 1 fine altrimenti Y: = -1; L'operatore condizionale viene utilizzato per la programmazione dei rami, ad es. situazioni in cui diventa necessario in determinate condizioni eseguire "title =" (! LANG: 4 Cap. 6. STRUTTURE DI CONTROLLO Istruzione condizionale se K> 5 allora inizia X: = X + 5; Y: = 1 finisce altrimenti Y: = - 1 ; L'operatore condizionale serve per programmare rami, cioè situazioni in cui si rende necessario, a determinate condizioni, eseguire" class="link_thumb"> 4 !} 4 cap. 6. STRUTTURE DI CONTROLLO Enunciato condizionale se K> 5 allora inizia con X: = X + 5; Y: = 1 fine altrimenti Y: = -1; L'operatore condizionale viene utilizzato per la programmazione dei rami, ad es. situazioni in cui diventa necessario in determinate condizioni eseguire varie azioni. L'istruzione condizionale ha la struttura: if espressione booleana then istruzione else istruzione È consentita una sola istruzione per ramo. 5 quindi inizia con X: = X + 5; Y: = 1 fine altrimenti Y: = -1; L'operatore condizionale viene utilizzato per la programmazione dei rami, ad es. situazioni in cui si rende necessario in determinate condizioni eseguire "> 5 poi inizio X: = X + 5; Y: = 1 fine altrimenti Y: = -1; L'operatore condizionale serve per programmare diramazioni, cioè situazioni in cui si rende necessario quando determinate condizioni per eseguire varie azioni. L'operatore condizionale ha la struttura: se espressione logica allora operatore altro operatore In ogni ramo può essere scritto un solo operatore. "> 5 then begin X: = X + 5; Y: = 1 fine altrimenti Y: = -1; L'operatore condizionale viene utilizzato per programmare i rami, ad es. situazioni in cui diventa necessario in determinate condizioni eseguire "title =" (! LANG: 4 Cap. 6. STRUTTURE DI CONTROLLO Istruzione condizionale se K> 5 allora inizia X: = X + 5; Y: = 1 finisce altrimenti Y: = - 1 ; L'operatore condizionale serve per programmare rami, cioè situazioni in cui si rende necessario, a determinate condizioni, eseguire"> title="4 cap. 6. STRUTTURE DI CONTROLLO Enunciato condizionale se K> 5 allora inizia con X: = X + 5; Y: = 1 fine altrimenti Y: = -1; L'operatore condizionale viene utilizzato per programmare i rami, ad es. situazioni in cui si rende necessario, a determinate condizioni, eseguire"> !}




6 cap. 6. STRUTTURE DI CONTROLLO Operatore a scelta multipla L'operatore di scelta viene utilizzato per implementare diversi opzioni alternative azioni, ognuna delle quali corrisponde ai propri valori di alcuni parametri. espressione case di istruzioni else costanti / range: istruzione end; Il valore e inoltre deve essere di uno dei tipi ordinali (eccetto LongInt). A seconda del valore viene selezionato l'operatore, che è preceduto da una costante di selezione pari al valore calcolato (l'alternativa sono gli operatori dopo l'altro). I valori costanti devono essere univoci in ogni set, ad es. possono apparire solo in una forma.


7 cap. 6. STRUTTURE DI CONTROLLO caso I di (I: Word) 1: X: = X +1; 2.3: X: = X +2; 4..9: inizio Scrivi (X); X: = X + 3 (mb ";") fine (mb ";") altrimenti X: = X * X; Writeln (X) (mb ";" fine);


8 cap. 6. STRUTTURE DI CONTROLLO L'operatore di ciclo "While" (con precondizione) mentre l'operatore di espressione condizionale do (corpo del ciclo) dopo la parola della funzione do verrà eseguito ciclicamente finché la condizione logica è soddisfatta, ad es. mentre il valore è True. Affinché un ciclo abbia la possibilità di terminare, il contenuto del suo corpo deve influenzare la condizione del ciclo. La condizione deve essere costituita da espressioni e valori validi definiti prima della prima esecuzione del corpo del ciclo. VarF, N: LongInt; (calcolo 10 Begin F:= 1; N:= 1; while N !}


9 cap. 6. STRUTTURE DI CONTROLLO Istruzione del ciclo "Prima" (con postcondizione) Le istruzioni tra le parole si ripetono e fino a formare il corpo del ciclo. Se vero, il ciclo termina. Loop "While" - "mentre la condizione è vera, esegui gli operatori del corpo". Loop "Before" - "esegui il corpo del ciclo finché la condizione non diventa vera"; ripetere fino a falso; operatore ripeti t fino all'espressione condizionale;


10 cap. 6. STRUTTURE DI CONTROLLO Un operatore di loop con un parametro (loop over a counter) è una variabile di tipo ordinale, i valori e devono essere dello stesso tipo. Il valore cambia in ordine crescente (quando si usa la parola riservata to) o decrescente (downto) da valore a valore con un passo costante pari all'intervallo tra i due valori più vicini nel tipo a cui appartiene (per tipi interi- questo è 1, per simbolico - da un carattere all'altro quando si aumenta il codice di 1, ecc.). Per i loop può essere annidato se nessuno dei cicli annidati utilizza o modifica variabili - parametri di cicli esterni. Utilizzato per organizzare cicli "rigorosi" che devono essere eseguiti un numero specificato di volte. Parametro del ciclo for: = dall'espressione 1 all'espressione 2 do downto istruzione


12 cap. 6. STRUTTURE DI CONTROLLO Operatore di ramo incondizionato Un'etichetta può apparire ovunque nel programma tra gli operatori ed è separata dal secondo operatore da due punti ":". L'ambito degli operatori di salto incondizionato è strettamente localizzato. Sono vietati i salti sull'operatore goto tra le procedure, nonché tra il blocco principale e una procedura. L'operatore di salto incondizionato trasferisce il controllo di esecuzione alla locazione del programma indicata con l'ausilio dell'etichetta (è "superfluo" dal punto di vista della teoria della programmazione strutturata). goto label Etichetta intero senza segno; identificatore dell'etichetta, diagrammi di sintassi e: LabelL1, L2; Inizio ... vai a L1; ... L1: vai a L2; ... L2: Fine.


13 cap. 6. STRUTTURE DI CONTROLLO Procedure di salto incondizionato Procedure di trasferimento di controllo non strutturale quando si lavora con strutture cicliche: Break - implementa un'uscita da un loop di qualsiasi tipo; Continua: passa all'iterazione successiva del ciclo, ignorando le istruzioni rimanenti alla fine del corpo del ciclo. Le procedure Exit e Halt sono progettate appositamente per uscire dai blocchi di programma (procedure, funzioni, blocco di programma principale). Halt() esce dal programma ritornando sistema operativo il codice di uscita specificato. Exit esce incondizionatamente dalla subroutine. Se la procedura viene utilizzata nel blocco principale, viene eseguita allo stesso modo di Halt.

Operatore di filiale

L'operatore di diramazione (diramazione condizionale) consente di eseguire determinate istruzioni di programma in base a condizioni logiche. In Visual Basic, l'operatore branch può essere utilizzato in due forme: inline e block.

scambio online di documenti per studenti ">

Esempio 1

Ad esempio, se a> b Allora max = a Altrimenti max = b.

Se è necessario eseguire più istruzioni, queste sono separate da due punti.

Esempio 2

Ad esempio, se a> 0 Allora b = a + 1: c = a \ 2.

La sintassi del blocco è più potente, più strutturata e più leggibile.

Sintassi del blocco:

Condizione è un'espressione booleana che può assumere un valore Vero(vero), falso(falso) o Nullo che equivale a falso... Quando viene eseguita un'istruzione di ramificazione di blocchi, la condizione viene verificata e, se è vera, l'istruzione che segue Quindi... Se la condizione non è vera, è selezionata condizione2 a seguire ElseIf... Quando viene trovato un valore vero, viene eseguito operator_of_true2, che segue Quindi, dopo di che il programma va oltre Finisci se(cioè successivo ElseIf, se presenti, non sono selezionati). Se le vere condizioni per ElseIf non trovato, viene eseguito l'operatore su false_condition.

Figura 3. Un esempio di sintassi a blocchi. Author24 - scambio online di documenti per studenti

Operatore di selezione

Operatore di selezione del caso esegue determinati operatori a seconda dell'insieme di valori dell'espressione o della variabile testata. Seleziona la sintassi dell'operatore:

Figura 4. La sintassi dell'istruzione di selezione. Author24 - scambio online di documenti per studenti

Il valore è una variabile o un'espressione che viene verificata rispetto a una o più condizioni. L'elenco dei valori è specificato con una virgola, l'intervallo di valori è specificato utilizzando una parola di servizio Per(ad es. da 5 a 9).

Esempio 3

In base al numero del mese dell'anno, visualizza un messaggio sul periodo dell'anno a cui appartiene il mese specificato.

LA CAMPANA

C'è chi ha letto questa notizia prima di te.
Iscriviti per ricevere gli ultimi articoli.
E-mail
Nome
Cognome
Come vuoi leggere La Campana?
Niente spam