Es el resultado de ejecutar una declaración. ¿Operador condicional? Restricciones de uso del operador

En el párrafo anterior, nos familiarizamos con la estructura de un programa en Pascal, aprendimos cómo describir datos y observamos el operador de asignación. Esto es suficiente para escribir un programa de conversión de datos. Pero el resultado de estas transformaciones no será visible para nosotros.

Para generar datos desde memoria de acceso aleatorio El operador de salida de escritura se utiliza en la pantalla del monitor:

Aquí, entre paréntesis, se coloca una lista de salida: una lista de expresiones cuyos valores se imprimen. Pueden ser expresiones numéricas, simbólicas y lógicas, incluidas variables y constantes.

Un conjunto arbitrario de caracteres encerrados entre apóstrofes se considera una constante de cadena. Una constante de cadena puede contener cualquier carácter escrito en el teclado.

Ejemplo. La declaración de escritura ("s=", s) se ejecuta así:

  1. En la pantalla se muestran los símbolos encerrados entre apóstrofes: s=
  2. El valor de la variable almacenada en una celda RAM llamada s se muestra en la pantalla.

Si el valor de la variable s es 15 y es de tipo entero, entonces la pantalla mostrará: s=15.

Si el valor de la variable s es 15, pero es de tipo real, entonces aparecerá en pantalla lo siguiente: s=l.5E+01.

Cuando se ejecuta la declaración de salida, todos los elementos de la lista de salida se imprimen inmediatamente uno después del otro. Por lo tanto, como resultado del operador de escritura (1, 20, 300), se mostrará en la pantalla la secuencia de números 120300, que percibiremos como el número 120300, y no como tres constantes numéricas separadas. Puede hacer que los datos de salida sean más accesibles a la percepción de diferentes maneras:

Formato de salida es un número entero indicado después de los dos puntos que determina cuántas posiciones en la pantalla debe ocupar el valor mostrado. Si un número tiene menos dígitos que las posiciones reservadas para él en la pantalla, las posiciones libres se complementan con espacios a la izquierda del número. Si el número especificado en el formato de salida después de los dos puntos es menor de lo necesario, se aumentará automáticamente al mínimo requerido.

Para generar un número real en formato de punto fijo, se especifican dos parámetros en la lista de salida para cada expresión:

  1. el número total de puestos asignados para el número;
  2. el número de posiciones en la parte fraccionaria del número.

Cuando se ejecuta una nueva declaración de escritura, la salida continúa en la misma línea. Para saltar a una nueva línea, utilice el operador writeln. No existen otras diferencias entre las declaraciones escritas y escritas.

4.2.2. Primer programa en lenguaje Pascal.

Usando los operadores discutidos anteriormente, crearemos un programa que calcula la circunferencia y el área de un círculo con un radio de 5,4 cm.

Los datos iniciales en este problema son el radio: r - 5,4 cm El resultado del programa debe ser los valores C - la circunferencia y S - el área del círculo. C, S y r son cantidades de tipo real.

Los datos iniciales y los resultados están relacionados mediante relaciones conocidas del curso de matemáticas: C = 2πr, S = πr +. Un programa que implemente cálculos usando estas fórmulas se verá así:

Este programa es correcto y soluciona el problema. Cuando lo ejecutes, obtendrás el siguiente resultado:

Aún así, el programa que compilamos tiene un inconveniente importante: encuentra la circunferencia y el área de un círculo para un único valor de radio (5,4 cm).

Para calcular la circunferencia y el área de un círculo para un valor de radio diferente, deberá realizar cambios directamente en el texto del programa, es decir, cambiar el operador de asignación. Realizar cambios en un programa existente no siempre es conveniente, por decir lo menos, (por ejemplo, cuando el programa es grande y hay muchos operadores de asignación). A continuación, conocerá un operador que le permite ingresar datos iniciales mientras el programa se está ejecutando, sin cambiar el texto del programa.

4.2.3. Entrada de teclado

Para ingresar valores de variables en la RAM, use el operador de entrada de lectura:

Cuando se ejecuta la instrucción de lectura, la computadora ingresa al modo de espera de datos: el usuario debe ingresar datos desde el teclado y presionar la tecla Enter. Se pueden ingresar múltiples valores para variables de tipo numérico separados por espacios o comas. Al ingresar variables de caracteres, los espacios y las comas se tratan como caracteres, por lo que no se pueden ingresar.

El primer valor de variable ingresado por el usuario se coloca en la ubicación de la memoria cuyo nombre se encuentra primero en la lista de entrada, etc. Por lo tanto, los tipos de valores de entrada (flujo de entrada) deben corresponder a los tipos de variables especificadas en la variable. sección de descripción.

Ejemplo. Dejar

var i, j: entero; x: real; a:carbón;

Asignemos las variables i, j, x y los valores 1, 0, 2,5 y "A". Para hacer esto, usaremos el operador de lectura (i, j, x, a) y organizaremos el flujo de entrada de una de las siguientes maneras:

Aquí no solo usamos varios delimitadores (espacio, coma), sino que también representamos el flujo de entrada como una, dos y cuatro líneas.

También puede utilizar el operador readln para ingresar datos desde el teclado, que se diferencia del operador read solo en que después de ejecutarlo, el cursor se mueve a una nueva línea.

Mejoremos el programa n_1 organizando la entrada de datos en él utilizando el operador de lectura. Y para que el usuario sepa para qué está destinado el programa y comprenda qué acción espera la computadora de él, le mostraremos el correspondiente mensajes de texto usando el operador writeln:

El resultado del programa mejorado:

Ahora nuestro programa puede calcular la circunferencia y el área de un círculo para cualquier valor de r. En otras palabras, no resuelve un único problema, sino toda una clase de problemas. Además, el programa organiza de forma clara y cómoda la entrada de datos iniciales y la salida de los resultados obtenidos. Esto garantiza una interfaz de usuario amigable.

El más importante

Para ingresar valores variables en la RAM, se utilizan los operadores de entrada read y readln.

Para enviar datos desde la RAM a la pantalla del monitor, se utilizan los operadores de salida write y writeln.

La entrada de datos iniciales y la producción de resultados deben organizarse de forma clara y conveniente; esto garantiza una interfaz de usuario amigable.

Preguntas y tareas

  1. Escriba una declaración que le permita ingresar el valor de la variable suma mientras el programa se está ejecutando.
  2. A las variables enteras i, y, k se les deben asignar respectivamente los valores 10, 20 y 30. Escriba la declaración de entrada correspondiente al flujo de entrada:
      a) 20 10 30
      segundo) 30 20 10
      c) 10 30 20
  3. Describe las variables necesarias para calcular el área de un triángulo en función de sus tres lados y escribe una declaración que proporcione los datos de entrada requeridos.
  4. ¿Cuál es el resultado de ejecutar la declaración?
      a) escribir (a)
      b) escribe (1 a ")
      c) escribe (1 a=1, a)
  5. ¿De qué tipo es la variable f si después de ejecutar la sentencia write (f) se mostró en pantalla el siguiente número?
      a) 125
      b) 1,25E+2
  6. ¿Cómo puedo mostrar un número real en formato de punto fijo?
  7. Escriba los operadores para ingresar dos números y generarlos en orden inverso.
  8. Aquí un fragmento del programa:

    leer un); leer(b); c:=a+b; escribir(a, b); escribir (c)

    Simplifíquelo reduciendo el número de declaraciones de entrada y salida.

  9. Aquí un fragmento del programa:

    a:=10; b:=a+l: a:=b-a; escribe (a,b)

    ¿Qué números se mostrarán en la pantalla de la computadora?

  10. Escribe un programa que calcule el área y el perímetro de un rectángulo basándose en sus dos lados.

Salida de datos
Salida de datos desde la RAM a la pantalla del monitor:
escribir
(<выражение 1> ,< выражение 2> , ...,< выражение N>)
lista de salida
Expresiones: simbólicas, numéricas, lógicas,
incluyendo variables y constantes
Ejemplo:
escribir("s=",s).
Para s=15 la pantalla mostrará: s=15.
La información entre comillas se muestra en la pantalla.
sin cambios

Opciones de organización de salida
Opción
organización de la retirada
Sin separadores
Operador de inferencia
escribir(1, 20, 300).
Resultado
120300
Agregar delimitadores escribe (1, ’,’ , 20,
– comas
’, ’, 300)
1, 20, 300
Agregar delimitadores escribir (1, ' ', 2, ' ', 3)
– espacios
1 20 300

Formato de salida
El formato de salida le permite establecer el número de posiciones.
en la pantalla ocupada por el valor mostrado.
escribir(s:x:y)
x - el número total de puestos asignados para el número;
y - el número de posiciones en la parte fraccionaria del número.
Operador de inferencia
Resultado de la ejecución
operador
escribir('s=', s:2:0);
s=15
escribir('s=', s:3:1);
s=15,0
escribir('s=', s:5:1);
s=
escrito
15.0
- ¡salida de una nueva línea!

primer programa
programa n_1;
constante pi=3,14;
var r, c, s: real;
comenzar
r:=5,4;
c:=2*pi*r;
Resultado del programa:
s:=pi*r*r;
writeln("c="", c:6:4);
escribir("s=", s:6:4)
Pascal Turbo
Versión 7.0
fin.
c=33.9120
= 91,5624

Entrada de teclado
Ingresando valores de variables en la RAM:
leer
(<имя переменной1>, …, <имя переменной N>)
lista de entrada
Ejecutando la declaración de lectura:
1) la computadora entra en modo de espera de datos:
2) el usuario ingresa datos desde el teclado:
múltiples valores de variables
Se pueden introducir tipos numéricos.
separados por espacio o coma;
al ingresar variables de caracteres
No se pueden utilizar espacios ni comas;
3) el usuario presiona la tecla Enter.

Entrada de teclado
!
Los tipos de valores de entrada deben coincidir
tipos de variables especificados en la sección de descripción
variables.
var i, j: entero;x: real;a: char;
leer(i, j, x, a);
Opciones para organizar el flujo de entrada:
1 0 2,5 A 1,0 1
2.5, un 0
2.5
A
Después de ejecutar la instrucción readln, el cursor se mueve a
nueva línea.

Programa mejorado
programa n_1;
constante pi=3,14;
var r, c, s: real;
comenzar
writeln("Calcular la circunferencia y el área de un círculo");
escribir("Ingrese r>>");
leerln(r);
c:=2*pi*r;
Resultado del programa:
s:=pi*r*r;
writeln("c="", c:6:4);
Pascal Versión 7.0
writeln("s=", s:6:4) Turbo
Calcular la circunferencia y el área de un círculo.
Ingrese r >> 8.5
fin.
c=53.3800
= 226,8650

El más importante
Para ingresar valores de variables en la RAM
Se utilizan los operadores de entrada read y readln.
Para mostrar datos de la RAM en la pantalla
El monitor utiliza los operadores de salida write y writeln.
La entrada de datos iniciales y la salida de resultados deben
estar organizado de forma clara y cómoda; esto asegura
facilidad de uso de la interfaz de usuario.

Preguntas y tareas
1) Dado un fragmento de programa:
a:=10; b:=a+1: a:=b–a; escribe (a,b)
¿Qué números se mostrarán en la pantalla de la computadora?
2) Describe las variables necesarias para el cálculo.
el área de un triángulo a lo largo de sus tres lados, y
escribir una declaración proporcionando información
datos iniciales necesarios.
3) ¿Cuál es el resultado de ejecutar la declaración?
a) escribir (a)
b) escribir ("a")
c) escribir("a=", a)
4) Es necesario asignar las variables enteras i, j, k
respectivamente, los valores son 10, 20 y 30.
Escriba la declaración de entrada correspondiente a la entrada.
arroyo:
a) 20 10 30
segundo) 30 20 10
c) 10,30,20

Operador es un elemento del lenguaje que especifica una descripción completa de la acción a realizar. Cada operador es una frase completa de un lenguaje de programación y define una etapa completamente completa del procesamiento de datos. Los operadores pueden incluir palabras de función, datos, expresiones y otros operadores. EN idioma en Inglés este concepto denotado por la palabra "declaración", que también significa "propuesta".

Cada operador en cualquier lenguaje de programación tiene un específico sintaxis Y semántica. Bajo sintaxis El operador se entiende como un sistema de reglas (gramática) que determina su registro utilizando los elementos del alfabeto. de este idioma, que, junto con varios símbolos, incluye, por ejemplo, palabras funcionales. Bajo semántica El operador entiende su significado, es decir aquellas acciones que corresponden al historial de un determinado operador. Por ejemplo, registrar yo:= yo + 1 es un ejemplo de notación sintácticamente correcta operador de asignación en lenguaje Pascal, cuya semántica en este caso es la siguiente: extraer el valor de la celda de memoria correspondiente a la variable i, sumarlo con uno y escribir el resultado en la misma celda de memoria.

En la mayoría de los lenguajes de programación de procedimientos, el conjunto de operadores es casi el mismo y consta de un operador de asignación, operadores de selección, operadores de bucle, un operador de llamada a procedimiento y operadores de salto. A veces también se distinguen operadores vacíos (sin acción) y compuestos. Muchos operadores son una forma de representar ciertas construcciones algorítmicas (ver “ Diseños algorítmicos” ) en un lenguaje de programación. Veamos los grupos de operadores con más detalle utilizando la sintaxis del lenguaje Pascal.

Operador de asignación

La asignación es una acción de la computadora como resultado de la cual una variable recibe el valor de una expresión calculada (se coloca en la celda de memoria correspondiente a la variable). Para describir tal acción en lenguajes de programación, existe operador de asignación.

En general, el operador de asignación se escribe así:

<переменная> <знак присваивания> <выражение>

Por ejemplo, en Pascal se utiliza la combinación de símbolos como signo de asignación: =. En varios otros idiomas es un signo igual.

El resultado de ejecutar el operador de asignación es un cambio en el estado de los datos: todas las variables excepto variable, ubicado en el lado izquierdo del operador de asignación, no cambian su significado, pero sí el especificado variable obtiene el valor expresiones, que aparece en el lado derecho del operador de asignación. En la mayoría de los casos se requiere que el tipo expresiones coincidía con el tipo variable. Si este no es el caso, entonces el operador se considera sintácticamente incorrecto o el tipo de expresión se convierte al tipo de variable (consulte “ Tipos de datos” ).

Operadores de selección

Estos operadores se llaman de manera diferente. declaraciones condicionales. Las declaraciones condicionales se utilizan para programar algoritmos que contienen una construcción de ramificación algorítmica.

Hay varios tipos de declaraciones condicionales en los lenguajes de programación. La declaración condicional completa corresponde a la estructura algorítmica de ramificación completa:

En un lenguaje de programación, el operador condicional correspondiente tiene la forma:

si B entonces T1 demás T2

Si la expresión B, que se calcula al comienzo de la ejecución de la declaración condicional, tiene el valor "verdadero", entonces la declaración se ejecutará T1, de lo contrario - operador T2. Operadores T1 Y T2 puede ser compuesto.

La estructura algorítmica de ramificación incompleta se implementa mediante un operador condicional incompleto, que tiene la forma:

si B entonces S

Aquí B es una expresión lógica, y S- operador arbitrario. Operador S se ejecutará si la expresión B es verdadera.

Si un operador condicional implementa sólo dos ramas de elección (“sí” y “no”), entonces usar operador variante (caso-operador) puede programar una estructura de múltiples ramas. El operador variante tiene el siguiente aspecto:

caso E de

Realizado este operador así: el significado de la expresión mi buscado entre los valores enumerados en el registro del operador V1, V2,…, Vn, y si se encuentra dicho valor, entonces se ejecuta el operador correspondiente S1, S2, …, Sn.

En diferentes lenguajes de programación, la sintaxis e incluso la semántica de los operadores enumerados pueden diferir, pero las capacidades que tales construcciones brindan al programador son aproximadamente las mismas.

Ejemplo 1. En el artículo " Diseños algorítmicos”2 se dio un ejemplo de cómo escribir un algoritmo para resolver una ecuación cuadrática generalizada usando construcciones de ramificación. Aquí hay un fragmento de un programa en Pascal que implementa el mismo algoritmo:

si un = 0 entonces

si segundo = 0 entonces

si c = 0 entonces writeln("x - cualquiera")

demás writeln("sin raíces")

demás escrito(-c/b)

si no, empezar

D:= b*b - 4*a*c;

si D< 0 entonces writeln("sin raíces")

si no, empezar

x1:= -b + raíz cuadrada (D);

x2:= -b - raíz cuadrada (D);

escrito(x1:0:2,""", x2:0:2)

Declaraciones de bucle

Los operadores de bucle implementan estructuras algorítmicas cíclicas; se utilizan para acciones que se repiten muchas veces. En muchos lenguajes de programación, existen tres tipos de operadores de bucle: "con condición previa", "con condición posterior", "con parámetro".

Una estructura algorítmica necesaria y suficiente para programar bucles es un bucle "con una condición previa", por lo que se le puede llamar el tipo principal de bucle. El operador de bucle con una condición previa tiene el siguiente aspecto:

mientras B hacer S

Operador S, para el cual se crea un bucle para ejecución repetida se llama cuerpo del bucle. La ejecución de un operador de bucle se reduce a la ejecución repetida del cuerpo del bucle hasta que se alcanza el valor de la expresión lógica. B verdadero (hasta que se vuelve falso). De hecho, declaraciones de bucle similares implementan la ejecución repetida de declaraciones condicionales. si B entonces S, mientras la condición sea verdadera B.

Ejemplo 2. Considere el uso de dicho operador de bucle para calcular la suma de los dígitos de un número natural. norte:

mientras N>0 empieza

S:= S + N modificación 10;

norte:=norte div 10

En un bucle con una poscondición, el cuerpo del bucle precede a la condición B. A diferencia de un bucle con una precondición, aquí B es la condición para finalizar el bucle. El operador de bucle con poscondición en Pascal tiene la forma:

repetir S hasta B

Con esta organización del ciclo, el cuerpo del ciclo S debe ejecutarse al menos una vez.

En casi todos los lenguajes procesales existe operador de bucle con parámetro. Se puede representar esquemáticamente así:

para< variable > E1 a E2 paso E3 hacer S

Aquí está el significado variable(parámetro de ciclo) cambia del valor de la expresión E1 a E2 en pasos de E3. Para cada valor de un parámetro de bucle, se ejecuta el operador S. En el lenguaje Pascal, el concepto de paso está ausente en la descripción de este operador, y el paso en sí para un parámetro de bucle entero puede ser igual a 1 o –1. El operador “bucle con parámetro” se utiliza para programar bucles con un número específico de repeticiones. No es adecuado para programar bucles iterativos (cuyo número de repeticiones se desconoce de antemano).

Operador de llamada de procedimiento

En el artículo " Subrutinas” describe detalladamente este tipo de subrutinas, como los procedimientos. Las rutinas del lenguaje de programación estándar que se incluyen en una de las bibliotecas de rutinas, así como las rutinas de usuario descritas dentro de este bloque, se llaman mediante el operador llamada a procedimiento:

<имя процедуры>(E1,E2,…,En)

Aquí E1,E2,…,En son variables o expresiones que representan parámetros reales acceso al procedimiento. Más comúnmente utilizado procedimientos estándar Son procedimientos de entrada y salida de datos (lectura y escritura en Pascal).

Llamar a un procedimiento es semánticamente equivalente a ejecutar el bloque descrito como el cuerpo del procedimiento, después de pasarle los valores iniciales de algunas variables (parámetros de valor) o reemplazar los nombres de algunas variables (parámetros de variable) con los nombres de las variables reales especificadas al llamar al procedimiento.

Ejemplo 3. Describamos el procedimiento abc:

procedimiento abc(a,b:entero; var c: número entero);

Llamar a este procedimiento abc(2,3,x) es equivalente a un bloque de acción:

Operadores de salto

El operador más famoso de este grupo de operadores es el operador de salto incondicional. ir a. Si agrega a todas o algunas de las declaraciones del programa existente etiquetas, entonces en el programa es posible utilizar un operador de transición de la forma:

ir a<метка>

La etiqueta en este caso corresponde al comienzo de la declaración a partir de la cual debe continuar la ejecución del programa. Este operador le permite escribir algoritmos en un lenguaje de programación que tienen una estructura arbitrariamente compleja. Pero a menudo el uso de la transición incondicional no está justificado, porque conduce a confusión, mal programa legible. Casi el único uso significativo del operador. ir a es una salida de varios bucles anidados a la vez, por ejemplo, al procesar matrices bidimensionales.

Ejemplo 4. Supongamos que necesitamos determinar si una matriz bidimensional a tiene un elemento igual a 0:

para yo:= 1 a norte hacer

para j:= 1 a norte hacer

si a = 0 entonces comienza

1: si b entonces escribir("es") demás escribir("no");

Un programa desarrollado según las reglas de la programación estructurada no debe contener operadores de salto incondicionales. El programa anterior sin utilizar el operador. ir a se puede reescribir de la siguiente manera:

mientras no b y(i< N) empieza

mientras no b y(j< N) empieza

si un = 0 entonces b:= verdadero;

si b entonces escribir("es") demás escribir("no");

En este caso, el programa estructurado es menos visual que el programa con ir a.

Se pueden definir otros operadores de salto en lenguajes de programación. Por ejemplo, en Pascal: romper(interrupción anticipada del ciclo, transición a una declaración que debe ejecutarse después del final del ciclo), continuar(finalización anticipada de la iteración del bucle actual y transición a la siguiente), salida(interrupción anticipada de la subrutina, salida de ella), detener(interrupción anticipada del programa, transición a su finalización). Existen operadores similares en los lenguajes C, C++ y Java.

operador compuesto

Una declaración compuesta es un grupo de declaraciones encerradas entre corchetes de operador (en Pascal - comenzarfin; en C, C++ - (…)).

El operador compuesto se introdujo en los lenguajes de programación para facilitar la descripción de las construcciones del lenguaje. Por ejemplo, en Pascal, la parte ejecutable de cada bloque (programa, procedimiento, función) es una declaración compuesta. Exactamente de la misma manera, el cuerpo de cualquier operador de bucle consta de un solo operador, quizás uno compuesto. Una alternativa a un operador compuesto puede ser una palabra funcional que indique el final de un operador en particular, por ejemplo, TERMINARA SI en lenguaje básico.

El tema "Operadores de lenguajes de programación" generalmente se estudia solo en el contexto de un lenguaje de programación específico. Al considerarlo, es importante mostrar la conexión entre las construcciones algorítmicas básicas y los operadores: las construcciones algorítmicas se escriben en un lenguaje de programación utilizando los operadores correspondientes. La excepción, en cierto sentido, es el diseño secuencial; determina el orden lineal de las acciones. Las acciones en un programa estrictamente lineal se implementan únicamente mediante declaraciones de asignación y declaraciones de llamada a procedimientos.

En la etapa inicial de aprendizaje de la programación, los escolares encuentran muchos problemas. La primera barrera psicológica que deben superar es a la hora de aprender el operador de asignación. Una de las principales tareas que debes resolver junto con tus alumnos es intercambiar los valores de dos variables. Puede pedir a los escolares que resuelvan mentalmente el problema de cómo intercambiar el contenido de dos cajones, por ejemplo, un escritorio. Normalmente, en esta etapa de la discusión, los estudiantes se dan cuenta de que se necesita un tercer cuadro (variable) para resolver el problema. Sin embargo, al escribir este algoritmo, a menudo confunden en qué parte del operador de asignación (izquierda o derecha) debe aparecer una variable en particular.

Los errores al escribir expresiones aritméticas y lógicas surgen debido al desconocimiento de la precedencia de las operaciones que se utilizan en la expresión. Al mismo tiempo, por operaciones no sólo se entiende la aritmética, sino también las operaciones de comparación y las conectivas lógicas, y en lenguaje C la operación de asignación, que es muy inusual para los escolares. La situación se complica por el hecho de que en diferentes lenguajes de programación las mismas operaciones tienen diferentes prioridades relativas. También debe prestar atención a la correspondencia entre los tipos de variable y la expresión en los lados izquierdo y derecho del operador de asignación (ver “ Tipos de datos”).

Al dominar los operadores de selección, es útil que los estudiantes programen un algoritmo que contenga una estructura de múltiples ramas, usando una combinación de declaraciones condicionales y un operador de selección.

Ejemplo. A una variable entera norte Ingrese la edad de la persona en años. Escribe la frase “ tengo k años”, reemplazando la palabra años en año o del año dependiendo del numero k. Aquí hay dos soluciones a este problema:

si(k modificación 100) en

entonces writeln ("tengo", k, "años")

caso k modificación 10 de

0,5..9:writeln("Tengo "," k, "años");

1:writeln("Tengo ","k,"años");

2..4:writeln("Tengo "," k, "años");

var k, n: entero;

lectura(k); n:= k mod 10;

si(k modificación 100) en

entonces writeln ("tengo", k, "años") demás

si norte=1 entonces writeln("tengo ",k," años")

si(n>=) y(norte<= 4)

entonces writeln ("tengo", k, "años")

demás writeln ("tengo", k, "años")

Al considerar los operadores de bucle, es útil sugerir programar la misma tarea de tres maneras diferentes utilizando tres operadores de bucle, y viceversa, según las condiciones del problema, aprenda a determinar qué operador de bucle es el más adecuado en un caso particular.

El procedimiento de llamada al operador es sencillo a primera vista. Aquí es importante explicar las reglas para pasar parámetros a procedimientos y funciones, la diferencia entre parámetros variables y parámetros de valor (en el último caso, podemos pasar no solo el nombre de la variable, sino también una constante o incluso una expresión de la correspondiente tipo). Los parámetros formales y reales deben corresponder en tipo, pero no en nombre, lo que dista mucho de ser obvio para los estudiantes.

Estudiar el enunciado condicional y especialmente el compuesto es una buena oportunidad para hablar con los estudiantes sobre el estilo de redacción de programas. Hay varias formas comunes de escribir programas estructurados en Pascal, pero todas incluyen sangría para acomodar estructuras anidadas. Importante para grabar programas y comentarios.

El código del programa se muestra en la Fig. 4.3-9.

Opción estricta en opción explícita en importaciones System.Math Clase pública Form1 "Función para ingresar las coordenadas de un punto en un cuadro de texto Función vvod(ByVal T As TextBox) Como retorno único CSng(Val(T.Text)) Función final "Procedimiento para generando el resultado en un TextBox Sub vivod (ByVal Z As Single, ByVal T As TextBox) T.Text = CStr(Z) End Sub "Función para calcular la longitud de un segmento a partir de las coordenadas de dos puntos Función pública Longitud del segmento (ByVal x1 como único, _ ByVal y1 como único, ByVal x2 como único, _ ByVal y2 como único) como único Return CSng(Sqrt((x2 - x1) ^ 2 + (y2 - y1) ^ 2)) Función final "Procedimiento para calcular el perímetro y el área de un triángulo Sub PS(ByVal x1 As Single, ByVal y1 As Single, _ ByVal x2 As Single, ByVal y2 As Single, _ ByVal x3 As Single, ByVal y3 As Single, _ ByRef P As Single , ByRef S As Single) Dim A, B, C, Pp As Single A = Longitud del segmento(x1, y1, x2, y2)"Llamada a la función para calcular la longitud del negativo. B = Longitud del segmento (x2, y2, x3, y3) C = Longitud del segmento (x3, y3, x1, y1) P = (A + B + C) : Pp = P / 2 S = CSng(Sqrt(Pp * (Pp - A) * (Pp - B) * (Pp - C))) End Sub "Procedimiento para procesar el evento de clic en el botón Button1 Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Maneja Button1.Click Dim x1 Como único, x2 Como único, x3 Como único Dim y1 Como único, y2 Como único, y3 Como único Dim Per Como único, Plo Como único x1 = vvod(TextBox1): x2 = vvod(TextBox2): x3 = vvod(TextBox3) ) y1 = vvod(TextBox6) : y2 = vvod(TextBox7) : y3 = vvod(TextBox8) PS(x1, y1, x2, y2, x3, y3, Per, Plo) vivod(Plo, TextBox4) : vivod(Plo, TextBox5) Finalizar Sub Botón Sub Privado2_Click(ByVal remitente Como System.Object, _ ByVal e Como System.EventArgs) Maneja el Botón2.Haga clic en Fin Fin Sub Fin Clase

Ejecutar la aplicación y obtener resultados.

El resultado se muestra en la figura. 4.3-10.

Prueba de la exactitud del resultado.

A=
= 2.82843 B =
= 2

C = = 2 P = A + B + C = 6,828427; Рр = Р/2 = 3.414213 S= = 2


Preguntas de seguridad sobre el tema.

“La estructura de los programas, módulos y procedimientos de VB.

Herramientas de programación para algoritmos de estructura lineal"

1. ¿Qué es un modelo matemático?

2. ¿Cuáles son las principales etapas involucradas en la resolución de problemas en una computadora?

3. ¿Qué etapas de la resolución de problemas informáticos se llevan a cabo sin la participación de una computadora?

4. ¿Cómo se llama modelo matemático de un objeto o fenómeno?

5. ¿Cuáles son los pasos secuenciales en el proceso de desarrollo del programa?

6. ¿Qué es un algoritmo?

7. ¿Qué propiedades básicas debe tener un algoritmo?

8. ¿Qué formas existen de describir algoritmos?

9. ¿Qué símbolos gráficos se suelen representar en los diagramas de algoritmos?

10. ¿Cómo funciona el intérprete?

11. ¿Cómo funciona el compilador?

12. ¿Qué algoritmo se llama lineal?

13. ¿Qué algoritmo se llama cíclico?

14. ¿Qué algoritmo se llama ramificación?

15. ¿Cuál es la diferencia entre pasar los resultados de funciones y procedimientos?

16. ¿La obtención de un resultado plausible prueba que el programa es correcto?

17. ¿Qué errores pueden pasar desapercibidos si no verifica (ve, desplaza) el programa?

18. ¿En qué se diferencia probar un programa de depurarlo?

19. ¿Es posible demostrar la corrección de un programa mediante pruebas?

20. ¿En qué etapa del programa se calculan los resultados de las pruebas de referencia?

21. Enumere las principales etapas del proceso de prueba.

22. ¿Cuál es la diferencia entre errores de sintaxis y errores semánticos?

23. ¿Qué indica la falta de mensajes de error de sintaxis de la máquina?

24. ¿Qué tipos de errores no puede detectar el traductor?

25. ¿Cuál es el programa?

26. ¿En qué etapa se produce la búsqueda y eliminación de errores en el programa?

27. ¿Qué es un sistema de programación?

28. ¿Cuál es el procedimiento?

29. ¿Cuáles son los beneficios de un programa que tiene procedimientos?

30. ¿Qué herramientas de programación de procedimientos están disponibles en VB?

31. ¿Cómo se intercambian datos entre los procedimientos de programas individuales?

32. ¿Cuáles son los parámetros reales y formales?

33. ¿Cómo pasar como parámetro: una constante, una variable, una expresión?

34. ¿Cómo se utilizan las variables globales?

35. ¿Cómo se utilizan las variables locales?

36. ¿Qué son los parámetros formales?

37. ¿Cuáles son los parámetros reales?

38. ¿Qué sucede cuando se llama a un procedimiento?

39. ¿Cómo se pueden pasar parámetros a un procedimiento?

40. ¿Qué parámetros se pasan por valor?

41. ¿Qué parámetros se pasan a la dirección?

42. ¿Qué son las herramientas de programación procesal?

43. ¿Cuál es el resultado de ejecutar una función?

44. ¿Cómo se deben declarar las variables individuales para que sean locales dentro de una función?

45. ¿Qué declaración se utiliza para salir temprano de una función?

46. ¿Qué se controla al llamar a funciones y procedimientos?

47. ¿Cómo se deben declarar los parámetros formales para pasar un parámetro variable por valor?

48. ¿Cómo se deben declarar los parámetros formales para pasar un parámetro variable a una dirección?

49. ¿Cómo se llama a un procedimiento de función desde el programa que lo llama?

50. ¿Cuál podría ser el resultado del procedimiento?

51. ¿Qué declaración se utiliza para salir anticipadamente de un procedimiento?

52. ¿Dónde se pueden ubicar las descripciones de funciones y procedimientos?

53. ¿Dónde estará disponible una variable declarada mediante el operador Público?

54. ¿Dónde se puede ubicar el Operador Privado?

55. ¿Qué es un comentario y las reglas para escribirlo?

56. ¿Cuáles son los valores de las variables al inicio del programa?

57. ¿Por qué se describen (definen) procedimientos y funciones?

58. ¿Cómo se llaman los procedimientos?

59. ¿Cómo se llaman las funciones?


Información relacionada.





Arriba