/ / Programmazione. Costrutti algoritmici di base

Programmazione. Costrutti algoritmici di base

Per creare qualsiasi programma, hai bisogno di basiccostruzioni algoritmiche. Di seguito è riportato il modo più semplice per risolvere i problemi. Può essere utilizzato, ad esempio, per lavorare con esempi dello stesso tipo. Ci sono anche altri tipi: branching e looping. Saranno discussi in questo articolo. Ma prima devi capire cos'è l'algoritmo nel suo complesso.

algoritmo

La parola "algoritmo" deriva dal latino algoritmi.Cosa significa? La parola autentica deriva dal nome di un matematico, la cui attività cadde nel IX secolo. Grazie al trattato al-Khwarizmi, l'umanità ha potuto conoscere il tipo base di costruzione algoritmica e, in generale, un concetto generale.

In precedenza, è stata adottata la forma di scrittura della parola: "algoritmo". Ora viene utilizzato solo in pochi casi.

L'algoritmo è un processo che significa cambiamentodati iniziali che si verificano sotto forma di passaggi discreti. Ogni persona incontra questo concetto nella vita, chiunque esso sia. Gli algoritmi possono essere chiamati preparazione di tè o cibo, moltiplicazione o addizione, risoluzione di equazioni, ecc. Tutti gli elettrodomestici, il cui processo di lavoro è automatizzato, funzionano grazie a passaggi chiari scritti nella memoria del processore. Tali algoritmi sono chiamati algoritmi domestici. Ci sono anche altri tipi. Consideriamoli.

Tipi di algoritmi

Le principali costruzioni algoritmiche sono suddivise in diversi tipi, che saranno discussi in questa sottosezione. Quali sono?

  1. Informativo. Tali algoritmi funzionano con una grande quantità di dati, ma il volume della loro elaborazione è piccolo e non complicato.
  2. Manager. Il lavoro di tali algoritmi è associato alle informazioni fornite da una particolare fonte. Dopo averlo ricevuto, vengono inviati segnali speciali per garantire il funzionamento dei dispositivi.
  3. Computing. A differenza degli algoritmi di informazione, gli algoritmi descritti funzionano con piccole quantità di dati, ma producono un grande processo di lavoro.

In sostanza, l'algoritmo è preciso al più piccoloistruzioni dettagliate. Tuttavia, non tutti questi dati possono essere chiamati il ​​concetto descritto. Per capire se un algoritmo è un'istruzione o meno, dovresti controllarlo per determinate proprietà.

Proprietà dell'algoritmo

Tutte le costruzioni algoritmiche di base devono avere azioni che "obbediscono" ad esse. Consideriamo questo problema in modo più dettagliato.

Se si traccia completamente il lavoro degli algoritmi e dei loro fileproprietà, puoi vedere che non è necessario comprenderne i componenti, corrispondono abbastanza chiaramente al piano. Si otterrà il risultato corretto, anche se si aderisce solo meccanicamente alle azioni necessarie. Da ciò possiamo concludere che a causa della mancanza di significato nella consapevolezza delle azioni, è del tutto possibile dare l'algoritmo all'implementazione di un computer. In altre parole, i dispositivi automatizzati richiedono questo processo.

Quali proprietà dovrebbero avere le costruzioni algoritmiche di base per il lavoro più accurato?

  1. Comprensibilità.Ogni comando dovrebbe essere il più chiaro possibile per l'oggetto eseguibile. Sembra che niente sia più facile che, ad esempio, disegnare un punto al centro, no, ma finché non viene scritto un comando che ti permetterà di eseguire un'azione, non sarà possibile farlo.
  2. Efficacia.Cosa implica questa proprietà? Ricevimento obbligatorio del risultato. L'algoritmo non può che portare a un qualche tipo di risposta. A causa di un errore, potresti non ottenere il risultato desiderato, ma lo sarà comunque. Inoltre, la risposta deve essere ricevuta dopo un certo numero di passaggi.
  3. Personaggio di massa. Qualsiasi algoritmo deve essere applicabile a qualche classe di problemi. Possono differire l'uno dall'altro nei dati iniziali.
  4. Certezza.Ogni azione dovrebbe avere un solo significato e non consentire la decodifica derivativa. Idealmente, non importa quante volte viene eseguito il programma, il risultato dovrebbe essere sempre lo stesso.
  5. Discrezione. Algoritmo: esecuzione sequenziale dei passaggi. Ogni passaggio è un comando, non puoi saltare o aggiungerne di nuovi.
  6. Correttezza.Qualsiasi algoritmo applicabile a qualsiasi tipo di problema deve essere corretto per tutti. Nella programmazione, i problemi spesso sorgono non nelle fasi di scrittura, che spesso non richiedono molto tempo, ma nell'eseguirle per vari tipi di domande. Pertanto, un passaggio importante sarà eseguire il debug dell'algoritmo. Anche i costrutti algoritmici di base possono aiutare in questo, la cui ripetizione porterà a risultati migliori.

Descrizione degli algoritmi

Se parliamo di metodi di scrittura di algoritmi, è necessario evidenziare quanto segue:

  • Verbale. In altre parole, in un linguaggio che fa comodo al componente di esprimersi.
  • Tabulare. Logicamente, l'algoritmo viene scritto in tabelle e, di regola, viene utilizzato come elemento ausiliario.
  • Formula verbale. Si basa sul modo verbale di spiegazione, ma tali azioni sono anche scritte in formule o simboli matematici.
  • Grafico. Tale algoritmo è scritto in uno speciale linguaggio a diagrammi a blocchi.

L'ultimo punto dovrebbe essere chiarito.Cos'è un diagramma a blocchi? È un algoritmo lineare o non lineare, i cui passaggi vengono scritti utilizzando blocchi speciali. Hanno la loro configurazione, scopo e funzione. Nel caso di una tale descrizione, l'algoritmo è scritto in schemi a blocchi, che sono interconnessi da linee. Devono inoltre registrare l'una o l'altra azione (passaggio).

costrutti algoritmici di base

Costruzioni algoritmiche

Alcuni sostengono che gli algoritmi non abbiano 3tipo e 4. Costruzioni algoritmiche di base: lineare, ramificata, ciclica. Qual è il motivo di questa delusione non è chiaro. Tuttavia, per una soluzione semplice di problemi complessi, il computer utilizza gli algoritmi di questi tre gruppi piuttosto grandi. Consideriamoli.

  1. Lineare.Tale processo di calcolo ha ottenuto questo nome perché tutte le azioni vengono eseguite in una sequenza lineare, con ogni passaggio eseguito non più di una volta. Se consideriamo il diagramma delle attività, i blocchi in esso contenuti vengono posizionati uno sotto l'altro, a seconda del numero di serie dell'esecuzione. Gli algoritmi lineari funzionano in modo tale che la direzione e il significato delle azioni non cambino rispetto ai dati iniziali. Questo metodo di soluzione è adatto per calcolare la somma o la differenza, l'area di una figura o il suo perimetro, ecc. Il principale tipo di costruzione algoritmica è questo.
    algoritmo costrutti algoritmici di base
  2. Forking.Questo processo di calcolo implica la presenza di un'espressione logica (di seguito LP) e la scelta di una condizione (rami "falso" e "vero"). In ogni caso, viene implementato solo uno di due o più comandi. Non ci sono attività e non possono essere in cui verranno eseguite altre opzioni. Se l'algoritmo ha due rami, è semplice, se più di due è complesso. Inoltre, il secondo processo è facilmente rappresentato a scapito del primo. Il tipo principale di costruzione algoritmica è sia il primo che il secondo. Anche la prossima specie è inclusa in questo elenco.
  3. Ciclico. In un tale algoritmo, ci sarà necessariamente un elemento che viene ripetuto molte volte, utilizzando dati iniziali diversi. In altre parole, questo processo è chiamato ciclo.

Va notato che tutte le principali costruzioni algoritmiche (following, branching, loop) sono interconnesse tra loro, sebbene possano essere utilizzate separatamente.

Creazione di cicli e loro tipologie

Cosa serve per creare un ciclo?

  • Contatore di cicli.Questa è una variabile che imposta il valore iniziale e quando ripeti l'azione, cambierà. Deve essere incluso nell'algoritmo. Le costruzioni di tipo loop algoritmico di base non funzioneranno senza di essa.
  • Cambiare l'indicatore dei dati di cui sopra prima di ripetere il ciclo stesso.
  • Controllare le condizioni del computer per decidere se deve "ripetere" il ciclo di nuovo o non è più necessario.

I loop possono essere deterministici eiterativo. Il primo è una ripetizione di azioni con un numero noto di ripetizioni. Un ciclo iterativo è quello che si ripete un numero indefinito di volte finché una condizione non diventa vera o falsa.

il tipo principale di costrutto algoritmico è

Algoritmo di base

Vale la pena ricordare che il principalel'algoritmo di base non si applica ai costrutti algoritmici. Come è lui? Questo concetto non è stato trovato nella letteratura moderna per molto tempo, ma questo non significa che non esista più. Considerando che possono verificarsi diversi rami o ripetizioni nella risoluzione dei problemi, è possibile evidenziare la seguente conclusione. Le costruzioni algoritmiche di base (lineare, ramificata, ciclica) sono fondamentali. In effetti, rappresentano l '"unità strutturale" di ciascuna cosiddetta istruzione.

Algoritmi lineari

Come già chiaro da quanto sopra, gli algoritmici sono lineari e non lineari. Consideriamo la prima opzione. Perché si chiama così? Tutto è estremamente semplice. Il fatto è che tutte le azioni che vengono riprodotte nell'algoritmo hanno un'esecuzione chiaramente sequenziale, tutti i passaggi vengono eseguiti rigorosamente uno dopo l'altro. Di norma, tali attività sono piccole e hanno un basso livello di complessità.

Un esempio di algoritmo lineare potrebbe essere il processo di preparazione del tè:

  1. Versa l'acqua nel bollitore.
  2. Metti il ​​bollitore sul fornello a bollire.
  3. Prendi una tazza.
  4. Versa il tè in una tazza.
  5. Aggiungi lo zucchero.
  6. Dopo l'ebollizione, versare acqua bollente in una tazza.
  7. Prendi un cucchiaio.
  8. Incorpora lo zucchero.

La programmazione di costrutti algoritmici di base è abbastanza difficile, ma quando si tratta di algoritmi lineari, è spesso molto facile implementarli.

non si applica alle costruzioni algoritmiche di base

Algoritmi di fork

Come fai a sapere se un algoritmo si sta ramificando?È sufficiente assicurarsi che sia possibile scegliere tra due o più opzioni di azione, a seconda che la condizione sia soddisfatta o meno. Ogni percorso è chiamato ramo.

La caratteristica principale di un algoritmo di ramificazione è l'esistenza di un ramo condizionale. Si verifica quando un'espressione viene verificata per vero o falso.

In genere, le espressioni logiche sono rappresentate dasegni "minore di", "maggiore di", "minore o uguale", "maggiore o uguale a", "uguale", "diverso da". A volte ci sono varianti in cui la condizione è correlata tra loro utilizzando i comandi and (and) and or (or).

Un esempio di un tale algoritmo può essere la soluzioneattività successiva: se l'espressione ((x + 3) / 1) è uguale a un numero positivo, visualizza il risultato sullo schermo, se negativo, informa l'utente dell'errore.

È abbastanza semplice utilizzare le costruzioni algoritmiche di base nella pratica. La ramificazione è uno dei metodi di soluzione più comuni.

Ciclo deterministico o controcorrente

Counter cycle: un ciclo che includeuna variabile che cambia il valore in incrementi. Il passo è impostato dall'utente o scritto dal programmatore durante la scrittura del software. La maggior parte delle lingue usa l'istruzione for per tale ciclo.

Per fare in modo che il programma visualizzi due righe 4 volte:

  1. "Come stai?"
  2. "Bene grazie!"
  3. "Come stai?"
  4. "Bene grazie!"

È necessario creare un ciclo deterministico. Che cosa sembra? Usiamo il linguaggio Pascal per una migliore percezione della struttura.

1. Per i: = da 1 a 2 fai:

- i è il contatore del ciclo, è lui che determina il numero di ripetizioni nel ciclo.

2. Inizia (le parentesi di operatore vengono aperte in modo che entrambe le frasi siano il corpo del ciclo e vengano ripetute insieme).

3. Writeln ("Come stai?"):

- la parola writeln indica l'output di una frase tra virgolette singole.

4. Writeln ("Va bene, grazie").

5. Fine.

6.i: = i + 1.

Come puoi vedere, è abbastanza facile e persino interessante usare le costruzioni algoritmiche di base. Gli algoritmi di base sono molto conosciuti, senza di essi è impossibile scrivere programmi.

costruzioni algoritmiche di base ramificazioni lineari cicliche

Loop con postcondizione

Un ciclo con una postcondizione può ripetersiun numero indefinito di azioni senza inserire in esse parentesi di operatore o parole composte. Verrà sicuramente eseguito almeno una volta. Il ciclo viene eseguito mentre la condizione è falsa. Si ferma quando gli indicatori diventano corretti. L'algoritmo si basa su questo. I costrutti algoritmici di base di questo tipo operano a questo ritmo.

Per implementare questo ciclo, è necessaria la costruzioneRipeti A fino a B. Letteralmente, si traduce come "ripeti azioni finché la condizione è falsa". Di conseguenza, attraverso A, si esprime il processo di ripetizione stesso, attraverso B - dati, che di conseguenza dovrebbero assumere il valore corretto.

costruzioni algoritmiche di base algoritmi di base

Loop con precondizione

Un ciclo con una postcondizione è costruito in modo tale chein ogni caso viene eseguito almeno una volta. Tuttavia, ci sono casi in cui un ciclo è necessario in caso di una condizione particolare e, in sua assenza, la ripetizione non dovrebbe essere eseguita. In caso contrario, il risultato sarà errato. È qui che viene utilizzato un ciclo di precondizione. Per crearlo, è necessaria la costruzione "while A do B". Il primo comando si traduce letteralmente come "ciao". A - condizione e B - azioni che verranno ripetute. L'intera costruzione significa: "finché la condizione è vera, eseguire azioni".

Tutti i costrutti algoritmici di base funzionanosolo in alcuni casi. Come sono in un ciclo con una precondizione? Se è necessario ripetere più di un'azione, ma diverse contemporaneamente, è necessario utilizzare operatori composti o parentesi speciali. Il ciclo potrebbe non riuscire se, quando lo si accede, la condizione non è vera. Di conseguenza, le azioni verranno ripetute se è corretto.

ripetizione di costrutti algoritmici di base

Algoritmo di supporto

L'algoritmo di supporto è utilizzato in altri fileelabora specificando solo il suo nome. Non appartiene alle principali costruzioni algoritmiche. Nei linguaggi di programmazione, un tale processo di azioni è chiamato subroutine. Per rendere più facile lavorare con il codice e successivamente risolvere più facilmente i problemi, ogni azione viene combinata in un blocco, che è un algoritmo ausiliario. A ciascuno di essi può essere assegnato un nome, che consente di fare riferimento ad esso ripetutamente.

piaciuto:
0
Post popolari
Sviluppo spirituale
cibo
y