Ventanas.  virus  Cuadernos.  Internet.  oficina.  Utilidades.  Conductores

"Impresora para imprimir tarjetas de plástico": la capacidad de colocar el doble de información en una tarjeta de plástico. Precio. Impresora para imprimir tarjetas de plástico. CEBRA P110i/ P120i. Revisar gama de modelos. Impresoras económicas de tarjetas plásticas a todo color. Alto rendimiento Amplia gama de codificadores opcionales.

"Periféricos de PC" - Periféricos. Impresoras. Registro. Cámaras digitales. Jerarquía de medios de conexión. Adaptadores de vídeo. Clasificación PU. Bus serie universal. CD-R. Opciones de selección. Construido en un instante. pioneros. Naturaleza. Módem. Terminal de vídeo. Escáneres. Periféricos de PC. Clasificación de los murinos.

"Medios de entrada y salida de información" - Scanner. Trazador. CRT. Impresoras. Teclado. Cámaras digitales y cámaras fotográficas. Funciones. Dispositivo de entrada universal. Dispositivos de entrada y salida de información. Tableta gráfica. Ratón.

"Dispositivos de salida de información" - Dispositivo informático. Cuanto mayor sea la resolución del monitor, mayor será la calidad de la imagen. Defectos impresoras de inyección de tinta: Alto consumo de tinta; Alto costo de reabastecimiento de combustible. Los monitores de cristal líquido (LCD) de pantalla plana son compactos y no emiten radiación. Dispositivos de salida de información. monitorear es dispositivo universal salida de información.

"Impresoras" - Locales. Bloque térmico, fusor, fusor: una unidad en la que el tóner se cuece en el papel. Láser. Matriz (aguja). Con el tiempo, pierden sus propiedades y están sujetos a reemplazo regular por parte de un especialista. Chorro de tinta. Red. Modificado por el usuario. Características de las impresoras. Revelador, portador, revelador: las partículas de metal más pequeñas que transfieren el tóner al rodillo fotográfico.

"Subsistema de E / S" - Punto de interrupción. Mesas. Colocación continua. Atributo. Permisos de archivo. Lista enlazada de índices. Datos. Organización física. Memoria de acceso directo. Archivo secuencial de índice. Montaje. E/S controlada por interrupciones. Permisos de acceso al directorio. Organización del trabajo paralelo.

En total hay 27 presentaciones en el tema

Como primer operando, "expresión1", se puede usar cualquier expresión, cuyo resultado es un valor de tipo bool. si el resultado es verdadero , luego se ejecuta el operador especificado por el segundo operando, es decir, "expresión2".

Si el primer operando es igual FALSO , luego se ejecuta el tercer operando: "expresión3". Los operandos segundo y tercero, es decir, "expr2" y "expr3", deben devolver valores del mismo tipo y no deben ser de tipo void. El resultado de la declaración condicional es el resultado de "expresión2" o el resultado de "expresión3", dependiendo del resultado de "expresión1".

Restricciones de uso del operador

El operador, basado en el valor "expresión1", debe devolver uno de dos valores, ya sea "expresión2" o "expresión3". Hay una serie de restricciones en estas expresiones:

  1. No puede mezclar un tipo definido por el usuario con un tipo simple o una enumeración. Es legal usar NULL para un puntero.
  2. Si los tipos de valor son simples, entonces el tipo del operador será el tipo máximo (ver Casting).
  3. Si uno de los valores es de tipo enum y el otro es de tipo numérico, entonces el enum se reemplaza por int y se aplica la segunda regla.
  4. Si ambos valores son valores de enumeración, entonces sus tipos deben ser iguales y el tipo del operador será una enumeración.

Restricciones para tipos personalizados (clases o estructuras):

  1. los tipos deben ser los mismos o uno debe heredar del otro.
  2. si los tipos no son los mismos (herencia), entonces el hijo se convierte implícitamente en el padre, es decir, el tipo del operador será el tipo del padre.
  3. no puede mezclar un objeto y un puntero; ambas expresiones son objetos o punteros. Es legal usar NULL para un puntero.

Nota

Tenga cuidado al usar un operador condicional como argumento de una función sobrecargada, porque el tipo de resultado del operador condicional se determina en el momento de la compilación. Y este tipo se define como el tipo más grande de los tipos "expresión2" y "expresión3".

Ejemplo:

void func(doble d) ( Print ("doble argumento: " ,d); )
void func(cadena s) ( Print ("argumento de cadena: " ,s); )

bool Expresión1=verdadero;
doble expresión2=M_PI;
cadena Expresión3= "3.1415926" ;

vacío OnStart ()
{
func(Expresión2);
func(Expresión3);

func(Expresión1?Expresión2:Expresión3);
func(!Expresión1?Expresión2:Expresión3);// recibe una advertencia del compilador sobre la conversión explícita al tipo de cadena
}

// Resultado:
// argumento doble: 3.141592653589793

// argumento de cadena: 3.141592653589793
// argumento de cadena: 3.1415926

Operador es un elemento del lenguaje que define Descripción completa acción para ser tomada. Cada operador es una frase completa del lenguaje de programación y define alguna etapa completa del procesamiento de datos. Los operadores pueden incluir palabras de servicio, datos, expresiones y otros operadores. EN idioma en Inglés este concepto denotado por la palabra "declaración", que también significa "oferta".

Cada operador en cualquier lenguaje de programación tiene una función específica sintaxis Y semántica. Bajo sintaxis operador se entiende como un sistema de reglas (gramática) que define su registro utilizando elementos del alfabeto idioma dado, que, junto con varios símbolos, incluye, por ejemplo, palabras de servicio. Bajo semántica el operador entiende su significado, es decir, aquellas acciones a las que corresponda el registro de tal o cual operador. Por ejemplo, la entrada yo:= yo + 1 es un ejemplo de una notación sintácticamente correcta operador de asignación V lenguaje pascual, cuya semántica en este caso es el siguiente: extraer el valor de la celda de memoria correspondiente a la variable i, sumarlo a uno, 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 de procedimiento, operadores de salto. A veces también hay operadores vacíos (sin acción) y compuestos. Muchos operadores son una forma de representar ciertas construcciones algorítmicas (ver “ Construcciones algorítmicas”) en un lenguaje de programación. Consideremos grupos de operadores con más detalle, usando la sintaxis del lenguaje Pascal.

operador de asignación

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

EN vista general El operador de asignación se escribe así:

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

Por ejemplo, en el lenguaje Pascal, la combinación de caracteres: = se usa como signo de asignación. En varios otros idiomas, el signo igual.

El resultado de ejecutar el operador de asignación es un cambio en el estado de los datos: todas las variables que no sean variable, de pie en el lado izquierdo del operador de asignación, no cambia su valor, y el especificado variable obtiene valor expresiones, de pie en el lado derecho del operador de asignación. En la mayoría de los casos se requiere que el tipo expresiones coincide 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 (ver “ Tipos de datos” ).

Operadores de selección

De otra forma, estos operadores se llaman declaraciones condicionales. Las declaraciones condicionales se utilizan para programar algoritmos que contienen la construcción algorítmica de ramificación.

Hay varios tipos de sentencias 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 es:

si B entonces S1 demás S2

Si la expresión B, que se evalúa al comienzo de la ejecución de la instrucción condicional, es verdadero, entonces se ejecutará la instrucción S1, de lo contrario - el operador S2. Operadores S1 Y S2 puede ser compuesto.

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

si B entonces S

Aquí B es una expresión booleana, y S es un operador arbitrario. Operador S se ejecutará si la expresión B se evalúa como verdadera.

Si el operador condicional implementa solo dos ramas de elección ("sí" y "no"), entonces usando operador de variante (caso-operador) puede programar una estructura de múltiples sucursales. El operador de variante se parece a:

caso E de

Realizado operador dado así: valor de la expresión mi se busca entre los valores listados en el registro del operador V1, V2, …, Vn, y si se encuentra dicho valor, entonces se ejecuta la instrucción 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 oportunidades que tales construcciones brindan al programador son aproximadamente las mismas.

Ejemplo 1 En el artículo " Construcciones algorítmicas”2, se dio un ejemplo de escritura de un algoritmo para resolver una ecuación cuadrática generalizada usando construcciones de ramificación. Aquí hay un fragmento de programa 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 escribir(-c/b)

más empezar

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

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

más empezar

x1:= -b + sqrt(D);

x2:= -b - sqrt(D);

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

Declaraciones de bucle

Los operadores de bucle implementan construcciones algorítmicas cíclicas, se utilizan para acciones que se repiten muchas veces. En muchos lenguajes de programación, hay tres tipos de declaraciones 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 de "precondición", por lo que puede llamarse el tipo principal de bucle. El operador de bucle con una condición previa tiene la forma:

mientras B hacer S

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

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

mientras norte > 0 empezar

S:= S + N modificación 10;

N:=N división 10

En un ciclo con una condición posterior, el cuerpo del ciclo precede a la condición B. A diferencia de un ciclo con una condición previa, aquí B es la condición final del ciclo. El operador de bucle con una condición posterior 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.

Casi todos los lenguajes procedimentales tienen operador de bucle con parámetro. Esquemáticamente, se puede representar de la siguiente manera:

para< variable > E1 a E2 paso E3 hacer S

Aquí el valor variable(parámetro de ciclo) cambia del valor de la expresión E1 a E2 con el paso E3. Para cada valor del parámetro de bucle, se ejecuta el operador S. En el lenguaje Pascal, el concepto de paso en la descripción de este operador está ausente, 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 determinado de repeticiones. No es adecuado para programar bucles iterativos (cuyo número de repeticiones no se conoce de antemano).

sentencia de llamada a procedimiento

En el artículo " subrutinas” describe en detalle acerca de este tipo de subrutinas, como procedimientos. Las subrutinas estándar del lenguaje de programación que se incluyen en una de las bibliotecas de subrutinas, así como las subrutinas definidas por el usuario descritas dentro de este bloque, se llaman usando el operador llamada de procedimiento:

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

Aquí E1,E2,…,En son variables o expresiones que representan parámetros reales refiriéndose al procedimiento. Los procedimientos estándar más utilizados son los procedimientos de entrada y salida de datos (lectura y escritura en Pascal).

Llamar a un procedimiento es semánticamente equivalente a ejecutar el bloque declarado 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 los reales. variables especificadas cuando se llamó al procedimiento.

Ejemplo 3 Describamos el procedimiento abc:

procedimiento abc(a,b:entero; variable c: entero);

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

Saltar declaraciones

El más famoso de este grupo de operadores es el operador de salto incondicional ir a. Si añadimos a todas o algunas de las sentencias de programa ya existentes etiquetas, entonces en el programa es posible usar el operador de transición de la forma:

ir a<метка>

La etiqueta en este caso corresponde al inicio de la sentencia a partir de la cual debe continuar la ejecución del programa. Dicho operador permite escribir algoritmos en un lenguaje de programación que tiene una estructura arbitrariamente compleja. Pero a menudo el uso de una transición incondicional no está justificado, porque conduce a un programa confuso y difícil de leer. Casi el único uso significativo del operador. ir a es la salida de varios bucles anidados a la vez, por ejemplo, al procesar matrices bidimensionales.

Ejemplo 4 Supongamos que queremos determinar si hay matriz bidimensional 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 escribe("es") demás escribe("no");

Un programa desarrollado de acuerdo con las reglas de la programación estructurada no debe contener operadores de sucursales incondicionales. El programa anterior sin usar la instrucción ir a se puede reescribir así:

mientras no b y(i< N) empezar

mientras no b y(j< N) empezar

si un = 0 entonces b:=verdadero;

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

En este caso, el programa estructural 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 la declaración que debe ejecutarse después del final del ciclo), continuar(terminación anticipada de la iteración del bucle actual y transición a la siguiente), salida(interrupción anticipada de la subrutina, salida de la misma), detener(interrupción prematura del programa, transición a su final). Existen operadores similares en C, C++ y Java.

Operador compuesto

Un enunciado compuesto es un grupo de enunciados encerrados entre paréntesis (en Pascal, comenzarfin; en C, C++ - (…)).

El operador compuesto se introduce 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 sola 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 una declaración compuesta puede ser una palabra funcional que indique el final de una declaración en particular, por ejemplo, TERMINARA SI en el lenguaje Básico.

El tema "Operadores de lenguaje de programación" generalmente se estudia solo en el contexto de un lenguaje de programación en particular. 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 la construcción secuencial, define el orden lineal en el que se realizan las acciones. Acciones estrictamente programa lineal son implementados únicamente por operadores de asignación y operadores de llamada de procedimiento.

En etapa inicial Hay muchos problemas en la enseñanza de la programación a los estudiantes. La primera barrera psicológica que tienen que superar a la hora de aprender el operador de asignación. Una de las principales tareas que debe resolverse junto con los estudiantes es el intercambio de valores de dos variables. Puede invitar a los estudiantes a resolver mentalmente el problema de cómo intercambiar el contenido de dos cajones, por ejemplo, un escritorio. Por lo general, en esta etapa de la discusión, los estudiantes suponen 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) debería estar esta o aquella variable.

Los errores al escribir expresiones aritméticas y lógicas surgen debido a la ignorancia de la precedencia de las operaciones que se utilizan en la expresión. Al mismo tiempo, las operaciones se entienden no solo como operaciones aritméticas, sino también como operaciones de comparación y conectivos lógicos, y en el lenguaje C, como una operación de asignación, lo cual 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 la variable y la expresión en las partes izquierda y derecha del operador de asignación (ver “ Tipos de datos”).

Al dominar los operadores de selección, es útil ofrecer a los escolares que programen un algoritmo que contenga una estructura de múltiples ramificaciones, tanto usando una combinación de operadores condicionales como usando un operador de selección.

Ejemplo. en una variable entera norte Introduzca la edad de la persona en años. Escriba la frase " tengo k años”, reemplazando la palabra años en año o del año dependiendo del número 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("Soy ",k," año");

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

var k, n: entero;

readln(k); n:= k módulo 10;

si(k modificación 100) en

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

si n=1 entonces writeln("Soy",k,"año")

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 proponer que la misma tarea se programe de tres maneras diferentes usando tres operadores de bucle, y viceversa, según la condición del problema, aprenda a determinar qué operador de bucle es el más apropiado en un caso particular.

El procedimiento de llamada al operador es simple 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 este último caso, podemos pasar no solo un nombre de variable, sino también una constante o incluso una expresión de la correspondiente tipo). Los parámetros formales y reales deben coincidir en tipo pero no en nombre, lo que dista mucho de ser obvio para los estudiantes.

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

Salida de datos
Salida de datos de memoria de acceso aleatorio en la pantalla del monitor:
escribir
(<выражение 1> ,< выражение 2> , ...,< выражение N>)
lista de salida
Expresiones: simbólicas, numéricas, lógicas,
incluyendo variables y constantes
Ejemplo:
escribe("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 retirada
Sin separadores
Operador de salida
escribir (1, 20, 300).
Resultado
120300
Agregue delimitadores escriba (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 posiciones asignadas para el número;
y - el número de posiciones en la parte fraccionaria del número.
Operador de salida
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=
escribir
15.0
- salida de una nueva línea!

primer programa
programa n_1;
pi constante = 3,14;
var r, c, s: reales;
comenzar
r:=5,4;
c:=2*pi*r;
El resultado del programa:
s:=pi*r*r;
escribir("c=", c:6:4);
escribir("s=", s:6:4)
turbopascal
Versión 7.0
fin.
c=33.9120
s=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 ingresa al 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 espacios o comas;
al ingresar variables simbólicas
no se pueden colocar espacios ni comas;
3) el usuario presiona la tecla Enter.

entrada de teclado
!
Los tipos de valores de entrada deben coincidir
los tipos de variables especificados en la sección de declaració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, A 0
2.5
A
Después de ejecutar la instrucción readln, el cursor salta a
nueva línea.

Programa mejorado
programa n_1;
pi constante = 3,14;
var r, c, s: reales;
comenzar
writeln("Calcular la circunferencia y el area de un circulo");
escribir("Ingrese r>>");
readln(r);
c:=2*pi*r;
El resultado del programa:
s:=pi*r*r;
escribir("c=", c:6:4);
Pascal Versión 7.0
escribir("s=", s:6:4) Turbo
Cálculo de la circunferencia y el área de un círculo.
Ingrese r>> 8.5
fin.
c=53.3800
s=226.8650

El más importante
Para ingresar valores de variables en la RAM
se utilizan operadores lectura de entrada y leer.
Para enviar datos desde la RAM a la pantalla
monitor, se utilizan las sentencias de salida write y writeln.
La entrada de datos iniciales y la salida de resultados deben
organizarse de manera clara y conveniente; proporciona
amabilidad de la interfaz de usuario.

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

En el párrafo anterior, nos familiarizamos con la estructura de un programa Pascal, aprendimos cómo describir datos y examinamos 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 enviar datos desde la RAM a la pantalla del monitor, use el operador de salida de escritura:

Aquí, entre paréntesis, se coloca la lista de salida: una lista de expresiones cuyos valores se imprimen. Puede ser numérico, de caracteres y expresiones booleanas, incluyendo variables y constantes.

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

Ejemplo. La sentencia write ("s=" , s) se ejecuta así:

  1. los caracteres encerrados entre apóstrofes se muestran en la pantalla: s=
  2. el valor de la variable almacenada en la 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 la pantalla mostrará: s=l.5E+01.

Cuando se ejecuta una declaración de salida, todos los elementos de la lista de salida se imprimen directamente uno tras otro. Entonces, como resultado de la operación del operador de escritura (1, 20, 300), la secuencia de dígitos 120300 se mostrará en la pantalla, que percibiremos como el número 120300, y no como tres constantes numéricas separadas . Hay muchas maneras de hacer que los datos de salida sean más accesibles para la percepción:

Formato de salida es un número entero especificado después de los dos puntos, que determina cuántas posiciones en la pantalla debe ocupar el valor de salida. Si hay menos dígitos en el número que las posiciones reservadas para él en la pantalla, las posiciones libres se rellenan 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 que el necesario, se incrementará 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 pasar a una nueva línea, use la instrucción writeln. No hay otras diferencias entre las sentencias write y writeln.

4.2.2. El primer programa Pascal

Utilizando los operadores considerados, compondremos un programa que calcule la circunferencia y el área de un círculo de radio 5,4 cm.

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

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

Este programa es correcto y resuelve el problema. Ejecutándolo para su ejecución, obtendrá el siguiente resultado:

Y, sin embargo, el programa que compilamos tiene un inconveniente importante: encuentra la circunferencia y el área de un círculo para un solo 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. Haciendo cambios a programa existente, al menos no siempre conveniente (por ejemplo, cuando el programa es grande y hay muchos operadores de asignación). A continuación, se familiarizará con el operador, que le permite ingresar los datos iniciales en el proceso de ejecución del programa, sin tener que cambiar el texto del programa.

4.2.3. entrada de teclado

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

Cuando se emite una declaración de lectura, la computadora ingresa al modo de espera de datos: el usuario debe ingresar los datos desde el teclado y presionar la tecla Enter. Se pueden ingresar varios valores de tipos numéricos variables 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 establecer.

El primer valor de variable ingresado por el usuario se coloca en la ubicación de memoria cuyo nombre se ubica primero en la lista de entrada, y así sucesivamente. Por lo tanto, los tipos de valores de entrada (flujo de entrada) deben coincidir con los tipos de variables especificados en el sección de declaración de variables.

Ejemplo. Dejar

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

Asigne las variables i, j, x, y los valores 1, 0, 2.5 y "A". Para hacer esto, usamos el operador de lectura (i, j, x, a) y organizamos el flujo de entrada de una de las siguientes maneras:

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

También puede usar la instrucción readln para ingresar datos desde el teclado, que difiere de la instrucción read solo en que después de ejecutarla, el cursor salta a una nueva línea.

Mejoremos el programa n_1 organizando la entrada de datos en él usando la declaración de lectura. Y para que el usuario sepa para qué está destinado el programa y comprenda exactamente qué acción espera la computadora de él, mostraremos los mensajes de texto correspondientes utilizando 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 solo problema, sino toda una clase de problemas. Además, el programa organiza de forma clara y cómoda la entrada de los datos iniciales y la salida de los resultados. Esto proporciona una interfaz de usuario amigable.

El más importante

Las declaraciones de entrada read y readln se utilizan para ingresar valores variables en la RAM.

Los operadores de salida write y writeln se utilizan para enviar datos desde la RAM a la pantalla del monitor.

La entrada de datos iniciales y la salida de resultados deben organizarse de manera clara y conveniente; esto proporciona una interfaz de usuario amigable.

preguntas y tareas

  1. Escriba una declaración que proporcione la entrada del valor de la variable summa durante la ejecución del programa.
  2. A las variables enteras i, y, k se les debe asignar respectivamente los valores 10, 20 y 30. Escriba la sentencia de entrada correspondiente al flujo de entrada:
      a) 20 10 30
      b) 30 20 10
      c) 10 30 20
  3. Describe las variables necesarias para calcular el área de un triángulo dados sus tres lados y escribe un operador que proporcione la entrada requerida.
  4. ¿Cuál es el resultado de ejecutar la instrucción?
      a) escribir (a)
      b) escribir (1 a ")
      c) escribir (1 a = 1, a)
  5. ¿De qué tipo es la variable f si se muestra el siguiente número después de ejecutar la declaración de escritura (f)?
      a) 125
      b) 1.25E+2
  6. ¿Cómo puedo mostrar un número real en formato de punto fijo?
  7. Escriba las declaraciones para ingresar dos números y sacarlos en orden inverso.
  8. Dado un fragmento del programa:

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

    Simplifique reduciendo el número de sentencias de entrada y salida.

  9. Dado un fragmento del programa:

    un:=10; b:=a+l: a:=b-a; escribir (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 dados sus dos lados.

Si nota un error, seleccione un fragmento de texto y presione Ctrl + Enter
COMPARTIR: