Il linguaggio algoritmico è un linguaggio formale usato per scrivere, implementare o studiare algoritmi. Parole di servizio principali di un linguaggio algoritmico

09/04/2019

Qualsiasi linguaggio di programmazione è pieno di una varietà di parole chiave, funzioni o classi. Di regola, tutti usano l'inglese, che descrive metodi o argomenti. In alcuni ambienti ci sono semplicemente le abbreviazioni delle funzioni della macchina. Ciò ha notevolmente ostacolato lo sviluppo dello sviluppo nelle fasi iniziali. Al fine di aumentare la velocità di comprensione, è stata creata una serie di linguaggi di programmazione algoritmica speciali, che consistevano in parole chiare e accessibili e nelle loro combinazioni, chiare anche per una persona inesperta.

Un po 'di storia

Per comunicare con i primi computer sono stati utilizzati linguaggi di programmazione il più vicino possibile al codice macchina, composto da zero e uno. Naturalmente, ricordare molti comandi era un compito molto difficile. Inoltre, il metodo di allocazione della memoria durante la programmazione è stato completamente imposto alle spalle dello sviluppatore. E se ha fatto un piccolo errore, ha dovuto prima rifare tutto.

linguaggio algoritmico

Un ruolo importante nella transizione dal linguaggio macchina a una persona più appropriata è stato svolto da un assemblatore di linguaggio di programmazione di basso livello. Ha usato valori e simboli mnemonici. Ciò ha semplificato il compito dello sviluppatore, poiché ora poteva costruire in modo più efficiente i suoi algoritmi da combinazioni di istruzioni di controllo e codici numerici. Nonostante tutta la sua flessibilità e potenza, il linguaggio era ancora difficile da padroneggiare.

Per l'addestramento nello sviluppo e gli algoritmi nelle istituzioni educative, è iniziata l'introduzione del linguaggio di programmazione BASIC. Conteneva già molti comandi, parole chiave, comprensibili allo studente. BASIC è ancora utilizzato per padroneggiare le basi della programmazione.

Con la creazione del primo linguaggio di programmazione algoritmica - Algol - lo sviluppo degli algoritmi ha subito un'accelerazione significativa.

Qual è l'algoritmo

Se ti allontani dalla teoria e dalle definizioni secche, allora l'algoritmo è una sequenza di azioni volte a risolvere il problema. Nonostante tutta l'eleganza dell'espressione, una persona incontra questo concetto ogni giorno. Ad esempio, per bere il tè, è necessario eseguire la seguente sequenza:

  1. Metti il ​​bollitore sul fuoco.
  2. Aspetta che faccia bollire.
  3. Versare acqua bollente nell'acqua.
  4. Lascia cadere la bustina di tè nella tazza.
  5. Aggiungi la quantità necessaria di zucchero, latte o miele.

Questa sequenza è molto semplificata, ma è l'algoritmo più semplice.

linguaggio di programmazione algoritmica

Proprio come una persona, un computer è in grado di eseguire una sequenza specifica di attività. Tuttavia, al fine di comprenderli chiaramente, bisogna tenere presente che per i computer ci sono molte nozioni che sono ovvie per le persone. Inoltre, l'algoritmo deve descrivere accuratamente tutte le azioni necessarie. Per questo scopo, e serve come un linguaggio algoritmico che crea un ponte tra la macchina e l'uomo.

Proprietà e caratteristiche di un linguaggio algoritmico

Algoritmico: un linguaggio formale che descrive gli algoritmi che devono essere eseguiti sui computer. Di norma, non è legato ad alcuna architettura della macchina. Questo aiuta ad aumentare e velocizzare significativamente la scrittura del codice. Come esempio vivido - il linguaggio algoritmico BASIC. Anche Pascal e C si sono dimostrati popolari perché avevano una sintassi e una velocità di apprendimento semplici.

La struttura è implementata in modo tale che le procedure descritte nel codice vengano eseguite una dopo l'altra. Questo è un algoritmo: un compito. Questo è simile alla creazione di funzioni o metodi in linguaggio C e Java.

Tutto il codice è generato da parole chiave che descrivono un evento o una variabile.

Differenze tra i linguaggi macchina e algoritmico

Un rappresentante di spicco del linguaggio dipendente dalla macchina è l'assemblatore. La programmazione su di essa si riduce a specificare il traduttore con segni speciali, cosa e dove spostare o quale area dati da riempire. Dal momento che la sintassi dell'assemblatore è più simile a una macchina, è piuttosto difficile studiare e scrivere codice su di essa. Qui sotto puoi vedere come possono apparire i comandi per i diversi processori.

linguaggio formale

Pertanto, è stato creato un linguaggio formale o algoritmico con un gran numero di parole chiave e nomi leggibili dall'uomo.

parole

Un linguaggio algoritmico è costituito da parole chiave, che sono abbreviazioni per la designazione completa di azioni o variabili. Ciò consente di ridurre la lunghezza del codice, pur mantenendo chiaro.

  • Alg . Qualsiasi algoritmo inizia con questa parola chiave. Descrive il nome e tra parentesi indica quali argomenti serve per calcolare e quale dovrebbe essere il risultato.
  • Arg . Indica gli argomenti dell'algoritmo. Riflette il tipo e il nome del valore che verrà utilizzato nel codice.
  • Ris . Questa parola chiave viene utilizzata per indicare il tipo e il nome della variabile in cui sarà necessario posizionare il risultato del calcolo.
  • Beg. Indica l'inizio immediato dell'esecuzione dell'algoritmo. Dura fino alla parola chiave con. L'intero intervallo da "inizio" a "con" è chiamato corpo dell'algoritmo corrente.
  • Con. Segnala che l'esecuzione dell'algoritmo è finita.
  • Dato Parla di alcune caratteristiche e sfumature di utilizzo dell'algoritmo o di limitazioni. Ad esempio, qui è possibile specificare che le lunghezze delle stringhe confrontate devono essere uguali. L'uso della parola chiave "data" è facoltativo.
  • È necessario Una descrizione più dettagliata di ciò che dovrebbe risultare dall'esecuzione dell'algoritmo. Oltre a "dato", può essere omesso, ma per costruire un codice più comprensibile e dettagliato, si consiglia di utilizzarlo.

L'elenco di queste parole chiave si riferisce al titolo e alla designazione del corpo dell'algoritmo. E qui ci sono i lessemi per le variabili:

  • Int. Il tipo variabile di numeri interi. Il loro intervallo dovrebbe variare da -32768 a 32767.
  • Cose Numeri reali Ad esempio, con una parte esponenziale o frazionaria.
  • Log. Questa parola chiave significa che verrà utilizzata una variabile di tipo logico che può solo accettare "sì" o "no".
  • Sim. Questo include valori con caratteri singoli, ad esempio "a", "3".
  • Lett Variabili stringa che possono contenere intere stringhe di testo.
  • Tab . Indica una tabella con dati di un certo tipo. È un analogo di un array di altri linguaggi di programmazione.

parole di servizio

Parole di servizio aggiuntive

Il seguente elenco di parole viene utilizzato per organizzare i meccanismi di ramificazione e di looping.

  • Per . Utilizzato per scorrere tutti i valori di un intervallo specifico. Utilizzato per cicli, ovvero esecuzione continua di qualsiasi procedura con dati.
  • Da e per Indica esattamente quale intervallo di valori attraversare nel ciclo di tipo "for".
  • Bye. Serve anche a scorrere su diversi valori. Usato per lavorare fino a quando non viene soddisfatta una determinata condizione.
  • Нц e кц . "Нц" in linguaggio algoritmico significa l'inizio del corpo del ciclo, e "kz" - la fine. Tra queste due parole chiave sono incorporati necessari per calcolare la procedura.
  • Se. Con questa parola, la struttura delle filiali è implementata. In questo modo, è possibile determinare il corso del programma nella giusta direzione, tenendo conto delle condizioni.
  • Quello, altrimenti . Due parole che funzionano in congiunzione con "if". Costruisci anche un meccanismo di ramificazione.
  • Selezionare. Uno strumento utile per implementare la ramificazione da più valori dello stesso tipo. Funziona in combinazione con la parola chiave "when" e "altrimenti".
  • Tutti. Significa la fine del meccanismo di derivazione.
  • Entra Questa parola chiave consente all'utente di inserire i valori delle variabili nel corso del programma per un'ulteriore elaborazione.
  • Conclusione. Produce l'output dei dati sullo schermo.

Strutture linguistiche di base

Il linguaggio di programmazione algoritmico aiuta a costruire varie strutture che producono funzioni computazionali in una forma conveniente. In generale, qualsiasi lingua può utilizzare diversi meccanismi specifici e le loro combinazioni.

componenti di un linguaggio algoritmico

Seguendo la struttura

Quando si progetta questo tipo di struttura, l'esecuzione del codice avviene direttamente riga per riga. Un esempio generale può essere espresso come:

alg La somma di due numeri (arg intero a, b, res intero S)

presto

input a, b

S: = a + b

uscita "S =", S

gioco

In questo esempio, viene calcolata la somma di due numeri immessi dall'utente. All'inizio, la parola "al" indica che l'algoritmo inizia e descrive brevemente ciò che fa. Le parentesi definiscono gli argomenti richiesti per il programma e la variabile che funge da contenitore per la memorizzazione dei risultati. Segue la parola chiave "nach", che mostra l'inizio immediato dell'esecuzione di espressioni e procedure. Accanto al "principio" è possibile definire e alcune variabili intermedie.

nts in linguaggio algoritmico

Nel corpo dell'algoritmo, la parola chiave "input" prende i dati dall'utente e li scrive in variabili. Quindi vengono sommati e la loro somma viene assegnata a S. Prima della fine dell'algoritmo, il risultato del programma viene visualizzato sullo schermo tramite la parola chiave "output". Questa registrazione in un linguaggio algoritmico è tipica di molti altri ambienti di programmazione.

Struttura del ramo

Il corso del programma non deve sempre essere eseguito linea per linea. A volte è necessario definire o modificare il valore di una variabile a seconda della situazione. Ad esempio, a condizione che x = 0, non dividere per x.

Il linguaggio di programmazione algoritmica per questo utilizza diverse varianti di costruzioni e le parole chiave "se", "quindi", "altrimenti" o "scelta". Dopo aver stabilito la condizione "se", verrà determinato il criterio di transizione verso un altro ramo. Ad esempio:

se x = 0

allora y = 1

tutto

In questo modo, è possibile modificare i valori delle variabili in base ad altri fattori. Questo esempio non copre completamente tutte le possibili implementazioni. Pertanto, oltre al design, viene applicata la parola chiave "altrimenti". Ti consente di spostarti su un altro ramo se la condizione non corrisponde ai criteri selezionati.

se x = 0

allora y = 1

altrimenti y = 0

tutto

Cioè, nel caso in cui x non sia uguale a zero, anche y verrà resettato, indipendentemente dal valore che aveva prima.

Un mezzo più conveniente per implementare una scelta multipla è la costruzione della "scelta". Ti permette di risolvere diverse condizioni. Quando uno di questi si innesca, verrà eseguita l'azione specificata per esso.

la scelta

con x = 0: y = 0

con x = 1: y = 1

con x = 2: y = 2

tutto

Questo esempio dimostra la dipendenza della variabile y su x. Il programma esegue tutti i dati e confronta il valore corrente di x con quello specificato nella condizione. Quando viene trovata una corrispondenza, esegue l'azione successiva. Questo design può anche essere combinato con la parola chiave "altrimenti" per soluzioni più flessibili quando nessuna delle condizioni ha funzionato.

cicli

I cicli svolgono un ruolo molto importante nella programmazione. Praticamente nessuno sviluppo può fare a meno dell'implementazione di questo design. Nel caso generale, i cicli risolvono ripetutamente il problema di eseguire azioni dello stesso tipo con più variabili. Ciò è utile, ad esempio, quando si riempiono gli array di dati utilizzando una formula nota, ordinandola o contando alcuni valori.

La parola chiave "ciao" ti consente di organizzare un ciclo in cui una certa azione verrà ripetuta fino a quando una condizione non sarà soddisfatta. Ad esempio:

nts mentre x <= 3

y: = y + x

x: = x + 1

KC

In questo esempio, y aumenterà fino a quando x è maggiore di 3. Affinché il loop sia infinito, x deve essere cambiato in una grande direzione in ogni passaggio, ad esempio 1, che fa la seconda riga di codice.

La parola chiave "for" viene applicata a un certo intervallo di numeri, che deve essere ripetuto in sequenza, eseguendo qualsiasi azione con essi. Questa costruzione viene utilizzata quando è noto un numero finito di elementi.

La sua sintassi è:

nts per x da 1 a 3

y: = y + x

KC

Le parole ufficiali "da" e "a" indicano l'intervallo di valori da cercare. Quindi, nella prima iterazione, x = 1, come risultato del passaggio, y acquisirà anche il valore 1. Quindi il controllo torna all'inizio, e x ora sarà uguale a 2, rispettivamente, y diventerà 3.

Utilizzando costruzioni congiunte di loop e ramificazioni, è possibile creare semplici algoritmi per risolvere problemi di luce e acquisire conoscenza dei linguaggi di programmazione.

Caratteristiche standard

Il linguaggio algoritmico ha funzioni standard che sono già integrate in esso. Possono facilitare alcune operazioni di routine con numeri ed espressioni. Le funzioni standard di un linguaggio algoritmico possono essere calcolate radice quadrata logaritmi, moduli, seni, coseni, ecc:

  • il modulo assoluto è abs (x);
  • radice quadrata - sqrt (x);
  • logaritmi naturali e decimali - ln (x) e lg (x);
  • minimo e massimo di due numeri - min (x, y), max (x, y);
  • seno, coseno, tangente, cotangente - sin (x), cos (x), tg (x), ctg (x).

Queste caratteristiche standard consentono di evitare la creazione di una "bicicletta", contribuendo a implementare le funzioni più semplici di mezzi regolari.

Espressioni booleane

Espressioni booleane riflettere se una determinata operazione soddisfa una condizione. Ad esempio, x> 0 sarà true quando x è uguale a 1, 2, 25 o qualsiasi altro numero maggiore di zero. Il linguaggio algoritmico contiene espressioni logiche che, oltre alle operazioni matematiche standard, possono utilizzare le seguenti parole chiave e operatori:

  • I. Significa che le espressioni tra le quali esiste una parola chiave devono soddisfare una certa condizione: (x> 0) e (y> 0);
  • Or. Una delle espressioni potrebbe non soddisfare la condizione, ad esempio, (x> 0) o (y> 0);
  • No "Flip" il valore logico di un'espressione. Ad esempio, una tale costruzione non è (x> 0), il che significa che x non deve ancora essere maggiore di zero.

Inoltre, ci sono operatori di confronto - <,>, =, che possono essere combinati per creare espressioni di tipo più o meno uguali.

Un piccolo programma per linguaggio algoritmico

Il prossimo è un piccolo codice di esempio. Il linguaggio algoritmico educativo consente di creare modelli approssimativi di sistemi software reali di grandi dimensioni che risolvono i compiti più complessi.

Per comprendere il processo, è possibile organizzare un programma che interagisce con l'utente. Lei chiederà un numero e l'auto lo squadrerà.

I componenti di un linguaggio algoritmico sono composti da molte parole chiave. La prima cosa che il programma inizia è l'annuncio dell'algoritmo - al.

al Square il numero ()

Tra parentesi è necessario specificare un argomento che sarà un valore dell'utente e del risultato. Inoltre, non dimenticare l'annuncio dei tipi di dati.

alg Squareing a number (arg cx, cz S)

Ora la macchina saprà che dovrà interagire con una variabile di tipo intero, e il risultato del suo lavoro sarà S.

Segue l'inizio del corpo dell'algoritmo, in cui è possibile definire i valori intermedi se necessario.

presto

La prima cosa da fare è eseguire l'immissione dei dati. Questo viene fatto usando la parola chiave "input".

input x

Ora, direttamente nel corpo dell'algoritmo, è necessario descrivere una serie di comandi con l'aiuto dei quali verranno calcolati i quadrati dei numeri.

S: = x * x

uscita "S =", S

Il linguaggio algoritmico, i cui comandi consentono di realizzare l'assegnazione, è scritto nella forma: =. Pertanto, la variabile S ottiene il valore del prodotto x su se stesso. Una linea con l'output mostra il risultato sullo schermo. Bene, tutto questo termina con la parola chiave "con". Il codice completo apparirà ora come segue:

alg Squareing a number (arg cx, cz S)

presto

input x

S: = x * x

uscita "S =", S

gioco

Questo è il modo semplice per implementare l'algoritmo per calcolare il quadrato del numero inserito. Il programma può essere complicato aggiungendo ad esso la somma di tutte le operazioni. E poi assomiglierà a questo:

al quadrare un numero e calcolare la loro somma (arg cx, cz S c)

dato | x> 0

bisogno di | S = 1 * 1 + 2 * 2 + ... + x * x

nach è intero

input x; S: = 0

nts per un da 1 a x

S: = S + a * a

KC

uscita "S =", S

gioco

In questa variante, viene utilizzato un ciclo, una variabile intermedia a e una breve istruzione all'attività nelle sezioni "data" e "necessaria". Ora, se trasferisci un certo numero al programma, lo squadrerà e produrrà la somma dei quadrati di tutti i numeri che lo precedono.

Uso e sviluppo di linguaggi algoritmici

La lingua algoritmica è comune nell'ambiente di apprendimento per comprendere le norme di base e le regole di programmazione. Ad esempio, BASIC, che si svolgono in molte scuole. Riflette perfettamente tutti i paradigmi di un termine come un linguaggio di programmazione imperativo in cui tutti i comandi sono eseguiti sequenzialmente uno dopo l'altro.

programma per linguaggio algoritmico

A causa dell'approssimazione delle costruzioni e delle parole chiave descritte nella lingua umana, la scrittura del codice è diventata molto più semplice rispetto a modelli completamente dipendenti dalla macchina o dalla macchina. La famiglia dei linguaggi di programmazione Algol è andata più lontano nel suo sviluppo, dal momento che la sua sintassi è stata introdotta in diverse localizzazioni. Era possibile scrivere il codice anche in russo.

In generale, lo sviluppo di linguaggi algoritmici ha fortemente influenzato la programmazione nel suo complesso e ha permesso a un gran numero di persone di diventare sviluppatori. Gli strumenti moderni stanno diventando più accessibili e comprensibili. Lingue di programmazione di alto livello contengono sempre più funzioni con nomi e titoli parlanti. I limiti del loro uso stanno diventando meno. Quindi, in futuro, è possibile un'attuazione più comprensibile e naturale dello sviluppo.