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

Nelle scuole per studiare le basi dell'algoritmizzazione, t. N. scuola algoritmica della scuola (formazione algoritmica lingua), Usando le parole parole comprensibili in russo. A differenza della maggior parte dei linguaggi di programmazione, il linguaggio algoritmico non è collegato all'architettura del computer, non contiene parti associate al dispositivo della macchina.

Esempi

L'algoritmo sul linguaggio algoritmico è generalmente scritto nella forma:

alg. Il nome dell'algoritmo (argomenti e risultati) dano. Condizioni dell'applicabilità dell'algoritmo abbiamo bisogno Lo scopo dell'esecuzione dell'algoritmo nach. Descrizione dei valori intermedi | Sequenza di comunicazione (algoritmo del corpo) kon.

Nelle registrazioni dell'algoritmo, le parole chiave solitamente sottolineavano o assegnate da caratteri audaci. Una rientranza è stata utilizzata per evidenziare i blocchi logici e coppia le parole dell'inizio e della fine del blocco erano collegate a una funzione verticale.

Esempio di calcolo della somma dei quadrati:

alg. Somme quadrate ( arg.ta buona n, taglio buona S) dano. | N\u003e 0. abbiamo bisogno | S \u003d 1 * 1 + 2 * 2 + 3 * 3 + ... + N * N nach. buona I | ingresso n; S: \u003d 0 | nc. Per i da 1 a N | | S: \u003d s + i * i | kc. | produzione "S \u003d", s kon.

E-workshop.

Per rafforzare lo studio teorico della programmazione secondo il linguaggio algoritmico, gli specialisti della Moscow State University nel 1985 sono stati creati un editor di compilatore "E-workshop" ("E" - In onore del Yershov), consentendo di entrare, modificare ed eseguire programmi sul linguaggio algoritmico.

Nel 1986, una serie di mondi educativi (artisti) è stato rilasciato per E-Workshop: "Robot", "Draftsman", "Twitch", "Werethe", che renderà facile introdurre i concetti dell'algoritmo. "E-workshop" è stato implementato sui computer: Yamaha, Corvette, UKNC e si è diffuso.

Questo linguaggio di programmazione è stato costantemente finalizzato e una descrizione di una versione successiva di "E-workshop" è apparsa nel libro di testo del 1990. Il sistema di programmazione "KUMIR" ("KIT per i mondi di allenamento"), supportando questo libro di testo, è stato pubblicato nell'informazione Enterprise nel 1990. La lingua di questo sistema è anche chiamata "idolo".

Nel 1995, Kumir è stato raccomandato dal Ministero della Pubblica Istruzione della Federazione Russa come principale materiale educativo del corso "Nozioni di base delle informazioni informatiche e dei macchinari del computer" sulla base del libro di testo A. G. Kushniirenko, G.V. Lebedeva e R.a. Svoren. .

Critica

Tuttavia, va notato che il linguaggio algoritmico in assenza di parti che lo collegava direttamente dall'architettura del computer, tuttavia, riferendosi a lingue simile ad Algoli, insegna implicitamente gli scolari per fare affidamento sull'architettura in background-neumanovsk delle macchine. (Architettura Von Neumanan è un'implementazione pratica di un'idea precedente che ha una macchina di tentazione. Oltre all'idea di tenurare ci sono altre idee. Il più popolare di loro ha un nome di lambda-calcolo: Alunzo Chechch ha lavorato su di lei. Lisp La macchina è un'architettura basata sulla bizza-bizzarra.)

Collegamenti

  • A. P. Ershov. Lingua algoritmica nel corso della scuola delle basi degli informatici e dell'attrezzatura informatica. 05/07/1985.
  • Forum sui linguaggi e lo sviluppo della programmazione russa

Fondazione Wikimedia. 2010.

Guarda cos'è "Russian Algorithmic Language" in altri dizionari:

    Il linguaggio algoritmico è un linguaggio formale utilizzato per registrare, implementare o studiare algoritmi. Qualsiasi linguaggio di programmazione è un linguaggio algoritmico, ma non tutto il linguaggio algoritmico è adatto per l'uso come lingua ... ... Wikipedia

    Questo termine ha altri valori, vedere il drago (valori). Esempio di schema del blocco Algoritmo nel drago Dragon Dragon Dragon (Amichevole lingua algoritmica russa, che fornisce visualizzazione) Visual ... ... Wikipedia

    Questo termine ha anche altri significati, vedere il linguaggio algoritmico. Un linguaggio algoritmico educativo è un linguaggio formale utilizzato per registrare, implementare e studiare algoritmi. A differenza della maggior parte dei linguaggi di programmazione, non legati a ... Wikipedia

    Lingua algoritmica (anche linguaggio algoritmico russo, paradiso) Linguaggio di programmazione utilizzato per registrare e studiare algoritmi. Durante lo studio della scienza informatica nelle scuole per studiare le basi dell'algoritmizzazione, t. N. Algoritmico scolastico ... ... Wikipedia

    Training Language Programmazione Linguaggio del linguaggio programmato Progettato per addestrare la programmazione delle specialisti. Tale lingua deve soddisfare il requisito principale: semplicità. Più facile sarà, più velocemente il nuovo arrivato sarà acceso. Caratteristiche di tale ... ... Wikipedia

    Esempio il blocco del diagramma del Dragon Dragon Dragon Dragon Scheme (amichevole lingua algoritmica russa, che fornisce visualizzazione) un linguaggio algoritmico visivo, creato nel quadro del programma spaziale BURAN. Sviluppo di questa lingua ... Wikipedia

Parte dell'algoritmo alg. prima della parola nach. chiamato titolo e parte conclusa tra le parole nach. e kon. - Algoritmo del corpo.

In una frase alg. Dopo il nome dell'algoritmo tra parentesi, le caratteristiche (ARG, CR) e il tipo di valori (intangibili, sim, lite, log) sono indicati per tutte le variabili di input (argomenti) e output (risultati).

Quando si descrivono gli array (tabelle) viene utilizzata una parola di servizio tab, completato da coppie di contorno per ciascun indice degli elementi dell'array.

Esempi di offerte alg.:

alleg Volume e cilindro (Arg Mane R, H, Taglio V, S)

alg Roots of the Quar (Arg Mana A, B, C, taglio mee x1, x2, res lite t)

elemento di esclusione ALG (Arg Complex N, Arg Dres Tab A)

aLG Diagonal (Arg Complex N, Arg Communication TAB A, CRA Lit OtVet)

Parole di specie dano. e abbiamo bisogno Non obbligatorio. Si consiglia di registrare dichiarazioni che descrivono lo stato dell'ambiente dell'algoritmo esecutivo, ad esempio:

Alleg Sostituzione (ARG LIT STR1, STR2, AGR ACCIACCIO COLTAGGIO) DANO | STR1 e STR2 STR2 STR2 Lunghezza | Ovunque nella linea di testo di sottostringa STR1 sostituita con STR2

ALG Numero di Maxima (Cover Arg N, Arg Mest Tab A, Resh K) Dana | N\u003e 0nado | K - il numero di elementi massimi nella tabella A

Resistenza ALGA (Arg Mane R1, R2, ARG Complex N, Cole R) Dange | N\u003e 5, r1\u003e 0, r2\u003e 0nado | R - Resistenza allo schema

Qui nelle frasi dano. e abbiamo bisogno Dopo il segno "|" I commenti sono registrati. I commenti possono essere posizionati alla fine di qualsiasi riga. Non sono elaborati da un traduttore di computer, ma facilitano in modo significativo la comprensione dell'algoritmo.

Programmazione delle squadre scolastiche AYA

Operatore dell'applicazione. Utilizzato per calcolare le espressioni e assegnando loro valori variabili. Vista generale dell'operatore: A: \u003d B, dove il segno ": \u003d" indica l'operazione di assegnazione, I.e. Il comando per sostituire il valore precedente della variabile A, in piedi sul lato sinistro, sul valore calcolato dell'espressione nel lato destro.


Per esempio, a: \u003d (B + c) * peccato (PI / 4);

i: \u003d I + 1 .

Per ingresso e uscita Squadre di utilizzo dei dati

· ingresso Nomi di variabili

· produzione Nomi di variabili, espressioni, testi.

Per Ramificatura L'algoritmo utilizza i comandi se un e scelta.

Per un'organizzazione cicli - Teams. per e fino aDescritto sotto.

Un esempio del record dell'algoritmo nella lingua scolastica.

Squares del somma ALG (ARG n., rimedio S.) Dano |. N\u003e 0nado | S \u003d 1 * 1 + 2 * 2 + 3 * 3 + ... + N * nach iO. ingresso n.; S. : =0 nc.per i da 1 a n s : \u003d S + i * i kc. Conclusione "S \u003d", Skon

Un linguaggio algoritmico educativo è un mezzo per registrare algoritmi nella forma, intermedio tra la registrazione algoritmo su un linguaggio naturale (umano) e scrivere un computer (linguaggio di programmazione).

I vantaggi del linguaggio algoritmico educativo includono la sua semplicità, nonché il fatto che l'algoritmo è registrato in russo con un certo numero limitato di parole, il significato e il metodo di consumo di cui è rigorosamente definito. Queste parole sono chiamate parole ufficiali.

Per allocare parole ufficiali tra le altre parole della lingua, li enfatizzano quando scrivi.

Il record dell'algoritmo sul linguaggio algoritmico educativo è costituito da un'intestazione e un corpo dell'algoritmo. Il corpo dell'algoritmo è tra le parole chiave nach. e kon. E rappresenta la sequenza dei comandi algoritmo. Il titolo include il nome dell'algoritmo, che riflette il suo contenuto, l'elenco dei dati di origine (argomenti) e dei risultati.

Il segno dell'intestazione dell'algoritmo è la parola chiave alg..

Quindi, l'algoritmo registrato sulla lingua algoritmica educativa ha il seguente modulo:

alg. algoritmo del titolo

arg.ta elenco dei dati di origine

taglio elenco dei risultati

sequenza di comandi algoritmo

Studiare la lingua algoritmica scolastica è consigliabile iniziare con il team di assegnazione, è una delle squadre principali.

È scritto in questo modo:

<переменная> := <выражение>

Segno ": \u003d" Legge "Assegna".

Nel caso in cui il valore è assegnato al valore, include anche il lato destro del comando, succede quanto segue:

1) Il valore dell'espressione registrato sul lato destro del comando di assegnazione viene calcolato utilizzando i valori correnti di tutti i valori inclusi in questa espressione;

2) Una variabile è assegnata un nuovo valore corrente calcolato. In questo caso, il valore precedente della variabile viene distrutto.

Di conseguenza, il comando B: \u003d A + B significa che il valore della variabile A e il risultato risultante diventa un nuovo valore corrente del valore di B viene aggiunto al valore corrente precedente del valore B.

Questo esempio illustra tre proprietà di assegnazione di base:

1) fino a quando la variabile è assegnata un valore, non rimane definito;

2) Il valore assegnato alla variabile è memorizzato in esso fino a quando non viene eseguita la prossima assegnazione di questa variabile;

3) Un nuovo valore assegnato alla variabile sostituisce il suo valore precedente.

Ora facciamo conoscenza di strutture di base, iniziamo con una tale operazione come "Segui". Forma una sequenza di azioni che seguono una dopo l'altra:

azione 1.

azione 2.

. . . . . . . . .

azione N.

Quindi, considera la struttura di base "Branch". Fornisce a seconda del risultato della verifica della condizione (sì o no) la scelta di uno dei percorsi alternativi dell'algoritmo. Ciascuno dei percorsi conduce all'uscita complessiva, quindi il lavoro dell'algoritmo continuerà indipendentemente da quale percorso sarà selezionato. La struttura del ramo esiste in quattro opzioni principali:



1. Se qualcosa;

se un condizione

quella azioni

2. Se qualcosa, altrimenti;

se un condizione

quella azioni 1.

altrimenti azioni 2.

scelta

percondizione 1: Azioni 1

percondizione 2: Azioni 2

. . . . . . . . . . . .

per condizione n: Azioni n

{altrimentiazioni N + 1}

E infine, la struttura di base del ciclo che utilizza la lingua algoritmica scolastica sarà simile a questa.

Ministero della Pubblica Istruzione della Federazione Russa Stato Technical University

Dipartimento di tecnologie dell'informazione e sistemi automatizzati

Vikentheva O. L.

Lezioni frontali astratte sul corso "Lingue algoritmiche e programmazione" (basi del linguaggio C ++, I Semestre)

introduzione

Il primo semestre discute i progetti di base della lingua C e la tecnologia di programmazione di base (programmazione strutturale).

La programmazione strutturale è la tecnologia di creazione di programmi che ci consente di rispettare determinate regole per ridurre il tempo di sviluppo e il numero di errori, nonché facilitare la possibilità di modificare il programma.

1.1. Algoritmo e programma

L'algoritmo è un ordine accurato che determina il processo di calcolo proveniente dai dati iniziali variabili al risultato finale, I.e. È una ricetta per ottenere un obiettivo.

La combinazione di fondi e regole per la rappresentazione dell'algoritmo sotto forma di una macchina computazionale è chiamata un linguaggio di programmazione, l'algoritmo registrato in questa lingua è chiamato il programma.

Innanzitutto, l'algoritmo delle azioni è sempre sviluppato, e quindi è scritto in uno dei linguaggi di programmazione. Il testo del programma è elaborato da programmi di servizio speciali - traduttore. Le lingue di programmazione sono lingue artificiali. Dalle lingue naturali, differiscono nel numero limitato di "parole" e regole molto rigorose per la registrazione dei comandi (operatori). La combinazione di questi requisiti forma la sintassi del linguaggio di programmazione e il significato di ciascun design è la sua semantica.

1.2. Algoritmo delle deferenze

1. Masseria: l'algoritmo dovrebbe essere applicato non a un compito, e ad un'intera classe di problemi simili (l'algoritmo per risolvere l'equazione quadrata dovrebbe essere risolto non un'equazione, ma tutte le equazioni quadrate).

2. Efficacia: L'algoritmo dovrebbe portare al risultato di un risultato per un determinato numero di passaggi (nella divisione da 1 a 3, si ottiene una frazione periodica di 0,33333 (3), per raggiungere il risultato finale, è necessario specificare la precisione di Ottenere questa frazione, ad esempio, fino a 4 segnali decimali).

3. Definizione (determinismo) - Ogni azione dell'algoritmo dovrebbe essere comprensibile per il suo esecutore (istruzioni per lo strumento domestico in giapponese per una persona che non parla giapponese non è un algoritmo, perché non ha la proprietà di deterministica).

4. Discretenze: il processo deve essere descritto usando indivisibile

le operazioni eseguite ad ogni passaggio (I.e. I passaggi non possono essere suddivisi in gradini più piccoli).

Gli algoritmi possono essere rappresentati nelle seguenti forme:

1) una descrizione verbale dell'algoritmo.

2) descrizione grafica dell'algoritmo.

3) utilizzo del linguaggio di programmazione algoritmico

1.2. Compilatori e interpreti

A PARTIRE DAL un testo che descrive l'algoritmo precedentemente compilato viene creato utilizzando il linguaggio di programmazione. Per ottenere un programma di lavoro, è necessario tradurre questo testo nella sequenza di comando del processore, che viene eseguita utilizzando programmi speciali chiamati traduttori. Traduttori Ci sono due tipi: compilatori e interpreti. Il compilatore Traduce il testo del modulo sorgente nel codice della macchina, che viene chiamato il modulo oggetto per un processo continuo. Allo stesso tempo, prima sfoglia il testo sorgente del programma in cerca di errori sintattici. L'interprete esegue il modulo del programma originale nella modalità operatore per l'operatore,

la mossa del lavoro, traducendo ogni operatore verso il linguaggio della macchina.

1.3. Programmazione

Diversi tipi di processori hanno un insieme diverso di comandi. Se il linguaggio di programmazione è focalizzato su un tipo di processore specifico e tiene conto delle sue funzionalità, quindi è chiamata un linguaggio di programmazione di basso livello. Il linguaggio di livello più basso è il linguaggio Assembler, che rappresenta semplicemente ogni comando del codice macchina sotto forma di simboli simboli speciali, che sono chiamati mnemonici. Utilizzando lingue di basso livello, vengono creati programmi molto efficienti e compatti, poiché lo sviluppatore consente di accedere a tutte le funzionalità del processore. Perché I set di istruzioni per diversi modelli di processore sono anche diversi, quindi ciascun modello del processore corrisponde alla sua lingua di assembler e il programma scritto su di esso può essere utilizzato solo in questo ambiente. Lingue simili vengono utilizzate per scrivere piccole applicazioni di sistema, dispositivi driver, ecc.

I linguaggi di programmazione di alto livello non tengono conto delle specifiche di specifiche architetture informatiche specifiche, quindi i programmi creati a livello di testo sorgente sono facilmente trasferiti ad altre piattaforme se sono creati i traduttori appropriati per loro. Lo sviluppo di programmi in lingue di alto livello è molto più facile che sui linguaggi della macchina.

Le lingue di alto livello sono:

1. Fortran - il primo linguaggio compilato creato in50s XX secolo. Ha implementato un numero dei concetti più importanti della programmazione. Per questa lingua è stato creato un enorme numero di biblioteche, che vanno da complessi statistici e che terminano con i satelliti, quindi continua ad essere utilizzato in molte organizzazioni.

2. Cobol - linguaggio compilato per calcoli e soluzioni economicheattività aziendali sviluppate nei primi anni '60. In Cobol, sono stati implementati mezzi molto potenti per lavorare con grandi quantità di dati memorizzati su supporti esterni.

3. Pascal - creato alla fine70s dalla matematica svizzera Niklaus Virut specificamente per la programmazione della formazione. Ti permette di sviluppare un pensiero algoritmico, costruire un programma breve e ben leggibile, dimostrare le principali tecniche di algoritmizzazione, è anche adatto per l'attuazione di grandi progetti.

4. Baisik - è stato creato inAnni '60 anche per la programmazione dell'apprendimento. Per lui, ci sono compilatori e interpreti, è uno dei linguaggi di programmazione più popolari.

5. Si - è stata creata negli anni '70, originariamente non considerata come un linguaggio di programmazione di massa. È stato progettato per sostituire l'assemblatore per essere in grado di creare gli stessi programmi efficienti e brevi, ma non dipendono da un processore specifico. È in gran parte simile a Pascal e ha ulteriori opportunità per lavorare con la memoria. È stato scritto molti programmi applicati e di sistema, nonché il sistema operativo UNIX.

6. C ++ - Espansione orientata agli oggetti del linguaggio SI creato da Biarry Surastrup nel 1980.

7. Java è una lingua creata dal sole all'inizio90s basato su C ++. È progettato per semplificare lo sviluppo di applicazioni su C ++ escludendo le possibilità di basso livello da esso. La caratteristica principale della lingua è che è compilata nel codice della macchina, ma in un codice di byte indipendente da piattaforma (ogni comando occupa un byte). Questo codice può essere eseguito utilizzando un interprete - macchina virtuale Java (JVM).

2. Struttura del programma su C ++

Il programma nel SI ha la seguente struttura: direttive preprocessore

. . . . . . . . .

# Direttive preprocessore Funzione A ()

funzione degli operatori in ()

operatori

void principale () // una funzione con cui inizia l'esecuzione del programma

descrizioni

compiti

funzione operatore vuoto

composito

transizione

Direttive preprocessore: controlla la conversione del testo del programma prima di compilarlo. Il programma sorgente preparato su SI sotto forma di un file di testo passa 3 fasi:

1) trasformazione del testo del preprocessore;

2) Compilazione;

3) layout (editing connessioni o assembly).

Dopo queste tre fasi, è formata il codice del programma eseguibile. Il compito è prepro-

cessor - Trasformazione del testo del programma prima che si compilasse. Le regole della lavorazione della pre-elaborazione definiscono un programmatore utilizzando le direttive preprocessore. La direttiva inizia con #. Per esempio,

1) #Define - indica le regole per la sostituzione del testo. #Define zero 0.0.

Significa che ogni utilizzo nel programma Zero verrà sostituito.

2) #include.< имя заголовочного файла> - È destinato a essere incluso nel testo del programma di testo dalla directory "file di intestazione" fornita con librerie standard. Ogni funzione della libreria c ha una descrizione corrispondente in uno dei file di intestazione. L'elenco dei file di intestazione è definito dalla lingua standard. L'uso della direttiva inclusa non collega il bavaglino standard appropriato

lyoteta, ma consente solo di inserire la descrizione del programma di descrizione dal file di intestazione specificato. La connessione dei codici librerie viene eseguita nella fase di layout, I.e. Dopo la compilazione. Sebbene i file di intestazione contengano tutte le descrizioni delle funzioni standard, solo quelle funzioni utilizzate nel programma sono incluse nel codice del programma.

Dopo aver eseguito l'elaborazione preprocessive nel testo del programma, non vi è una sola direttiva preprocessore.

Il programma è un insieme di descrizioni e definizioni ed è costituito da una serie di funzioni. Tra queste funzioni dovrebbe sempre essere una funzione denominata principale. Senza di esso, il programma non può essere eseguito. Prima del nome della funzione, le informazioni vengono posizionate sul tipo di valore restituito dalla funzione (tipo di risultato). Se la funzione non ritorna nulla, il tipo di vuoto è specificato: Void Main (). Ogni funzione, incluso principale, dovrebbe avere un set di parametri, può essere vuoto, quindi tra parentesi indica (annullamento).

La funzione della funzione è posizionata dietro la funzione di intestazione. La funzione corporeo è una sequenza di definizioni, descrizioni e operatori eseguibili racchiusi in parentesi ricci. Ogni definizione, descrizione o operatore termina con un punto e virgola.

DEFINIZIONI - Gli oggetti vengono introdotti (l'oggetto è un'area di memoria denominata, un caso speciale di un oggetto - una variabile) richiesta per rappresentare i dati nei dati processabili. L'esempio è

int y \u003d 10; // denominato float x costante; //variabile

Descrizioni - Notificare il compilatore per proprietà e nomi di oggetti e funzioni descritti in altre parti del programma.

Operatori - Definire le azioni del programma ad ogni fase della sua esecuzione

Programma di esempio su C:

#Includere. // Direttiva preprocessore

Domande di controllo

1. Quali parti è il programma C ++?

2. In che modo la definizione differisce dall'annuncio?

3. Elenco dei passaggi per creare un programma eseguibile in C ++.

4. Cos'è un preprocessore?

5. Qual è una direttiva preprocessore? Creare esempi di direttive preprocessore.

6. Crea un programma che stampa il testo "Il mio primo programma su C ++"

2. Strumenti di base del C ++ 2.1. Lingua Sost

Nel testo in qualsiasi linguaggio naturale, è possibile selezionare quattro elementi principali: simboli, parole, frasi e suggerimenti. Il linguaggio algoritmico contiene anche tali elementi, solo le parole sono chiamate Lexemes (strutture elementari), frasi - espressioni, offerte - operatori. I lexemes sono formati da simboli, espressioni da lexemes e simboli, operatori di espressioni e simboli di lexing (Fig. 1.1)

Fico. 1.1. La composizione del linguaggio algoritmico quindi, gli elementi del linguaggio algoritmico sono:

Gli identificatori sono i nomi dei programmi C. Lettere latine, numeri e un segno di sottolineatura possono essere utilizzati nell'identificatore. Le lettere maiuscole e minuscole differiscono, ad esempio, PROG1, PROG1 e PROG1 sono tre identificatori diversi. Il primo personaggio dovrebbe essere la lettera o il sottolineatura (ma non una figura). Gli spazi negli identificatori non sono ammessi.

Le parole chiave (riservate) sono parole che hanno un valore speciale per il compilatore. Non possono essere usati come identificatori.

- I segni delle operazioni sono uno o più caratteri che determinano l'azione sugli operandi. Le operazioni sono suddivise in un anno, binary e ternar nel numero di operandi che partecipano a questa operazione.

Le costanti sono valori immutabili. Ci sono costanti interi, reali, simbolici e stringa. Il compilatore evidenzia la costante come un lexeme (design elementare) e si riferisce a uno dei tipi in base al suo aspetto.

Separa - parentesi, punto, icone spaziale di virgola.

2.1.1. Costanti in c ++

La costante è un lexema che rappresenta un'immagine di un valore fisso numerico, stringa o simbolico.

Le costanti sono divise in 5 gruppi:

Totale;

- reale (punto fluttuante);

Elencato;

Simbolico;

Corda.

Il compilatore evidenzia il Lex e si riferisce a un determinato gruppo e quindi

tre gruppi a un tipo specifico sulla sua forma di registrazione nel testo del programma e dal valore numerico.

Le costanti possono essere decimali, ottali ed esadecimali. La costante decimale è definita come una sequenza di cifre decimali, che inizia non da 0, se questo non è 0 (esempi: 8, 0, 192345). La costante ottale è una costante che inizia sempre con 0. In 0 segue i numeri ottali (esempi: 016 - valore decimale 14, 01). Le costanti esagonali sono una sequenza di numeri esadecimale che precedono i caratteri 0x o 0x (esempi: 0ha, 0x00F).

NEL a seconda del valore dell'intero compilatore costantein modi diversi lo presenterà

nel memoria del computer (I.e., il compilatore assisterà la costante del tipo di dati corrispondente).

Le costanti reali hanno un'altra forma di presentazione interna nella memoria del computer. Il compilatore riconosce tali costanti in base alla loro mente. Le costanti reali possono avere due forme di forma: con un punto fisso e un punto flottante. Punto fisso Vista costante: [figure]. [Figure] (Esempi: 5.7, 0001, 41.). Vista di un punto flottante costante: [figure] [.] [Figure] e | e [+ | -] [figure] (Valido: 0.5E5, .11E-5, 5E3). Nella registrazione di costanti reali, un'intera parte o una parte frazionata, o un punto decimale, o un segno di esponenziali con un indicatore della misura può essere abbassato.

Le costanti enumerate vengono inserite utilizzando la parola chiave enum. Queste sono comuni costanti intere che sono uniche e convenienti da utilizzare la designazione sono attribuite. Esempi: Enum (uno \u003d 1, due \u003d 2, tre \u003d 3, quattro \u003d 4);

enum (zero, uno, due, tre) - Se nella definizione di costanti quotate omettere i segni \u003d e valori numerici, i valori verranno attribuiti al valore predefinito. In questo caso, l'identificatore molto sinistro riceverà un valore di 0 e ogni successivo aumenterà di 1.

enum (dieci \u003d 10, tre \u003d 3, quattro, cinque, sei);

enum (domenica, lunedì, martedì, mercoledì, giovedì, venerdì, Satura-

Le costanti simboliche sono uno o due caratteri racchiusi in apostrofi. Le costanti simboliche costituite da un simbolo hanno un tipo di caratteri e occupano un byte in memoria, costanti di carattere costituito da due caratteri hanno il tipo INT e occupano due byte. Le sequenze che iniziano con il segno \\ sono chiamate manager, sono utilizzate:

- Per rappresentare caratteri che non hanno un display grafico, ad esempio:

\\ A - BEEP,

\\ b - Torna a un passo, \\ N - traduzione a fila,

\\ T - scheda orizzontale.

- Per la presentazione dei personaggi: \\, ',? "(\\\\, \\ ', \\?, \\").

- Per la presentazione di caratteri con codici esadecimale o ottali (\\ 073, \\ 0xF5).

La costante stringa è una sequenza di caratteri racchiusi nelle citazioni.

All'interno delle righe può anche utilizzare i caratteri di controllo. Ad esempio: "\\ Nnoving string",

"\\ N \\" Lingue algoritmiche della programmazione di alto livello \\ "".

2.2. Tipi di dati in C ++

I dati vengono visualizzati nel programma in tutto il mondo. L'obiettivo del programma è quello di elaborare i dati. I dati diversi tipi sono memorizzati ed elaborati in modi diversi. Tipo di dati Determina:

1) presentazione interna dei dati nella memoria del computer;

2) molti valori che possono prendere i valori di questo tipo;

3) operazioni e funzioni che possono essere applicate ai dati di questo tipo.

NEL a seconda dei requisiti dell'attività, il programmatore seleziona il tipo per gli oggetti del programma. I tipi di C ++ possono essere suddivisi in semplice e composito. I tipi semplici includono tipi caratterizzati da un valore. In C ++, sono definiti 6 tipi di dati semplici:

int (intero)

char (simbolo)

war_t (simbolo avanzato) bool (logico) galleggiante (reale)

doppia (reale con doppia precisione)

Ci sono 4 specificatori di tipo che specificano la rappresentazione interna e la gamma di tipi standard

breve (corto) lungo (lungo) firmato (segno)

unsignato (insanguinato)

2.2.1. Tipo int.

I valori di questo tipo sono numeri interi.

La dimensione del tipo int non è determinata dallo standard, ma dipende dal computer e dal compilatore. Per un processore a 16 bit, sono assegnati 2 byte, per 32 bit - 4 byte.

Se il breve specificatore è in piedi prima di int, allora 2 byte vengono assegnati al numero e se il lungo specificatore, quindi 4 byte. Dal numero di assegnato all'oggetto di memoria, i molti valori validi che potrebbero ricevere un oggetto dipendono:

breve int - occupa 2 byte, quindi, ha un intervallo -32768 .. + 32767;

long Int - range 4 byte, quindi, ha una gamma -2 147 483 648 .. + 2 147 483 647

Il tipo INT coincide con il tipo INT breve su PC a 16 bit e con un lungo PC a 32 bit.

I modificatori firmati e non firmati influenzano anche il set di valori consentiti che l'oggetto può prendere:

iNT INTRICITO INTURATO - Occupa 2 byte, quindi, ha una gamma di 0 ..65536; Ungigno a lungo Int - classifica 4 byte, quindi, ha una gamma di 0 .. + 4 294 967

2.2.2. Tipo Char.

I valori di questo tipo sono gli elementi del set di caratteri ordinato finale. Ogni personaggio è messo in base al numero chiamato codice simbolo. Sotto la dimensione del simbolo del tipo 1 è dato il byte. Il tipo di char può essere utilizzato con specificatori firmati e non firmati. In questi tipi di caratteri firmati, è possibile memorizzare i valori nell'intervallo da -128 a 127. Quando si utilizza il tipo di caratteri senza segno, i valori possono essere compresi tra 0 e 255. Il codice ASCII viene utilizzato per la codifica ( Codice standard americano Foe Interchange International). I simboli con i codici da 0 a 31 sono servizi e hanno un valore indipendente solo nelle dichiarazioni I / O.

I valori del tipo di char vengono anche utilizzati per memorizzare i numeri dall'intervallo specificato

2.2.3. Digita wchar_t.

Progettato per funzionare con un set di caratteri per la codifica che non è sufficiente per 1 byte, come Unicode. La dimensione di questo tipo, di regola, corrisponde al tipo di corto. Le costanti di stringa di questo tipo sono registrate con il prefisso l: l "stringa # 1".

2.2.4. Tipo BOOL.

Il tipo di BOOL è chiamato logico. I suoi valori possono prendere valori veri e falsi. La forma interna di rappresentazione falsa è 0, qualsiasi altro valore è interpretato come vero.

2.2.5. Tipi di punti flottanti.

La rappresentazione interna del numero reale è composta da 2 parti: mantissa e ordine. In PC compatibile con IBM, la dimensione del tipo float è occupata da 4 byte, di cui una scarica è presa sotto il segno della Mantissa, 8 scarichi nell'ambito dell'Ordine e 24 - sotto la Mantissa.

I valori dei tipi di doppio occupano 8 byte, 11 e 52 scarico sono scaricati nell'ambito dell'ordine e della manissa, rispettivamente. La lunghezza della mantissa determina l'accuratezza del numero e la lunghezza della sua gamma.

Se c'è un lungo specificatore davanti al doppio nome del tipo, i byte vengono forniti sotto la grandezza.

2.2.6. Void tipo.

PER i tipi principali si riferiscono anche al tipo vuoto di molti valori di questo tipo -

2.3. Variabili

La variabile in C ++ è un'area di memoria denominata in cui i dati sono memorizzati. La variabile ha un nome e un valore. Il nome serve a fare riferimento all'area di memoria in cui viene memorizzato il valore. Prima dell'uso, è necessario descrivere qualsiasi variabile. Esempi:

Vista generale della descrizione della descrizione:

[classe di memoria] Nome del tipo [Inizializzatore];

La classe di memoria può prendere valori: Auto, Extern, Static, Register. La classe di memoria determina la durata della vita e la portata della variabile. Se la classe di memoria non è specificata esplicitamente, il compilatore determina la sua sulla base del contesto AD. Il tempo di vita può essere permanente - durante l'esecuzione del programma o temporaneo - durante il blocco. Scope - parte del testo del programma da cui assumiamo il consueto accesso alla variabile. Di solito lo scopo della visibilità coincide con l'area di azione. Inoltre, il caso quando c'è una variabile nel blocco interno con lo stesso nome.

Const - indica che questa variabile non può essere modificata (denominata costante). Quando descrivi, è possibile assegnare una variabile di valore iniziale (inizializzazione). Classi di memoria:

auto -automatica variabile locale. L'Auto Specier può essere specificato solo quando si determinano gli oggetti di blocco, ad esempio nella funzione del corpo. Questa memoria variabile viene rilasciata all'ingresso all'unità e viene rilasciato quando lo esce. Fuori dal blocco, tali variabili non esistono.

l'esterno è una variabile globale, è in un altro luogo del programma (in un altro file o condividere nel testo). Utilizzato per creare variabili disponibili in tutti i file di programma.

statico è una variabile statica, esiste solo entro i limiti del file in cui è definita la variabile.

il registro è simile a AUTO, ma la memoria è assegnata nei registri del processore. Se non vi è tale possibilità, le variabili vengono elaborate come auto.

int a; // Variabile globale Void principale () () (

int b; // variabile locale

extern int x; // variabile x è definito altrove statico int c; // variabile statica locale A \u003d 1; // assegnazione di una variabile globale

int a; // Variabile locale A

a \u003d 2; // Assegnazione di una variabile locale :: A \u003d 3; // Assegnazione di una variabile globale

int x \u003d 4; // definizione e inizializzazione x

Nell'esempio, la variabile A è determinata al di fuori di tutti i blocchi. L'area di azione della variabile A è l'intero programma, ad eccezione di quelle righe in cui viene utilizzata la variabile locale A. Variabili B e C - Locale, l'area della loro visibilità è un blocco. Living Lifetime: la memoria sotto B viene rilasciata quando si immette il blocco (poiché per impostazione predefinita, la classe di memoria automatica) viene rilasciata quando lo esce. Esiste una variabile con (statica) mentre il programma funziona.

Se, quando si determina il valore iniziale, le variabili non vengono specificate esplicitamente, quindi il compilatore ripristina le variabili globali e statiche. Le variabili automatiche non sono inizializzate ..

Il nome della variabile dovrebbe essere unico nel suo campo di azione.

La descrizione della variabile può essere completata o come annuncio o come definizione. L'annuncio contiene informazioni sulla classe di memoria e il tipo di variabile, la definizione insieme a queste informazioni fornisce un'indicazione per allocare la memoria. Nell'esempio di extern in x; - Annuncio e le definizioni di riposo.

2.4. Operazioni in c ++

I segni delle operazioni assicurano la formazione di espressioni. Le espressioni sono costituite da operandi, segni di operazioni e parentesi. Ogni operando è, a sua volta, l'espressione o il caso privato di espressioni è costante o variabile.

Operazioni universitarie

& ottenere l'indirizzo dell'operando

* Appello all'indirizzo (intervallo)

- un anno meno, cambia il segno dell'operando aritmetico

++ Aumento di uno:

funzionamento prefisso - Aumenta l'operando al suo uso

l'operazione postfix aumenta l'operando dopo che è stato utilizzato

int a \u003d (m ++) + n; // a \u003d 4, m \u003d 2, n \u003d 2

int b \u003d m + (++ n); // a \u003d 3, m \u003d 1, n \u003d 3

ridurre per unità:

funzionamento prefisso: riduce l'operando al suo uso

l'operazione postfix riduce l'operando dopo che è stato utilizzato

dimensioni calcolatrici (in byte) per l'oggetto di quel tipo

ha operando

ha due forme

sizeof Expression.

sizeof (galleggiante) // 4

sizeof (1.0) // 8, T. Costanti predefinite reali

L'algopritis è un esempio accurato e comprensibile dell'artista per conformarsi alla sequenza di azioni volte a risolvere il compito.

Il nome "Algoritmo" si è verificato dalla forma latina del nome della matematica asiatica centrale al-khorezmi - algoritmi. L'algoritmo è uno dei concetti di base dell'informatica e della matematica.

L'algoritmo performer è un sistema astratto o reale (tecnico, biologico o biotecnico) in grado di eseguire azioni prescritte dall'algoritmo.

Artista Hampactivepiz:

azioni elementari;

sistema di squadra;

Laureato (o ambiente) è l'"habitat" dell'artista. Approveremo, per la lettura dell'artista dal libro di testo scolastico, è un campo cellulare infinito. Anche le pareti e le cellule seashed fanno parte della giunzione. E il loro positivo e la posizione dell'aspetto stesso impostano lo stato della conquista del mezzo.

Ogni esecutore può eseguire comandi solo da alcuni sistemi di comando elenco definiti dal timbro. Per ciascun comando, è necessario specificare le condizioni (poiché gli stati del manuale possono essere eseguiti) e descrive i risultati del comando. Applica, il comando "VVEPS" può essere eseguito se non c'è pareti sopra. Il suo risultato è un turno in una cella in una cella.

Dopo aver chiamato il comando, l'esecutore è costituito da un'azione elementare appropriata.

I fallimenti esecutivi si verificano se il comando è chiamato in uno stato inaccettabile dello stato dello stato.

Di solito il contraente non sa nulla dello scopo dell'aspetto algo. Esegue tutti i comandi ricevuti senza chiedere domande "Perché" e "perché".

Nell'informatica, l'esecutore universale di algoritmi è un computer.

Le principali proprietà degli algoritmi sono le seguenti:

Comprensibilità per l'artista - I.e. L'esecutore dell'algoritmo dovrebbe sapere come eseguirlo.

Discrezione (interruzione, separatezza) - I.e. Gli algoporti dovrebbero essere assegnati il \u200b\u200bcompito di progresso come esecuzione sequenziale dei seguenti passaggi (o più staccati) (passaggi).

OBLINO - I.E. Ogni algoritmo deve essere chiaro, inequivocabile e non lasciare posti per i progressi. Grazie a questa proprietà, l'esecuzione dell'algoritmo è soddisfatta meccanicamente e non sono rimaste ulteriori istruzioni o informazioni sul compito.

Figura (o arto). Questa proprietà è che l'algoritmo deve cercare di provare il compito per il numero finale di passaggi.

Formosità Ciò significa che l'algoritmo del compito è in forma generale, cioè Deve essere Pony per una certa classe di compiti che sono solo nei dati di origine. In questo caso, i dati iniziali possono essere mangiati da una determinata area, che è chiamata area dell'algoritmo.

In pratica, le seguenti forme di rappresentazione di algoritmi sono più comuni:

verbale (scrivendo in linguaggio naturale);

grafica (immagini dei simboli grafici);

pseudocodi (descrizioni semi-formalizzate di algoritmi su un linguaggio algoritmico condizionale, compresi entrambi gli elementi del linguaggio di programmazione e le frasi di un linguaggio naturale, la notazione matematica generalmente accettata, ecc.);

software (testi nei linguaggi di programmazione).

Un modo verbale per registrare gli algoritmi è una descrizione delle fasi consecutive del trattamento dei dati. L'algoritmo è ambientato nella presentazione arbitraria nel linguaggio naturale.

Per esempio. Registra l'algoritmo per trovare il più grande divisore generale (nodo) di due numeri naturali.

L'algoritmo può essere il seguente:

imposta due numeri;

se i numeri sono uguali, prendi qualcuno di loro come risposta e fermarsi, altrimenti continuare l'esecuzione dell'algoritmo;

determinare più dei numeri;

sostituire più tra la differenza più grande e più piccola tra i numeri;

ripeti l'algoritmo dal punto 2.

L'algoritmo descritto è applicabile a qualsiasi numero naturale e dovrebbe portare a risolvere il compito. Assicurati che questo algoritmo sia determinato utilizzando questo algoritmo il più grande divisore comune dei numeri 125 e 75.

Un metodo verbale non è diffuso per i seguenti motivi:

tali descrizioni sono rigorosamente non formalizzate;

soffre di verifica dei record;

regola l'ambiguità dell'interpretazione dei singoli regolamenti.

Il metodo grafico di rappresentare gli algoritmi è più compatto e visivo rispetto a Verbal.

Con una rappresentazione grafica, l'algoritmo è raffigurato come una sequenza di blocchi funzionali interconnessi, ciascuno dei quali corrisponde all'attuazione di una o più azioni.

Una rappresentazione grafica è chiamata uno schema di un algoritmo o un diagramma di blocco.

Nel diagramma di blocco, ogni tipo di azione (ingresso dei dati iniziali, calcolando i valori delle espressioni, le condizioni di test, la gestione della ripetizione, la fine dell'elaborazione, ecc.) Corrisponde alla forma geometrica rappresentata come simbolo di blocco. I simboli del blocco sono collegati da linee di transizione che definiscono la priorità dell'azione.

La tabella 1 mostra i caratteri più utilizzati.

Il blocco di processo viene utilizzato per designare un'azione o una sequenza di azioni che cambiano il valore, la forma di rappresentazione o posizionamento dei dati. Per migliorare la visibilità del circuito, diverse unità di elaborazione separate possono essere combinate in un blocco. La presentazione delle singole operazioni è abbastanza gratuita.

Il blocco "Soluzione" viene utilizzato per designare le transizioni di controllo del controllo. In ogni blocco "Soluzione", la domanda deve essere indicata, una condizione o un confronto che determina.

L'unità "Modifica" viene utilizzata per organizzare strutture cicliche. (La modifica della parola significa modifica, trasformazione). All'interno del blocco, il parametro ciclo è registrato per il quale è specificato il suo valore iniziale, la condizione del contorno e la fase di modifica del valore del parametro per ogni ripetizione.

Il blocco "Processo predefinito" viene utilizzato per indicare appelli agli algoritmi ausiliari, esistenti in modo autonomo sotto forma di alcuni moduli indipendenti e per ricorsi alle subroutine della biblioteca.

Pseudocodice è un sistema di simboli e regole destinati alla registrazione uniforme degli algoritmi.

Occupa un luogo intermedio tra linguaggi naturali e formali.

Da un lato, è vicino al solito linguaggio naturale, quindi gli algoritmi possono essere registrati su di esso e leggere come testo ordinario. D'altra parte, alcuni disegni formali e simboli matematici vengono utilizzati nella pseudocodice, che porta il record dell'algoritmo al record matematico generalmente accettato.

La pseudocodice non ha preso rigide regole di sintassi per i comandi di registrazione inerenti in lingue formali, che facilita il record dell'algoritmo nella fase del suo design e consente di utilizzare un set più ampio di comandi progettati per un artista astratto. Tuttavia, la pseudocode di solito ha alcuni disegni inerenti in lingue formali, che facilita la transizione dalla scrittura a una pseudocodice per registrare l'algoritmo nella lingua formale. In particolare, in pseudocodice, così come in lingue formali, ci sono parole ufficiali, il che significa essere determinato una volta per tutte. Si distinguono nel testo stampato con il carattere in grassetto, e nel testo scritto a mano sottolineato. Non esiste una definizione singola o formale della pseudo-formazione, quindi sono possibili vari pseudocodi, caratterizzati da una serie di parole di servizio e strutture di base (base).

Un esempio di pseudocodice è un linguaggio algoritmico scolastico nella notazione russa (scuola (scuola), descritta nel tutorial A.G. Kushniirenko et al. "Nozioni di base di informatica e informatica", 1991. Questa lingua sarà chiamata semplicemente "lingua algoritmica" in futuro.

Parole di servizio principali

Vista generale dell'algoritmo:

algoritmo di nome ALG (argomenti e risultati)

le condizioni di applicabilità dell'algoritmo

È necessario eseguire un algoritmo

nCH \u200b\u200bDescrizione dei valori intermedi

| Sequenza di comunicazione (algoritmo del corpo)

Parte dell'algoritmo dalla parola ALG ALG alla Parola NCH è chiamata il titolo, e la parte ha concluso tra le parole dell'inizio e dei corpi dell'algoritmo.

Nella frase dell'Alg dopo il nome dell'algoritmo tra parentesi, sono indicate le caratteristiche (ARG, CR) e il tipo di valore (intangibile, sim, lite o log) (per l'argomento) e le variabili di uscita (risultati) . Durante la descrizione di array (tabelle), viene utilizzata la parola di servizio, integrata da coppie di contorno per ciascun indice degli elementi dell'array.

Esempi di offerte ALG:

alleg Volume e cilindro (Arg Mane R, H, Taglio V, S)

alg Roots of the Quar (Arg Mana A, B, C, taglio mee x1, x2, res lite t)

elemento di esclusione ALG (Arg Complex N, Arg Dres Tab A)

aLG Diagonal (Arg Complex N, Arg Communication TAB A, CRA Lit OtVet)

Le offerte sono fornite e non necessariamente. Si consiglia di registrare dichiarazioni che descrivono lo stato dell'ambiente dell'algoritmo esecutivo, ad esempio:

alleg Sostituzione (ARG LIT STR1, STR2, Testo Cropsus Crops))

dano |. Le lunghezze di sostituzione STR1 e STR2 coincidono

È necessario | Ovunque nella linea di testo di sottostringa STR1 sostituita con STR2

aLG Numero di Maxima (Arg Cover N, ARG TAB A, RESH K)

dano |. N\u003e 0.

È necessario | K - il numero di elementi massimi nella tabella A

resistenza ALG (Arg Mane R1, R2, ARG Complex N, COM R)

dano |. N\u003e 5, R1\u003e 0, R2\u003e 0

È necessario | R - Resistenza allo schema

Qui nelle frasi sono dati e necessarie dopo il segno "|" I commenti sono registrati. I commenti possono essere posizionati alla fine di qualsiasi riga. Non sono elaborati dal traduttore, ma facilitano significativamente la comprensione dell'algoritmo.

Gli algoritmi possono essere rappresentati come alcune strutture costituite da elementi di base (I.e. BASIC) separati.

Naturalmente, con questo approccio agli algoritmi, lo studio dei principi di base del loro design dovrebbe iniziare con lo studio di questi elementi di base.

Per la loro descrizione, useremo il linguaggio degli algoritmi e la lingua algoritmica scolastica.

La struttura logica di qualsiasi algoritmo può essere presentata con una combinazione di tre strutture di base:

seguire

ramificatura

Una caratteristica caratteristica delle strutture di base è la presenza di un ingresso e un'uscita.

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