Lección 006: Estructuras de control: secuencia y selección
Página 1 de 1.
Lección 006: Estructuras de control: secuencia y selección
Ejercicio 1: Indica cuáles de las siguientes expresiones booleanas son verdaderas:
==========================================================================
Ejercicio 2: Indica el valor de las siguientes expresiones para x = 0 usando siempre la semántica de circuito corto:
==========================================================================
Ejercicio 3
Considera la siguiente instrucción:
Indica qué se exhibe según el valor dado para calif:
==========================================================================
Ejercicio 4: Considera la siguiente instrucción IF anidada:
Escribe una sola instrucción IF que sea equivalente a ésta pero que no contenga otra instrucción IF anidada.
==========================================================================
Ejercicio 5: Considera el siguiente segmento de programa :
Determine el valor que queda en las variables x e y.
==========================================================================
Ejercicio 6: Considera el siguiente segmento de programa:
==========================================================================
Ejercicio 7: Indica qué es lo que se exhibe al ejecutar los siguientes segmentos de programa:
El resultado será una de estas opciones:
==========================================================================
Ejercicio 8: Determina el valor que se exhibirá después de la ejecución de la siguiente instrucción CASE :
==========================================================================
Ejercicio 9: Escribe proposiciones CASE equivalentes a la siguientes proposiciones IF:
¿Qué sucede en tu sistema cuando se ejecuta el siguiente segmento de código?
==========================================================================
Ejercicio 10: Escribir un programa que ingrese de la entrada un entero de hasta cuatro cifras y lo despliegue con el punto de la manera habitual, esto es: separando la cifra de los millares (si la hay) de la cifra de las centenas.
Ejemplos
==========================================================================
Ejercicio 11: La solución de un sistema de ecuaciones lineales con dos incógnitas, se puede obtener mediante la regla de Cramer. Supone que el sistema de ecuaciones es:
a x + b y = c
d x + e y = f
La regla de Cramer dice que, si existe una solución, esta es:
Escribe un programa en PASCAL que lea de la entrada estándar los valores a, b, c, d, e , y f, que determine la solución del sistema de ecuaciones correspondiente y la imprima en caso de que exista, o que imprima un mensaje de error en caso contrario.
==========================================================================
Ejercicio 12:
El costo de enviar por correo una carta es
Dado el peso de una carta como un número real de onzas, exhiba el costo de enviar la carta en la forma que se muestra en el ejemplo:
==========================================================================
Ejercicio 13: Lee de la entrada estándar un entero positivo n de exactamente cuatro dígitos, y otro entero positivo d de exactamente 1 dígito. Si d aparece en la representación decimal de n, entonces exhiba el número n con un signo de suma (+) debajo de cada aparición de d. En caso contrario, exhibe el mensaje ‘d no aparece en n’.
Ejemplo 1:
Ejemplo 2:
==========================================================================
Ejercicio 14 Escribir un programa en PASCAL que encuentre las raíces de la ecuación cuadrática:
a x2 + bx + c = 0
donde a, b, y c son valores reales leídos de la entrada estándar y donde la salida debe cumplir con la siguiente especificación:
Primero desplegar el valor de los coeficientes de la ecuación:
Y luego imprimir uno de los siguientes mensajes, según que corresponda:
El número de dígitos que se emplee para exhibir las raíces de la ecuación pueden variar.
Por ejemplo, para la entrada:
La salida sería:
==========================================================================
Ejercicio 15: Escribe un programa en PASCAL que convierta un número positivo hexadecimal tomado de la entrada estándar de tres dígitos en su equivalente en base 10. Un dígito hexadecimal es uno de los dígitos 0 a 9 o A(10), B(11), C(12), D(13), E(14), o F(15). El equivalente decimal de un número hexadecimal de la forma abc es
==========================================================================
Navegación:
- 2 < 4
- -2 < 0
- 0 > 1
- '5' < '6'
- 'A' < 'Z'
- TRUE < FALSE
- ('b' < 'd') AND (0 < 1)
- (5 < 1) OR (0 > -1)
- ('c' >= 'f') OR ('C' <= 'C')
- NOT (2=2) AND (maxint < maxint)
- Suponiendo que p = TRUE, q = TRUE y r = FALSE evalua las siguientes expresiones indicando si darán TRUE o FALSE al final:
- (p AND q) AND (3 < 5)
- (‘0′ < ‘2′) AND (p AND r)
- NOT (p AND r) OR (p AND q)
- NOT (p AND r) OR NOT (p AND q)
==========================================================================
Ejercicio 2: Indica el valor de las siguientes expresiones para x = 0 usando siempre la semántica de circuito corto:
- (x <> 0) AND (abs(x)/x <> 1)
- (x = 0) AND (abs(x)/x <> 1)
- (abs(x)/x <> 1) AND (x <> 0)
- (x <> 0) OR (abs(x)/x <> 1)
- (x = 0) OR (abs(x)/x <> 1)
- (abs(x)/x <> 1) OR (x <> 0)
==========================================================================
Ejercicio 3
Considera la siguiente instrucción:
- Código:
IF (calif >= 90) OR (calif < 60) THEN
Write ('Extrema')
ELSE
Write ('Media')
Indica qué se exhibe según el valor dado para calif:
- calif:= 90
- calif:= 60
- calif:= 0
- calif:= 70
- calif:= -90
==========================================================================
Ejercicio 4: Considera la siguiente instrucción IF anidada:
- Código:
IF a > b THEN
IF a > c THEN
Write ('A es el grande')
Escribe una sola instrucción IF que sea equivalente a ésta pero que no contenga otra instrucción IF anidada.
==========================================================================
Ejercicio 5: Considera el siguiente segmento de programa :
- Código:
x := 7;
y := 8;
IF x > y THEN
x := x + 1
ELSE
y := y + 1
Determine el valor que queda en las variables x e y.
==========================================================================
Ejercicio 6: Considera el siguiente segmento de programa:
- Código:
x := 10;
y := 11;
z := 12;
IF (x > y) OR (z > y) THEN
IF x > z THEN
IF y > z THEN
WriteLn ('Termine.')
ELSE Writeln ('No termino aun.')
ELSE writeln ('Nunca llega aqui.')
- Indica los mensajes que se exhiben en su ejecución.
- Reescribe el código anterior con una indentación adecuada.
==========================================================================
Ejercicio 7: Indica qué es lo que se exhibe al ejecutar los siguientes segmentos de programa:
- Código:
VAR
x, y, z : Integer;
...
x := 1;
y := 2;
z := 3;
IF x > y THEN
IF y > z THEN
IF x > z THEN
WriteLn (x)
ELSE
WriteLn (y)
ELSE
WriteLn (z)
El resultado será una de estas opciones:
- 1
- 2
- 3
- No sale nada.
- Código:
VAR
a, b : Integer;
...
a := 0;
b := -1;
IF a > 0 THEN
WriteLn ('A')
ELSE
IF b < 0 THEN
WriteLn ('B')
ELSE
WriteLn ('C')
- 'A'
- 'B'
- 'C'
- No sale nada.
==========================================================================
Ejercicio 8: Determina el valor que se exhibirá después de la ejecución de la siguiente instrucción CASE :
- Código:
...
VAR
letra : Char;
...
letra := 'E';
CASE letra OF
'A': WriteLn ('El valor es 1.');
'E': WriteLn ('El valor es 5.');
'I': WriteLn ('El valor es 9.');
'O': WriteLn ('El valor es 15.');
'U': WriteLn ('El valor es 21.');
END
==========================================================================
Ejercicio 9: Escribe proposiciones CASE equivalentes a la siguientes proposiciones IF:
- Código:
IF k = 0 THEN
r := r + 1
ELSE
IF k = 1 THEN
s := s + 1
ELSE
IF (k = 2) OR (k = 3) OR (k = 4) THEN
t := t + 2
- Código:
IF (calif = 'D') OR (calif = 'F') THEN
WriteLn ('Trabajo deficiente.')
ELSE
IF (calif = 'C') OR (calif = 'B') THEN
WriteLn ('Buen trabajo.')
ELSE IF calif = 'A' THEN
WriteLn ('Trabajo excelente.')
¿Qué sucede en tu sistema cuando se ejecuta el siguiente segmento de código?
- Código:
val := 3;
CASE val OF
1: WriteLn ('uno');
2: WriteLn ('dos')
END;
WriteLn ('Despues del CASE');
- El programa aborta.
- El programa da un mensaje de error.
- El programa despliega el mensaje ‘Despues del CASE’.
- Sucede otra cosa.
==========================================================================
Ejercicio 10: Escribir un programa que ingrese de la entrada un entero de hasta cuatro cifras y lo despliegue con el punto de la manera habitual, esto es: separando la cifra de los millares (si la hay) de la cifra de las centenas.
Ejemplos
Entrada | Salida |
1234 | 1.234 |
567 | 567 |
23 | 23 |
5678 | 5.678 |
Ejercicio 11: La solución de un sistema de ecuaciones lineales con dos incógnitas, se puede obtener mediante la regla de Cramer. Supone que el sistema de ecuaciones es:
a x + b y = c
d x + e y = f
La regla de Cramer dice que, si existe una solución, esta es:
- Código:
x = (ce - fb) / (ae - db)
y = (af - dc) / (ae -db)
Escribe un programa en PASCAL que lea de la entrada estándar los valores a, b, c, d, e , y f, que determine la solución del sistema de ecuaciones correspondiente y la imprima en caso de que exista, o que imprima un mensaje de error en caso contrario.
==========================================================================
Ejercicio 12:
El costo de enviar por correo una carta es
- $0.22 para cartas que pesan hasta una onza (inclusive)
- $0.22 más $0.17 por onza adicional o fracción para cartas que pesan más de una onza.
Dado el peso de una carta como un número real de onzas, exhiba el costo de enviar la carta en la forma que se muestra en el ejemplo:
- Código:
Ejemplo de entrada 1 :
0.50
Ejemplo de salida:
Peso Costo
0.50 $0.22
- Código:
Ejemplo de entrada 2 :
1.00
Ejemplo de salida:
Peso Costo
1.00 $0.22
- Código:
Ejemplo de entrada 3 :
1.01
Ejemplo de salida:
Peso Costo
1.01 $0.39
- Código:
Ejemplo de entrada 4 :
3.00
Ejemplo de salida:
Peso Costo
3.00 $0.56
- Código:
Ejemplo de entrada 5 :
3.40
Ejemplo de salida:
Peso Costo
3.40 $0.73
==========================================================================
Ejercicio 13: Lee de la entrada estándar un entero positivo n de exactamente cuatro dígitos, y otro entero positivo d de exactamente 1 dígito. Si d aparece en la representación decimal de n, entonces exhiba el número n con un signo de suma (+) debajo de cada aparición de d. En caso contrario, exhibe el mensaje ‘d no aparece en n’.
Ejemplo 1:
- Código:
Ingrese un entero de 4 digitos: 1100
Ingrese un entero de 1 digito: 0
1100
++
Ejemplo 2:
- Código:
Ingrese un entero de 4 dígitos: 1100
Ingrese un entero de 1 dígito: 5
5 no aparece en 1100
==========================================================================
Ejercicio 14 Escribir un programa en PASCAL que encuentre las raíces de la ecuación cuadrática:
a x2 + bx + c = 0
donde a, b, y c son valores reales leídos de la entrada estándar y donde la salida debe cumplir con la siguiente especificación:
Primero desplegar el valor de los coeficientes de la ecuación:
- Código:
a = xx.x b = xx.x c = xx.x
Y luego imprimir uno de los siguientes mensajes, según que corresponda:
- Código:
Dos raices reales diferentes: xxx.xxx y xxx.xxx
Dos raices reales iguales: xxx.xxx
Dos raices complejas diferentes: xxx.xxx (+/-) i xxx.xxx
El número de dígitos que se emplee para exhibir las raíces de la ecuación pueden variar.
Por ejemplo, para la entrada:
- Código:
2.0 3.0 1.0
La salida sería:
- Código:
a = 2.0 b = 3.0 c = 1.0
Dos raices reales diferentes: -1.000 y -0.500
==========================================================================
Ejercicio 15: Escribe un programa en PASCAL que convierta un número positivo hexadecimal tomado de la entrada estándar de tres dígitos en su equivalente en base 10. Un dígito hexadecimal es uno de los dígitos 0 a 9 o A(10), B(11), C(12), D(13), E(14), o F(15). El equivalente decimal de un número hexadecimal de la forma abc es
- Código:
a * 16[sup]2[/sup] + b * 16[sup]1[/sup] + c*16[sup]0[/sup]
- Código:
Ejemplo de entrada : 7EB
Ejemplo de salida: 2027
==========================================================================
Navegación:
- Ir al índice del curso.
- Ir al índice de ejercicios de Pascal.
Temas similares
» Lección 019: Registros
» Lección 018: Enumerados
» Lección 001: Sugerencias
» Soluciones lección 038
» Lección 011: El uso de arreglos
» Lección 018: Enumerados
» Lección 001: Sugerencias
» Soluciones lección 038
» Lección 011: El uso de arreglos
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.