La squadra idol è diversa. Ramificazione nel linguaggio degli idoli

La squadra idol è diversa.  Ramificazione nel linguaggio degli idoli





1. Non ci sono vere radici Cammina con coraggio 4. D


03. | un | = a 4. Entrambe le parti dell'equazione possono essere divise e moltiplicate per a 5. Andrai a sinistra 6. Sparirai tu stesso 7. | un | = - a 8. a = 0 9. Parti dell'equazione non possono essere divise e moltiplicate per a e moltiplicate per a 5. Andrai a sinistra 6. Sparirai tu stesso 7. | a | = - a 8. a \u003d 0 9. Parti dell'equazione non possono essere divise e moltiplicate per a" class="link_thumb"> 5 !} 1. Perderai il tuo cavaliere 2. a > = 0 3. | un | = a 4. Entrambe le parti dell'equazione possono essere divise e moltiplicate per a 5. Andrai a sinistra 6. Sparirai tu stesso 7. | un | \u003d - a 8. a \u003d 0 9. Parti dell'equazione non possono essere divise e moltiplicate per a = 03. | un | = a 4. Entrambe le parti dell'equazione possono essere divise e moltiplicate per a 5. Andrai a sinistra 6. Sparirai tu stesso 7. | un | \u003d - a 8. a \u003d 0 9. Parti dell'equazione non possono essere divise e moltiplicate per a "\u003e = 0 3. | a | \u003d a 4. Entrambe le parti dell'equazione possono essere divise e moltiplicate per a 5. Andrai a sinistra 6. Scomparirai da solo 7. | a | \u003d - a 8. a \u003d 0 9. Parti dell'equazione non possono essere divise e moltiplicate per a "\u003e \u003d 0 3. | un | = a 4. Entrambe le parti dell'equazione possono essere divise e moltiplicate per a 5. Andrai a sinistra 6. Sparirai tu stesso 7. | un | = - a 8. a = 0 9. Parti dell'equazione non possono essere divise e moltiplicate per a e moltiplicate per a 5. Andrai a sinistra 6. Sparirai tu stesso 7. | a | = - a 8. a \u003d 0 9. Parti dell'equazione non possono essere divise e moltiplicate per a"> title="1. Perderai il tuo cavaliere 2. a > = 0 3. | un | = a 4. Entrambe le parti dell'equazione possono essere divise e moltiplicate per a 5. Andrai a sinistra 6. Sparirai tu stesso 7. | un | \u003d - a 8. a \u003d 0 9. Parti dell'equazione non possono essere divise e moltiplicate per a"> !}








Determina per condizione la forma della ramificazione E se m0, allora S=positivo, altrimenti S=negativo o uguale a zero Se a=b, allora c=d Se p>q, allora p è il massimo, altrimenti p è il minimo T= 1 all'x q, allora p è il massimo, altrimenti p è il minimo T=1 in x"> q, allora p è il massimo, altrimenti p è il minimo T=1 per x"> q, allora p è il massimo, altrimenti p è il minimo T=1 in x" title=" Determina la forma della ramificazione in base alla condizione Se m0, allora S=positivo, altrimenti S=negativo o uguale a zero Se a=b, allora ñ=d , altrimenti p è il minimo T=1 in x"> title="Determina per condizione la forma della ramificazione E se m0, allora S=positivo, altrimenti S=negativo o uguale a zero Se a=b, allora c=d Se p>q, allora p è il massimo, altrimenti p è il minimo T= 1 all'x"> !}

Conoscenza del programma Kumir che padroneggia le basi della programmazione.

In esso, gli studenti possono acquisire competenze pratiche nella creazione e nel debug di un algoritmo, lavorando con artisti come Robot, Disegnatore, Acquario, Cavalletta, Tartaruga.

Quando si studia una delle sezioni più difficili dell'informatica "algoritmizzazione e programmazione".

Scopo dello sviluppo :

Scaricamento:


Anteprima:

Sviluppo metodico in informatica.

Argomento: "Esecutore robot nel programma KuMir alle lezioni di informatica"

docente di tecnologia "Informatica e ICT"

Nota esplicativa

Obiettivo di sviluppo: studiare le possibilità di programmazione sull'esempio di uno specifico robot esecutore utilizzando l'ambiente KUMIR; fornire competenze pratiche per lavorare con l'esecutore.

Sviluppo metodicocompilato per le lezioni di informaticaEsercitati sul computer: lavorare con l'esecutore didattico di algoritmi; elaborazione di algoritmi lineari, ramificati e ciclici per la gestione di un esecutore; elaborazione di algoritmi con struttura complessa; utilizzo di algoritmi ausiliari (procedure, subroutine).

Gli studenti dovrebbero sapere:

  • cos'è un artista; SKI Robot, robot interprete del mercoledì;
  • cos'è un algoritmo;quali sono le principali proprietà dell'algoritmo;
  • modi di scrivere algoritmi: diagrammi di flusso, linguaggio algoritmico didattico;costruzioni algoritmiche di base: seguito, ramificazione, ciclo; strutture
  • algoritmi; ⇒ assegnazione di algoritmi ausiliari; tecnologie per la costruzione di algoritmi complessi:

Gli studenti dovrebbero essere in grado di:

  • comprendere le descrizioni degli algoritmi in un linguaggio algoritmico di apprendimento;
  • eseguire una traccia dell'algoritmo per un esecutore noto;
  • comporre algoritmi di controllo lineare, ramificato e ciclico per l'esecutore del Robot; assegnare sottoattività; definire e utilizzare algoritmi ausiliari.

Sessione 1 (2 ore) Lezione 1.

Robot esecutore.Sistema di comando dell'esecutore.

Piano di lezione.

  1. Descrizione dell'UCS dell'esecutore, l'ambiente dell'esecutore.

2. Analisi di algoritmi tipici dei robot.

Durante le lezioni.

Considera la descrizione dell'esecutore.

Ambiente dell'esecutore: Performer Il robot è in grado di muoversi attraverso il labirinto, disegnato su un piano diviso in celle.

Robot da sci : comandi semplici: su, giù, sinistra, destra, colore.

Comandi logici: (controlli delle condizioni)

sopra libero, sotto libero

lasciato libero, destro libero.

Connettivi logici: AND, NOT, OR:

Esempio: (Non lasciato libero) o (Non lasciato libero)

Comando di filiale: comando ciclo:

Se condizione quindi nts while condizione

serie di comandi serie di comandi

tutto ok

(Nei CIM del 2009, i comandi del Robot differivano da quelli familiari ai bambini, il che portava a confusione :)

Comando di filiale: comando ciclo:

Se condizione quindi nts mentre la condizione lo fa

serie di comandi serie di comandi

fine fine

Vista generale della finestra del programma Kumir. Ambiente grafico del Robot:

Nei CIM demo del 2010, il formato del comando è stato modificato in abituale

L'ordine di creazione dell'algoritmo:

1.Squadre Strumenti -Modifica ambiente di partenzadisegna muri sul campo Robot e imposta il Robot nella sua posizione iniziale.

2.Comandi Robot: cambia l'ambiente inizialesalvare il nuovo ambiente.

3.Comandi Incolla: usa il robotspecificare l'artista.

4. Nella finestra del documento, scrivere l'algoritmo utilizzando il menu Inserire.

5. Esecuzione dei comandi: esegue continuamente (o passo dopo passo) l'algoritmo.

6. Considerare il risultato dell'esecuzione dell'algoritmo e, se necessario, eseguirne il debug.

Lezione 1 (2 ore) Lezione 2.

Lavoro pratico "Compilazione di algoritmi lineari.

Compiti: 1. Robot in un punto arbitrario nel campo. Colora la cella sopra, sotto e a destra della posizione iniziale.

  1. Robot in un punto arbitrario del campo. Muovi il Robot di 4 spazi verso destra, dipingendoci sopra.
  2. Crea un nuovo ambiente iniziale disegnando un quadrato di 4 celle sul tabellone. Salvare l'ambiente tanto per cominciare.
  3. Crea un nuovo ambiente di partenza disegnando un corridoio con passaggi nei muri del campo. Salvare l'ambiente come obst2.fil. Cambia l'ambiente di partenza in quello appena creato.

Sessione 2 (2 ore) Lezione 1.

Soggetto : Branching e raffinamento sequenziale dell'algoritmo.

Analisi delle attività della CMM utilizzando l'esecutore Robot.

utilizzare Robot

alg kim 2009

Presto

se non il fondo allentato

poi a destra

Tutto

se non il fondo allentato

poi a destra

Tutto

se non il fondo allentato

poi a destra

Tutto

con

utilizzare Robot

alg kim 2010

Presto

se non il fondo allentato

poi a destra

Tutto

se non il fondo allentato

poi a destra

Tutto

se non il fondo allentato

poi a destra

Tutto

con

Eccetera. schiavo. N. 14. Compilazione e debug di algoritmi di branching

Compiti. Vedi allegato.

Lezione 3. Algoritmi ciclici. Lezione 1-2

Bersaglio: rivelare l'essenza del concetto di ciclo negli algoritmi, mostrare le forme di scrittura dei cicli negli algoritmi, fornire competenze nella creazione e scrittura di algoritmi ciclici.

Eccetera. schiavo. N. 15. Compilazione e debug di algoritmi ciclici

1. Crea un algoritmo che dipinga tutte le celle interne adiacenti al muro.

utilizzare Robot

alg

Presto

nc mentre è libero

dipingere sopra; Giusto

kts

nc mentre il fondo è libero

dipingere sopra; giù

kts

nc finché il fondo non si allenta

dipingere sopra; A sinistra

kts

con

2. Crea un algoritmo che riempia tutte le celle tra il Robot e il muro. La distanza dal muro è sconosciuta.

utilizzare Robot

alg

Presto

nc mentre è libero

Giusto; dipingere sopra

kts

con

3. Crea un algoritmo che dipinga su tutte le celle tra due muri.

utilizzare Robot

alg uch3

Presto

nc ancora (non allentato in alto) o (non allentato in basso)

Giusto

if (non superiore libero) e (non inferiore libero)

Quello

dipingere sopra

Tutto

kts

con

4. Crea un algoritmo che riempia tutte le celle attorno a un muro rettangolare.

alg uch4

Presto

dipingere; su

nc fino a quando non è completamente sciolto

dipingere; su;

kts

dipingere;giusto

nc finché il fondo non si allenta

dipingere;destra;

kts

dipingere sopra; giù

nc fino a quando non viene lasciato libero

dipingere;giù;

kts

vernice;sinistra

nc fino alla parte superiore allentata

dipingere sopra; Sinistra;

kts

con

utilizzare Robot

alg uch5

Presto

Giusto

nc finché il fondo non si allenta

dipingere sopra; Giusto

kts

dipingere sopra; giù

nc mentre lasciato libero

dipingere sopra; A sinistra

kts

nc fino a quando non viene lasciato libero

dipingere sopra; giù

kts

vernice;sinistra;vernice; su;

nc mentre in alto è libero

dipingere sopra; su

kts

nc fino alla parte superiore allentata

dipingere sopra; A sinistra

kts

con

Attività 4 Lezione 1

Algoritmi di supporto.

Bersaglio: introdurre il concetto di algoritmo principale e ausiliario; spiegare le regole per l'utilizzo dell'algoritmo ausiliario; analizzare esempi di algoritmi che utilizzano un ausiliario.

Piano di lezione

1.Introduzione di nuovi termini (algoritmo principale e ausiliario, chiamata) e spiegazione di nuovi concetti.

2. Analisi di esempi di risoluzione di problemi utilizzando un algoritmo ausiliario.

Quando si risolvono alcuni problemi, è conveniente suddividerli in sottoattività più piccole, ciascuna delle quali può essere progettata come un algoritmo indipendente. In questo caso, viene prima compilato il cosiddetto algoritmo principale, in cui vengono utilizzate le chiamate agli algoritmi ausiliari per risolvere le attività secondarie, che vengono aggiunte successivamente. Questo tipo di soluzione si chiamametodo di raffinamento sequenziale.Consente a un gruppo di programmatori di lavorare su un progetto, mentre ognuno risolve la propria sottoattività.

Nel processo di risoluzione del problema, ciascun algoritmo ausiliario può, se necessario, essere suddiviso in algoritmi ausiliari più piccoli.

Viene richiamato il comando per eseguire l'algoritmo ausiliario sfida ed è scritto nel corpo dell'algoritmo principale.

Lo stesso algoritmo può essere considerato principale e ausiliario rispetto ad altri algoritmi. In un linguaggio algoritmico, l'algoritmo principale viene scritto per primo e quelli ausiliari vengono scritti nella riga sottostante.

Compito 1:

Il robot si trova nell'angolo in alto a sinistra del campo. Non ci sono muri né celle ombreggiate. Scrivi un algoritmo, utilizzando uno ausiliario, che disegna quattro croci su una linea orizzontale. La posizione finale del Robot può essere arbitraria.

Soluzione

Analisi alla lavagna:

Compito2. Il robot si trova nell'angolo in alto a sinistra del campo. Non ci sono muri né celle ombreggiate. Scrivi un algoritmo che dipinga un quadrato 8 x 8 secondo uno schema a scacchiera. La posizione finale del Robot può essere arbitraria.

Attività 4 Lezione 2

Lavoro pratico su PC "Risoluzione di problemi utilizzando algoritmi ausiliari".

Bersaglio : instillare abilità pratiche nella costruzione di algoritmi mediante il metodo del raffinamento sequenziale.

Piano di lezione

1. L'attività è completamente completata dal PC. Gli studenti ricevono compiti e li completano nell'ambiente software Kumir. I risultati del Lavoro vengono salvati come file per una successiva verifica.

Compito1 . Il robot si trova nell'angolo in basso a sinistra del campo. Non ci sono muri né celle ombreggiate. Scrivi un algoritmo che dipinga 6 strisce verticali della stessa lunghezza in 6 celle. La posizione finale del Robot può essere arbitraria.

Compito2 .Utilizzando ausiliario, crea un algoritmo per dipingere sopra le celle che formano il numero 1212.

Compiti a casa: Trova un algoritmo che disegna la seguente immagine: Applica due algoritmi ausiliari per risolvere il problema.

Attività 5 Lezione 1-2

Test

"Compilazione dell'algoritmo nell'ambiente del Robot esecutore".

Bersaglio: testare le conoscenze acquisite sulla creazione e capacità di analisi di algoritmi nell'ambiente software Kumir.

I compiti per il lavoro di controllo sono divisi per livelli di difficoltà e comprendono 3 compiti con il Robot esecutore (compiti 1 e 2 - per ramificazioni e cicli, compito 3 - per l'utilizzo di un algoritmo ausiliario). I testi dei compiti sono riportati nell'appendice.

Le condizioni iniziali e finali e gli algoritmi creati vengono registrati come file.

Il voto viene stabilito in base al livello di difficoltà del compito. Lo studente ha il diritto di scegliere il tipo di compito.

| Pianificazione delle lezioni e materiali delle lezioni | 7 classi | Pianificazione delle lezioni per l'anno scolastico | Robot artista

Lezione 32
Robot artista
ramificazione
Lavorare in ambiente algoritmico



Robot esecutore. ramificazione

Ricordiamo che la forma di organizzazione delle azioni, in cui, a seconda dell'adempimento o del mancato adempimento di una determinata condizione, viene eseguita l'una o l'altra sequenza di azioni, è chiamata ramificazione.

La ramificazione può essere rappresentata graficamente come mostrato in Fig. 3.19.

Per organizzare i rami in SCI Robot, viene fornito un comando speciale IF. Il suo aspetto generale:

SE <условие> QUELLO <серия действий 1> ALTRIMENTI <серия действий 2> FINE

Le parole funzionali IF, THEN, ELSE hanno il significato consueto.

Tra QUELLA ed ELSE vengono scritte una o più azioni che compongono una serie di azioni 1. Tra ELSE e END viene posta una serie di azioni 2. La parola di servizio ELSE insieme ad una serie di azioni 2 può essere assente (forma abbreviata di ramificazione).

Lasciamo ora che il Robot si trovi in ​​un corridoio orizzontale, il cui confine inferiore sia solido, e che ci siano delle uscite nel confine superiore (Fig. 3.20). È necessario condurre il Robot attraverso l'intero corridoio e dipingere sopra le celle del corridoio che non hanno bordi superiori.

L'unico segno di un corridoio è la presenza di un confine inferiore, cioè l'adempimento della condizione NON dal basso è gratuito. Se allo stesso tempo la condizione di cui sopra è libera, allora la cella deve essere verniciata, altrimenti non è necessario verniciare. Similmente al caso dell'ombreggiatura del corridoio verticale, assumiamo che ci siano celle a sinistra e a destra del corridoio orizzontale. Lo schema a blocchi dell'algoritmo ha la forma mostrata in fig. 3.21.

Programma:

NON ANCORA fondo allentato FARE SE superiore sciolto QUELLO dipingere sopra FINE Giusto FINE

Brevemente sul principale

Il Robot Esecutore opera su un campo a scacchi rettangolare. I muri possono essere posizionati tra alcune celle del campo. Alcune celle potrebbero essere ombreggiate. Il robot occupa esattamente una cella del campo.

Il sistema di comandi dell'esecutore è presentato nella tabella seguente:

Il robot può eseguire un ciclo "ripeti n volte".

Se non si sa in anticipo esattamente quante volte il corpo del ciclo deve essere eseguito, viene utilizzata una costruzione speciale del linguaggio algoritmico: il ciclo “mentre”.

Nel ciclo " while " è possibile utilizzare non solo condizioni semplici, ma anche composte. Una condizione composta è formata da una o più condizioni semplici e parole di servizio AND, OR, NOT.

Per organizzare i rami in SCI Robot, viene fornito un comando speciale IF.

Domande e compiti

1. Dai tutti gli algoritmi dei tre comandi che sposteranno il Robot dalla sua posizione originale alla cella B.

Esiste un algoritmo per questo compito, durante il quale il Robot esegue: a) due passaggi; b) quattro passaggi; c) cinque passaggi; d) sette gradini; e) passo 2001; e) Passi del 2006?

2. Petya ha creato un algoritmo che trasferisce il robot dalla cella A alla cella B con alcune celle dipinte. Cosa dovrebbe fare Kolya con questo algoritmo per ottenere un algoritmo che porti il ​​Robot da B ad A e riempia le stesse celle?

3. Petya ha creato un algoritmo durante il quale il robot è tornato nella sua posizione originale. Kolya ha cancellato uno dei comandi. Durante l'esecuzione dell'algoritmo Kolya, anche il robot è tornato nella sua posizione originale. Quale comando ha cancellato Kolya?

4. Masha ha ideato uno schema per il Robot. Kolya ha cancellato esattamente la metà delle celle ombreggiate. Ripristina il disegno, sapendo che è simmetrico rispetto all'asse verticale. Scrivere un programma per il Robot.

5. Scrivi un programma con cui il Robot possa arrivare alla cella B in tutti e tre i labirinti.

6. Scrivi un programma per portare il Robot nella cella B.

1. introduzione

il sistema "KuMir" (il nome deriva dalle parole "Set di mondi educativi"), con il quale ti introdurrà questa versione elettronica del libro di testo.
Gli sviluppatori del linguaggio "KuMir" hanno perseguito l'obiettivo di creare un linguaggio semplice per il corso iniziale di informatica che soddisfi le moderne tecnologie di programmazione e consenta l'utilizzo in produzione. Come base è stato preso il linguaggio algoritmico della scuola. Il linguaggio è stato integrato con alcune caratteristiche che lo trasformano da educativo a produttivo. La lingua ha:
tipi intero, cosa, lett; un insieme tradizionale di operazioni su dati di questo tipo (incluse operazioni su stringhe e un insieme standard di funzioni matematiche);
array ( scheda) tipi specificati; strutture di controllo strutturale di cicli, ramificazioni, ecc.
Kumir è aperto: il collegamento di esecutori esterni arricchisce il linguaggio con nuove funzionalità: dalla gestione del database e il lavoro con oggetti geometrici all'espansione dell'insieme di tipi numerici validi (in questo caso, il linguaggio consentirà di mescolare nuovi tipi con tipi numerici esistenti nelle espressioni).
La moderna tecnologia di programmazione ci insegna a suddividere un programma non solo in sottoprogrammi, ma anche in unità più grandi: insiemi di programmi che funzionano su dati comuni. In diversi linguaggi di programmazione, tali unità sono chiamate diversamente, in KuMir tale unità si chiama "Esecutore". Il concetto di artista è estremamente importante nel lavoro pratico e dovrebbe essere introdotto nelle prime fasi possibili della formazione.
L'esperienza nell'utilizzo di KuMir nell'insegnamento e nello sviluppo di software didattico ha dimostrato che il linguaggio è facile da imparare e allo stesso tempo abbastanza potente da espandere un'ampia classe di attività di produzione.
Come E-practice, KuMir è un sistema integrato che include un editor di testo, un compilatore incrementale con tempo di risposta pari a zero, nonché un debugger semplice e conveniente. Un buon nome per un sistema di questo tipo è "Editor-Compiler": mentre stai digitando il tuo programma, il compilatore lo sta elaborando, e in ogni momento il programma è pronto per essere eseguito senza il minimo ritardo.

2. Nomi e tipi di valore. Operazioni KuMir

Per scrivere i nomi delle variabili è possibile utilizzare qualsiasi carattere degli alfabeti russo e latino, nonché i numeri. Il nome non deve iniziare con un numero. Non ci sono restrizioni rigide sulla lunghezza dei nomi nel sistema KuMir, ma per facilità di modifica e per evitare righe sovraffollate, alle variabili e agli algoritmi non dovrebbero essere assegnati nomi troppo lunghi. Di solito il nome viene scelto in modo da poter capire a cosa è destinato l'algoritmo. Quando si modificano i programmi, va anche ricordato che le lettere russe e latine, simili nell'ortografia, si distinguono per i computer. Ad esempio, se durante la descrizione di una variabile denominata A, l'utente ha digitato "A" in alfabeto latino e nel testo dell'algoritmo tenta di accedere a questa variabile digitandone il nome in alfabeto russo, in questa riga " il nome non è definito" apparirà il messaggio nei "campi".
Il linguaggio algoritmico del sistema di programmazione KuMir utilizza tre tipi di quantità: numeri interi ( Totale), vero ( cosa) e con lettere ( litas).
Tipo di valore- definisce l'insieme di valori che un valore può assumere e l'insieme di azioni che possono essere eseguite con questo valore.
Valoreè un singolo oggetto informativo che ha un nome, un valore e un tipo.

Un valore costante (costante) non cambia il suo valore durante l'esecuzione dell'algoritmo.
Una variabile può cambiare il suo valore durante l'esecuzione dell'algoritmo.
Espressione- un record che definisce la sequenza di azioni sui valori. Un'espressione può contenere costanti, variabili, segni di operazione, funzioni.
I seguenti simboli vengono utilizzati per scrivere espressioni in Kumir:

I seguenti simboli vengono utilizzati per designare i segni delle operazioni logiche:
= uguale;
< >non uguale;
< меньше;
> altro;
< = меньше или равно;
> = maggiore o uguale;
Per scrivere condizioni complesse, vengono utilizzate le seguenti operazioni: E, O NO.
E -
contemporaneo soddisfacimento delle condizioni di cui sopra (Х > 0 e Х< = 2);
O- avveramento di almeno una delle condizioni (X > 0 oppure Y > 0);
NON- rifiuto.

3. Funzioni integrate del linguaggio KuMir

Ecco un esempio di funzioni integrate:

Appello

Funzione

Tipi

Discussione

Funzioni

PECCATO(X) cos(X) T.G. (X) SCAD(X) LN (X) ADDOMINALI (X) SQRT(X) MODO (UN,B) int(X) PI

seno x coseno x tangente x
esponente x (es) natura. logaritmo x
modulox
radice quadrata x
resto della divisione (da A a B)
la parte intera del numero
il numero "pi" - 3.14159

cosa
cosa
cosa
cosa
cosa
cosa
cosa
cosa, bersaglio
cosa
cosa

cosa
cosa
cosa
cosa
cosa
cosa
cosa
Totale
Totale
senza argomenti

Un esempio di scrittura di espressioni aritmetiche in un linguaggio algoritmico:

4. Comandi INPUT/OUTPUT

Spesso è necessario organizzare uno scambio di informazioni ("dialogo") tra una persona e un computer nel processo di esecuzione di un algoritmo. Per fare ciò, il linguaggio algoritmico dispone di comandi speciali per le informazioni di OUTPUT dalla memoria del computer allo schermo e le informazioni di INPUT dalla tastiera (da una persona) alla memoria del computer.
Comando INVIO - un comando mediante il quale vengono impostati i valori delle variabili tramite dispositivi di input (tastiera).
Comando USCITA- un comando mediante il quale il valore del valore si riflette sul dispositivo di output del computer (schermo del monitor).
Poiché nel linguaggio algoritmico i valori vengono utilizzati per memorizzare informazioni, i comandi di input/output indicano i nomi delle quantità i cui valori devono essere visualizzati (visualizzati sullo schermo) o inseriti (ricordati nella memoria del computer).
Esempio:

Parola ufficiale NS (nuova riga) indica al computer che le informazioni devono essere emesse su una nuova riga.

5. Comando di assegnazione. Creazione e modifica di programmi a struttura lineare

Per ricordare o modificare il valore di una quantità, esiste un comando speciale nel linguaggio algoritmico: istruzione di assegnazione, che è scritto come:

NOME VALORE: = ESPRESSIONE

Il segno ":=" (due punti seguiti da un uguale) è chiamato segno Compiti e viene letto come "assegna" (ad esempio, il comando "n:=e" legge "n assegna e"). Quando si esegue un comando di assegnazione, il computer calcola prima l'espressione scritta a destra (sostituendo i nomi delle quantità con i loro valori), quindi scrive in memoria il valore risultante dell'espressione.

Gli algoritmi che sono una semplice sequenza di azioni sono chiamati algoritmi a struttura lineare.
Considera il processo di creazione di un algoritmo lineare utilizzando l'esempio del calcolo dell'espressione:
1. Calcola la somma di due numeri
2. Scrivi un programma per trovare l'ipotenusa di un triangolo rettangolo dati due cateti
3. Trova il volume di un cubo se ne conosci il lato

6. Creazione e modifica di programmi con struttura ramificata

La risoluzione dei problemi non può sempre essere rappresentata come un algoritmo lineare. Ci sono compiti in cui è necessario organizzare la scelta di eseguire una sequenza di azioni in base a qualsiasi condizione. Tali algoritmi sono chiamati algoritmi di struttura ramificata. Nel sistema di programmazione KuMir, per creare un algoritmo per una struttura ramificata, vengono fornite le costruzioni "IF - THEN - ELSE - ALL" e "CHOICE - IF - ALL".

Comando di ramo: SE - ALLORA - ALTRIMENTI - TUTTO

Comando Branch: divide l'algoritmo in due percorsi a seconda di alcune condizioni; quindi l'esecuzione dell'algoritmo passa a una continuazione comune. La ramificazione è completa e incompleta.

Schema grafico della costruzione" Se"

Parole di servizio " Se", "Quello", "Altrimenti" hanno il significato abituale. La parola " Tutto" significa la fine della costruzione. Tra " Quello" E " Altrimenti" - in una o più righe - è scritta una sequenza di comandi del linguaggio algoritmico (serie 1). Tra " Altrimenti" E " Tutto"viene registrata un'altra sequenza di comandi (serie 2). Serie 2 insieme alla parola di servizio " Altrimenti" potrebbe mancare. Durante l'esecuzione di " Se"Il computer controlla innanzitutto la condizione scritta tra " Se" E " Quello". Nemmeno a seguito del controllo , O NO. Se possibile SÌ, quindi viene eseguita la SERIE 1, e se NO, - poi SERIE 2 (se presente) .
Se la condizione non è soddisfatta (risulterà NO), e la serie 2 insieme a " Altrimenti" è assente, il computer procede immediatamente all'esecuzione dei comandi scritti dopo la parola " Tutto".

7. Tipologie di cicli nel sistema di programmazione KuMir

Gli algoritmi le cui singole azioni vengono ripetute più volte sono chiamati algoritmi a struttura ciclica. L'insieme delle azioni dell'algoritmo associate alla ripetizione è chiamato ciclo.
Comando di ciclo prevede l'esecuzione ripetuta di una sequenza di comandi (corpo del loop) in base ad alcune condizioni.
Per gli algoritmi di programmazione di una struttura ciclica nel sistema di programmazione KuMir, vengono forniti due tipi di loop: un loop con una precondizione (loop for while) e un loop con un parametro (loop for).

Ciclo con precondizione (ciclo while)

Un ciclo con una precondizione (ciclo while) è un ciclo la cui esecuzione viene ripetuta mentre la condizione del ciclo è vera. Parole di servizio NC(inizio del ciclo) e KC(la fine del ciclo) sono scritti rigorosamente uno sotto l'altro e collegati da una linea verticale. A destra di questa riga è scritta una sequenza ripetuta di comandi (corpo del loop).

Quando viene eseguito, il computer ripete ciclicamente le seguenti azioni:
a) assegni scritti dopo la parola Ciao condizione;
b) se la condizione non è soddisfatta (la condizione è falsa), allora l'esecuzione del ciclo termina e il computer inizia ad eseguire i comandi scritti dopo KC. Se la condizione è soddisfatta (la condizione è vera), il computer esegue il corpo del ciclo, controlla nuovamente la condizione e così via.
Se la condizione nel loop Ciao non viene osservato fin dall'inizio, il corpo del ciclo non viene mai eseguito.
Commento. Esecuzione del ciclo Ciao potrebbe non terminare se la condizione è sempre vera (questa situazione è chiamata loop). Pertanto, per evitare tali situazioni, il corpo del ciclo dovrebbe contenere comandi per modificare la condizione.

Dato un numero intero positivo N. Calcola il fattoriale di questo numero: N! = 1 * 2 * 3 * ... * N.

Ciclo con parametro (ciclo per)

Ciclo con parametro(loop for) - esecuzione ripetuta del corpo del loop mentre il parametro intero attraversa l'insieme di tutti i valori dall'iniziale (i1) alla finale (in):

Ecco i una variabile di tipo intero, chiamata parametro di loop: i1, in sono i valori iniziale e finale del parametro di loop, che possono essere specificati sia da numeri interi arbitrari che da espressioni con valori interi; h - passo di modifica del valore del parametro del ciclo, il valore del passo può essere qualsiasi numero intero (sia positivo che negativo). La voce "passo h" nella prima riga può essere del tutto assente, mentre il valore predefinito del passo è 1.
Quando si esegue un ciclo Per, il suo corpo viene eseguito per i = i1, i = i1 + h, i = i1 + 2*h, . . . , io = pollici. Le regole del linguaggio algoritmico consentono di specificare qualsiasi numero intero i1, in, h. In particolare, in può essere inferiore a i1. Se, inoltre, il valore di h< 0, то цикл выполняется нужное количество раз, а если h имеет положительное значение, то этот случай не считается ошибочным - просто тело цикла не будет выполнено ни разу, а ЭВМ сразу перейдет к выполнению команд, записанных после KC. Per h = 0 si verifica il looping.

Esempio: dato un intero positivo N. Calcola il fattoriale di questo numero: N! = 1 * 2 * 3 * ... * N.

8. Algoritmi per espressioni ricorrenti

In matematica e informatica ci sono spesso sequenze in cui ogni termine successivo viene calcolato attraverso quelli precedenti.
In una progressione aritmetica, ad esempio, ogni termine successivo è uguale al precedente, aumentato della differenza della progressione:

ai =ai-1+D

In sequenza 1, 1, 2, 3, 5, 8, 13, ... ( si chiama sequenza di Fibonacci) ogni termine successivo è uguale alla somma dei due precedenti. Per questa sequenza

ai = ai-1 + ai-2 , a1 = a2 =1

Vengono chiamate formule che esprimono il membro successivo di una sequenza in termini di uno o più membri precedenti relazioni ricorrenti.

9. Valori della tabella​​e lavorare con essi

Per registrare algoritmi che funzionano con una grande quantità di informazioni, nel linguaggio algoritmico esistono valori tabulari speciali chiamati tabelle (array).
I valori delle tabelle sono costituiti da altri valori, solitamente numeri interi o valori reali, chiamati elementi. Gli elementi della tabella possono essere disposti in diversi modi. Il linguaggio algoritmico del sistema di programmazione KuMir utilizza i 2 tipi più comuni di tabelle: tabelle lineari e rettangolari.

Lavorare con tabelle lineari (array unidimensionali)

Come ogni valore tavola lineare occupa un posto nella memoria del computer, ha un nome, un valore e un tipo. KuMir utilizza tabelle di tipo intero (celtab) e reale (vehtab). Per esempio:

Il record celtab A [ 1: 5 ] significa che il valore A è una tabella (tab) composta da numeri interi (integers), gli elementi di questa tabella hanno indici da 1 (limite inferiore) a 5 (limite superiore). Il valore di A è composto da cinque numeri interi: 3, 15, 0, -10.101.
Gli elementi della tabella non hanno nomi separati. Per designare l'i-esimo elemento della tabella A si utilizza il record A[i]. Ad esempio, quando si esegue il comando A [ 3 ] : = A [ 2 ] + A [ 4 ] il computer sostituirà al posto di A [ 2 ] e A [ 4 ] i valori del 2° e 4° elemento della tabella A , cioè il numero 15 e -10, sommateli e assegnate il valore risultante al 3° elemento, così al posto del 0 apparirà il valore 5 al posto del 3° elemento della tabella.
Come valore del bordo della tabella è possibile utilizzare qualsiasi numero intero (sia positivo che negativo), compreso lo 0. Il valore del bordo inferiore deve essere inferiore al valore del bordo superiore; se sono uguali, la tabella è considerata composta di un elemento. Se nella descrizione della tabella, a causa di un errore di battitura, il limite inferiore risulta essere maggiore di quello superiore, ad esempio celtab [ 3: 1], questo non verrà considerato un errore e quando si accede all'algoritmo , nei "campi" non apparirà alcun messaggio. In questo caso, si considererà che non esiste un solo elemento in questa tabella e il messaggio "indice errato" apparirà la prima volta che si accede a questa tabella.

Compito.

Lavorare con tabelle rettangolari (matrici)

Come una tabella lineare, una matrice occupa spazio nella memoria del computer, ha un nome, un valore e un tipo. KuMir utilizza tabelle di tipo intero (celtab) e reale (vehtab).

La notazione celtab A [ 1: 5, 1:2 ] significa che il valore A è una tabella (tab) composta da numeri interi (intero), gli elementi di questa tabella hanno indici da (prima colonna, prima riga) a (ultima colonna, ultima riga). Il valore di A è dieci numeri interi: 3, 15, 0, -10, 101, 200, -45, 50, 10, 222.
Gli elementi della tabella non hanno nomi separati. Per designare l'i-esimo elemento della tabella A si utilizza il record A [i, j]. Ad esempio, quando si esegue il comando A [ 3, 1 ] : = A [ 2, 1 ] + A [ 4, 1 ] il computer sostituirà invece di A [ 2, 1 ] e A [ 4, 1 ] i valori ​​del 2° e 4° elemento della prima colonna della tabella A, ovvero i numeri 15 e -10, li sommerà e assegnerà il valore risultante al 3° elemento della prima riga, in modo che al posto di apparirà il valore 5 0 al posto del 3° elemento della prima riga della tabella.
Come valore del bordo della tabella è possibile utilizzare qualsiasi numero intero (sia positivo che negativo), compreso lo 0. Il valore del bordo inferiore deve essere inferiore al valore del bordo superiore; se sono uguali, la tabella è considerata composta di un elemento. Se nella descrizione della tabella, a causa di un errore di battitura, il limite inferiore risulta essere maggiore di quello superiore, ad esempio celtab [ 3: 1, 5: 2], ciò non verrà considerato un errore e nessun messaggio apparirà nei "campi" quando si accede all'algoritmo. In questo caso, si considererà che non esiste un solo elemento in questa tabella e il messaggio "indice errato" apparirà la prima volta che si accede a questa tabella.

Compito. Nella tabella B data, determinare l'indice e il valore dell'elemento massimo.

Appendice: compiti

Algoritmi lineari

Compito n.1

Trova la somma di due numeri: a e b
Soluzione:

alg somma
Presto cosa a, b, c
conclusione "inserisci il valore di 2 numeri"
ingresso un, b
c:= a+b
conclusione ns , "somma di numeri",a,"e",b,"uguale a",c
con

Compito n.2

Trova la differenza tra due numeri
Soluzione:

alg differenza
Presto cosa a, b, c
conclusione "inserisci valori variabili"
ingresso un, b
c:= a-b
uscita ns, " differenza di numeri",a","e",b," è uguale a",c
con

Compito n.3

Trova il prodotto di due numeri naturali qualsiasi
Soluzione:

Totale a, b, c

alg lavoro
Presto
conclusione
" inserisci due numeri"
ingresso
UN,Bc:=un+B
uscita ns,
"
prodotto di numeri",a","e",b"è uguale",c
con

Compito n.4

Trova il quoziente di due numeri naturali
Soluzione:

cosa a, b, c

alg privato
Presto
conclusione "
inserire dividendo e divisore"
ingresso
un, b
c:= a/b
uscita ns,
"quoziente",a,"e",b,"uguale a",c
con

Compito n.5

Trova la media aritmetica di cinque numeri arbitrari
Soluzione:

cosa a B c D e F

alg aritmetica
iniziare le cose a B c D e F
conclusione "Inserisci 5 numeri qualsiasi"
ingresso a, b, c, d, e
f:=(a + b + c + d + e)/ 5
conclusione nn ," la media aritmetica di 5 numeri è", f
con

ramificazione

Compito n.1

Trova il più grande tra 3 numeri interi (i numeri sono arbitrari)

alg massimo
obiettivo iniziale un B C
conclusione "Inserisci tre numeri casuali"
ingresso un B C
Se a>b>c
allora la conclusione è la ns ," il numero massimo è", e
Tutto
Se UN<б>Con
allora la conclusione è la ns ," il numero massimo è", b
Tutto
Se UN<б<с
allora la conclusione è la ns ," il numero massimo è", con
Tutto
con

Compito n.2

Ti vengono dati due numeri arbitrari. Se il primo numero è maggiore del secondo, assegnagli la somma e il prodotto al secondo numero. Se il secondo numero è maggiore del primo, assegna il loro prodotto al primo numero e la loro somma al secondo.

alg condizione
iniziare le cose un, b
conclusione "Inserisci due numeri"
ingresso un, b
Se a > b
Quello a:= a+b
b := a * b
Altrimenti a:= a*b
b := a + b
conclusione nn , un, b
con

Compito n. 3:

Trova tra 4 numeri arbitrari il minimo
Soluzione:

alg minimo
iniziare le cose a, b, c, e
conclusione "Inserisci 4 numeri casuali"
ingresso addominali. e
Se a>b>c>e
allora la conclusione è la ns ," numero massimo-",e
Tutto
Se UN<б>c>e
allora la conclusione è la ns ,"numero massimo -",b
Tutto
Se
UN<б<с>e
allora la conclusione è la ns ,"numero massimo -", s
Tutto
Se
UN<б<с<е
allora la conclusione è la ns , "numero massimo -", e
Tutto
con

Compito n.4

Dati 2 cateti (2 cm e 2 cm) di un triangolo isoscele e la sua base (2,82 cm). Determina se il triangolo è rettangolo.
Soluzione:

alg triangolo
iniziare le cose io, h, s
io:= 2
h:= 2
c:= 2,82
Se c**2= (i**2)+(h**2)
poi l'uscita "verità"
altrimenti uscita " menzogna"
Tutto
con

Compito n.5

Stampa il messaggio "vero" se il prodotto di due numeri negativi è maggiore di zero, altrimenti stampa il messaggio "falso"
Soluzione:

alg negativo
iniziare le cose io, h, s, m
conclusione "Inserisci due numeri negativi"
ingresso io h
c:=0
m := i*h
Se m>s
allora la conclusione è la ns , "VERO"
altrimenti uscita ns ,"menzogna"
Tutto
con

Ciclo "per"

Compito n.1

Trovare Fattoriale numero naturaleN ( Fattoriale di un numero naturale n è il prodotto di tutti i numeri naturali compresi tra 1 e N ) Soluzione:

alg fattoriale
iniziare le cose
UN. B
Totale
n, e
conclusione

ingresso
N
un:= 1
nc per
E da 1 Prima N
conclusione nn,
"inserisci il numero"
ingresso
B
a:= a*b
kts
conclusione nn
,
"fattoriale", n, "di numeri interi è", e
con

Compito n.2

Trova il valore massimo tran - numeri interi
Soluzione:

alg massimo
iniziare le cose
un, b
Totale
In
conclusione
"Inserisci il numero di numeri interi da confrontare"
ingresso
N
a:=0
nc per
E da 1 Prima N
conclusione nn,
"inserisci il numero"
ingresso
B
Se
b>a
Quello
a:=b
Tutto
kts
conclusione nn,
"il numero massimo tra i dati è un numero", e
con

Compito n.3

Trova tranumero di n-interi negativi
Soluzione:

alg coincidenza
iniziare le cose
a, b, c
Totale
n, io, s
conclusione "
inserisci il numero dei numeri naturali"
ingresso
N
conclusione nn,
"inserisci il numero"
ingresso
B
n:= n - 1
h:= 0
nc per
E da 1 Prima N
conclusione nn,"
inserisci il numero"
ingresso
Con
Se
c = b
Quello
s:= s + 1
Tutto
kts
conclusione nn
,

con

Compito n.4

N-interi immessi in sequenza. Trova il numero di corrispondenze con il primo numero
Soluzione:

iniziare le cose a, b, c
Totale
n, io, s
conclusione
"Inserisci il numero dei numeri naturali"
ingresso
N
conclusione nn,
"inserisci il numero"
ingresso
B
n:= n - 1
h:= 0
nc per
E da 1 Prima N
conclusione nn,
"inserisci il numero"
ingresso
Con
Se
c = b
Quello s:= s + 1
Tutto
kts
conclusione nn
,
"il numero di corrispondenze con il primo numero è", z
con

Compito n.5

N-interi immessi in sequenza. Trova la differenza tra i valori massimo e minimo di determinati numeri
Soluzione:

alg differenza
iniziare le cose
UN. b, s, d
Totale
n, e
conclusione
"Inserisci il numero di numeri"
ingresso
N
a:= 0
c:=0
nc per
E da 1 Prima N
conclusione nn,
"inserisci il numero"
ingresso
D
Se
e>s
Quello
c:=d
Tutto
Se
D<а
Quello
a:= d
Tutto
kts
b:= c - a
conclusione nn,
"la differenza tra i valori minimo e massimo è uguale", b
con

Il ciclo while

Compito n.1

Trova la somma di tutti i numeri compresi tra 1 e 5
Soluzione:

alg numeri
iniziare le cose un, b
conclusione "Inserisci due numeri in modo tale che il secondo numero sia maggiore del primo"
ingresso un, b
ciao ciao UN<б
a:= a + 1
kts
conclusione nn
, UN
con

Compito n.2

Dati due numeri tali che il secondo numero sia maggiore del primo. È necessario aggiungere 1 al primo numero finché non sarà uguale al secondo numero, visualizzarlo sul monitor.
Soluzione:

alg somma
iniziare le cose a, b, c
conclusione "inserisci l'intervallo di somma"
ingresso un, b
c:= a
ciao ciao UN< б
a:= a + 1
c:= c+a
kts
conclusione nn
," la somma dei numeri nell'intervallo dato è", con
con

Compito n.3

Ti vengono dati due numeri arbitrari. Finché il loro prodotto è inferiore a 100, aumenta ciascun numero di 2 e visualizza i numeri finali sul monitor
Soluzione:

alg lavoro
iniziare le cose a, b, c
conclusione "Inserisci due numeri casuali"
ingresso un, b
c:= 100
ciao ciao a*b< с
a:= a + 2
b := b + 2
kts
conclusione nn
, un, b
con

Array unidimensionali

Compito n.1

Riempi un array con numeri casuali e genera i suoi elementi Soluzione:

alg matrice 2
obiettivo iniziale
n, io
cosa
b, massimo
molletta
un [ 1:n ]
conclusione
"riempi matrice"
ingresso
N
massimo:= 0
nc per
io da 1 Prima N
conclusione nn,
"inserisci l'elemento dell'array"
ingresso
B
Se
b > massimo
Quello massimo:=b
Tutto
kts
conclusione nn
,

con

Compito n.2

Trova l'elemento massimo dell'array e visualizzalo sul monitor Soluzione:

alg matrice 2
Presto
Totale n, io
cosa
b, massimo
molletta un [ 1:n ]
conclusione
"riempi matrice"
ingresso
N
massimo:= 0
nc per
io da 1 Prima N
conclusione nn,
"inserisci l'elemento dell'array"
ingresso
B
Se
b > massimo
Quello massimo:=b
Tutto
kts
conclusione nn
,
" l'elemento massimo di questo array è", max
con

Compito n.3

Trovare la somma degli elementi di un array unidimensionale Soluzione:

alg somma
Presto Totale
n, io
molletta
un [ 1:n ]
cosa
b, z
conclusione
"inserisci il numero di elementi dell'array"
ingresso
N
z:= 0
nc per io da 1 Prima N
conclusione nn,
"inserisci l'elemento dell'array"
ingresso
B
z:=z+b
kts
conclusione nn
,
"somma", n,"elementi dell'array uguali", z
con

Compito n.4

Trovare il prodotto degli elementi di una matrice unidimensionale Soluzione:

alg lavoro
obiettivo iniziale
In
cosa
s, d
molletta
un [ 1:n ]
conclusione
"inserisci il numero di elementi dell'array"
ingresso
N
d:= 1
nc per
io da 1 Prima N
conclusione nn,
"inserisci il numero"
ingresso
S
d:= d*s
kts
conclusione nn
,"
prodotto", n, " elementi uguali", d
con

Array

Compito n.1


Riempi la matrice con numeri casuali Soluzione:

alg l'array è bidimensionale
Totale
n, j, h, v
avvia la linguetta per i vestiti
UN
conclusione
"inserisci il numero di elementi della tabella"
ingresso
N
h:= 0
v:= 0
conclusione nn,
"riempi matrice"
ingresso
UN
nc per
J da 1 Prima N
Se a > 0
Quello
h:= h + 1
Altrimenti
v:= v + 1
kts
conclusione nn,
UN
con


Compito n.2


Calcola il numero di elementi positivi e negativi della prima riga della matrice Soluzione:

alg matrice 2
Presto
cosa b, x, z
Totale
In
conclusione

ingresso
N x:=0
z:= 0
nc per
io da 1 Prima N
conclusione
ns," inserisci il numero"
ingresso
B
Se
b > 0
Quello
x:= x + 1
Altrimenti
z:=z+1
Tutto
kts
conclusione nn
,

conclusione nn,

con


Compito n.3


Calcolare la somma degli elementi di ogni riga Soluzione:

alg matrice 3
iniziare le cose
b, x, z, y
Totale
In
molletta
un[ 1:n, 1:n]
conclusione
"inserisci il numero di colonne"
ingresso
N x:=0
z:= 0
nc per
io da 1 Prima N
conclusione nn,
"riempi matrice"
ingresso
un[ 1:n, 1:n]
b:= a[ 1,i ]+a[ n, i ]
kts
conclusione nn
,
"il numero di numeri positivi è",x
conclusione nn,
"il numero di numeri negativi è", z
con


Compito n.4


Calcola la somma dei tre numeri nella seconda riga di una matrice tre per tre Soluzione:

alg matrice
Presto Totale
In
molletta un[1:3, 1:3]
conclusione "riempi matrice"
ingresso un[1:3, 1:3]
n:=0
nc Per io da 1 Prima 3
n:= n + a[ 2,i]
kts
conclusione ns,
"la somma dei numeri nella seconda riga dell'array è", n
con

Le attività sono progettate per un gruppo di 10 persone. Ogni carta contiene due compiti.

opzione 1

1.

2.

opzione 2

1. È necessario spostare il Robot lungo un corridoio largo una cella dalla posizione iniziale (◊) fino alla fine del corridoio, dipingendo sopra tutte le celle del corridoio che hanno un'uscita. Le uscite delle dimensioni di una cella sono posizionate casualmente lungo l'intera lunghezza del corridoio. Il corridoio termina in un vicolo cieco. Il corridoio ha due sezioni orizzontali e diagonali nella forma. In figura è mostrato un esempio di corridoio.

2. Il robot si muove lungo il muro il cui profilo è mostrato in figura, dalla posizione iniziale (◊) fino alla fine del muro. È necessario dipingere tutti gli angoli interni del muro, come mostrato nell'esempio. Le dimensioni del muro possono essere arbitrarie.

Opzione 3

1. È necessario spostare il Robot lungo un corridoio largo una cella dalla posizione iniziale (◊) fino alla fine del corridoio, dipingendo sopra tutte le celle del corridoio che hanno un'uscita. Le uscite delle dimensioni di una cella sono posizionate casualmente lungo l'intera lunghezza del corridoio. Il corridoio termina in un vicolo cieco. Il corridoio ha due sezioni orizzontali e diagonali nella forma. In figura è mostrato un esempio di corridoio.

2.

Opzione 4

1. È necessario spostare il Robot lungo un corridoio largo una cella dalla posizione iniziale (◊) fino alla fine del corridoio, dipingendo sopra tutte le celle del corridoio che hanno un'uscita. Le uscite delle dimensioni di una cella sono posizionate casualmente lungo l'intera lunghezza del corridoio. Il corridoio termina in un vicolo cieco. Il corridoio ha due sezioni orizzontali e diagonali nella forma. In figura è mostrato un esempio di corridoio.

2.

Opzione 5

1. È necessario spostare il Robot lungo un corridoio largo una cella dalla posizione iniziale (◊) fino alla fine del corridoio, dipingendo sopra tutte le celle del corridoio che hanno un'uscita. Le uscite delle dimensioni di una cella sono posizionate casualmente lungo l'intera lunghezza del corridoio. Il corridoio termina in un vicolo cieco. Il corridoio ha due sezioni verticali e diagonali nella forma. In figura è mostrato un esempio di corridoio.

2. Il robot si muove lungo il muro dalla posizione iniziale (◊) fino alla fine del muro. Il muro si trova diagonalmente dall'angolo in alto a destra all'angolo in basso a sinistra del campo. È necessario dipingere tutti gli angoli interni del muro, come mostrato nell'esempio. Le dimensioni del muro possono essere arbitrarie.

Opzione 6

1.

2. Il robot si muove lungo il muro dalla posizione iniziale (◊) fino alla fine del muro. Il muro si trova diagonalmente dall'angolo in basso a destra all'angolo in alto a sinistra del campo. È necessario dipingere tutti gli angoli interni del muro, come mostrato nell'esempio. Le dimensioni del muro possono essere arbitrarie.

Opzione 7

1. È necessario spostare il Robot lungo un corridoio largo una cella dalla posizione iniziale (◊) fino alla fine del corridoio, dipingendo sopra tutte le celle del corridoio che hanno un'uscita. Le uscite delle dimensioni di una cella sono posizionate casualmente lungo l'intera lunghezza del corridoio. Il corridoio termina in un vicolo cieco. Il corridoio ha sezioni orizzontali, verticali e diagonali nella forma. In figura è mostrato un esempio di corridoio.

2. Il robot si muove lungo il muro il cui profilo è mostrato in figura, dalla posizione iniziale (◊) fino alla fine del muro. È necessario dipingere tutti gli angoli interni del muro, come mostrato nell'esempio. Le dimensioni del muro possono essere arbitrarie.

Opzione 8

1. È necessario spostare il Robot lungo un corridoio largo una cella dalla posizione iniziale (◊) fino alla fine del corridoio, dipingendo sopra tutte le celle del corridoio che hanno un'uscita. Le uscite delle dimensioni di una cella sono posizionate casualmente lungo l'intera lunghezza del corridoio. Il corridoio termina in un vicolo cieco. Il corridoio ha sezioni orizzontali, verticali e diagonali nella forma. In figura è mostrato un esempio di corridoio.

2. Il robot si muove lungo il muro il cui profilo è mostrato in figura, dalla posizione iniziale (◊) fino alla fine del muro. È necessario dipingere tutti gli angoli interni del muro, come mostrato nell'esempio. Le dimensioni del muro possono essere arbitrarie.





superiore