Ciclos y otros controles. Programación estructural. Estructuras de control en Visual Basic.

Los operadores de gestión (declaración de control) se denominan operadores ejecutables que cambian la secuencia de la ejecución de las instrucciones del programa. Desde todos los operadores utilizados en lenguajes de programación, los operadores de control causaron la mayoría de las disputas. El principal tema de discusión es el operador de control GOTO más fácil. Le permite cambiar el procedimiento para ejecutar el programa e ir a la ejecución del programa, comenzando con un lugar determinado, que se indica con el nombre o el número. En consecuencia, este operador no es más que la aplicación directa del comando de transición de la máquina. Disponibilidad de un operador de este tipo en el idioma. nivel alto Permite a los programadores escribir tales programas no sistemáticos1:

goto 40 20 Aplique evade procedimiento

goto 70 40 si (kryptonitelevel< LethalDose) then goto 60

60 Aplique el procedimiento rescuedamsel 70 ...

mientras que todas estas acciones se pueden escribir con la ayuda de una estructura:

si (KryptoniteVel.< LethalDose)

luego (aplicar el procedimiento de rescuedaamsel) más (aplicar el procedimiento EVADE)

Para evitar tales dificultades, los lenguajes de programación modernos contienen dichos operadores de control que le permiten registrar estructuras de ramificación utilizando una expresión. Algunas estructuras de ramificación generalmente aceptadas y sus operadores de programación correspondientes se representan en diferentes lenguajes de programación. 5.7. Tenga en cuenta que ya hemos reunido con las dos primeras estructuras en el Capítulo 4. En nuestro pseudocódigo, están representados por si, entonces, y mientras los operadores. La tercera estructura, que se llama la elección, puede considerarse como una expansión de la estructura i F-entonces, El SE. La diferencia entre ellos es que el operador IF-LUEGO, lo permite elegir entre dos opciones, y el operador de casos es de varias.

Otra estructura común es el operador. ciclo para (Fig. 5.8), similar al operador de nuestro Pseudocódigo. La diferencia entre ellos es que la inicialización, la modificación y la verificación de las condiciones de finalización del ciclo se combinan en un operador. Dicho operador es conveniente de usar cuando el cuerpo del ciclo necesita realizar un cierto número de veces, una vez por cada valor de la variable de parámetro en un intervalo específico. En particular, el operador se muestra en la FIG. 5.8, prescribe el cuerpo del ciclo a realizar varias veces: cuando el valor de la variable de conteo es 1, entonces cuando su valor es 2 y la última vez que sea igual a 3.

A partir de los ejemplos anteriores, se puede concluir que las estructuras de ramificación con variaciones menores están presentes en imperativas, y en lenguajes de programación orientados a objetos. En teórico tecnología de computación Existe la suposición de que la solución de cualquier tarea que tiene una solución algorítmica se puede escribir utilizando un número limitado de estructuras. Discutiremos esta declaración en el Capítulo 11. Mientras tanto, se debe tener en cuenta que el estudio del lenguaje de programación no es un estudio infinito de varios operadores de gestión. De hecho, la mayoría de las estructuras de control utilizadas en las lenguas de programación modernas son un tipo de estructuras descritas en este capítulo.


La elección de qué estructuras incluyen en el lenguaje de programación, el gusto. Antes del Creador de la lengua, el objetivo es desarrollar un idioma que no solo le permita registrar algoritmos en una forma conveniente para leer, sino que también ayuda al programador en esto. Este objetivo se logra limitando el uso de aquellos elementos que históricamente han llevado a la programación incorrecta, y la introducción de elementos bien pensados. Como resultado, tenemos programación estructural (programación estructurada), que combina programas para programas de escritura y uso apropiado Operadores de gestión. El objetivo es crear un programa, fácil de entender y realizar tareas establecidas antes de ella.

Comentarios

La experiencia muestra que cuando una persona está tratando de entender el programa. talla grande, no es tan importante qué tan bien se piensa el lenguaje de programación y cómo se utilizan sus propiedades, qué tan útil o incluso obligatorio información AdicionalPresentado en un lenguaje humano normal. Por lo tanto, en lenguajes de programación, es posible acomodar en los comentarios explicativos del programa (comentarios). El traductor ignora los comentarios, por lo que su presencia o ausencia no afecta el programa desde el punto de vista de la máquina. La versión del programa del lenguaje de la máquina generado por el traductor permanece sin cambios, con o sin comentarios. Pero la información que contienen es importante para los humanos. Sin él, sería imposible entender programas grandes y complejos.

Visual Basic es un lenguaje de programación orientado a objetos. Fue desarrollado por Microsoft como una herramienta con la que los usuarios sistema operativo Microsoft Windows. Podría desarrollar su propio gráfico interfaz de usuario. De hecho, Visual Basic es más que un lenguaje de programación. Es un paquete completo para el desarrollo. softwarelo que permite al programador crear una interfaz de usuario de ciertos componentes (como botones, casillas de verificación, campos de texto, barras de desplazamiento, etc.) y rehacer estos componentes de acuerdo con sus necesidades, describiendo cómo deben responder a ciertos eventos. Por ejemplo, en el caso del botón Programador, puede describir lo que debería suceder si hace clic en el mouse. Este método de creación de software de componentes predeterminados es una tendencia moderna en el desarrollo de software.

Debido a la popularidad de la sala de operaciones. sistemas de Windows Y la conveniencia de usar el paquete de Visual Basic, Visual Basic ha sido hoy en día, uno de los lenguajes de programación más comunes. Por otro lado, debido al hecho de que Visual Basic es compatible con software Microsoft, no se reconoce como un lenguaje de programación de propósito general.

Hay dos formas principales de separar los comentarios del texto del programa. Uno de ellos es concluir un comentario en corchetes especiales. Otra forma es designar el inicio del comentario que puede ocupar la parte restante de la línea a la derecha del signo. En C ++, con # y Java, ambas formas de escribir comentarios son posibles. En ellos, el comentario se puede colocar entre los signos / * y * / o iniciarlo con //. Así, en C ++, con # y Java, ambos registros están permitidos:

/ * Este es un comentario. * /

// Esto es un comentario.

Se deben decir algunas palabras sobre qué escribir en los comentarios. Programadores de novatos cuando están hablando de la necesidad de suministrar un programa con comentarios, generalmente a tal expresión, como

BeateNogle - Slipleangle - Hiperspacelncine:

agregar un comentario "restar hiperespacelncina de Slipleange y asigne el valor de la variable de abordaje". Tales comentarios no hacen que un programa sea más comprensible, pero solo lo alarga. Recuerde que el propósito del comentario es explicar el programa, y \u200b\u200bno repetirlo. EN este ejemplo Es mejor explicar por qué se calcula el valor de la variable de Cepcangangl E (si no está claro en el programa). Por ejemplo, un comentario: "La variable de abordaje se usa más adelante para calcular el valor de la variable de Ocity de Forcefiel DJetti SONVEL," Mucho más útil que la anterior.

Además, los comentarios colocados entre los operadores de programas a veces dificultan la lectura y la entienda del programa. Es mejor poner comentarios sobre un bloque de programa en un solo lugar, por ejemplo, en su inicio. Así es como se crea una idea del programa, que contiene una descripción del propósito y características generales Bloqueo de programas donde el usuario puede encontrar las explicaciones necesarias. Si usa una recepción para todos los bloques de programas, entonces el programa adquiere uniformidad: cada bloque consiste en comentarios explicativos seguidos de una representación formal de este bloque. Tal uniformidad facilita enormemente la lectura del programa.

Unidades de procedimiento

En los capítulos anteriores, hablamos sobre los beneficios de dividir programas grandes para pequeñas unidades administradas. En esta sección, centraremos nuestra atención en el concepto de un procedimiento, que es el principal medio para obtener una presentación modular del programa escrito en el lenguaje de programación imperativo. El procedimiento también es una herramienta que se usa en el programa escrito en un idioma orientado a objetos para describir cómo el objeto debe responder a varias señales de entrada.

Procedimientos

El procedimiento es un conjunto de comandos para realizar alguna tarea que otras unidades de software pueden usar como herramienta abstracta. El control se transmite al procedimiento (utilizando el comando de transición del lenguaje de la máquina) cuando son necesarias sus acciones, y luego, después de completar el procedimiento, devuelve nuevamente devuelve la unidad de software original (Fig. 5.9). El proceso de transmisión del procedimiento se denomina llamada de procedimiento. La unidad de programa que solicita la ejecución del procedimiento, se le llamaremos el programa de llamadas o el módulo de llamadas (unidad de llamadas).

En muchos sentidos, el procedimiento es un pequeño programa que consiste en operadores de descripción seguidos por operadores ejecutables que determinan el procedimiento de acción realizado. Como regla general, la variable declarada en el procedimiento es una variable local (variable local), es decir, solo se puede utilizar en este procedimiento. Este enfoque elimina la confusión que puede ocurrir si dos tontos pro-tontos independientes usan variables con los mismos nombres. Las variables cuya acción no se limita a ninguna parte del programa se llaman variables globales (variable global), están disponibles en cualquier lugar del programa. La mayoría de los lenguajes de programación usan variables locales y globales.

En los lenguajes de programación en consideración, la descripción del procedimiento es casi la misma que en nuestro Pseudocódigo (consulte el Capítulo 4). Comienza con una expresión, que se llama el encabezado del procedimiento y que, entre otras cosas, contiene el nombre del procedimiento. El encabezado es seguido por los operadores que definen el procedimiento con más detalle.

Sin embargo, en contraste con nuestro Pseudocódigo no estricto, en el que solicitamos el procedimiento utilizando dicha expresión, cómo "aplicar el procedimiento de desactivación de Vatecrypton", la mayoría de los idiomas de programación modernos le permiten llamar al procedimiento simplemente especificando su nombre. Por ejemplo, si los nombres, SortNames y Writenombres son nombres de procedimientos para obtener, clasificar y emitir una lista para imprimir una lista de nombres, un programa que recibe una lista, ordenarlo e imprimir, puede escribirse como

Aplicar el procedimiento de GetNames. Aplique el procedimiento SortNames. Aplicar el procedimiento de nombres de Writen.

Tenga en cuenta que, dado que nos asignamos el nombre que significa la acción realizada por este procedimiento, esta breve forma de grabación es una secuencia de comandos que refleja la asignación del programa.

Se sigue la estructura más sencilla. Se puede representar como:

Los módulos "A" y "B" pueden contener tanto un operador como cualquier número de estructuras siguiéndose, incl. y discutido a continuación.

La estructura del tenedor (si, de lo contrario,) sirve para seleccionar uno de los dos posibles caminos realizando el algoritmo. Es la base de la inspección. Parece un tenedor así:

Las estructuras entre sí están incrustadas entre sí, por ejemplo, por lo tanto.

El número de estructuras incrustadas invertidas entre sí está limitada por las capacidades de la PC y se le asigna. Esta cantidad generalmente se negocia en la descripción del idioma. Para garantizar la legibilidad del diagrama de flujo, puede volver a reemplazar las estructuras incrustadas, y el diagrama de bloques de cada rectángulo se muestra en detalle en una hoja separada. En general, cualquier diagrama o programa de bloques está mejor leído, si se publica toda la página en una página.

La estructura presentada en el último diagrama de bloques le permite seleccionar una de las tres formas. De manera similar, con la ayuda de estructuras anidadas, puede organizar una elección de uno de cualquier número de caminos. Dado que la necesidad de esto aparece con bastante frecuencia, se ha introducido una estructura especial, una opción que parece de la siguiente manera

Aquí, el símbolo "P" todavía está designado por la condición, según la ejecución de la cual se realizan uno de los rutas posibles.

Al desarrollar algoritmos, a menudo es extremadamente importante repetir cualquier operación o un grupo de operaciones. Para la imagen de tales fragmentos del algoritmo, se proporcionan estructuras especiales: ciclos. ʜᴎʜᴎ Hay tres tipos: ciclo hasta ahora, de ciclo y ciclo con un medidor. El funcionamiento del ciclo sigue siendo representado por el siguiente diagrama de bloques.

Antes de la primera ejecución del bloque de operadores, que es personalizada por el cuerpo del ciclo, se verifica por la condición de "P" y, en caso de que sea cierto, se realiza el cuerpo del ciclo, y el control regresa al comienzo de el ciclo. A continuación, la condición se revisa de nuevo, y así, hasta que la condición del ciclo se vuelva falsa. En este caso, se termina la ejecución del ciclo. Se realiza hasta que se realiza la condición.

El ciclo a se organiza de una manera.

La verificación de la verdad de la condición del ciclo se realiza después de que se realice el cuerpo del cuerpo, y la salida de ella se lleva a cabo con la verdad de la condición. ᴀᴋᴎᴍᴀᴋᴎᴍ ᴏϭᴩᴀᴈᴏᴍ, el cuerpo del ciclo se realiza en absoluto una vez diferente al cicloque, si la condición del ciclo no se cumple, no se cumple.

El tercer tipo de ciclo es un ciclo con un medidor. Se aplica en los casos en los que repetir el cuerpo del ciclo es extremadamente importante en el número de veces. Su estructura puede ser representada por el siguiente diagrama de bloques.

Muestra que este ciclo es un caso especial. cicloPero dado que este caso es común, entonces en lenguajes de programación, en particular, en VBA, para describir el ciclo con un medidor introducido operador especial.
Publicado en ref.rf
Por esta razón, asignamos una estructura especial para este ciclo.

Como ejemplo, considere el diagrama de bloques de encontrar el elemento máximo en la tabla de n números.

Aquí Máx. - El número máximo, i es el número de número en el número X, N - el tamaño de la tabla. El diagrama de bloques contiene las siguientes estructuras estructurales: Siga, el ciclo, mientras que se realiza hasta que el número del número del número es menor o igual al tamaño de la tabla, y la horquilla en la que la ruta que contiene la asignación de la asignación del El número actual se selecciona de la tabla MAX, en el evento en caso de que esta variable sea menor que el número actual.

Las principales estructuras de gestión son conceptos y tipos. Clasificación y características de la categoría "Estructuras de control básico" 2017, 2018.

Operadores de ciclo Los operadores de ciclos se utilizan para organizar cálculos repetidamente repetitivos. Para organizar un ciclo, una variable se llama un parámetro de ciclo o una variable de control de ciclo. Cualquier ciclo consiste en: instalaciones iniciales o una unidad de inicialización de parámetros de ciclo; Carrocería del ciclo, es decir, aquellos operadores que se realizan varias veces; Bloqueo de modificación del parámetro de ciclo; Comprobación de las condiciones de salida de un ciclo que se puede colocar al cuerpo del ciclo, luego hable sobre un ciclo con una condición previa o después del cuerpo ...


Compartir trabajo en redes sociales.

Si este trabajo no aparece en la parte inferior de la página, hay una lista de obras similares. También puede usar el botón de búsqueda.


Tema 2 Operadores de Gerentes

2.1 Estructuras básicas. programación estructural

EN teorías de programaciónse ha demostrado que el programa para resolver el problema de cualquier complejidad se puede hacer solo de tres estructuras llamadasconexión, ramificación y ciclo. Se les llama estructuras básicasprogramación estructural.

Conexión un diseño se denomina ejecución secuencial de dos o más operadores (simple o compuesto).

Rama establece la ejecución u otro operador dependiendo de la implementación de ninguna condición.

Ciclo especifica la ejecución múltiple del operador.

Una característica de los diseños básicos es que cualquiera de ellos tiene una sola entrada y una salida, por lo que los diseños se pueden invertir entre sí de manera arbitraria.

Figura 2.1 - Diseños básicos de programación estructural.

El propósito de usar estructuras básicas es obtener un programa de estructura simple. Este programa es fácil de leer, depurar y, si es necesario, hacer cambios.

Cualquier expresión que termine con un punto y coma se considere como un operador, cuya ejecución es para calcular la expresión.

2.2 Relaciones y operaciones lógicas.

Operaciones de la relación.(<, <=, >,\u003e \u003d, \u003d\u003d ,! \u003d) Compare la primeraoperando con el segundo. Operandos. puede haber un tipo o punteros aritméticos. El resultado de la operación es el valor.verdadero o falso . Las operaciones de comparación sobre la igualdad y la desigualdad tienen una prioridad más pequeña que otras operaciones de comparación. Por ejemplo:x\u003e \u003d 0, y! \u003d 10, z \u003d\u003d 0.

¡ATENCIÓN! Preste atención a la diferencia entre la operación de verificación de validez (== ), que es el resultado de lo cual esverdadero o falso y la operación de asignación (= ), cuyo resultado es el valor asignado al operando izquierdo.

Operaciones lógicas(&&, ||, ^). Operandos. operaciones lógicas y (&&), o (|| ), Excluyendo o (^ ) debe tener un tipo que permita la transformación para escribirbool, con los operandos. en una operación puede ser diferentes tipos. El resultado de la operación esverdadero o falso.

Resultado de la operaciónlógico y importa verdad solo si ambos operandos importancierto. . Resultado de la operaciónlógico o importa verdad Si al menos uno de los operandos importa.cierto. . Resultado de la operaciónexcluyendo lógico omasitas cierto. Si uno de los operandos importa.es cierto, y el segundo es falso. Denegación lógica ( !) Como resultado, el valorfalso Si el operando es cierto, y el verdadero valor si el operando es falso. Operando puede ser un tipo aritmético. En este caso, ejecutado.conversión implícitatipo BOOL . Las operaciones lógicas se realizan de izquierda a derecha. Si los primeros valores del operando son suficientes para determinar el resultado de la operación, el segundoel operando no se calcula.

Tabla de operaciones y, o, excluyendo o, no

(A y B - OPERANOS)

A && B.

A || B.

A ^ B.

Ejemplos de expresiones S. operaciones lógicas:

x\u003e 0 && y<=10

(A.< -1 && b > 0) || C! \u003d 100

Operación condicional(? :). Esto solo B.C ++ TERNAR operación (tiene tres operandos), su formato:

operand_1? Operand_2: Operand_3.

Operandos. calcular de izquierda a derecha. El resultado de calcular el primer operando debe ser de tipo que se puede convertir en tipoboquilla . Si el resultado es igualcierto. El resultado del cumplimiento de toda la operación condicional será el valor del segundo operando, de lo contrario el tercer operando. Sus tipos pueden ser diferentes.

Ejemplo: deje que requiera que un valor total aumente en 1 si su valor no excedanORTE. De lo contrario, se tomó un valor 1. Se puede escribir usando una línea de código:

i \u003d (i< n) ? i + 1: 1;


2.3 Operadores de sucursales. Operador condicional Si

Operador condicional sise utiliza para suceder el proceso de computación en dos direcciones.Esquema de algoritmo el operador se muestra en la Figura 2.1. Formato del operador:

if (expresión) Operator_1; [Else operator_2;]

Primero, la expresión se calcula, que puede tener un tipo aritmético o tipo de puntero. Si no es cero, es decir,. Igualmentecierto. Entonces, se realiza el primer operador, de lo contrario, el segundo. Después de eso, el control se transmite al operador siguiendo el condicional. Una de las ramas puede estar ausente.

Si se requieren algunas ramas para realizar varios operadores, deben concluirse en el bloque. La unidad puede contener a cualquier operador, incluidas las descripciones y otros operadores condicionales.

Ejemplos:

if (A.< 0) b = 1;

if (A.< b && (a >d || a \u003d\u003d 0))

B ++;

dEMÁS.

(b * \u003d a; a \u003d 0;)

if (A.< b)

if (A.< c )

M \u003d a;

dEMÁS.

M \u003d c;

dEMÁS.

Si (B.< c )

M \u003d b;

dEMÁS.

m \u003d c;

En el ejemplo 1. sin ramadEMÁS. . Este diseño se llama "Operator Skip", ya queasignación o se realiza o se pasa dependiendo de la implementación de la condición.

Si necesita verificar varias condiciones, se combinan por signos.operaciones lógicas. Por ejemplo, expresiónen el Ejemplo 2. será verdaderamente en caso de que la condición se realice simultáneamente< b и одно из условий в скобках. Если опустить внутренние скобки, будет выполнено сначала логическое И, а потом – ИЛИ.

Operador en el Ejemplo 3 calcula el valor más pequeño de tres variables.

Sintaxis del operadorsi No debe haber más de un operador en sus ramas. Si son más, entonces deben combinarse en el bloque consoportes rizados o usando operaciones "coma" (,).

Ejemplo. Un tiro de disparo en el objetivo que se muestra en Figura 3.2. Determinar el número de puntos.

Figura 3.2 - Objetivo

#Incluir.

int main ()

flotando x, y;

int kol;

Printf ("\\ n Introduzca las coordenadas de los disparos ");

SCANF ("% F", & x);

SCANF ("% F", & y);

Si (x * x + y * y< 1)

Kol \u003d 2;

DEMÁS.

Si (x * x + y * y< 4)

kol \u003d 1;

dEMÁS.

kol \u003d 0;

printf ("\\ n PUNTOS:% D", KOL);

2.4 Operadores de sucursales. Operador de selección múltiplecambiar

Operador de conmutación (interruptor)diseñado para suceder el proceso de cálculo en varias direcciones. Formato del operador:

interruptor (expresión)

Caso constante) Emploateo_1: Operadores1;

Caso constante) Emploition_2: Operadores 2;

...

CASO CONSTANT_NESPICIELO_N: OPERADORES N;

La ejecución del operador comienza concálculos de expresión(Debería ser entero ) y luego se transmite el controlcaso. Marcos: operadores marcados con una expresión constante, cuyo valor coincidió con el calculado, después de lo cual todas las demás ramas se ejecutan sucesivamente si la salida deel interruptor claramente no se especifica.

Todas las expresiones constantes deben tener diferentes significados, pero ser los mismos.tipo de entero. Varias marcas pueden seguir en una fila. Si las coincidencias no sucedieron, los operadores se realizan después de la palabra.defecto. (y en su ausencia, el control se transmite a los siguientesoperador de conmutación).

Si en algunos decaso. -Mets Sin Operadorrotura entonces los operadores también se están ejecutando en lo siguientecaso. -Mike y así sucesivamente mientras el operador no se encuentre en algún lugar.rotura.

Ejemplo (el programa implementa la calculadora más simple para 4 acciones):

#Incluir.

int main ()

int a, b, res;

char op;

printf ("\\ n Ingrese el 1er operando: ");

sCANF ("% d", y a);

printf ("\\ n Ingrese el signo de operación: ");

sCANF ("% C", & OP);

printf ("\\ n Ingrese el segundo operando: ");

sCANF ("% d", & b);

bool f \u003d verdadero;

Interruptor (OP)

Caso "+": res \u003d a + b; Rotura;

Caso "-": res \u003d a - b; Rotura;

Caso "*": res \u003d a * b; Rotura;

Caso "/": res \u003d a / b; Rotura;

predeterminado: printf. ("\\ n Operación desconocida"); F \u003d falso;

if (f)

printf ("\\ n Resultado:% d", res);

Interruptor de salida usualmente corriendo usando operadoresromper o volver.

Operadores de 2.5 ciclos

Operadores de ciclo se utiliza para organizar múltiples cálculos repetitivos.

Para la organización del ciclo, es necesaria una variable, llamadaparámetro de ciclo o variable de control de cicla. Cualquier ciclo consiste en:

  • instalaciones iniciales o bloque de inicialización del parámetro de ciclo;
  • ciclos de cuerpo , es decir, aquellos operadores que se realizan varias veces;
  • bloqueo de modificación del parámetro de ciclo;
  • compruebe las condiciones de salida desde el ciclo que se puede publicar ya seaciclos de cuerpo (Luego hablan del ciclo.con condición previa), o después del cuerpo del ciclo (ciclo con poscondición).

Figura 3.3 - Dos tipos de ciclos.

Se llama un pase de ciclo.iteración . Parámetros del ciclo entero que varían para un entero en cadase llaman iteraciones medidores de ciclo.

No puede transferir el control desde fuera del ciclo. La salida del ciclo es posible cuando realice la condición y los operadores de salida.romper, volver o transición incondicionalir.

2.6 ciclo con prelación (mientras que)

Ciclo con condición previaimplementa el esquema de algoritmos.

mientras que (expresión) Operador;

Por ejemplo:

La expresión define la condición de repetición.ciclos de cuerpo Representado por un operador simple o compuesto. Si la expresión no es 0 (verdadera), se realiza el operador del ciclo, después de lo cual se calcula nuevamente la expresión. Si, con la primera comprobación, la expresión es 0 (Falso), el ciclo no se completará. El tipo de expresión debe ser aritmética o mostrada.

valores de la funcióny \u003d x 2 +1 en el rango introducido):

#Incluir.

int main ()

flotando xn, xk, dx;

flotador. X \u003d xn; // Ciclo de configuración inicial

Mientras (X.<= Xk) //проверка условия выхода

Printf ("\\ n% 5.2f% 5.2f", x, x * x + 1); //cuerpo

X + \u003d dx; //modificación

2.7 ciclo con postcondition (do while)

Ciclo con postbandaimplementa el esquema de algoritmos. Se muestra a continuación y tiene el formulario:

operador DOO mientras expresión;

Primero, simple ooperador compuestoEl cuerpo del ciclo es, y luego se calcula la expresión. Si no es igual a 0 (VERDADERO), el cuerpo del ciclo se realiza de nuevo, y así sucesivamente hasta que la expresión se convierte en cero (falso) o en el cuerpo del ciclo no se realizará ningunaoperador de control. El tipo de expresión debe ser aritmética o mostrada.

Ejemplo (entrada de la entrada de los controles):

#Incluir.

int main ()

respuesta de char;

printf ("\\ n ¡Compre un elefante!");

sCANF ("% C", y respuesta);

mientras (respuesta! \u003d "y");

2.8 ciclo para

Ciclo para Implementa el esquema del algoritmo a continuación y tiene la forma:

para (Unidad de inicialización; Condiciones de control de la unidad; unidad de modificación)

Cuerpo de ciclo;

Ejemplo:

Unidad de inicializaciónse utiliza para declarar y asignar valores iniciales de los valores utilizados en el ciclo. En esta parte, puede escribir varios operadores separados por la coma.

Condiciones Marcar bloquedetermina la condición del ciclo: si no es igual a 0 (verdaderamente), se realiza el ciclo.

Unidad de modificaciónrealizado después de cada unoiteración ciclo y se usa generalmente para cambiar los parámetros del ciclo. En términos de modificaciones, puede escribir varios operadores a través de la coma.

Simple o composituoperador representacuerpo de ciclo . Cualquiera de las partes del operadorpara se puede omitir (¡pero un punto con una coma debe dejarse en sus lugares!). En cualquier parte, puede usar la operación "coma" (cálculo secuencial), por ejemplo:

para (int i \u003d 1, s \u003d 0; i<= 100; i++)

S + \u003d i; // Número de cantidad de 1 a 100

Ejemplo (tabla de impresión del programavalores de la funcióny \u003d x 2 +1 en el rango ingresado):

#Incluir.

int main ()

flotando xn, xk, dx;

printf ("Ingrese el rango y el paso del cambio de argumento:");

scanf ("% f% f% f", & xn, & xk, & dx);

Para (flotar x \u003d xn; x<= Xk; X += Dx)

Printf ("\\ n% 5.2f% 5.2f", x, x * x + 1);

2.9 ciclos anidados

Cada uno de los operadores de ciclos se puede invertir en cualquier otra en una secuencia arbitraria. La profundidad de los ciclos no está limitada. Se determina solo por el algoritmo del problema que se está resolviendo.

A continuación se muestra un ejemplo de ciclos anidados.para

Este fragmento del programa funciona de la siguiente manera. Por un valor del parámetro de ciclo externoyo (por ejemplo, i \u003d 1 ) Parámetro de ciclo internoj. varía en el rango desde el mínimo hasta el valor máximo (de 1 aMETRO. ). Solo después de eso el parámetroi. Aumentos por unidad. Así, el cuerpo del ciclo será ejecutado.N * m veces.

Otras opciones para los ciclos anidados funcionan de la misma manera: el parámetro del ciclo externo varía lentamente, y el interno rápidamente. Se recomiendan para dominar los suyos. Para ello, el diagrama del algoritmo del ciclo interno debe insertarse completamente en lugar del cuerpo del ciclo.

2.10 Operadores de transmisión de control

En C ++. hay cinco operadores que cambian el procedimiento natural para realizar la computación:

  • operador de salida del ciclo yinterruptor de interrupción;
  • operador de transicióna la próxima iteración del ciclo continuo;
  • función del operador de reembolsoregreso;
  • operador transición incondicionalir;
  • operador de generador de excepcioneslanzar.

Interrupción del operador de salida. utilizado para la finalización inmediataoperador de ciclo o interruptor . La ejecución se transmite a la siguiente después del operador completado.

Considera su uso en el ejemplo.ciclo iterativo abiertopara . En el ejemplo de calcular la cantidad de números de 1 a 100.

int i \u003d 1, suma \u003d 0;

por (;)

Si (I\u003e 100) se rompe;

suma + \u003d i;

i ++;

Transición a la siguiente iteración.ciclo continuar. pierde que todos los operadores permanecen hasta el finalciclos de cuerpo y transfiere el control a la modificación de los parámetros del ciclo (en el caso de un ciclopara ) y el comienzo de la siguienteiteración.

Considérelo usando un ejemplo de la cantidad de cálculo 1 /x, si x Varía en el rango [-5, 5].

#Incluir.

int main ()

flotando x, suma \u003d 0;

para (x \u003d -5; x<= 5; X++)

If (x \u003d\u003d 0)

Continuar;

Suma \u003d suma + 1 / x;

Printf ("\\ n suma \u003d% f", suma);

Función del operador de reembolsoregreso. completa la ejecución de la función y transfiere el control hasta el punto de su llamada. Lo veremos junto con las funciones en el tema apropiado.

Operador de transición incondicionalgOTOO tiene un formato:

etiqueta goto;

En el cuerpo de la misma función, debe haber exactamente un diseño de la forma:

etiqueta: Operador;

Operador goto transfiere el control a un operador marcado.Etiqueta - Este es un identificador ordinario,Área de propiedad Que es una función, en el cuerpo de la cual se encuentra.

Utilizando el operador de la transición incondicional.justificado en dos casos:

  • salida forzada por el texto del programa desde variosciclos anidadoso interruptores;
  • la transición de varias características de la función a una (por ejemplo, si necesita realizar siempre cualquier acción antes de salir de la función).

En otros casos, para registrar cualquier algoritmo, hay medios más apropiados.

Situación excepcional(o simplemente una excepción ) Genera un programador utilizando el operadorlanzar o el cumplimiento en sí. Esto sucede cuando se producen errores durante el programa, por ejemplo, dividiendo a cero odesbordamiento. Mecanismo excepto el manejoImplementado porC ++. Le permite responder a dichos errores y, por lo tanto, evitar la finalización de emergencia del programa. Se considerará en otro tema.

Otras obras similares que pueden interesarte. Ishm\u003e

2784. Condiciones y operadores de elección. 16 kb.
Condición del operador si Por lo tanto, ya puede escribir los siguientes operadores de tareas: Koren: \u003d SQRTXY; MODUL: \u003d BSXY. Para implementar tales transiciones condicionales en el lenguaje Pascal, si se utilizan y otros operadores, así como el operador de transición incondicional. Considere el operador si.
2750. Operadores de escritura y Writeln 12.34 KB.
Escribir inglés El operador de Writeln realiza la misma acción, pero como tiene otro extremo de LN Line SP. Vista general: Escriba Writeln Expressions Listar Escribir y Writeln Procedimiento Las expresiones se utilizan no solo para mostrar el resultado, sino también para generar varios mensajes o consultas.
6706. Lenguaje de consultas estructuradas - SQL: Historia, Estándares, Operadores básicos de idiomas 12.1 KB.
El lenguaje estructurado de las consultas SQL se basa en un cálculo relacional con cubiertas variables. El lenguaje SQL está diseñado para realizar operaciones en las tablas que crean el cambio de la estructura de eliminación y en el cambio de selección de datos de la tabla, agregando y eliminando, así como algunas operaciones relacionadas. SQL es un idioma indispensable y no contiene operadores de control organización de subrutinas para su incorporación y t.

^ Programación de operadores de transición condicionales si está programando los operadores de selección del conmutador I »- Programación de los operadores de ciclo durante el tiempo y para el lenguaje del ensamblador - Máquina de idioma. Apoya solo los mecanismos básicos de la organización del programa. No tiene estructuras de control, naturales para idiomas de alto nivel. Estamos hablando del apoyo de los diseños del tipo de operadores de selección, la organización de ciclos, etc. En el último capítulo, iniciamos la discusión de estos problemas, considerando los principios de organización de ciclos en los programas de ensamblaje. El propósito de este capítulo es desarrollar plantillas de estructuras de control en un ensamblador similar a los operadores estándar del lenguaje de alto nivel. Simplemente, simplemente abriremos cualquier libro de texto en el idioma C o C ++, hagamos que la lista de operadores de control se le proporcionen en ella y muestre las formas de implementarlas en el ensamblador. La lista estándar será la siguiente: Seleccionar operadores :? Operador condicional if -se; ? Interruptor de interruptor; Ш Operadores de ciclo: P Cycle con mientras que; Ciclo de PO con Do-While; N ciclo de iteración para; ^ Continuar y romper a los operadores.

Más sobre el tema Capítulo 11 Programación Modelo de estructuras de control:

  1. Capítulo 2 Programación negativa y positiva.

En el programa más simple, los operadores se realizan secuencialmente, es decir,. Exactamente una vez y en el orden en el que se reúnen en el texto del programa. Sin embargo, en programas reales, los operadores se pueden repetir o ejecutar solo bajo una determinada condición. Los operadores de gestión se utilizan para crear programas de estructura no lineal.

Los operadores de control incluyen los siguientes operadores:

    Operadores de sucursales:

    el operador condicional es si ellos, implementa estructuras alternativas y selectivas algorítmicas (ver Apéndice 1);

    operador de selección: interruptor: implementa parcialmente la estructura algorítmica de la elección (consulte el Apéndice 1);

    Operadores de ciclo:

      • un ciclo con una condición previa, mientras que, implementa la estructura algorítmica del ciclo con la condición previa (ver Apéndice 1);

        el ciclo con el post-do mientras se realiza la estructura algorítmica del ciclo con el poslano (ver Apéndice 1);

        un ciclo con parámetros, para: implementa la estructura algorítmica del ciclo paramétrico (consulte el Apéndice 1).

Operador Condicional (sidEMÁS.)

La declaración del condicional si se usa para suceder el proceso de cálculo en dos direcciones, respectivamente, implementa la estructura algorítmica de la alternativa, cuyo diagrama de bloques es el siguiente:

Si un<Условие> Cierto, luego corriendo<Оператор 1>de lo contrario ejecutado<Оператор 2>.

Un ejemplo de uso de un operador condicional para ramificar el proceso de cálculo en dos direcciones:

// calculando el módulo y \u003d | x |

si (x.< 0) { y= -x; }

El operador IF también se usa para implementar la estructura de selección algorítmica (consulte el diagrama de bloques a continuación) cuando el operador de selección de interruptores no se puede utilizar.

Uso del operador llamado para la implementación de la estructura algorítmica:

Un ejemplo de uso de un operador condicional para implementar la estructura algorítmica:

// Cálculo y \u003d Signo (X) - Una forma más sencilla de implementar

si (x.< 0) { y= -1; }

if (x \u003d\u003d 0) (y \u003d 0;)

if (x\u003e 0) (y \u003d 1;)

// Cálculo y \u003d Signo (X) - Una forma de implementación más eficiente

si (x.< 0) { y= -1; }

otra cosa si (x \u003d\u003d 0) (y \u003d 0;)

otra cosa si (x\u003e 0) (y \u003d 1;)

Operador de elección (cambiar) + Operador de interrupción (rotura)

El operador del interruptor está diseñado para ramificar el proceso de cálculo en varias direcciones. Este operador implementa la estructura algorítmica de la elección. Sin embargo, tiene un uso limitado, porque No implica establecer condiciones arbitrarias. Las condiciones en el operador del interruptor tienen la siguiente estructura.<Выражение> == <Константа>.

Formato del operador:

cambiar (<Выражение>)

caso.<Константа 1>:

<Оператор 1>

caso.<Константа 2>:

<Оператор 2>

caso.<Константа M>:

<Оператор M>

<Оператор M+1>

Si un<Выражение> Toma el valor igual<Константа 1>, luego corriendo<Оператор 1>; Si un<Выражение> Toma el valor igual<Константа 2>, luego corriendo<Оператор 2> etc. Si un<Выражение> toma el valor distinto de las constantes indicadas, entonces<Оператор M+1>.

Un ejemplo de uso del operador de selección:

// Análisis de respuesta del usuario

sCANF ("% C", y respuesta);

printf ("\\ novy presionado 1");

printf ("\\ ns presionó 2");

El operador de ruptura interrumpe la ejecución del operador del interruptor. Si no lo fuera, entonces todos los operadores dentro del interruptor se realizarían constantemente el uno al otro. Por ejemplo, así:

// Análisis de respuesta del usuario

sCANF ("% C", y respuesta);

printf ("\\ novy presionado 1");

printf ("\\ ns presionó 2");

printf ("\\ Ns presionó algo mal");

Al ingresar a un usuario del símbolo '2', aparecerán dos mensajes en la pantalla:

"Has presionado 2"

"Has presionado algo mal"

Operador de ciclo con condición previa (tiempo)

El operador se utiliza para organizar múltiples cálculos repetitivos que pueden no cumplirse. El operador, mientras que el operador implementa la estructura algorítmica del ciclo con la condición previa, cuyo diagrama de bloques se muestra a continuación. Esta estructura algorítmica se usa cuando, por adelantado, el número de iteraciones (repeticiones) no se conoce, y tal vez la ausencia de repeticiones.

Formato del operador:

tiempo (<Условие>)

<Оператор>

Primeros cheques<Условие>. Si un<Условие> Cierto, luego corriendo<Оператор> Hasta que<Условие> No será falso Si un<Условие> Se hizo falso, el control se transmite al operador después del ciclo.<Условие> - Esta es la condición de continuar el ciclo,<Оператор> - Este es el cuerpo del ciclo (acción repetida + acción para salir del ciclo).

Comentario.<Оператор> no puede ser cumplido nunca si<Условие> Inicialmente falso.

Un ejemplo de uso del operador con la condición previa:

char String \u003d "Este es un ejemplo";

Cuenta \u003d 0; // preparación

mientras (cadena! \u003d '\\ 0') // condición de continuación

(Count ++;) // cuerpo de ciclo (acción repetida +

En este ejemplo, el ciclo nunca se completará si la cadena de cadena está vacía.

Considere otro ejemplo en el que se usa la declaración MIENTIA, pero use más correctamente la declaración mientras se encuentra:

// entrar en la carta rusa

char Rollyletter;

sCANF ("% C", y ruso); // preparación

mientras (ruso< ‘A’) ||

(RUSINGLETTER\u003e 'I')) // CONDICIÓN DE CONTINUACIÓN

(SCANF (""% C ", y ruso);) // Carrocería del ciclo (acción repetida + // acción para salir de un ciclo)

Operador de ciclo con postbanda (hacer.tiempo)

El operador se utiliza para organizar múltiples cálculos repetitivos que se realizan al menos una vez. La declaración MIENTRAS MIENTRAS implementa la estructura algorítmica del ciclo con el bloque posterior, cuyo diagrama de bloques se muestra a continuación. Esta estructura algorítmica se usa cuando el número de iteraciones no se conoce de antemano, pero al menos una iteración siempre se realiza (por ejemplo, si se están encargando los datos en el ciclo).

Formato del operador:

<Оператор>

tiempo (<Условие>);

Primero ejecutado<Оператор>, luego revisó<Условие>. Si un<Условие> Es cierto, luego se realiza de nuevo.<Оператор>. Continúa mientras<Условие> No será falso

Comentario.<Оператор> Siempre se realiza al menos una vez.

Un ejemplo de usar un ciclo con una banda posterior:

// requiere un número de 0 a 10

// la preparación está ausente

(SCANF ("% d", y número);) // cuerpo de ciclo (acción repetida +

// Acción para salir del ciclo)

while ((numero< 0)||(Number > 10)) // Término y condición

El ejemplo utiliza el ciclo, porque El número se introduce por primera vez, y luego lo comprueba.

Tenga en cuenta que después del operador, mientras que el operador pone un punto con una coma;.

Operador de ciclo con parámetro (para)

El operador se utiliza para organizar múltiples computación repetitiva y es esencialmente similar al ciclo, pero tiene una entrada más compacta. El operador implementa la estructura algorítmica del ciclo paramétrico, cuyo diagrama de bloques se muestra a continuación. Esta estructura algorítmica se usa cuando se conoce por adelantado el número de iteraciones.

Formato del operador:

por (<Оператор инициализации>; <Условие>; <Оператор модификации>)

<Оператор>

Primero ejecutado<Оператор инициализации> Y cheques<Условие>. Si un<Условие> Cierto, luego corriendo<Оператор>. Luego ejecutado<Оператор модификации> Y cheques de nuevo<Условие>. Si un<Условие> Cierto, luego corriendo<Оператор> etc. El ciclo se completa cuando<Условие> Se vuelve falso.

Comentario. Ciclo para la forma en que y el ciclo del tiempo no se puede completar.

Ejemplo de uso de un ciclo con un parámetro:

y \u003d 1; // preparación

para (i \u003d 1; i<= n; i++) // оператор инициал.; условие; оператор модификации

(Y \u003d y * i;) // ciclo corporal (acción repetida)

En este ejemplo, antes de que se realice el ciclo, se sabe que la variable I debe variar en el rango de 1 a n.

Y ahora consideraremos cómo se resuelve la misma tarea con el ciclo mientras:

// Cálculo de Factorial y \u003d n!

y \u003d 1; // preparación

i \u003d 1; // Preparación (operador de inicialización)

mientras yo.<= n) // условие продолжения

y \u003d y * i; // Acción repetida

i ++; // Acción para salir del ciclo (operador de modificación)

Este ejemplo muestra que el uso del ciclo del tiempo complica el código del programa y, por lo tanto, es preferible usar el ciclo cuando el número de iteraciones realizadas se conoce de antemano.