Preguntas y tareas. Escribir código de programa Utilizar procedimientos Declaración Restricciones de uso

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 enviar datos desde la RAM a la pantalla del monitor, utilice el operador de salida de escritura:

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 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 ú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.

"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. Revisión de la gama de modelos. Impresoras económicas a todo color para imprimir tarjetas de plástico. Alto rendimiento Amplia gama de dispositivos de codificación opcionales.

“Periféricos de PC” - Dispositivos periféricos. Impresoras. Registro. Cámaras digitales. Jerarquía de herramientas de conexión. Adaptadores de vídeo. Clasificación de PU. Autobús 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 con forma de ratón.

“Medios de entrada y salida de información” - Escáner. Trazador. CRT. Impresoras. Teclado. Cámaras fotográficas y digitales. 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. Desventajas de las impresoras de inyección de tinta: Alto consumo de tinta; Alto costo de recarga. Los monitores de cristal líquido (LCD) de pantalla plana son compactos y no generan emisiones. Dispositivos de salida de información. El monitor es un dispositivo universal de salida de información.

"Impresoras" - Locales. Termobloque, estufa, fusor: una unidad en la que el tóner se convierte en papel. Láser. Matriz (en forma de aguja). Con el tiempo pierden sus propiedades y deben ser sustituidos periódicamente por un especialista. Chorro. Red. Modificado por el usuario. Características de la impresora. Revelador, portador, revelador: las partículas metálicas más pequeñas que transfieren el tóner al rollo fotográfico.

"Subsistema de E/S" - Punto de interrupción. Mesas. Colocación continua. Atributo. Permisos de archivos. Lista enlazada de índices. Datos. Organización física. Memoria de acceso directo. Archivo indexado secuencial. Montaje. E/S impulsadas por interrupción. Permisos de acceso al directorio. Organización de trabajos paralelos.

Hay un total de 27 presentaciones en el tema.

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

El primer operando, "expresión1", puede ser cualquier expresión cuyo resultado sea 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 a FALSO , luego se ejecuta el tercer operando: "expresión3". El segundo y tercer operando, es decir, "expresión2" y "expresión3", deben devolver valores del mismo tipo y no deben ser de tipo void. El resultado de ejecutar una 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 de "expresión1" debe devolver uno de dos valores: "expresión2" o "expresión3". Existen una serie de restricciones sobre estas expresiones:

  1. No se puede mezclar un tipo definido por el usuario con un tipo o enumeración simple. Es aceptable utilizar NULL como puntero.
  2. Si los tipos de valor son simples, entonces el tipo de operador será el tipo máximo (consulte Coerción de tipos).
  3. Si uno de los valores es un tipo de enumeración y el segundo es un tipo numérico, entonces la enumeración se reemplaza por int y se aplica la segunda regla.
  4. Si ambos valores son valores de enumeración, entonces sus tipos deben ser los mismos y el tipo de operador será una enumeración.

Limitaciones para tipos personalizados (clases o estructuras):

  1. los tipos deben ser iguales o uno debe heredar del otro.
  2. si los tipos no son los mismos (herencia), entonces el hijo se convierte implícitamente al padre, es decir, el tipo del operador será el tipo del padre.
  3. No se pueden mezclar objetos y punteros; ambas expresiones son objetos o punteros. Es aceptable utilizar NULL como puntero.

Nota

Tenga cuidado al utilizar un operador condicional como argumento para una función sobrecargada, ya que el tipo de resultado del operador condicional se determina en el momento en que se compila el programa. Y este tipo se define como el tipo más grande de los tipos "expresión2" y "expresión3".

Ejemplo:

función vacía (doble d) ( Imprimir ("doble argumento:", d); )
función vacía (cadena s) ( Imprimir ("argumento de cadena:", s); )

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

anular el inicio()
{
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:
// doble argumento: 3.141592653589793

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

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 demuestra 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.


gastrogurú 2017