Menú
Está libre
registro
hogar  /  Educación/ Bucles y otros controles. Programación estructurada

Bucles y otros controles. Programación estructurada

Operador de sucursal

El operador de rama (rama condicional) le permite ejecutar ciertas instrucciones del programa dependiendo de las condiciones lógicas. En Visual Basic, el operador de sucursal se puede utilizar en dos versiones: en línea y en bloque.

intercambio online de trabajos de estudiantes ">

Ejemplo 1

Por ejemplo, si a> b Then max = a Else max = b.

Si necesita ejecutar varias declaraciones, están separadas por dos puntos.

Ejemplo 2

Por ejemplo, si a> 0 entonces b = a + 1: c = a \ 2.

La sintaxis del bloque es más potente, más estructurada y más legible.

Sintaxis de bloque:

La condición es una expresión booleana que puede tomar un valor. Cierto(cierto), Falso(falso) o Nulo que equivale a Falso... Cuando se ejecuta una sentencia de bifurcación de bloque, se comprueba la condición y, si es verdadera, la siguiente sentencia Luego... Si la condición no es verdadera, entonces se verifica. condición2 siguiente De lo contrario... Cuando se encuentra un valor verdadero, se ejecuta operator_of_true2, que sigue Luego, tras lo cual el programa va más allá Terminara si(es decir, subsiguiente De lo contrario, si los hay, no están marcados). Si las verdaderas condiciones para De lo contrario no encontrado, se ejecuta el operador under_of_condition.

Figura 3. Un ejemplo de sintaxis de bloque. Author24 - intercambio en línea de trabajos de estudiantes

Operador de selección

Operador de selección de casos ejecuta ciertos operadores dependiendo del conjunto de valores de la expresión o variable probada. Seleccione la sintaxis de la declaración:

Figura 4. La sintaxis de la instrucción select. Author24 - intercambio en línea de trabajos de estudiantes

El valor es una variable o expresión que se prueba con una o más condiciones. La lista de valores se especifica con una coma, el rango de valores se especifica mediante una palabra de servicio Para(por ejemplo, de 5 a 9).

Ejemplo 3

Por el número del mes del año, muestra un mensaje sobre la época del año a la que pertenece el mes especificado.

Estructurado operadores - estas son construcciones construidas de acuerdo con ciertas reglas de otros operadores. Los operadores estructurados incluyen:

Operador compuesto

Operador condicional

Operadores de selección

Operadores de bucle

Con declaración

1.Operador compuesto

Compuesto operador es un grupo de cualquier número de operadores, separados entre sí por un punto y coma y delimitados por los corchetes de operador begin y end.

Formato de operador compuesto:

empezar<Оператор1>; ... ; <ОператорN>;

Independientemente del número de operadores incluidos en él, el operador compuesto se percibe como un todo. El operador compuesto más comúnmente utilizado está en las sentencias condicionales y de bucle.

Los operadores compuestos se pueden anidar entre sí, sin imponer restricciones a la profundidad de anidamiento de los operadores compuestos.

2.operador condicional

Condicional operador hace cumplir o no cumple con determinadas declaraciones, dependiendo del cumplimiento de determinadas condiciones.

Formato de operador condicional:

Si luego<Оператор1> ;

La condición es una expresión booleana. El operador funciona de la siguiente manera: si la condición es verdadera (tiene el valor Verdadero), entonces se ejecuta operator1, de lo contrario, se ejecuta operator2. Ambos operadores pueden ser compuestos.

Una declaración condicional se puede escribir en forma abreviada cuando la palabra else y la declaración2 después de ella están ausentes.

Para organizar las ramas en tres direcciones o más, puede utilizar varias declaraciones condicionales, anidadas entre sí. Además, cada uno de los demás corresponde al que le precede inmediatamente. Debido a posibles errores, debe evitar anidar profundamente las declaraciones condicionales entre sí.

3.Selección de operador

Operador de elección es una generalización del operador condicional y le permite elegir entre un número arbitrario de opciones disponibles. Esta declaración consta de una expresión llamada selector, una lista de opciones y una rama else opcional, que tiene el mismo significado que en una declaración condicional.

Seleccionar formato de operador:

caso<Выражение-селектор>de

<Список1> : <Оператор1>;

<СписокN> : <ОператорN>

Expresión de selector debe ser de tipo ordinal. Cada variante es una lista de constantes, separadas por dos puntos del operador correspondiente. La lista de constantes de selección consta de un número arbitrario de valores y rangos, separados por comas. Los límites del rango se escriben en dos constantes separadas por el separador "..". El tipo de constantes debe coincidir con el tipo de expresión del selector.

La instrucción de selección se ejecuta de la siguiente manera:

1. Se evalúa el valor de la expresión del selector.

2. Las opciones se escanean secuencialmente en busca de la coincidencia del valor del selector con constantes y valores de los rangos de la lista correspondiente.

3. Si esta búsqueda tiene éxito para la siguiente variante, entonces se ejecuta el operador de esta variante. Después de eso, finaliza la ejecución de la declaración de selección.

4. Si todas las comprobaciones no tuvieron éxito, entonces se ejecuta el operador después de la palabra else (si corresponde).

Ejemplo. Operador de selección

caseNumberDay of

1..5: strDay: = "Día laborable";

6..7: strDay: = "Día libre"

else strDay: = "";

Dependiendo del valor de la variable entera NumberDay que contiene el número del día de la semana, a la variable de cadena strDay se le asigna el valor correspondiente.

Capítulo 6. ESTRUCTURAS DE CONTROL Operador de asignación Operadores simples y compuestos Operador condicional Operador de opción múltiple Operador de bucle preacondicionado Operador de bucle poscondicionado Operador de bucle parametrizado y procedimientos de salto incondicional


2 cap. 6. ESTRUCTURAS DE CONTROL Operador de asignación Un operador es una construcción de lenguaje de programación que se utiliza para especificar una acción o una secuencia de acciones en un programa sobre datos. El conjunto de operadores del programa implementa el algoritmo inherente al mismo. Cualquier operador implica alguna acción. El proceso de "introducir" un valor en una variable se llama asignación (la primera asignación se llama inicialización). La asignación se lleva a cabo mediante una construcción especial: el operador de asignación: identificador de variable: =: = expresión Var W, H: Integer; Inicio W: = 23; H: = 17; W: = W * H; Fin.


3 cap. 6. ESTRUCTURAS DE CONTROL Declaraciones simples y compuestas Dos declaraciones consecutivas deben estar separadas por un punto y coma (es decir, el final de una declaración): a: = 11; b: = a * a; Escribe (a, b); Una declaración compuesta es una secuencia de declaraciones tratadas como una sola declaración. Se formatea utilizando las palabras reservadas begin y end (corchetes de operador). Un operador en un programa es una sola declaración indivisible que realiza una acción. Un operador simple no contiene ningún otro operador (operador de asignación, llamada de procedimiento, ...). comenzar a: = 11; b: = a * a; Escriba (a, b) final;


5 luego comience X: = X + 5; Y: = 1 end else Y: = -1; El operador condicional se utiliza para programar ramas, es decir situaciones en las que, bajo ciertas condiciones, es necesario ejecutar "title =" (! LANG: 4 Ch. 6. ESTRUCTURAS DE CONTROL Declaración condicional si K> 5 entonces comienza X: = X + 5; Y: = 1 finaliza en caso contrario Y: = - 1; El operador condicional se utiliza para programar ramas, es decir, situaciones en las que es necesario, bajo ciertas condiciones, ejecutar" class="link_thumb"> 4 !} 4 cap. 6. ESTRUCTURAS DE CONTROL Declaración condicional si K> 5 entonces comienza X: = X + 5; Y: = 1 end else Y: = -1; El operador condicional se utiliza para programar ramas, es decir situaciones en las que, en determinadas condiciones, es necesario realizar diversas acciones. El operador condicional tiene la estructura: si es una expresión booleana, entonces operador else operador Solo se puede escribir un operador en cada rama. 5 luego comience X: = X + 5; Y: = 1 end else Y: = -1; El operador condicional se utiliza para programar ramas, es decir situaciones en las que es necesario bajo ciertas condiciones realizar "> 5 luego comienza X: = X + 5; Y: = 1 end else Y: = -1; El operador condicional se usa para programar ramas, es decir, situaciones en las que es necesario cuando ciertas condiciones para realizar varias acciones. El operador condicional tiene la estructura: si expresión lógica, entonces operador else operador Sólo se permite un operador en cada rama. "> 5 entonces comienza X: = X + 5; Y: = 1 end else Y: = -1; El operador condicional se utiliza para programar ramas, es decir situaciones en las que, bajo ciertas condiciones, es necesario ejecutar "title =" (! LANG: 4 Ch. 6. ESTRUCTURAS DE CONTROL Declaración condicional si K> 5 entonces comienza X: = X + 5; Y: = 1 finaliza en caso contrario Y: = - 1; El operador condicional se utiliza para programar ramas, es decir, situaciones en las que es necesario, bajo ciertas condiciones, ejecutar"> title="4 cap. 6. ESTRUCTURAS DE CONTROL Declaración condicional si K> 5 entonces comienza X: = X + 5; Y: = 1 end else Y: = -1; El operador condicional se utiliza para programar ramas, es decir situaciones en las que se hace necesario, en determinadas condiciones, realizar"> !}




6 cap. 6. ESTRUCTURAS DE CONTROL Operador de elección múltiple El operador de elección se utiliza para implementar varias opciones alternativas de acciones, cada una de las cuales corresponde a sus propios valores de algún parámetro. expresión de caso de constantes / rangos más declaraciones: declaración final; El valor y también debe ser de uno de los tipos ordinales (excepto LongInt). Dependiendo del valor, se selecciona el operador, que está precedido por una constante de selección igual al valor calculado (la alternativa son los operadores después del else). Los valores constantes deben ser únicos en cada conjunto, es decir pueden aparecer en una sola variante.


7 cap. 6. ESTRUCTURAS DE CONTROL caso I de (I: Word) 1: X: = X +1; 2,3: X: = X +2; 4..9: comenzar a escribir (X); X: = X + 3 (mb ";") end (mb ";") más X: = X * X; Writeln (X) (mb ";") fin;


8 cap. 6. ESTRUCTURAS DE CONTROL El operador de bucle "while" (con condición previa) mientras que la expresión condicional do operador (cuerpo del bucle) después de la palabra de función do se ejecutará cíclicamente siempre que se cumpla la condición lógica, es decir. mientras que el valor es Verdadero. Para que un bucle tenga la oportunidad de terminar, el contenido de su cuerpo debe afectar la condición del bucle. La condición debe constar de expresiones y valores válidos definidos antes de la primera ejecución del cuerpo del bucle. VarF, N: LongInt; (cálculo 10 Begin F:= 1; N:= 1; while N !}


9 cap. 6. ESTRUCTURAS DE CONTROL Operador de bucle "Antes" (con poscondición) Las declaraciones entre las palabras se repiten y hasta que forman el cuerpo del bucle. Si es Verdadero, el ciclo termina. Bucle "Mientras" - "mientras la condición es verdadera, ejecute las declaraciones del cuerpo". Bucle "Antes" - "ejecuta el cuerpo del bucle hasta que la condición se cumpla"; repita hasta Falso; operador de repetición hasta expresión condicional;


10 cap. 6. ESTRUCTURAS DE CONTROL Un operador de lazo con un parámetro (lazo sobre un contador) es una variable de tipo ordinal, los valores y deben ser del mismo tipo. El valor cambia en orden ascendente (cuando se usa la palabra reservada a) o descendente (hacia abajo) de valor a valor con un paso constante igual al intervalo entre los dos valores más cercanos en el tipo al que pertenece (para tipos enteros, esto es 1, para tipos de caracteres, de un carácter a otro al aumentar el código en 1, etc.). Los bucles for se pueden anidar si ninguno de los bucles anidados usa o modifica variables, parámetros de los bucles externos. Se utiliza para organizar ciclos "estrictos" que deben realizarse un número específico de veces. Parámetro de bucle para r: = expresión 1 a expresión 2 do downto declaración


12 cap. 6. ESTRUCTURAS DE CONTROL Operador de rama incondicional Una etiqueta puede aparecer en cualquier lugar del programa entre operadores y está separada del segundo operador por dos puntos ":". El alcance de los operadores de salto incondicional está estrictamente localizado. Están prohibidas las transiciones del operador goto entre procedimientos, así como entre el bloque principal y un procedimiento. El operador de salto incondicional transfiere el control de ejecución a la ubicación del programa indicada con la ayuda de la etiqueta (es "superfluo" desde el punto de vista de la teoría de la programación estructurada). ir a etiqueta Etiqueta entero sin signo; identificador de etiqueta, diagramas de sintaxis y: LabelL1, L2; Comenzar ... ir a L1; ... L1: ir a L2; ... L2: Fin.


13 cap. 6. ESTRUCTURAS DE CONTROL Procedimientos de salto incondicional Procedimientos de transferencia de control no estructural cuando se trabaja con estructuras cíclicas: Rotura: implementa una salida de un bucle de cualquier tipo; Continuar: pasa a la siguiente iteración del bucle, ignorando las declaraciones que quedan hasta el final del cuerpo del bucle. Los procedimientos de salida y parada están especialmente diseñados para salir de bloques de programa (procedimientos, funciones, bloque de programa principal). Halt () sale del programa devolviendo el código de salida especificado al sistema operativo. Exit sale de la subrutina incondicionalmente. Si el procedimiento se utiliza en el bloque principal, se realiza de la misma forma que Halt.

Declaraciones de bucle Las declaraciones de bucle se utilizan para organizar cálculos repetitivos. Para organizar un bucle, se necesita una variable llamada parámetro de bucle o una variable de control de bucle. Cualquier ciclo consta de: ajustes iniciales o bloque de inicialización del parámetro del ciclo; el cuerpo del bucle, es decir, aquellas sentencias que se ejecutan varias veces; bloque de modificación de parámetros de ciclo; comprobando la condición de salida del bucle, que se puede colocar antes del cuerpo del bucle, luego se habla de un bucle con una condición previa o después del cuerpo ...


Comparta su trabajo en las redes sociales

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


Tema 2 Operadores de control

2.1 Construcciones básicas de la programación estructurada

V teoría de la programaciónSe ha demostrado que un programa para resolver un problema de cualquier complejidad puede estar compuesto solo por tres estructuras, llamadas secuenciación, ramificación y bucle. Se les llama diseños básicosprogramación estructurada.

Siguiente es una construcción que es una ejecución secuencial de dos o más operadores (simple o compuesto).

Derivación especifica la ejecución de uno u otro operador, dependiendo del cumplimiento de una condición.

Ciclo especifica la ejecución múltiple de la declaración.

Una característica de las estructuras básicas es que cualquiera de ellas tiene solo una entrada y una salida, por lo que las estructuras se pueden anidar entre sí de forma arbitraria.

Figura 2.1 - Construcciones básicas de programación estructurada

El propósito de usar construcciones básicas es obtener un programa con una estructura simple. Un programa de este tipo es fácil de leer, depurar y, si es necesario, modificarlo.

Cualquier expresión que termine con punto y coma se trata como una instrucción cuya ejecución consiste en evaluar la expresión.

2.2 Operaciones relacionales y lógicas

Operaciones de relación(<, <=, >,> =, == ,! =) comparar el primero operando con el segundo. Operandos puede ser de tipo aritmético o punteros. El resultado de la operación es el valor verdadero o falso ... Las comparaciones de igualdad y desigualdad tienen menor precedencia que otras comparaciones. Por ejemplo: x> = 0, y! = 10, z == 0.

¡ATENCIÓN! Tenga en cuenta la diferencia entre la prueba de igualdad (== ), cuyo resultado es verdadero o falso , y la operación de asignación (= ), lo que da como resultado el valor asignado al operando izquierdo.

Operaciones lógicas(&&, ||, ^). Operandos operaciones lógicas Y (&&), O (|| ), EXCLUSIVO O (^ ) debe ser de un tipo que se pueda convertir en un tipo bool, con los operandos en una operación pueden ser de diferentes tipos. El resultado de la operación es verdadero o falso.

El resultado de la operación booleano AND es verdadero solo si ambos operandos son válidos cierto ... El resultado de la operación OR lógico es verdadero si al menos uno de los operandos tiene un valor cierto ... El resultado de la operaciónEXCLUSIVO lógico O es verdad si uno de los operandos es verdadero y el segundo es falso. Negación lógica ( !) resulta en el valor falso si el operando es verdadero y verdadero si el operando es falso. Operando puede ser de tipo aritmético. En este caso,conversión implícita escribir bool ... Las operaciones lógicas se realizan de izquierda a derecha. Si el valor del primer operando es suficiente para determinar el resultado de la operación, el segundo el operando no se evalúa.

Tabla de resultados de operaciones Y, O, EXCLUSIVO O, NO

(A y B son operandos)

A && B

A || B

A ^ B

Ejemplos de expresiones con operaciones lógicas:

x> 0 && y<=10

(a< -1 && b >0) || c! = 100

Operación condicional(? :). Este es el único en Ternario de C ++ operación (tiene tres operandos), su formato es:

operand_1? operando_2: operando_3

Operandos se calculan de izquierda a derecha. El resultado de evaluar el primer operando debe ser de un tipo que se pueda convertir en un tipo bool ... Si el resultado es cierto , entonces el resultado de la ejecución de toda la operación condicional será el valor del segundo operando, de lo contrario, el valor del tercer operando. Sus tipos pueden ser diferentes.

Ejemplo: suponga que se requiere que algún valor entero aumente en 1 si su valor no excede norte , de lo contrario tomó el valor 1. Esto se puede escribir con una sola línea de código:

yo = (yo< n) ? i + 1: 1;


2.3 Operadores de ramificación. Declaración if condicional

Declaración if condicionalse utiliza para bifurcar el proceso de cálculo en dos direcciones. Diagrama de algoritmo El operador se muestra en la Figura 2.1. Formato de operador:

if (expresión) statement_1; [más declaración_2;]

Primero, se evalúa una expresión, que puede ser de tipo aritmético o de tipo puntero. Si no es igual a cero, es decir es igual a cierto , luego se ejecuta la primera instrucción, de lo contrario, la segunda. Después de eso, el control se transfiere al operador siguiendo el condicional. Puede que falte una de las ramas.

Si es necesario ejecutar más de una instrucción en una rama, deben incluirse en un bloque. Un bloque puede contener cualquier declaración, incluidas descripciones y otras declaraciones condicionales.

Ejemplos:

si (un< 0) b = 1;

si (un< b && (a >d || a == 0))

B ++;

demás

(b * = a; a = 0;)

si (un< b)

si (un< c )

M = a;

demás

M = c;

demás

Si (b< c )

M = b;

demás

m = c;

Ejemplo 1 falta rama demás ... Esta construcción se denomina "salto de operador" porque asignación se ejecuta o se omite dependiendo de si se cumple la condición.

Si necesita verificar varias condiciones, se combinan mediante signosoperaciones lógicas... Por ejemplo, la expresión en el ejemplo 2 será cierto si la condición es< b и одно из условий в скобках. Если опустить внутренние скобки, будет выполнено сначала логическое И, а потом – ИЛИ.

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

Por sintaxis de operador si no debe haber más de un operador en sus sucursales. Si hay más de ellos, entonces deben combinarse en un bloque usando llaves o con operaciones de coma (,).

Ejemplo. Se dispara un tiro al objetivo que se muestra en Figura 3.2. Determina la cantidad de puntos.

Figura 3.2 - Objetivo

#incluir

int main ()

flotar x, y;

int kol;

Printf ("\ n Introduzca las coordenadas del disparo ");

Scanf ("% f", & x);

Scanf ("% f", & y);

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

Kol = 2;

Demás

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

kol = 1;

demás

kol = 0;

printf ("\ n Puntos:% d", kol);

2.4 Operadores de ramificación. Operador de opción múltiple cambiar

Declaración de cambioestá destinado a ramificar el proceso de cálculo en varias direcciones. Formato de operador:

cambiar (expresión)

Case constant_expression_1: operadores 1;

Caso expresión_constante_2: declaraciones 2;

...

Case constant_expression_n: sentencias n;

La ejecución de la declaración comienza conevaluar una expresión(debe ser entero ), y luego se transfiere el control caso -label - a los operadores marcados con una expresión constante, cuyo valor coincide con el calculado, después de lo cual todas las demás ramas se ejecutan secuencialmente, si la salida de no se especifica explícitamente ningún conmutador.

Todas las expresiones constantes deben tener diferentes significados, pero ser igualestipo entero... Pueden seguir varias etiquetas seguidas. Si no hay coincidencia, se ejecutan las declaraciones después de la palabra defecto (y en su ausencia, el control se transfiere al siguiente declaración de cambio).

Si en alguno de caso -Etiquetas faltan operador rotura , luego los operadores en el siguiente caso -etiqueta y así sucesivamente hasta que el operador 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 primer operando: ");

scanf ("% d", & a);

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

scanf ("% c", & op);

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

scanf ("% d", & b);

bool f = verdadero;

Cambiar (op)

Caso "+": res = a + b; rotura;

Caso "-": res = a - b; rotura;

Caso "*": res = a * b; rotura;

Caso "/": res = a / b; rotura;

predeterminado: printf ("\ n Operación desconocida"); f = falso;

si (f)

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

Salir del interruptor generalmente hecho con operadores romper o volver.

2.5 Declaraciones de bucle

Operadores de bucle se utilizan para organizar cálculos repetitivos.

Para organizar el ciclo, una variable llamada parámetro de bucle o variable de control de bucle... Cualquier ciclo consta de:

  • ajustes iniciales o bloque de inicialización de parámetros de bucle;
  • cuerpos de bucle , es decir, aquellas sentencias que se ejecutan varias veces;
  • bloque de modificación de parámetros de ciclo;
  • comprobar la condición de salida de un bucle que se puede colocar antes cuerpos de bucle (luego hablan del ciclo con una condición previa), o después del cuerpo del bucle (un bucle con una condición posterior).

Figura 3.3 - Dos tipos de ciclos

Una pasada del bucle se llama iteración ... Parámetros de bucle de enteros que cambian por un entero en cada las iteraciones se llaman contadores de ciclos.

No puede transferir el control del exterior al interior del circuito. La salida del bucle es posible tanto cuando se cumple la condición de salida como por parte de los operadores. romper, volver o salto incondicional ir a.

2.6 Bucle con condición previa (while)

Bucle con condición previa implementa el esquema de algoritmo

operador while (expresión);

Por ejemplo:

La expresión define la condición de repetición cuerpos de bucle representado por un operador simple o compuesto. Si la expresión no es 0 (verdadera), se ejecuta la instrucción de bucle y, a continuación, la expresión se evalúa nuevamente. Si en la primera comprobación la expresión es 0 (falsa), el ciclo no se ejecutará ni una sola vez. El tipo de expresión debe ser aritmético o convertible.

valores de función y = x 2 +1 en el rango introducido):

#incluir

int main ()

flotar Xn, Xk, Dx;

flotador X = Xn; // ajustes iniciales del ciclo

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

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

X + = Dx; //modificación

2.7 Bucle con poscondición (hacer mientras)

Bucle con poscondición implementa el esquema de algoritmo , que se muestra a continuación, y se ve así:

hacer una declaración mientras que la expresión;

Un simple ooperador compuestoque compone el cuerpo del bucle, y luego se evalúa la expresión. Si no es igual a 0 (verdadero), el cuerpo del bucle se ejecuta nuevamente, y así sucesivamente, hasta que la expresión se vuelve igual a cero (falso) o algúnoperador de transferencia... El tipo de expresión debe ser aritmético o convertible.

Ejemplo (el programa verifica la entrada):

#incluir

int main ()

respuesta char;

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

scanf ("% c", & respuesta);

while (respuesta! = "y");

2.8 para bucle

En bucle implementa el esquema de algoritmo que se indica a continuación y tiene la forma:

por (bloque de inicialización; bloque de verificación de condición; bloque de modificación)

Cuerpo de bucle;

Ejemplo:

Bloque de inicializaciónutilizado para declarar e inicializar los valores utilizados en el bucle. En esta parte, puede escribir varios operadores, separados por comas.

Bloque de verificación de condicióndefine la condición de ejecución del ciclo: si no es igual a 0 (verdadero), se ejecuta el ciclo.

Bloque de modificaciónrealizado después de cada iteraciones ciclo y suele servir para cambiar los parámetros del ciclo. En la parte de modificaciones, puede escribir varios operadores separados por comas.

Simple o compuesto operador representa cuerpo de bucle ... Cualquier parte del operador por se puede omitir (¡pero deje el punto y coma en su lugar!). En cualquier parte, puede utilizar la operación de coma (cálculo secuencial), por ejemplo:

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

S + = yo; // suma de números del 1 al 100

Ejemplo (el programa imprime la tablavalores de función y = x 2 +1 en el rango ingresado):

#incluir

int main ()

flotar Xn, Xk, Dx;

printf ("Ingrese el rango y el paso para cambiar el argumento:");

scanf ("% f% f% f", & Xn, & Xk, & Dx);

Para (flotar X = Xn; X<= Xk; X += Dx)

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

2.9 bucles anidados

Cada uno de los operadores de bucle se puede anidar en cualquier otro en cualquier orden. La profundidad de anidación de los bucles no está limitada. Está determinado únicamente por el algoritmo del problema que se está resolviendo.

A continuación se muestra un ejemplo de bucles anidados por

Este fragmento de programa funciona de la siguiente manera. Para un valor del parámetro de bucle externo i (por ejemplo, i = 1 ) parámetro del bucle interno j varía en el rango de valor mínimo a máximo (de 1 a METRO ). Solo entonces el parámetro I aumenta en uno. Por lo tanto, se ejecutará el cuerpo del bucle. N * M veces.

Otras variantes de bucles anidados funcionan de manera similar: el parámetro del bucle externo cambia lentamente y el interno cambia rápidamente. Se recomienda dominarlos usted mismo. Para hacer esto, inserte todo el cuerpo del bucle en lugar del bloque del algoritmo del bucle interno.

2.10 Operadores de transferencia de control

En C ++ hay cinco operadores que cambian el orden natural de cálculo:

  • la declaración de salida del bucle, y interruptor de ruptura;
  • operador de salto a la siguiente iteración del ciclo continúe;
  • declaración de retorno de función regreso;
  • operador salto incondicional ir a;
  • operador de lanzamiento lanzar.

Declaración de ruptura utilizado para terminación inmediata declaración de bucle o interruptor ... La ejecución se transfiere a la siguiente instrucción después de la completa.

Consideremos su uso con un ejemplo.bucle iterativo abierto por ... Por ejemplo, calcular la suma de números del 1 al 100.

int i = 1, suma = 0;

por (;;)

Si (i> 100) se rompe;

suma + = yo;

i ++;

Ir al siguiente operador de iteración bucle continuar omite todas las declaraciones restantes hasta el final cuerpos de bucle , y transfiere el control para modificar los parámetros del ciclo (en el caso de un ciclo por ) y el comienzo de la siguiente iteraciones.

Consideremos su uso con el ejemplo de calcular la suma 1 / x si x varía en el rango [-5, 5].

#incluir

int main ()

flotar X, Suma = 0;

para (X = -5; X<= 5; X++)

Si (X == 0)

Continuar;

Suma = Suma + 1 / X;

Printf ("\ n Suma =% f", Suma);

Operador de retorno de función regreso finaliza la función y transfiere el control al punto donde se llamó. Lo cubriremos junto con las características en el tema relacionado.

Operador de salto incondicional goto tiene el formato:

ir a la etiqueta;

El cuerpo de la misma función debe contener exactamente una construcción del formulario:

etiqueta: operador;

Goto declaración transfiere el control al operador marcado. Etiqueta Es un identificador regular,alcancecuál es la función en el cuerpo de la cual ocurre.

Uso operador de salto incondicionaljustificado en dos casos:

  • salida forzada por el texto del programa desde variosbucles anidadoso interruptores;
  • transición de varios lugares en una función a uno (por ejemplo, si siempre necesita realizar alguna acción antes de salir de una función).

En otros casos, existen medios más adecuados para registrar cualquier algoritmo.

Una situación excepcional(o solo una excepción ) es generado por el programador usando el operador lanzar o el tiempo de ejecución en sí. Esto sucede cuando ocurre un error durante la ejecución del programa, como una división por cero o Desbordamiento. Mecanismo manejo de excepcionesimplementado en C ++ , le permite responder a tales errores y así evitar la terminación anormal del programa. Se tratará en otro tema.

Otros trabajos similares que te pueden interesar. Wshm>

2784. Operadores de condición y selección 16 KB
Si condiciona el operador. Por lo tanto, ya puede escribir las siguientes declaraciones de asignación: Koren: = Sqrtxy; Módulo: = bsxy. Para implementar tales saltos condicionales en el lenguaje Pascal, se utilizan las declaraciones If y Else, así como el operador de salto incondicional Goto. Considere la declaración If.
2750. Escribir y escribir declaraciones de Ln 12,34 KB
Escriba eng. El operador WriteLn realiza la misma acción, pero como también tiene la línea final eng. Vista general: lista de expresiones WriteLn lista de expresiones WriteLn Los procedimientos Write y WriteLn se utilizan no solo para mostrar el resultado, sino también para mostrar varios mensajes o solicitudes.
6706. Lenguaje de consulta estructurado - SQL: historia, estándares, operadores de lenguaje básico 12,1 KB
El lenguaje de consulta estructurado SQL se basa en el cálculo relacional con tuplas de variables. El lenguaje SQL está diseñado para realizar operaciones sobre tablas, creación, borrado, cambio de estructura y sobre datos de tablas, selección, cambio, adición y borrado, así como algunas operaciones relacionadas. SQL es un lenguaje no procedimental y no contiene declaraciones para controlar la organización de rutinas de entrada / salida, etc.

La estructura más simple es la siguiente. Se puede representar así:

Los módulos "a" y "b" pueden contener un operador o cualquier número de estructuras seguidas una tras otra, incl. y discutido a continuación.

La estructura de la bifurcación (si, entonces, de lo contrario) sirve para elegir una de las dos formas posibles de ejecutar el algoritmo. Se basa en la verificación. El tenedor se ve así:

Las estructuras IF-THEN-ELSE se pueden anidar entre sí, por ejemplo, de esta manera.

El número de estructuras anidadas está limitado por las capacidades de la PC y el software instalado en ella. Esta cantidad generalmente se especifica en la descripción del idioma. Para garantizar la legibilidad, las estructuras anidadas se pueden reemplazar con rectángulos y el diagrama de bloques de cada rectángulo se puede mostrar en detalle en una hoja separada. En general, cualquier diagrama de bloques o programa es mejor legible si se coloca completamente en una página.

La estructura que se muestra en el último diagrama de bloques le permite elegir uno de los tres caminos. De manera similar, utilizando estructuras anidadas, puede organizar la selección de una de las rutas que desee. Dado que la necesidad de esto aparece con bastante frecuencia, se ha introducido una estructura especial: una opción, que se ve así

Aquí, el símbolo "P" todavía denota la condición, en función del cumplimiento de cuál de los posibles caminos se selecciona.

Al desarrollar algoritmos, a menudo es extremadamente importante repetir una operación o grupo de operaciones. Para mostrar tales fragmentos del algoritmo, se proporcionan estructuras especiales: ciclos. Οʜᴎ Hay tres tipos: bucle bye, bucle by bucle y bucle by-count. El trabajo del ciclo está representado por el siguiente diagrama de flujo.

Antes de la primera ejecución del bloque de sentencias, que normalmente se denomina cuerpo del bucle, se comprueba la condición "P" y, si es verdadera, se ejecuta el cuerpo del bucle y el control vuelve al principio del bucle. círculo. A continuación, se vuelve a comprobar la condición y así sucesivamente hasta que la condición del bucle se vuelve falsa. En este caso, se termina la ejecución del ciclo. Se ejecuta siempre que se cumpla la condición.

Cycle-do se organiza de manera diferente.

La verificación de la verdad de la condición del bucle se realiza después de la ejecución del cuerpo del bucle, y la salida del mismo se realiza cuando la condición es verdadera. Τᴀᴋᴎᴍ ᴏϬᴩᴀᴈᴏᴍ, el cuerpo del bucle siempre se ejecuta una vez, a diferencia de ciclo-adiós, que no se ejecuta ni siquiera una vez si no se cumple la condición de bucle.

El tercer tipo de ciclo es un ciclo de contador. Se utiliza en los casos en que es extremadamente importante repetir el cuerpo del bucle un cierto número de veces. Su estructura se puede representar mediante el siguiente diagrama de bloques.

Muestra que este ciclo es un caso especial ciclo-adiós, pero dado que este caso se encuentra a menudo, en los lenguajes de programación, en particular, en VBA, se introduce un operador especial para describir un bucle con un contador.
Publicado en ref.rf
Por este motivo, hemos asignado una estructura especial para este ciclo.

Como ejemplo, considere un diagrama de bloques para encontrar el elemento máximo en una tabla de N números.

Aquí Max es el número máximo, i es el número del número en la tabla de números X, N es el tamaño de la tabla. El diagrama de bloques contiene las siguientes construcciones estructurales: a continuación, un bucle while, que se ejecuta hasta que el número del número verificado es menor o igual al tamaño de la tabla, y una bifurcación, en la que se selecciona una ruta que contiene el asignación del número actual de la tabla a la variable Max, en el caso de que si esta variable sea menor que el número actual.

Las principales estructuras de gobierno son conceptos y tipos. Clasificación y características de la categoría "Principales estructuras de control" 2017, 2018.