Post on 05-Mar-2016
description
PROGRAMACION
PRIMER PERIODO PRESENTADO POR: JEISON
JOJOA
GRADO: 11 COMPUTACION
2011
Escriba en el cuadro de respuestas la respuesta correcta utilizando las letras (F) Escriba en el cuadro de respuestas la respuesta correcta utilizando las letras (F) Escriba en el cuadro de respuestas la respuesta correcta utilizando las letras (F) Escriba en el cuadro de respuestas la respuesta correcta utilizando las letras (F) FALSO O (v)VERDADEROFALSO O (v)VERDADEROFALSO O (v)VERDADEROFALSO O (v)VERDADERO .... Ejercicio 1 Ejercicio 1 Ejercicio 1 Ejercicio 1 ---- Identificadores (Identificadores, variables y constantes Identificadores (Identificadores, variables y constantes Identificadores (Identificadores, variables y constantes Identificadores (Identificadores, variables y constantes ---- Pseudocódigo CEE)Pseudocódigo CEE)Pseudocódigo CEE)Pseudocódigo CEE) En pseudocódigo CEE, ¿cuáles de los siguientes identificadores puede definir un programador, y cuáles no?
1. Puerta21 2. 3tres 3. 2007 4. tero 5. COCHE_52 helicóp 6. **motocicleta** 7. __platillo__ 8. cas-ti-llo 9. ¡Fiesta! 10. _*_*_ 11. 47_ejercicio 12. Costa Rica 13. aErOnAvE
EjercicioEjercicioEjercicioEjercicio 2 2 2 2 ---- Declaraciones (Identificadores, variables y constantes Declaraciones (Identificadores, variables y constantes Declaraciones (Identificadores, variables y constantes Declaraciones (Identificadores, variables y constantes ---- Pseudocódigo Pseudocódigo Pseudocódigo Pseudocódigo CEE)CEE)CEE)CEE) En pseudocódigo CEE, ¿cuáles de las siguientes declaraciones de constantes y variables son correctas?
14) caractercaractercaractercaracter ==== u 15) vocal = i 16) letra j
17) cadena = "cadena = "cadena = "cadena = "nombre"""" 18) enteroenteroenteroentero numero ==== 7....0 19) 888....8 20) cadenacadenacadenacadena variable 21) verdaderoverdaderoverdaderoverdadero 22) nueve ==== 9 23) logicologicologicologico CIERTO 24) interruptor = falso= falso= falso= falso 25) _123 = "= "= "= "un dos tres"""" 26) realrealrealreal 40....09 27) barra ==== ''''\\\\'''' 28) a ==== ....9EEEE----2 29) b ==== 6.e.e.e.e5 30) caractercaractercaractercaracter v, w,,,, x 31) CONSTANTE ==== """" ¿ ? """"
Ejercicio 3 Ejercicio 3 Ejercicio 3 Ejercicio 3 ---- En memoria (Identificadores, variables y constantes En memoria (Identificadores, variables y constantes En memoria (Identificadores, variables y constantes En memoria (Identificadores, variables y constantes ---- Pseudocódigo Pseudocódigo Pseudocódigo Pseudocódigo CEE)CEE)CEE)CEE) Dadas las siguientes declaraciones de constantes y variables:
UNO ==== 1 DOS ==== ''''2'''' FECHA = "= "= "= "20/7/2007"""" BARRAS = "= "= "= "\\\\\/\\\\\/"""" PI = = = = 3....141592 enteroenteroenteroentero numero1 ==== 2,,,, numero2 ==== 3 logicologicologicologico a ==== falsofalsofalsofalso
¿qué valores se almacenarán en la memoria del ordenador? (Realice el grafico de
la memoria)
TABLA DE RESPUESTAS
NOMBRE:jeiosn jojoa j.
1 2 3 4 5 6 7 8 9 10
11
12
13
14
15
16
17
18
19
20
v f f f v f v f f f v f v f f f f f f v
21
22
23
24
25
26
27
28
29
30
31
f v v v v f v v v v v
MEMORIA
UNO 1111
DOS “2”“2”“2”“2”
FECHA """"20/7/2007""""
BARRAS """"\/\\\\\""""
PI 3....141592
numero1 2222
numero2 3333
a falso
Los identificadores no tienen que enpesar con numeros ni tener tildes no tanpoco
* tanpoco que lleven giones tanpoco que lleve ¡ al comensar ni tanpoco sirven los
números tanpoco de ven ir solos
Saque 27\31
ESTRUCTURA DE UN ALGORITOMOESTRUCTURA DE UN ALGORITOMOESTRUCTURA DE UN ALGORITOMOESTRUCTURA DE UN ALGORITOMO
CabeceraCabeceraCabeceraCabecera
La estructura de un algoritmoestructura de un algoritmoestructura de un algoritmoestructura de un algoritmo sirve para organizar a los elementos que aparecen
en él. En pseudocódigo, todos los algoritmos tienen la misma estructura, la cual
viene definida por tres secciones:
• Cabecera • Declaraciones • Cuerpo
En la cabeceracabeceracabeceracabecera de un algoritmo se debe indicar el nombre (identificador) asignado
al mismo. La sintaxis es:
algoritmoalgoritmoalgoritmoalgoritmo <nombre_del_algoritmo>
Ejemplo:Ejemplo:Ejemplo:Ejemplo: Si se quiere diseñar el algoritmo de un programa que:
1º) Pida por teclado el radio (dato real) de una circunferencia.
2º) Calcule el área de la circunferencia.
3º) Muestre por pantalla el resultado (dato real).
Nota: Área de una circunferencia = pi * radio2
El algoritmo puede llamarse Area_de_una_circunferencia, por tanto, en la
cabecera se puede escribir:
algoritmoalgoritmoalgoritmoalgoritmo Area_de_una_circunferencia
DeclaracionesDeclaracionesDeclaracionesDeclaraciones
En esta sección se declaran las constantes, los tipos de datos y las variables que se usan en el algoritmo. La sintaxis es:
[[[[ constantes constantes constantes constantes <declaraciones_de_constantes> <declaraciones_de_constantes> <declaraciones_de_constantes> <declaraciones_de_constantes> ]]]] [[[[ tipostipostipostipos_de_datos _de_datos _de_datos _de_datos <declaraciones_de_tipos_de_datos> <declaraciones_de_tipos_de_datos> <declaraciones_de_tipos_de_datos> <declaraciones_de_tipos_de_datos> ]]]] [[[[ variables variables variables variables <declaraciones_de_variables> <declaraciones_de_variables> <declaraciones_de_variables> <declaraciones_de_variables> ]]]]
Para resolver el problema planteado en el apartado anterior, es necesario declarar
una constante y dos variables:
constantesconstantesconstantesconstantes
PI ==== 3....141592
variablvariablvariablvariableseseses
realrealrealreal area,,,, radio
En este caso, no es necesario declarar ningún tipo de dato.
CuerpoCuerpoCuerpoCuerpo
En el cuerpocuerpocuerpocuerpo se escriben todas las instrucciones del algoritmo. La sintaxis es:
inicioinicioinicioinicio
<instrucción_1><instrucción_1><instrucción_1><instrucción_1>
<instrucción_2><instrucción_2><instrucción_2><instrucción_2>
............
<<<<instrucción_n>instrucción_n>instrucción_n>instrucción_n>
finfinfinfin
inicioinicioinicioinicio y finfinfinfin son palabras reservadas que marcan el principio y final de la sección
cuerpo, que es donde está el bloque de instrucciones principal del algoritmobloque de instrucciones principal del algoritmobloque de instrucciones principal del algoritmobloque de instrucciones principal del algoritmo.
El cuerpo del algoritmo Area_de_una_circunferencia es:
inicioinicioinicioinicio
escribescribescribescribir( "ir( "ir( "ir( "Introduzca radio: " )" )" )" )
leer(leer(leer(leer( radio ))))
areaareaareaarea ←←←← PI **** radio ******** 2
escribir( "escribir( "escribir( "escribir( "El área de la circunferencia es: ",",",", area ))))
finfinfinfin
Por pantalla se verá algo parecido a:
Así, el algoritmo completo es:
algoritmoalgoritmoalgoritmoalgoritmo Area_de_una_circunferencia
constantesconstantesconstantesconstantes
PI ==== 3....141592
variablesvariablesvariablesvariables
realrealrealreal area,,,, radio
inicioinicioinicioinicio
escribir( "escribir( "escribir( "escribir( "Introduzca radio: " )" )" )" )
leer(leer(leer(leer( radio ))))
area ←←←← PI **** radio ******** 2
escribir( "escribir( "escribir( "escribir( "El área de la circunferencia es: ",",",", area ))))
finfinfinfin
La sintaxis completa para escribir un algoritmo en pseudocódigo es:
algoritmoalgoritmoalgoritmoalgoritmo <nombre_del_algoritmo><nombre_del_algoritmo><nombre_del_algoritmo><nombre_del_algoritmo>
[[[[ constantes constantes constantes constantes <declaraciones_de_constantes> <declaraciones_de_constantes> <declaraciones_de_constantes> <declaraciones_de_constantes> ]]]]
[[[[ tipos_de_datos tipos_de_datos tipos_de_datos tipos_de_datos <declaraciones_de_tipos_de_datos> <declaraciones_de_tipos_de_datos> <declaraciones_de_tipos_de_datos> <declaraciones_de_tipos_de_datos> ]]]]
[[[[ variables variables variables variables <declaraciones_de_variables> <declaraciones_de_variables> <declaraciones_de_variables> <declaraciones_de_variables> ]]]]
inicioinicioinicioinicio
<<<<bloque_de_instrucciones>bloque_de_instrucciones>bloque_de_instrucciones>bloque_de_instrucciones>
finfinfinfin
ComentariosComentariosComentariosComentarios
En los algoritmos es conveniente escribir comentarios para explicar el diseño y/o
funcionamiento del mismo. Para delimitar los comentarios se pueden utilizar
distintoscaracteres:
• ([) y (]) • ({) y (}) • (/*) y (*/) • ...
En pseudocódigo, en este curso, los comentarios se van a escribir entre los
símbolos reservados barra-asterisco (/*/*/*/*) y asterisco-barra (*/*/*/*/), que son los mismos
que se utilizan en lenguaje C.
Ejemplo 1:Ejemplo 1:Ejemplo 1:Ejemplo 1: Para comentar las secciones del algoritmo Area_de_una_circunferencia
se puede escribir:
/* /* /* /* Cabecera */*/*/*/
algoritmoalgoritmoalgoritmoalgoritmo Area_de_una_circunferencia
/*/*/*/* Declaraciones */*/*/*/
constantesconstantesconstantesconstantes
PI ==== 3....141592
variablesvariablesvariablesvariables
realrealrealreal area,,,, radio
/* /* /* /* Cuerpo */*/*/*/
inicioinicioinicioinicio
escribir( "escribir( "escribir( "escribir( "Introduzca radio: " )" )" )" )
leer(leer(leer(leer( radio ))))
areaareaareaarea ←←←← PI **** radio ******** 2
escribir( "escribir( "escribir( "escribir( "El área de la circunferencia es: ",",",",
area ))))
finfinfinfin
Cuando un algoritmo se convierta (codifique) en un programa, también se podrán
escribir los comentarios en el código fuente de dicho programa. Dichos
comentarios no afectarán nunca a la ejecución del programa. No obstante, serán
muy útiles a la hora de querer saber qué hace un algoritmo (o programa), y cómo
lo hace.
Los comentarios de un algoritmo (o programa) forman parte de la documentación
del mismo, pudiendo:
• Informar sobre algunos datos relevantes del algoritmo (autor, fecha de creación, fecha de última modificación, proyecto en el que se integra, versión,... ).
• Explicar la utilidad de uno o más tipos de datos, constantes y/o variables. • Describir el funcionamiento general del algoritmo (o programa). • Explicar el cometido de una o más instrucciones. • Etc.
EjemploEjemploEjemploEjemplo 2:2:2:2:
/*/*/*/***************************************************/*/*/*/
/*/*/*/* Programa: Calcular_area_circunferencia */*/*/*/
/*/*/*/* */*/*/*/
/*/*/*/* Descripción: Recibe por teclado el radio de una */*/*/*/
/*/*/*/* circunferencia, mostrando su área por pantalla. */*/*/*/
/*/*/*/* */*/*/*/
/* /* /* /* Autor: XXXXXX */*/*/*/
/*/*/*/* */*/*/*/
/*/*/*/* Fecha: 30/10/2010 */ */ */ */
/*/*/*/***************************************************/*/*/*/
/* /* /* /* Cabecera */*/*/*/
algoritmoalgoritmoalgoritmoalgoritmo Area_de_una_circunferencia
/*/*/*/* Declaraciones */*/*/*/
constantesconstantesconstantesconstantes
PI ==== 3....141592
variablesvariablesvariablesvariables
realrealrealreal area,,,, radio
/* /* /* /* Cuerpo */*/*/*/
inicioinicioinicioinicio
escribir( "escribir( "escribir( "escribir( "Introduzca radio: " )" )" )" )
leer(leer(leer(leer( radio ))))
areaareaareaarea ←←←← PI **** radio ******** 2
escribir( "escribir( "escribir( "escribir( "El área de la circunferencia es: ",",",",
area ))))
finfinfinfin
Ejercicio 1 Ejercicio 1 Ejercicio 1 Ejercicio 1 ---- Área de un triángulo (Estructura de un algoritmo Área de un triángulo (Estructura de un algoritmo Área de un triángulo (Estructura de un algoritmo Área de un triángulo (Estructura de un algoritmo ---- Pseudocódigo CEE)Pseudocódigo CEE)Pseudocódigo CEE)Pseudocódigo CEE) Diseñe el algoritmo (en pseudocódigo) de un programa que:
1º) Pida por teclado la base (dato real) de un triángulo. 2º) Pida por teclado la altura (dato real) de un triángulo. 3º) Calcule el área del triángulo. 4º) Muestre por pantalla el resultado (dato real). Nota:Nota:Nota:Nota: Área de un triángulo = base * altura / 2 En pantalla:
Introduzca base:Introduzca base:Introduzca base:Introduzca base: 1.21.21.21.2 Introduzca altura:Introduzca altura:Introduzca altura:Introduzca altura: 4.54.54.54.5 El área del triángulo es:El área del triángulo es:El área del triángulo es:El área del triángulo es: 2.72.72.72.7
Ejercicio 2 Ejercicio 2 Ejercicio 2 Ejercicio 2 ---- División enDivisión enDivisión enDivisión entera (Estructura de un algoritmo tera (Estructura de un algoritmo tera (Estructura de un algoritmo tera (Estructura de un algoritmo ---- Pseudocódigo CEE)Pseudocódigo CEE)Pseudocódigo CEE)Pseudocódigo CEE) Diseñe el algoritmo (en pseudocódigo) de un programa que:
1º) Pida por teclado dos números (datos enteros). 2º) Muestre por pantalla el resultado de realizar la división entera del primer número introducido por el usuario entre el segundo, y el resto. En pantalla:
Introduzca dividendo (entero):Introduzca dividendo (entero):Introduzca dividendo (entero):Introduzca dividendo (entero): 39393939 Introduzca divisor (entero):Introduzca divisor (entero):Introduzca divisor (entero):Introduzca divisor (entero): 5555 39 div39 div39 div39 div 5 =5 =5 =5 = 7 ( Resto =7 ( Resto =7 ( Resto =7 ( Resto = 4 )4 )4 )4 )
Nota:Nota:Nota:Nota: Se entiende que el usuario no introducirá un divisor igual a cero.
Solución del Solución del Solución del Solución del Ejercicio 1 Ejercicio 1 Ejercicio 1 Ejercicio 1 ---- Área de un triángulo (Estructura de un algoritmo Área de un triángulo (Estructura de un algoritmo Área de un triángulo (Estructura de un algoritmo Área de un triángulo (Estructura de un algoritmo ---- Pseudocódigo CEE)Pseudocódigo CEE)Pseudocódigo CEE)Pseudocódigo CEE)
algoritmoalgoritmoalgoritmoalgoritmo Area_de_un_triangulo variablesvariablesvariablesvariables realrealrealreal altura, , , , area,,,, base inicioinicioinicioinicio escribir( "escribir( "escribir( "escribir( "Introduzca base: " )" )" )" ) leer(leer(leer(leer( base )))) escribir( "escribir( "escribir( "escribir( "Introduzca altura: " )" )" )" ) leer(leer(leer(leer( altura )))) area ←←←← base **** altura //// 2
escribir( "escribir( "escribir( "escribir( "El área del triángulo es: ",",",", area )))) finfinfinfin
Una segunda solución es:
algoritmoalgoritmoalgoritmoalgoritmo Area_de_un_triangulo variablesvariablesvariablesvariables realrealrealreal altura,,,, base inicioinicioinicioinicio escribir( "escribir( "escribir( "escribir( "Introduzca base: " )" )" )" ) leer(leer(leer(leer( base )))) escribir( "escribir( "escribir( "escribir( "Introduzca altura: " )" )" )" ) leer(leer(leer(leer( altura )))) escribir( "escribir( "escribir( "escribir( "El área del triángulo es: ",",",", base **** altura //// 2 )))) finfinfinfin
Solución del Ejercicio 2 Solución del Ejercicio 2 Solución del Ejercicio 2 Solución del Ejercicio 2 ---- División entera (Estructura de un algoritmo División entera (Estructura de un algoritmo División entera (Estructura de un algoritmo División entera (Estructura de un algoritmo ---- Pseudocódigo CEE)Pseudocódigo CEE)Pseudocódigo CEE)Pseudocódigo CEE)
algoritmoalgoritmoalgoritmoalgoritmo Division_entera variablesvariablesvariablesvariables enteroenteroenteroentero dividendo,,,, divisor,,,, cociente,,,, resto inicioinicioinicioinicio escribir( "escribir( "escribir( "escribir( "Introduzca dividendo (entero): " )" )" )" )
leer(leer(leer(leer( dividendo )))) escribir( "escribir( "escribir( "escribir( "Introduzca divisor (entero): " )" )" )" ) leer(leer(leer(leer( divisor )))) cociente ←←←← dividendo divdivdivdiv divisor resto ←←←← dividendo modmodmodmod divisor escribir( escribir( escribir( escribir( dividendo, ", ", ", " div ",",",", divisor,,,, """" = ",",",", cociente,,,, """" ( Resto = ",",",", resto, ", ", ", " )"""" )))) finfinfinfin
Una segunda solución es:
algoritmoalgoritmoalgoritmoalgoritmo Division_entera variablesvariablesvariablesvariables enteroenteroenteroentero dividendo,,,, divisor inicioinicioinicioinicio escribir( "escribir( "escribir( "escribir( "Introduzca dividendo (entero): " )" )" )" ) leer(leer(leer(leer( dividendo )))) escribir( "escribir( "escribir( "escribir( "Introduzca divisor (entero): " )" )" )" ) leer(leer(leer(leer( divisor )))) escribir( escribir( escribir( escribir( dividendo, ", ", ", " div ",",",", divisor,,,, """" = ",",",", dividendo divdivdivdiv divisor,,,, """" ( Resto = ",",",", dividendo modmodmodmod divisor,,,, """" )"""" )))) finfinfinfin
En un ordinogramaEn un ordinogramaEn un ordinogramaEn un ordinograma
AsignaciónAsignaciónAsignaciónAsignación
La INSTRUCCION de asignación en un ordinograma, se debe escribir la misma
sintaxis que en, pseudocódigo pero, dentro de un rectángulo:
Ejemplo 1:Ejemplo 1:Ejemplo 1:Ejemplo 1: Una instrucción de asignación puede ser:
EjemploEjemploEjemploEjemplo 2:2:2:2: Varias instrucciones de asignación se pueden agrupar dentro de un
mismo rectángulo:
Entrada y salidaEntrada y salidaEntrada y salidaEntrada y salida
En un ordinograma, tanto las instrucciones de entrada como las de salida, se
escriben igual que en pseudocódigo, pero, dentro de un romboide:
<nombre_de_la_variable>←<expresion>
radio←3.28
radio ← 0.8
area ← PI * radio ** 34
longitud←2 * PI * radio
Leer (<lista_de_variables>)
escribir(<lista_de_expresiones>
Ejemplo 1: Una instrucción de entrada que lea la variable radio, se escribe:
Ejemplo 2: Varias instrucciones de entrada o de salida pueden dibujarse dentro del
mismo romboide:
Inicio y finInicio y finInicio y finInicio y fin
En un ordinograma, el inicio y fin del cuerpo de un
algoritmo se escriben dentro de un óvalo de la siguiente
manera:
Por medio de las flechas se indica el orden de las
acciones del algoritmo.
Leer (radio)
Escribir (“El área es: “, area)
Escribir (“La longitud es: “, longitud)
Ejemplo: El siguiente ordinograma es equivalente al cuerpo de un algoritmo escrito
en pseudocódigo:
PRESENTE EL SIGUIENTE EJERCICIO AL PROFESORPRESENTE EL SIGUIENTE EJERCICIO AL PROFESORPRESENTE EL SIGUIENTE EJERCICIO AL PROFESORPRESENTE EL SIGUIENTE EJERCICIO AL PROFESOR
Ejercicio 2 Ejercicio 2 Ejercicio 2 Ejercicio 2 ---- División entera (Estructura de un algoritmo División entera (Estructura de un algoritmo División entera (Estructura de un algoritmo División entera (Estructura de un algoritmo ---- Ordinogramas)Ordinogramas)Ordinogramas)Ordinogramas) Diseñe el algoritmo (ordinograma) de un programa que:
1º) Pida por teclado dos números (datos enteros). 2º) Muestre por pantalla el resultado de realizar la división entera del primer número introducido por el usuario entre el segundo, y el resto. En pantalla:
Introduzca dividendo (entero):Introduzca dividendo (entero):Introduzca dividendo (entero):Introduzca dividendo (entero): 39393939 Introduzca divisor (entero):Introduzca divisor (entero):Introduzca divisor (entero):Introduzca divisor (entero): 5555 39 div39 div39 div39 div 5 =5 =5 =5 = 7 ( Resto =7 ( Resto =7 ( Resto =7 ( Resto = 4 )4 )4 )4 )
Nota:Nota:Nota:Nota: Se entiende que el usuario no introducirá un divisor igual a cero.
Expresiones lógicasExpresiones lógicasExpresiones lógicasExpresiones lógicas
De la evaluación de una expresión lógica siempre se obtiene un valor de tipo
lógico (verdadero o falso). En las expresiones lógicas se pueden utilizar dos tipos
de operadores:
· Relacionales
· Lógicos
Un operador relacional se utiliza para comparar los valores de dos expresiones.
Éstas deben ser del mismo tipo (aritméticas, lógicas, de carácter o de cadena).
Ejemplo 1: Algunos ejemplos son:
22 > 13 (comparación de dos expresiones aritméticas)
22.5 < 3.44 (comparación de dos expresiones aritméticas)
verdadero = falso (comparación de dos expresiones lógicas)
'c' > 'f' (comparación de dos expresiones de carácter)
"coche" = "Coche" (comparación de dos expresiones de cadena)
Proporcionan los valores:
verdadero (22 es mayor que 13)
falso (22.5 no es menor que 3.44)
falso (verdadero no es igual que falso)
falso ('c' no es mayor que 'f')
falso ("coche" no es igual que "Coche")
Las comparaciones entre los valores de tipo numérico son obvias. En cuanto a los
valores de tipo lógico (verdadero y falso) se considera que falso es menor que
verdadero. En lo que respecta a los valores de tipo carácter, su orden viene dado
por el ASCII extendido utilizado por el ordenador para representarlos. Y en el caso
de los valores de tipo cadena, también se tiene en cuenta dicho código
Los operadores relacionales son:
Figura. Clasificación de los operadores relacionales en pseudocódigo.
Para escribir una expresión relacional (lógica) se utiliza la sintaxis:
<expresión_1><expresión_1><expresión_1><expresión_1> <operador_de_relación><operador_de_relación><operador_de_relación><operador_de_relación> <expresión_2><expresión_2><expresión_2><expresión_2>
Siendo <expresión_1> y <expresión_2> del mismo tipo (aritmética, lógica, de
carácter o de cadena).
Por otra parte, un operador lógico actúa, exclusivamente, sobre valores de
expresiones
lógicas. Los operadores
lógicos son:
Figura. Clasificación de los operadores lógicos en pseudocódigo.
El operador conjunción (y) y el operador disyunción (o) siempre actúan sobre dos
operandos, mientras que, el operador negación (no) sólo actúa sobre un
operando, o dicho de otra forma, es un operador monario.
El modo en que actúan los operadores lógicos se resume en las llamadas tablas
de verdad, definidas por el matemático George Boole.
La tabla de verdad del operador conjunción (y) es:
Figura. Tabla de verdad del operador conjunción (y).
Se supone que <expresión_1> y <expresión_2> son expresiones lógicas. De la
tabla de verdad se deduce que <expresión_1> y <expresión_2> se evalúa a
verdadero sólo en el caso de que tanto <expresión_1> como <expresión_2> se
evalúen también como verdaderas, en cualquier otro caso el resultado será falso.
Dicho de otro modo, si al menos una de las dos expresiones es falsa, el resultado
será falso.
Ejemplo 2: Algunos ejemplos son:
9 > 3 y 8 > 6
9 > 3 y 8 > 9
9 = 3 y 8 >= 6
9 = 3 y 8 >= 9
Las expresiones anteriores se evalúan a:
verdadero (9 > 3 es verdadero y 8 > 6 es verdadero)
falso (9 > 3 es verdadero y 8 > 9 es falso)
falso (9 = 3 es falso y 8 >= 6 es verdadero)
falso (9 = 3 es falso y 8 >= 9 es falso)
La tabla de verdad del operador disyunción (o) es:
Figura. Tabla de verdad del operador disyunción (o).
De la tabla de verdad se deduce que si al menos una de las dos expresiones es
verdadera, el resultado será verdadero.
La tabla de verdad del operador negación (no) es:
Figura. Tabla de verdad del operador negación (no).
El valor de no <expresión> es el contrario al valor obtenido de <expresión>.
Ejemplo 3: De las expresiones
no ( 9 > 3 )
no ( 8 > 9 )
los resultados de evaluarlas son:
falso (9 > 3 es verdadero)
verdadero (8 > 9 es falso)
Prioridad de los operadores relacionalPrioridad de los operadores relacionalPrioridad de los operadores relacionalPrioridad de los operadores relacionales y lógicoses y lógicoses y lógicoses y lógicos
En una expresión lógica puede aparecer uno o más operadores relacionales y/o
lógicos.
Ejemplo: Algunos ejemplos son:
3 > 1 o 4 < 1 y 4 <= 2
no falso y falso
verdadero >= verdadero = falso
falso = verdadero <= verdadero
Para poder evaluar correctamente las expresiones lógicas del ejemplo, es
necesario seguir un criterio de prioridad de operadores. En nuestro pseudocódigo
CEE, la prioridad entre los operadores relacionales y lógicos es:
Figura. Prioridad de los operadores relacionales y lógicos en pseudocódigo.
A excepción del operador negación (no), que se evalúa de derecha a izquierda en
una expresión, todos los demás operadores con la misma prioridad, por ejemplo,
el operador menor que (<) y el operador mayor que (>), se evalúan de izquierda a
derecha. Así que, los valores que proporcionan las expresiones del ejemplo 15
son:
verdadero (actúan en orden los operadores: (>), (<), (<=), (y) y (o))
falso (actúan en orden los operadores: (no) e (y))
falso (actúan en orden los operadores: (>=) y (=))
falso (actúan en orden los operadores: (<=) y (=))
Expresiones de caracterExpresiones de caracterExpresiones de caracterExpresiones de caracter
Aunque no existe ningún operador de caracteres, sí que existen expresiones de
carácter. De la evaluación de una expresión de carácter siempre se obtiene un
valor de tipo carácter.
Ejemplo 16: Dadas las siguientes declaraciones de constantes y variables en
pseudocódigo:
CONSONANTE = 'S'
caracter letra = 'X'
caracter opcion = '3'
Algunas expresiones de carácter son:
opcion
letra
CONSONANTE
'a'
Los resultados de evaluarlas son:
'3'
'X'
'S'
'a'
Expresiones de cadenaExpresiones de cadenaExpresiones de cadenaExpresiones de cadena
De la evaluación de una expresión de cadena siempre se obtiene un valor de tipo
cadena. Sólo existe un operador de cadena:
Figura. Clasificación de los operadores de cadena en pseudocódigo
El operador concatenación (+) realiza la concatenación de dos operandos de tipo
cadena, es decir, los encadena.
Ejemplo: Dadas las siguientes declaraciones de constantes y variables en
pseudocódigo:
OLIMPIADA = "Atenas 2004"
PUNTO = "."
cadena nombre = "Pedro", apellido = "Cosín", rio = "Pasto"
Algunas expresiones de cadena son:
OLIMPIADA + PUNTO
nombre + " " + apellido
"Buenos días" + PUNTO
rio
nombre + " fue a las Olimpiadas de " + OLIMPIADA + PUNTO
Los resultados de evaluarlas son:
"Atenas 2004."
"Pedro Cosín"
"Buenos días."
"Pasto"
"Pedro fue a las Olimpiadas de Atenas 2004."
Prioridad de los operadores aritméticos, relacionales, lógicos y de cadenaPrioridad de los operadores aritméticos, relacionales, lógicos y de cadenaPrioridad de los operadores aritméticos, relacionales, lógicos y de cadenaPrioridad de los operadores aritméticos, relacionales, lógicos y de cadena
En una expresión puede aparecer uno o más operadores aritméticos, relacionales,
lógicos y/o de cadena.
Ejemplo 1: Algunos ejemplos son:
5 * 4 > 5 + 4 o falso y "ab" < "aa"
( 5 * 4 > 5 + 4 o falso ) y 'f' < 'b'
no verdadero < falso
no ( verdadero < falso )
Para poder evaluar correctamente las expresiones anteriores, es necesario seguir
un criterio de prioridad de operadores. En nuestro pseudocódigo CEE, la prioridad
entre los operadores aritméticos, relacionales, lógicos y de cadena es:
Figura. Prioridad de los operadores aritméticos, relacionales, lógicos y de cadena
en pseudocódigo.
Por tanto, los valores que proporcionan las expresiones del ejemplo 18 son:
verdadero (actúan en orden los operadores: (*), suma (+), (>), (<), (y) y (o))
falso (actúan en orden los operadores: (*), suma (+), (>), (o), (<) e (y))
falso (actúan en orden los operadores: (no) y (<))
verdadero (actúan en orden los operadores: (<) y (no))
Obsérvese que, los paréntesis "()" son capaces de cambiar el orden de actuación
de los operadores de cualquier expresión. Además, los paréntesis se pueden
anidar, es decir, se pueden escribir unos dentro de otros, priorizándose del más
interno al más externo y, después, de izquierda a derecha.
Ejemplo 2: De la expresión
42 mod ( ( 4 - 5 ) * ( 8 + 2 ) )
se obtiene el valor:
2 (actúan en orden los operadores: (-), (+), (*) y (mod).
Datos de tipos enumeradosDatos de tipos enumeradosDatos de tipos enumeradosDatos de tipos enumerados
Un dato de un tipo enumeradodato de un tipo enumeradodato de un tipo enumeradodato de un tipo enumerado es aquel que puede tomar por valor uno de los
pertenecientes a una lista ordenada de valores definida por el programador.
Ejemplo:Ejemplo:Ejemplo:Ejemplo: Un dato enumerado puede ser la dirección en la que se mueve un coche.
Los valores son:
{ norte, sur, este, oeste }
Declaración de tipos enumeradosDeclaración de tipos enumeradosDeclaración de tipos enumeradosDeclaración de tipos enumerados
En nuestro pseudocódigo CEE, para declarar un tipo de dato enumerado, vamos a
utilizar la sintaxis:
enumeradoenumeradoenumeradoenumerado <tipo> <tipo> <tipo> <tipo> {{{{ <constante_1> [ <constante_1> [ <constante_1> [ <constante_1> [ ==== <valor_1> ]<valor_1> ]<valor_1> ]<valor_1> ],,,,
<constante_2> [ <constante_2> [ <constante_2> [ <constante_2> [ ==== <valor_2> ]<valor_2> ]<valor_2> ]<valor_2> ],,,,
...,...,...,...,
<constante_n> <constante_n> <constante_n> <constante_n> [ [ [ [ ==== <valor_n> ] <valor_n> ] <valor_n> ] <valor_n> ] }}}}
Como se puede apreciar, los valores de la lista se representan por medio de
identificadores de constantes.
Ejemplo 1: Por ejemplo, para declarar el tipo enumerado direcciones, se debe
escribir:
enumerado direcciones { NORTE, SUR, ESTE, OESTE }
La lista de constantes está ordenada, y cada una de ellas representa a un valor
entero empezando por el 0, e incrementándose de uno en uno. De manera que,
las constantes declaradas representan a los valores enteros {0, 1, 2, 3}.
NORTE representa al valor 0
SUR representa al valor 1
ESTE representa al valor 2
OESTE representa al valor 3
Pero, dichos valores pueden ser diferentes si así se indica en la declaración.
Ejemplo 2: Se puede escribir:
enumerado direcciones { NORTE = -2, SUR, ESTE, OESTE }
En este caso, las constantes declaradas representan a los valores {-2, -1, 0, 1}, ya
que, a partir de la asignación NORTE = -2, las demás constantes de la lista toman
valores incrementándose de uno en uno.
NORTE representa al valor -2
SUR representa al valor -1
ESTE representa al valor 0
OESTE representa al valor 1
Ejemplo 3: También se puede escribir, por ejemplo:
enumerado direcciones { NORTE, SUR, ESTE = 4, OESTE }
Ahora, las constantes declaradas representan a los valores {0, 1, 4, 5}.
NORTE representa al valor 0
SUR representa al valor 1
ESTE representa al valor 4
OESTE representa al valor 5
NORTE es la primera constante de la lista, en consecuencia, representa al valor 0.
Después, SUR representa al valor 1. Pero, a ESTE, que debería representar al
valor 2, se le ha asignado el valor 4 en la declaración, de manera que, OESTE
representa al valor 5. Si después hubiese otra constante en la lista, representaría
al valor 6, y así sucesivamente.
Variables de tipos enuVariables de tipos enuVariables de tipos enuVariables de tipos enumeradosmeradosmeradosmerados
Una variable de un tipo enumerado representa a un espacio de memoria donde
se puede almacenar un dato de un tipo enumerado.
Ejemplo 1:Ejemplo 1:Ejemplo 1:Ejemplo 1: Dadas las declaraciones
enumerado direcciones { NORTE, SUR, ESTE, OESTE }
direcciones direccion_de_un_coche
direccion_de_un_coche es una variable del tipo enumerado direcciones, por tanto,
en el espacio de memoria representado por la variable se podrá almacenar uno de
los valores {0, 1, 2, 3}.
Ejemplo 2:Ejemplo 2:Ejemplo 2:Ejemplo 2: Las declaraciones del ejemplo 5 se pueden combinar de la forma
siguiente:
enumerado direcciones { NORTE, SUR, ESTE, OESTE }
direccion_de_un_coche
Ejemplo 3:Ejemplo 3:Ejemplo 3:Ejemplo 3: También se pueden combinar prescindiendo del nombre (identificador)
del tipo de dato enumerado.
enumerado { NORTE, SUR, ESTE, OESTE } direccion_de_un_coche
Actividad: de un ejemplo de datos de tipo enumerado y otro ejemplo de variables
de tipo numerado. Los ejemplos tienen que ver con una empresa que vende
productos agrícolas. (explique sus ejemplos)
Enumerando productos agrícolas {papa arroz maíz huevos }
Datos de tipos subrangosDatos de tipos subrangosDatos de tipos subrangosDatos de tipos subrangos
En lenguaje C no existen datos de tipos subrangos, no obstante, otros lenguajes
de programación sí permiten definirlos y, por esta razón, es conveniente
estudiarlos brevemente.
Un dato de un tipodato de un tipodato de un tipodato de un tipo subrangosubrangosubrangosubrango es aquel que puede tomar por valor uno de los
pertenecientes a un subrango definido por el programador. Por ejemplo,
suponiendo que el ordenador (utilizando diecisébits) puede representar el
siguiente conjunto de valores enteros:
{ ----32768327683276832768, ----32767327673276732767, ..., ----1111, 0000, 1111, ..., 32766327663276632766, 32767327673276732767 }
Los valores mínimo y máximo de ese rango son los números ----32768327683276832768 y 32767327673276732767,
respectivamente. Pues bien, un subrango es un subconjunto de valores de un
rango.
Ejemplo 1:Ejemplo 1:Ejemplo 1:Ejemplo 1: Del rango { ----32768327683276832768, ..., 0000, ..., 32767327673276732767 } posibles subrangos son:
{ 1111, 2222, 3333, 4444, 5555, 6666 }
{ 0000, 1111, 2222, ..., 8888, 9999, 10101010 }
{ ----10101010, ----9999, ----8888, ----7777 }
{ ----3333, ----2222, ----1111, ..., 5555, 6666, 7777 }
{ 1240124012401240, 1241124112411241, 1243124312431243, ..., 2999299929992999, 3000300030003000, 3001300130013001}
Ejemplo 2:Ejemplo 2:Ejemplo 2:Ejemplo 2: Sin embargo, al rango { ----32768327683276832768, ..., 0000, ..., 32767327673276732767 } no pertenecen los
siguientes subrangos:
{ 0000, 1111, 2222, ... 34998349983499834998, 34999349993499934999, 35000350003500035000 }
{ ----50000500005000050000, ----49999499994999949999, ----49998499984999849998, ..., 49998499984999849998, 49999499994999949999, 50000500005000050000 }
Como se puede observar, el conjunto de valores de un subrango también está
comprendido entre un valor mínimo y un valor máximo. Además, en el subrango
tienen que estar todos los elementos que están en el rango entre ambos valores
Ejemplo 3:Ejemplo 3:Ejemplo 3:Ejemplo 3: Así pues, del rango { ----32768327683276832768, ..., 0000, ..., 32767327673276732767 }, los siguientes conjuntos
no pueden ser considerados como subrangos:
{ 2222, 4444, 6666, 8888, 10101010 }
{ 1111, 2222, 4444, 8888, 16161616, 32323232 }
Todos los datos de tipos subrangos son ordinales, es decir, sólo pueden tomar por
valor elementos de subrangos finitos.
Variables de tipos subrangosVariables de tipos subrangosVariables de tipos subrangosVariables de tipos subrangos
Una variable de un tipo subrango representa a un espacio de memoria en donde
se puede almacenar un dato de un tipo subrango.
Ejemplo 1: Dadas las declaraciones
subrango calificaciones = 0..10
calificaciones matematicas
matematicas es una variable del tipo subrango calificaciones, así que, en el
espacio de memoria representado por la variable se podrá almacenar uno de los
valores del conjunto { 0, 1, 2, ..., 8, 9, 10 }.
Ejemplo 2: Las declaraciones del ejemplo 5 se pueden combinar de la forma
siguiente:
subrango calificaciones = 0..10 matematicas
Ejemplo 3: También, se pueden combinar prescindiendo del nombre (identificador)
del tipo de dato subrango.
subrango 0..10 matematicas
Ejercicio: plante ejemplos de datos de tipo subrango y variables de tipo subrango
con los temas:
Temperatura
Letras del alfabeto español
Nota: Los ejemplos los expondrá en clase ante sus compañeros
Alternativa múltipleAlternativa múltipleAlternativa múltipleAlternativa múltiple
Una instrucción alternativa múltipleinstrucción alternativa múltipleinstrucción alternativa múltipleinstrucción alternativa múltiple (o simplemente alternativa múltiplealternativa múltiplealternativa múltiplealternativa múltiple) permite
seleccionar, por medio de una expresión, el siguiente bloque de instrucciones a
ejecutar de entre varios posibles. En pseudocódigo, para escribir una alternativa
múltiple se utiliza la sintaxis:
segun_sea(segun_sea(segun_sea(segun_sea(<expresión><expresión><expresión><expresión>))))
<lista_de_valores_1><lista_de_valores_1><lista_de_valores_1><lista_de_valores_1>::::<bloque_de_instrucciones_1><bloque_de_instrucciones_1><bloque_de_instrucciones_1><bloque_de_instrucciones_1>
<lista_de_valores_2><lista_de_valores_2><lista_de_valores_2><lista_de_valores_2>::::<bloq<bloq<bloq<bloque_de_instrucciones_2>ue_de_instrucciones_2>ue_de_instrucciones_2>ue_de_instrucciones_2>
............
<lista_de_valores_n><lista_de_valores_n><lista_de_valores_n><lista_de_valores_n>::::<bloque_de_instrucciones_n><bloque_de_instrucciones_n><bloque_de_instrucciones_n><bloque_de_instrucciones_n>
[ [ [ [ sino:sino:sino:sino:<bloque_de_instrucciones_n+1> ]<bloque_de_instrucciones_n+1> ]<bloque_de_instrucciones_n+1> ]<bloque_de_instrucciones_n+1> ]
fin_segun_seafin_segun_seafin_segun_seafin_segun_sea
El resultado de evaluar la <expresión> debe ser un valor perteneciente a un tipo
de dato finito y ordenado, es decir, entero, lógico, carácter, enumerado o subrango
Dependiendo del valor obtenido al evaluar la <expresión>, se ejecutará un bloque
de instrucciones u otro. En las listas de valores se deben escribir los valores que
determinan el bloque de instrucciones a ejecutar, teniendo en cuenta que, un valor
sólo puede aparecer en una lista de valores.
Opcionalmente, se puede escribir un <bloque_de_instrucciones_n+1> después de
sino :sino :sino :sino :. Este bloque de instrucciones se ejecutará en el caso de que el valor
obtenido al evaluar la <expresión>, no se encuentre en ninguna de las listas de
valores especificadas.
Ejemplo 1:Ejemplo 1:Ejemplo 1:Ejemplo 1: Se quiere diseñar el algoritmo de un programa que:
1º) Pida por teclado el número (dato entero) de un día de la semana.
2º) Muestre por pantalla el nombre (dato cadena) correspondiente a dicho día.
Nota: Si el número de día introducido es menor que 1 ó mayor que 7, se mostrará
el mensaje: "ERROR: Día incorrecto.".
En pantalla:
Algoritmo propuesto:
algoritmoalgoritmoalgoritmoalgoritmo Dia_de_la_semana
variablesvariablesvariablesvariables
enteroenteroenteroentero dia
inicioinicioinicioinicio
escribir("escribir("escribir("escribir("Introduzca día de la semana: " )" )" )" )
leer(leer(leer(leer(dia))))
segun_sea (segun_sea (segun_sea (segun_sea (dia))))
1 : escribir(": escribir(": escribir(": escribir("Lunes" )" )" )" )
2 : escribir( ": escribir( ": escribir( ": escribir( "Martes" )" )" )" )
3 : escribir( ": escribir( ": escribir( ": escribir( "Miércoles" )" )" )" )
4 : escribir( ": escribir( ": escribir( ": escribir( "Jueves" )" )" )" )
5 : escribir( ": escribir( ": escribir( ": escribir( "Viernes" )" )" )" )
6 : escribir( ": escribir( ": escribir( ": escribir( "Sábado" )" )" )" )
7 : escribir( ": escribir( ": escribir( ": escribir( "Domingo" )" )" )" )
sino : escribir( "sino : escribir( "sino : escribir( "sino : escribir( "ERROR: Día incorrecto." )" )" )" )
fin_segun_seafin_segun_seafin_segun_seafin_segun_sea
finfinfinfin
Cuando en una lista de valores de una alternativa múltiple aparece más de un
valor, estos se escriben separados por el carácter coma (,,,,). Estudiemos el
siguiente ejemplo.
Ejemplo 2:Ejemplo 2:Ejemplo 2:Ejemplo 2: En la siguiente tabla se muestran las categorías a las que pertenecen
los signos del zodíaco:
Se quiere diseñar el algoritmo de un
programa que:
1º) Muestre el listado de los signos del
zodíaco, con sus números asociados.
2º) Pida por teclado un número (dato
entero) asociado a un signo del zodíaco.
3º) Muestre la categoría a la que pertenece
el signo del zodíaco seleccionado.
Nota: Si el número introducido por el usuario, no está asociado a ningún signo del
zodíaco, se mostrará el mensaje: "ERROR: <número> no está asociado a ningún
signo.".
En pantalla:
Una posible solución es:
algoritmoalgoritmoalgoritmoalgoritmo Signo_del_zodiaco
variablesvariablesvariablesvariables
enteroenteroenteroentero numero
inicioinicioinicioinicio
escribir( "escribir( "escribir( "escribir( "Listado de signos del zodíaco:" )" )" )" )
escribir( "escribir( "escribir( "escribir( "1. Aries" )" )" )" )
escribir( "escribir( "escribir( "escribir( "2. Tauro" )" )" )" )
escribir( "escribir( "escribir( "escribir( "3. Géminis" )" )" )" )
escribir( "escribir( "escribir( "escribir( "4. Cáncer" )" )" )" )
escribir( "escribir( "escribir( "escribir( "5. Leo" )" )" )" )
escribir( "escribir( "escribir( "escribir( "6. Virgo" )" )" )" )
escribir( "escribir( "escribir( "escribir( "7. Libra" )" )" )" )
escribir( "escribir( "escribir( "escribir( "8. Escorpio" )" )" )" )
escribir( "escribir( "escribir( "escribir( "9. Sagitario" )" )" )" )
escribir( "escribir( "escribir( "escribir( "10. Capricornio" )" )" )" )
escribir( "escribir( "escribir( "escribir( "11. Acuario" )" )" )" )
escribir( "escribir( "escribir( "escribir( "12. Piscis" )" )" )" )
escribir( "escribir( "escribir( "escribir( "Introduzca número de signo: " )" )" )" )
leer(leer(leer(leer( numero ))))
segun_sea (segun_sea (segun_sea (segun_sea ( numero ))))
1,,,, 5,,,, 9 : escribir( ": escribir( ": escribir( ": escribir( "Es un signo de Fuego." )" )" )" )
2,,,, 6,,,,10 : escribir( ": escribir( ": escribir( ": escribir( "Es un signo de Tierra." )" )" )" )
3,,,, 7,,,,11 : escribir( ": escribir( ": escribir( ": escribir( "Es un signo de Aire." )" )" )" )
4,,,, 8,,,,12 : escribir( ": escribir( ": escribir( ": escribir( "Es un signo de Agua." )" )" )" )
sino : escribir( "sino : escribir( "sino : escribir( "sino : escribir( "ERROR: ",",",", numero,,,,
"""" no está asociado a ningún signo." )" )" )" )
fin_segun_seafin_segun_seafin_segun_seafin_segun_sea
finfinfinfin
Otra solución es:
algoritmoalgoritmoalgoritmoalgoritmo Signo_del_zodiaco
variablesvariablesvariablesvariables
enteroenteroenteroentero numero
cadenacadenacadenacadena categoria
inicioinicioinicioinicio
escribir( "escribir( "escribir( "escribir( "Listado de signos del zodíaco:" )" )" )" )
escribir( "escribir( "escribir( "escribir( "1. Aries" )" )" )" )
escribir( "escribir( "escribir( "escribir( "2. Tauro" )" )" )" )
escribir( "escribir( "escribir( "escribir( "3. Géminis" )" )" )" )
escribir( "escribir( "escribir( "escribir( "4. Cáncer" )" )" )" )
escribir( "escribir( "escribir( "escribir( "5. Leo" )" )" )" )
escribir( "escribir( "escribir( "escribir( "6. Virgo" )" )" )" )
escribir( "escribir( "escribir( "escribir( "7. Libra" )" )" )" )
escribir( "escribir( "escribir( "escribir( "8. Escorpio" )" )" )" )
escribir(escribir(escribir(escribir( """"9. Sagitario" )" )" )" )
escribir( "escribir( "escribir( "escribir( "10. Capricornio" )" )" )" )
escribir( "escribir( "escribir( "escribir( "11. Acuario" )" )" )" )
escribir( "escribir( "escribir( "escribir( "12. Piscis" )" )" )" )
escribir( "escribir( "escribir( "escribir( "Introduzca número de signo: " )" )" )" )
leer(leer(leer(leer( numero ))))
segun_sea (segun_sea (segun_sea (segun_sea (numeromodmodmodmod 4 ))))
1 ::::categoria ←"←"←"←"Fuego""""
2 ::::categoria ←"←"←"←"Tierra""""
3 ::::categoria ←"←"←"←"Aire""""
0 ::::categoria ←"←"←"←"Agua""""
fin_segun_seafin_segun_seafin_segun_seafin_segun_sea
si (si (si (si ( numero >=>=>=>= 1 yyyy numero <=<=<=<= 12 ))))
escribir( "escribir( "escribir( "escribir( "Es un signo de ",",",",categoria, ", ", ", "." )" )" )" )
sinosinosinosino
escribir( "escribir( "escribir( "escribir( "ERROR: ",",",", numero,,,,
"""" no está asociado a ningún signo." )" )" )" )
fin_sifin_sifin_sifin_si
finfinfinfin
En esta segunda solución existen las siguientes diferencias importantes con
respecto a la solución anterior:
• En el algoritmo se utiliza una alternativa doble, además de una alternativa múltiple.
• En la alternativa múltiple no se escribe el <bloque_de_instrucciones_n+1>. • La expresión de la alternativa múltiple es diferente. • La expresión "Es un signo de " sólo se escribe una vez.
Se ha utilizado una variable más: categoria
Ejercicio 1 Ejercicio 1 Ejercicio 1 Ejercicio 1 ---- Número del dado (Alternativa Número del dado (Alternativa Número del dado (Alternativa Número del dado (Alternativa múltiple múltiple múltiple múltiple ---- Pseudocódigo CEE)Pseudocódigo CEE)Pseudocódigo CEE)Pseudocódigo CEE) Diseñe el algoritmo (en pseudocódigo) de un programa que:
1º) Pida por teclado el resultado (dato entero) obtenido al lanzar un dado de seis caras. 2º) Muestre por pantalla el número en letras (dato cadena) de la cara opuesta al resultado obtenido. Nota 1:Nota 1:Nota 1:Nota 1: En las caras opuestas de un dado de seis caras están los números: 1-6, 2-5 y 3-4. Nota 2:Nota 2:Nota 2:Nota 2: Si el número del dado introducido es menor que 1 ó mayor que 6, se mostrará el mensaje: "ERROR: Número incorrecto.". En pantalla:
Introduzca número del dado:Introduzca número del dado:Introduzca número del dado:Introduzca número del dado: 5555 En la cara opuesta está el "dos".En la cara opuesta está el "dos".En la cara opuesta está el "dos".En la cara opuesta está el "dos".
Introduzca número del dado:Introduzca número del dado:Introduzca número del dado:Introduzca número del dado: 8888 ERROR: Número incorrecto.ERROR: Número incorrecto.ERROR: Número incorrecto.ERROR: Número incorrecto.
EjercicioEjercicioEjercicioEjercicio 2 2 2 2 ---- Habitaciones de una casa rural (Alternativa múltiple Habitaciones de una casa rural (Alternativa múltiple Habitaciones de una casa rural (Alternativa múltiple Habitaciones de una casa rural (Alternativa múltiple ---- Pseudocódigo Pseudocódigo Pseudocódigo Pseudocódigo
CEE)CEE)CEE)CEE)
En la siguiente tabla se muestra el número de camas de las habitaciones de una
casa rural, además de la planta donde está ubicada cada una de ellas:
HabitaciónHabitaciónHabitaciónHabitación CamasCamasCamasCamas PlantaPlantaPlantaPlanta
1. Azul 2 Primera
2. Roja 1 Primera
3. Verde 3 Segunda
4. Rosa 2 Segunda
5. Gris 1 Tercera
Diseñe el algoritmo (en pseudocódigo) de un programa que:
1º) Muestre el listado de las habitaciones de la casa rural. 2º) Pida por teclado el número (dato entero) asociado a una habitación. 3º) Muestre por pantalla la planta y el número de camas de la habitación seleccionada.
Nota:Nota:Nota:Nota: Si el número introducido por el usuario, no está asociado a ninguna
habitación, se mostrará el mensaje: "ERROR: <número> no está asociado a
ninguna habitación.".
En pantalla:
Listado de habitaciones:Listado de habitaciones:Listado de habitaciones:Listado de habitaciones:
1. Azul1. Azul1. Azul1. Azul 2. Roja2. Roja2. Roja2. Roja 3. Verde3. Verde3. Verde3. Verde 4.4.4.4. RosaRosaRosaRosa 5. Gris5. Gris5. Gris5. Gris Introduzca número de habitación:Introduzca número de habitación:Introduzca número de habitación:Introduzca número de habitación: 3333 LaLaLaLa Verde tiene 3 cama/s y está en la segunda planta.Verde tiene 3 cama/s y está en la segunda planta.Verde tiene 3 cama/s y está en la segunda planta.Verde tiene 3 cama/s y está en la segunda planta.
Listado de habitaciones:Listado de habitaciones:Listado de habitaciones:Listado de habitaciones: 1. Azul1. Azul1. Azul1. Azul 2. Roja2. Roja2. Roja2. Roja 3. Verde3. Verde3. Verde3. Verde 4.4.4.4. RosaRosaRosaRosa 5. Gris5. Gris5. Gris5. Gris Introduzca número de habitación:Introduzca número de habitación:Introduzca número de habitación:Introduzca número de habitación: 7777 ERROR: 7 no está asociado a ninguna habitación.ERROR: 7 no está asociado a ninguna habitación.ERROR: 7 no está asociado a ninguna habitación.ERROR: 7 no está asociado a ninguna habitación.
Solución del Ejercicio 1 Solución del Ejercicio 1 Solución del Ejercicio 1 Solución del Ejercicio 1 ---- Número del dado (Alternativa múltiple Número del dado (Alternativa múltiple Número del dado (Alternativa múltiple Número del dado (Alternativa múltiple ---- Pseudocódigo Pseudocódigo Pseudocódigo Pseudocódigo CEE)CEE)CEE)CEE)
algoritmoalgoritmoalgoritmoalgoritmo Numero_del_dado
variablesvariablesvariablesvariables
enteroenteroenteroentero numero
inicioinicioinicioinicio
escribir("escribir("escribir("escribir("Introduzca número del dado: " )" )" )" )
leer(leer(leer(leer( numero ))))
segun_sea (segun_sea (segun_sea (segun_sea ( numero ))))
1 :::: escribir("escribir("escribir("escribir("En la cara opuesta está el \"seis\"." )" )" )" )
2 : escribir( ": escribir( ": escribir( ": escribir( "En la cara opuesta está el \"cinco\"." )" )" )" )
3 : escribir( ": escribir( ": escribir( ": escribir( "En la cara opuesta está el \"cuatro\"." )" )" )" )
4 : escribir( ": escribir( ": escribir( ": escribir( "En la cara opuesta está el \"tres\"." )" )" )" )
5 : escribir( ": escribir( ": escribir( ": escribir( "En la cara opuesta está el \"dos\"." )" )" )" )
6 : escribir( ": escribir( ": escribir( ": escribir( "En la cara opuesta está el \"uno\"." )" )" )" )
sino : escribir( "sino : escribir( "sino : escribir( "sino : escribir( "ERROR: Número incorrecto." )" )" )" )
fin_segun_seafin_segun_seafin_segun_seafin_segun_sea
finfinfinfin
Una segunda solución es:
algoritmoalgoritmoalgoritmoalgoritmo Numero_del_dado
variavariavariavariablesblesblesbles
enteroenteroenteroentero numero
cadenacadenacadenacadena letras
inicioinicioinicioinicio
escribir("escribir("escribir("escribir("Introduzca número del dado: " )" )" )" )
leer(leer(leer(leer( numero ))))
segun_sea (segun_sea (segun_sea (segun_sea ( numero ))))
1 :::: letras ←"←"←"←"seis""""
2 :::: letras ←"←"←"←"cinco""""
3 :::: letras ←"←"←"←"cuatro""""
4 :::: letras ←"←"←"←"tres""""
5 :::: letras ←"←"←"←"dos""""
6 :::: letras ←"←"←"←"uno""""
fin_segun_seafin_segun_seafin_segun_seafin_segun_sea
si (si (si (si ( numero >=>=>=>= 1 yyyy numero <=<=<=<= 6 ))))
escribir( "escribir( "escribir( "escribir( "En la cara opuesta está el \"",",",",
letras, ", ", ", "\"." )" )" )" )
sinosinosinosino
escribir( "escribir( "escribir( "escribir( "ERROR: Número incorrecto." )" )" )" )
fin_sfin_sfin_sfin_siiii
finfinfinfin
Solución del Ejercicio 2 Solución del Ejercicio 2 Solución del Ejercicio 2 Solución del Ejercicio 2 ---- Habitaciones de una casa rural (Alternativa múltiple Habitaciones de una casa rural (Alternativa múltiple Habitaciones de una casa rural (Alternativa múltiple Habitaciones de una casa rural (Alternativa múltiple ---- Pseudocódigo CEE)Pseudocódigo CEE)Pseudocódigo CEE)Pseudocódigo CEE)
algoritmoalgoritmoalgoritmoalgoritmo Habitaciones_de_una_casa_rural
variablesvariablesvariablesvariables
enteroenteroenteroentero numero
inicioinicioinicioinicio
escribir( "escribir( "escribir( "escribir( "Listado de habitaciones:" )" )" )" )
escribir( "escribir( "escribir( "escribir( "1. Azul" " " " ))))
escribir( "escribir( "escribir( "escribir( "2. Roja" )" )" )" )
escribir( "escribir( "escribir( "escribir( "3. Verde" )" )" )" )
escribir( "escribir( "escribir( "escribir( "4. Rosa" )" )" )" )
escribir( "escribir( "escribir( "escribir( "5. Gris" )" )" )" )
escribir( "escribir( "escribir( "escribir( "Introduzca número de habitación: " )" )" )" )
leer(leer(leer(leer( numero ))))
segun_sea (segun_sea (segun_sea (segun_sea ( numero ))))
1 :::: escribir( "escribir( "escribir( "escribir( "La Azul tiene 2 cama/s y está en la primera planta." )" )" )" )
2 :::: escribir( "escribir( "escribir( "escribir( "La Roja tiene 1 cama/s y está en la primera planta." )" )" )" )
3 :::: escribir( "escribir( "escribir( "escribir( "La Verde tiene 3 cama/s y está en la segunda planta." )" )" )" )
4 :::: escribir( "escribir( "escribir( "escribir( "La Rosa tiene 2 cama/s y está en la segunda planta." " " " ))))
5 :::: escribir( "escribir( "escribir( "escribir( "La Gris tiene 1 cama/s y está en la tercera planta." )" )" )" )
sino : escribir( "sino : escribir( "sino : escribir( "sino : escribir( "ERROR: ",",",", numero,,,,
"""" no está asociado a ninguna habitación." )" )" )" )
fin_segun_seafin_segun_seafin_segun_seafin_segun_sea
finfinfinfin
Una segunda solución es:
algoritmoalgoritmoalgoritmoalgoritmo Habitaciones_de_una_casa_rural
variablesvariablesvariablesvariables
enteroenteroenteroentero numero,,,, camas
cadenacadenacadenacadena nombre,,,, planta
inicioinicioinicioinicio
escribir( "escribir( "escribir( "escribir( "Listado de habitaciones:" )" )" )" )
escribir( "escribir( "escribir( "escribir( "1. Azul" )" )" )" )
escribir( "escribir( "escribir( "escribir( "2. Roja" )" )" )" )
escribir( "escribir( "escribir( "escribir( "3. Verde" )" )" )" )
escribir( "escribir( "escribir( "escribir( "4. Rosa" )" )" )" )
escribir( "escribir( "escribir( "escribir( "5. Gris" )" )" )" )
escribir( "escribir( "escribir( "escribir( "Introduzca número de habitación: " )" )" )" )
leer(leer(leer(leer( numero ))))
segun_sea (segun_sea (segun_sea (segun_sea ( numero ))))
1 :::: nombre ←"←"←"←"Azul""""
camas ←←←← 2
planta ←"←"←"←"primera""""
2 :::: nombre ←"←"←"←"Roja""""
camas ←←←← 1
planta ←"←"←"←"primera""""
3 :::: nombre ←"←"←"←"Verde""""
camas ←←←← 3
planta ←"←"←"←"segunda""""
4 :::: nombre ←"←"←"←"Rosa""""
camas ←←←← 2
planta ←"←"←"←"segunda""""
5 :::: nombre ←"←"←"←"Gris""""
camas ←←←← 1
planta ←"←"←"←"tercera""""
fin_segun_seafin_segun_seafin_segun_seafin_segun_sea
si (si (si (si ( numero >=>=>=>= 1 yyyy numero <=<=<=<= 5 ))))
escribir( "escribir( "escribir( "escribir( "La ",",",", nombre, ", ", ", " tiene ",",",", camas,,,,
"""" cama/s y está en la ",",",", planta,,,,
"""" planta." )" )" )" )
sinosinosinosino
escribir( "escribir( "escribir( "escribir( "ERROR: ",",",", numero,,,,
"""" no está asociado a ninguna habitación." )" )" )" )
fin_sifin_sifin_sifin_si
finfinfinfin
Alternativa múltiple en ordinogramasAlternativa múltiple en ordinogramasAlternativa múltiple en ordinogramasAlternativa múltiple en ordinogramas
En un ordinograma, una instrucción alternativa múltiple se representa del siguiente modo:
Así, por ejemplo, el algoritmo del Ejemplo1: (Ejemplo1: (Ejemplo1: (Ejemplo1: ( Se quiere diseñar el algoritmo de un
programa que:
1º) Pida por teclado el número (dato entero) de un día de la semana.
2º) Muestre por pantalla el nombre (dato cadena) correspondiente a dicho día.
Nota: Si el número de día introducido es menor que 1 ó mayor que 7, se mostrará
el mensaje: "ERROR: Día incorrecto.")
se puede representar, de manera gráfica, de la siguiente forma:
Ejercicio 1 Ejercicio 1 Ejercicio 1 Ejercicio 1 ---- Número del dado (Alternativa múltiple Número del dado (Alternativa múltiple Número del dado (Alternativa múltiple Número del dado (Alternativa múltiple ---- Ordinogramas)Ordinogramas)Ordinogramas)Ordinogramas) Diseñe el algoritmo (ordinograma) de un programa que:
1º) Pida por teclado el resultado (dato entero) obtenido al lanzar un dado de seis caras. 2º) Muestre por pantalla el número en letras (dato cadena) de la cara opuesta al resultado obtenido. Nota 1:Nota 1:Nota 1:Nota 1: En las caras opuestas de un dado de seis caras están los números: 1-6, 2-5 y 3-4. Nota 2:Nota 2:Nota 2:Nota 2: Si el número del dado introducido es menor que 1 ó mayor que 6, se mostrará el mensaje: "ERROR: Número incorrecto.". En pantalla:
Introduzca número del dado:Introduzca número del dado:Introduzca número del dado:Introduzca número del dado: 5555 En la cara opuesta está el "dos".En la cara opuesta está el "dos".En la cara opuesta está el "dos".En la cara opuesta está el "dos".
Introduzca número del Introduzca número del Introduzca número del Introduzca número del dado:dado:dado:dado: 8888 ERROR: Número incorrectoERROR: Número incorrectoERROR: Número incorrectoERROR: Número incorrecto
Algoritmos Algoritmos Algoritmos Algoritmos dado_de_6_carasdado_de_6_carasdado_de_6_carasdado_de_6_caras
Variables 1,2,3,4,5,6,Variables 1,2,3,4,5,6,Variables 1,2,3,4,5,6,Variables 1,2,3,4,5,6,
Inicio Inicio Inicio Inicio
Escribir Escribir Escribir Escribir
EjercicioEjercicioEjercicioEjercicio 2 2 2 2 ---- Habitaciones de una casa rural (Alternativa múltiple Habitaciones de una casa rural (Alternativa múltiple Habitaciones de una casa rural (Alternativa múltiple Habitaciones de una casa rural (Alternativa múltiple ---- Ordinogramas)Ordinogramas)Ordinogramas)Ordinogramas) En la siguiente tabla se muestra el número de camas de las habitaciones de una casa rural, además de la planta donde está ubicada cada una de ellas:
HabitaciónHabitaciónHabitaciónHabitación CamasCamasCamasCamas PlantaPlantaPlantaPlanta
1. Azul 2 Primera
2. Roja 1 Primera
3. Verde 3 Segunda
4. Rosa 2 Segunda
5. Gris 1 Tercera
Diseñe el algoritmo (ordinograma) de un programa que:
1º) Muestre el listado de las habitaciones de la casa rural. 2º) Pida por teclado el número (dato entero) asociado a una habitación. 3º) Muestre por pantalla la planta y el número de camas de la habitación seleccionada. NNNNota:ota:ota:ota: Si el número introducido por el usuario, no está asociado a ninguna habitación, se mostrará el mensaje: "ERROR: <número> no está asociado a ninguna habitación.". En pantalla:
Listado de habitaciones:Listado de habitaciones:Listado de habitaciones:Listado de habitaciones: 1. Azul1. Azul1. Azul1. Azul 2. Roja2. Roja2. Roja2. Roja 3. Verde3. Verde3. Verde3. Verde 4.4.4.4. RosaRosaRosaRosa 5. Gris5. Gris5. Gris5. Gris Introduzca número de habitación:Introduzca número de habitación:Introduzca número de habitación:Introduzca número de habitación: 3333 LaLaLaLa Verde tiene 3 cama/s y está en la segunda planta.Verde tiene 3 cama/s y está en la segunda planta.Verde tiene 3 cama/s y está en la segunda planta.Verde tiene 3 cama/s y está en la segunda planta.
Listado de habitaciones:Listado de habitaciones:Listado de habitaciones:Listado de habitaciones: 1. Azul1. Azul1. Azul1. Azul 2. Roja2. Roja2. Roja2. Roja 3. Verde3. Verde3. Verde3. Verde 4.4.4.4. RosaRosaRosaRosa 5. Gris5. Gris5. Gris5. Gris Introduzca número de habitación:Introduzca número de habitación:Introduzca número de habitación:Introduzca número de habitación: 7777 ERROR: 7 no está asociado a ninguna habitación.ERROR: 7 no está asociado a ninguna habitación.ERROR: 7 no está asociado a ninguna habitación.ERROR: 7 no está asociado a ninguna habitación.
Solución del Ejercicio 1 Solución del Ejercicio 1 Solución del Ejercicio 1 Solución del Ejercicio 1 ---- Número del dado (Alternativa múltiple Número del dado (Alternativa múltiple Número del dado (Alternativa múltiple Número del dado (Alternativa múltiple ---- Ordinogramas)Ordinogramas)Ordinogramas)Ordinogramas)
Una segunda solución es:
Solución del Ejercicio 2 Solución del Ejercicio 2 Solución del Ejercicio 2 Solución del Ejercicio 2 ---- Habitaciones de una casa rural (Alternativa múltiple Habitaciones de una casa rural (Alternativa múltiple Habitaciones de una casa rural (Alternativa múltiple Habitaciones de una casa rural (Alternativa múltiple ---- Ordinogramas)Ordinogramas)Ordinogramas)Ordinogramas)
Una segunda solución es:
9.4 Anidamiento9.4 Anidamiento9.4 Anidamiento9.4 Anidamiento
Las instrucciones alternativas y repetitivas pueden escribirse una dentro de otra. A
este hecho se le conoce como anidamientoanidamientoanidamientoanidamiento.
Las instrucciones alternativas permiten realizar las siguientes combinaciones de
anidamiento:
• Doble en doble. • Doble en simple. • Doble en múltiple. • Simple en simple. • Simple en doble. • Simple en múltiple. • Múltiple en múltiple. • Múltiple en doble. • Múltiple en simple.
De ellas, vamos a estudiar, como ejemplo, las siguientes combinaciones:
• Doble en doble. • Múltiple en doble.
9.4.1 Anidamiento de una alternativa doble en doble
En pseudocódigo, para anidar una alternativa doble en otra, se utiliza la sintaxis:
si (si (si (si (<expresión_lógica_1>))))
/*/*/*/* Inicio del anidamiento */*/*/*/
si (si (si (si (<expresión_lógica_2>))))
<bloque_de_instrucciones_1>
sinosinosinosino
<bloque_de_instrucciones_2>
fin_sifin_sifin_sifin_si
/*/*/*/* Fin del anidamiento */*/*/*/
sinosinosinosino
<bloque_de_instrucciones_3>
fin_sifin_sifin_sifin_si
O también:
si (si (si (si (<expresión_lógica_1>))))
<bloque_de_instrucciones_1>
sinosinosinosino
/*/*/*/* Inicio del anidamiento */*/*/*/
si (si (si (si (<expresión_lógica_2>))))
<bloque_de_instrucciones_2>
sinosinosinosino
<bloque_de_instrucciones_3>
fin_sifin_sifin_sifin_si
/*/*/*/* Fin del anidamiento */*/*/*/
fin_sifin_sifin_sifin_si
Ejemplo: Se quiere diseñar el algoritmo de un programa que:
1º) Pida por teclado la nota (real) de una asignatura.
2º) Muestre por pantalla:
• "APTO", en el caso de que la nota sea mayor o igual que 5 y menor o igual que 10.
• "NO APTO", en el caso de que la nota sea mayor o igual que 0 y menor que 5.
• "ERROR: Nota incorrecta.", en el caso de que la nota sea menor que 0 o mayor que 10.
En pantalla:
Una solución al problema es:
algoritmoalgoritmoalgoritmoalgoritmoCalificacion_segun_nota
variablesvariablesvariablesvariables
realrealrealreal nota
inicioinicioinicioinicio
escribir( "escribir( "escribir( "escribir( "Introduzca nota (real): " )" )" )" )
leer(leer(leer(leer( nota ))))
si (si (si (si ( nota >=>=>=>= 5 yyyy nota <=<=<=<= 10 ))))
escribir( "escribir( "escribir( "escribir( "APTO" )" )" )" )
sinosinosinosino
/*/*/*/* Inicio del anidamiento */*/*/*/
si (si (si (si ( nota >=>=>=>= 0 yyyy nota <<<< 5 ))))
escribir( "escribir( "escribir( "escribir( "NO APTO" )" )" )" )
sinosinosinosino
escribir( "escribir( "escribir( "escribir( "ERROR: Nota incorrecta." )" )" )" )
fin_sifin_sifin_sifin_si
/*/*/*/* Fin del anidamiento */*/*/*/
fin_sifin_sifin_sifin_si
finfinfinfin
En ordinograma:
Como se puede observar, el anidamiento de instrucciones alternativas permite ir
descartando valores hasta llegar al bloque de instrucciones que se debe ejecutar.
9.4.2 Anidamiento de una alternativa múltiple en doble
En pseudocódigo, para anidar una alternativa múltiple en una alternativa doble, se
utiliza la sintaxis:
si (si (si (si (<expresión_lógica>))))
/*/*/*/* Inicio del anidamiento */*/*/*/
segun_sea (segun_sea (segun_sea (segun_sea (<expresión>))))
<lista_de_valores_1>::::<bloque_de_instrucciones_1>
<lista_de_valores_2>::::<bloque_de_instrucciones_2>
............
<lista_de_valores_n>::::<bloque_de_instrucciones_n>
[ sino :sino :sino :sino :<bloque_de_instrucciones_n+1> ]
fin_segun_seafin_segun_seafin_segun_seafin_segun_sea
/*/*/*/* Fin del anidamiento */*/*/*/
sinosinosinosino
<bloque_de_instrucciones_n+2>
fin_sifin_sifin_sifin_si
Ejemplo: Así por ejemplo, el primer ejemplo del apartado anterior, 9.3 Alternativa
múltiple, también se puede resolver anidando una alternativa múltiple en una
alternativa doble.
algoritmoalgoritmoalgoritmoalgoritmoDia_de_la_semana
variablesvariablesvariablesvariables
enteroenteroenteroenterodia
iiiinicionicionicionicio
escribir( "escribir( "escribir( "escribir( "Introduzca día de la semana: " )" )" )" )
leer(leer(leer(leer(dia))))
si (si (si (si (dia>=>=>=>= 1 yyyydia<=<=<=<= 7 ))))
/*/*/*/* Sólo si el día es válido, se ejecuta la
instrucción alternativa múltiple. */*/*/*/
/*/*/*/* Inicio del anidamiento */*/*/*/
segun_sea (segun_sea (segun_sea (segun_sea (dia))))
1 : escribir( ": escribir( ": escribir( ": escribir( "Lunes" )" )" )" )
2 : escribir( ": escribir( ": escribir( ": escribir( "Martes" )" )" )" )
3 : escribir( ": escribir( ": escribir( ": escribir( "Miércoles" )" )" )" )
4 : escribir( ": escribir( ": escribir( ": escribir( "Jueves" )" )" )" )
5 : escribir( ": escribir( ": escribir( ": escribir( "Viernes" )" )" )" )
6 : escribir( ": escribir( ": escribir( ": escribir( "Sábado" )" )" )" )
7 : escribir( ": escribir( ": escribir( ": escribir( "Domingo" )" )" )" )
fin_segun_sefin_segun_sefin_segun_sefin_segun_seaaaa
/*/*/*/* Fin del anidamiento */*/*/*/
sinosinosinosino
escribir( "escribir( "escribir( "escribir( "ERROR: Día incorrecto." )" )" )" )
fin_sifin_sifin_sifin_si
finfinfinfin
EjercicioEjercicioEjercicioEjercicio 1 1 1 1 ---- Suma o multiplicación de dos números (Anidamiento de alternativas Suma o multiplicación de dos números (Anidamiento de alternativas Suma o multiplicación de dos números (Anidamiento de alternativas Suma o multiplicación de dos números (Anidamiento de alternativas ---- Pseudocódigo CEE)Pseudocódigo CEE)Pseudocódigo CEE)Pseudocódigo CEE) Diseñe el algoritmo (en pseudocódigo) de un programa que:
1º) Pida por teclado dos números (datos enteros). 2º) Calcule la suma y multiplicación de ambos números. 3º) Muestre por pantalla:
• "La suma es mayor.", en caso de que sea mayor que la multiplicación de ambos números.
• "La multpilicación es mayor.", en caso de que sea mayor que la suma de ambos números.
• "La suma y multiplicación son iguales.", en caso de que así sea.
En pantalla:
Introduzca primer número (entero):Introduzca primer número (entero):Introduzca primer número (entero):Introduzca primer número (entero): ----2222 Introduzca segundo número (entero): 3Introduzca segundo número (entero): 3Introduzca segundo número (entero): 3Introduzca segundo número (entero): 3 La suma es mayor.La suma es mayor.La suma es mayor.La suma es mayor.
Introduzca primer Introduzca primer Introduzca primer Introduzca primer número (entero):número (entero):número (entero):número (entero): 2222 Introduzca segundo número (entero):Introduzca segundo número (entero):Introduzca segundo número (entero):Introduzca segundo número (entero): 2222 La suma y multiplicación son iguales.La suma y multiplicación son iguales.La suma y multiplicación son iguales.La suma y multiplicación son iguales.
Solución del Ejercicio 1 Solución del Ejercicio 1 Solución del Ejercicio 1 Solución del Ejercicio 1 ---- Suma o multiplicación de dos números (Anidamiento de Suma o multiplicación de dos números (Anidamiento de Suma o multiplicación de dos números (Anidamiento de Suma o multiplicación de dos números (Anidamiento de alternativas alternativas alternativas alternativas ---- Pseudocódigo CEE)Pseudocódigo CEE)Pseudocódigo CEE)Pseudocódigo CEE)
algoritmoalgoritmoalgoritmoalgoritmo Suma_o_multiplicacion_de_dos_numeros variablesvariablesvariablesvariables enteroenteroenteroentero a,,,, b,,,, suma,,,, multiplicacion
inicioinicioinicioinicio escribir( "escribir( "escribir( "escribir( "Introduzca primer número (entero): " )" )" )" ) leer(leer(leer(leer( a )))) escribir( "escribir( "escribir( "escribir( "Introduzca segundo número (entero): " )" )" )" ) leer(leer(leer(leer( b )))) suma ←←←← a ++++ b multiplicacion←←←← a **** b si (si (si (si ( suma >>>> multiplicacion)))) escribir( "escribir( "escribir( "escribir( "La suma es mayor." )" )" )" ) sinosinosinosino /*/*/*/* Inicio del anidamiento */*/*/*/ si (si (si (si ( multiplicacion>>>> suma )))) escribir( "escribir( "escribir( "escribir( "La multiplicación es mayor." )" )" )" ) sinosinosinosino escribirescribirescribirescribir( "( "( "( "La suma y multiplicación son iguales." )" )" )" ) fin_sifin_sifin_sifin_si /*/*/*/* Fin del anidamiento */*/*/*/ fin_sifin_sifin_sifin_si finfinfinfin
Una segunda solución es:
algoritmoalgoritmoalgoritmoalgoritmo Suma_o_multiplicacion_de_dos_numeros variablesvariablesvariablesvariables enteroenteroenteroentero a,,,, b
inicioinicioinicioinicio escribir( "escribir( "escribir( "escribir( "Introduzca primer número (entero): " )" )" )" ) leer(leer(leer(leer( a )))) escribir( "escribir( "escribir( "escribir( "Introduzca segundo número (entero): " )" )" )" ) leer(leer(leer(leer( b )))) si (si (si (si ( a ++++ b >>>> a **** b )))) escribir( "escribir( "escribir( "escribir( "La suma es mayor." )" )" )" ) sinosinosinosino /*/*/*/* Inicio del anidamiento */*/*/*/ si (si (si (si ( a **** b >>>> a ++++ b )))) escribir( "escribir( "escribir( "escribir( "La multiplicación es mayor." )" )" )" ) sinosinosinosino escribir( "escribir( "escribir( "escribir( "La suma y multiplicación son iguales." )" )" )" ) fin_sifin_sifin_sifin_si /*/*/*/* Fin del anidamiento */*/*/*/ fin_sifin_sifin_sifin_si finfinfinfin
EjercicioEjercicioEjercicioEjercicio 2 2 2 2 ---- Número del dado (Anidamiento de alternativas Número del dado (Anidamiento de alternativas Número del dado (Anidamiento de alternativas Número del dado (Anidamiento de alternativas ---- Pseudocódigo CEE)Pseudocódigo CEE)Pseudocódigo CEE)Pseudocódigo CEE)
Diseñe el algoritmo (en pseudocódigo) de un programa que resuelva el problema
del Ejercicio 1 (Alternativa múltiple) anidando una alternativa múltiple en una
alternativa doble.
Solución del Ejercicio 2 Solución del Ejercicio 2 Solución del Ejercicio 2 Solución del Ejercicio 2 ---- Número del dado (Anidamiento de alternativas Número del dado (Anidamiento de alternativas Número del dado (Anidamiento de alternativas Número del dado (Anidamiento de alternativas ---- Pseudocódigo CEE)Pseudocódigo CEE)Pseudocódigo CEE)Pseudocódigo CEE)
algoritmoalgoritmoalgoritmoalgoritmo Numero_del_dado
variablesvariablesvariablesvariables enteroenteroenteroentero numero inicioinicioinicioinicio escribir( "escribir( "escribir( "escribir( "Introduzca número del dado: " )" )" )" ) leer(leer(leer(leer( numero )))) si (si (si (si ( numero >=>=>=>= 1 yyyy numero <=<=<=<= 6 )))) /*/*/*/* Sólo si el número es válido, se ejecuta la instrucción alternativa múltiple. */*/*/*/ /*/*/*/* Inicio del anidamiento */*/*/*/ segun_sea(segun_sea(segun_sea(segun_sea( numero)))) 1 : escribir( ": escribir( ": escribir( ": escribir( "En la cara opuesta está el \"seis\"."""" )))) 2 : escribir( ": escribir( ": escribir( ": escribir( "En la cara opuesta está el \"cinco\"." )" )" )" ) 3 : escribir( ": escribir( ": escribir( ": escribir( "En la cara opuesta está el \"cuatro\"." )" )" )" ) 4 : escribir( ": escribir( ": escribir( ": escribir( "En la cara opuesta está el \"tres\"." )" )" )" ) 5 : escribir( ": escribir( ": escribir( ": escribir( "En la cara opuesta está el \"dos\"." )" )" )" ) 6 : escribir( ": escribir( ": escribir( ": escribir( "En la cara opuesta está el \"uno\"." )" )" )" ) fin_segun_seafin_segun_seafin_segun_seafin_segun_sea /*/*/*/* Fin del anidamiento */*/*/*/ sinosinosinosino escribir( "escribir( "escribir( "escribir( "ERROR: Número incorrecto." )" )" )" ) fin_sifin_sifin_sifin_si finfinfinfin
Una segunda solución es:
algoritmoalgoritmoalgoritmoalgoritmo Numero_del_dado
variablesvariablesvariablesvariables enteroenteroenteroentero numero cadenacadenacadenacadena letras inicioinicioinicioinicio escribir( "escribir( "escribir( "escribir( "Introduzca número del dado: " )" )" )" ) leer(leer(leer(leer( numero )))) si (si (si (si ( numero >=>=>=>= 1 yyyy numero <=<=<=<= 6 )))) /*/*/*/* Sólo si el número es válido, se ejecuta la instrucción alternativa múltiple. */*/*/*/ /*/*/*/* Inicio del anidamiento */*/*/*/ segun_sea (segun_sea (segun_sea (segun_sea ( numero )))) 1 :::: letras ←"←"←"←"seis"""" 2 :::: letras ←"←"←"←"cinco"""" 3 :::: letras ←"←"←"←"cuatro"""" 4 :::: letras ←"←"←"←"tres"""" 5 :::: letras ←"←"←"←"dos"""" 6 :::: letras ←"←"←"←"uno"""" fin_segun_seafin_segun_seafin_segun_seafin_segun_sea /*/*/*/* Fin del anidamiento */*/*/*/ escribir( "escribir( "escribir( "escribir( "En la cara opuesta está el \"",",",", letras, ", ", ", "\"." )" )" )" ) sinosinosinosino escribir( "escribir( "escribir( "escribir( "ERROR: Número incorrecto." )" )" )" ) fin_sifin_sifin_sifin_si
finfinfinfin
EjercicioEjercicioEjercicioEjercicio 1 1 1 1 ---- Suma o multiplicación de dos números (Anidamiento deSuma o multiplicación de dos números (Anidamiento deSuma o multiplicación de dos números (Anidamiento deSuma o multiplicación de dos números (Anidamiento de alternativas alternativas alternativas alternativas ---- Ordinogramas)Ordinogramas)Ordinogramas)Ordinogramas) Diseñe el algoritmo (ordinograma) de un programa que:
1º) Pida por teclado dos números (datos enteros). 2º) Calcule la suma y multiplicación de ambos números. 3º) Muestre por pantalla:
• "La suma es mayor.", en caso de que sea mayor que la multiplicación de ambos números.
• "La multpilicación es mayor.", en caso de que sea mayor que la suma de ambos números.
• "La suma y multiplicación son iguales.", en caso de que así sea.
En pantalla:
Introduzca primer número (entero):Introduzca primer número (entero):Introduzca primer número (entero):Introduzca primer número (entero): ----2222 Introduzca segundo número (entero): 3Introduzca segundo número (entero): 3Introduzca segundo número (entero): 3Introduzca segundo número (entero): 3 La suma es mayor.La suma es mayor.La suma es mayor.La suma es mayor.
Introduzca primer número (entero):Introduzca primer número (entero):Introduzca primer número (entero):Introduzca primer número (entero): 2222 Introduzca segundo número (entero):Introduzca segundo número (entero):Introduzca segundo número (entero):Introduzca segundo número (entero): 2222 La suma y multiplicación son iguales.La suma y multiplicación son iguales.La suma y multiplicación son iguales.La suma y multiplicación son iguales.
Solución del Ejercicio 1 Solución del Ejercicio 1 Solución del Ejercicio 1 Solución del Ejercicio 1 ---- Suma o multiplicación de dos números (Anidamiento dSuma o multiplicación de dos números (Anidamiento dSuma o multiplicación de dos números (Anidamiento dSuma o multiplicación de dos números (Anidamiento de e e e alternativas alternativas alternativas alternativas ---- Ordinogramas)Ordinogramas)Ordinogramas)Ordinogramas)
Una segunda solución es:
EjercicioEjercicioEjercicioEjercicio 2 2 2 2 ---- Número del dado (Anidamiento de alternativas Número del dado (Anidamiento de alternativas Número del dado (Anidamiento de alternativas Número del dado (Anidamiento de alternativas ---- Ordinogramas)Ordinogramas)Ordinogramas)Ordinogramas)
Diseñe el algoritmo (ordinograma) de un programa que resuelva el problema del
Ejercicio 1 (Alternativa múltiple) anidando una alternativa múltiple en una
alternativa doble.
Solución del Ejercicio 2 Solución del Ejercicio 2 Solución del Ejercicio 2 Solución del Ejercicio 2 ---- Número del dado (Anidamiento de alternatiNúmero del dado (Anidamiento de alternatiNúmero del dado (Anidamiento de alternatiNúmero del dado (Anidamiento de alternativas vas vas vas ---- Ordinogramas)Ordinogramas)Ordinogramas)Ordinogramas)
DecisionesDecisionesDecisionesDecisiones
Las decisiones siempre forman parte de las instrucciones de control, las cuales
sirven para determinar el orden en el que se tienen que ejecutar las instrucciones
de un programa.
Alternativa doble en pseudocódigoAlternativa doble en pseudocódigoAlternativa doble en pseudocódigoAlternativa doble en pseudocódigo
En pseudocódigo, para escribir una instrucción alternativa doble se utiliza la
sintaxis:
si (si (si (si (<expresión_lógica><expresión_lógica><expresión_lógica><expresión_lógica>))))
<bloque_de_instrucciones_1><bloque_de_instrucciones_1><bloque_de_instrucciones_1><bloque_de_instrucciones_1>
sinosinosinosino
<bloque_de_instrucciones_2><bloque_de_instrucciones_2><bloque_de_instrucciones_2><bloque_de_instrucciones_2>
fin_sifin_sifin_sifin_si
A la <expresión_lógica><expresión_lógica><expresión_lógica><expresión_lógica> de una instrucción alternativa doble también se le
denomina condicióncondicióncondicióncondición.
Para que se ejecute el <bloque_de_instrucciones_1>, la condición tiene que ser
verdaderaverdaderaverdaderaverdadera. Por el contrario, si la condición es falsafalsafalsafalsa, se ejecutará el
<bloque_de_instrucciones_2>.
En resumen, una instrucción alternativa dobleinstrucción alternativa dobleinstrucción alternativa dobleinstrucción alternativa doble (o simplemente alternativa doblealternativa doblealternativa doblealternativa doble)
permite seleccionar, por medio de una condición, el siguiente bloque de
instrucciones a ejecutar, de entre dos posibles.
Ejemplo:Ejemplo:Ejemplo:Ejemplo: Se quiere diseñar el algoritmo de un programa que:
1º) Pida por teclado la nota (dato real) de una asignatura.
2º) Muestre por pantalla:
"APROBADO", en el caso de que la nota sea mayor o igual que 5.
"SUSPENDIDO", en el caso de que la nota sea menor que 5.
De modo que, por pantalla se verá, por ejemplo:
Otra posibilidad es:
Para resolver el problema planteado se puede escribir el siguiente algoritmo:
algoritmoalgoritmoalgoritmoalgoritmoCalificacion_segun_notaCalificacion_segun_notaCalificacion_segun_notaCalificacion_segun_nota
variablesvariablesvariablesvariables
realrealrealreal notanotanotanota
inicioinicioinicioinicio
escribir( "escribir( "escribir( "escribir( "Introduzca nota (real): Introduzca nota (real): Introduzca nota (real): Introduzca nota (real): " )" )" )" )
leer(leer(leer(leer( nota nota nota nota ))))
si (si (si (si ( nota nota nota nota >=>=>=>= 5 5 5 5 ))))
escribir( "escribir( "escribir( "escribir( "APROBADOAPROBADOAPROBADOAPROBADO" )" )" )" )
sinosinosinosino
escribir( "escribir( "escribir( "escribir( "SUSPENDIDOSUSPENDIDOSUSPENDIDOSUSPENDIDO" )" )" )" )
fin_sifin_sifin_sifin_si
finfinfinfin
Ejercicio 1 Ejercicio 1 Ejercicio 1 Ejercicio 1 ---- Suma de dos números (Alternativa doble Suma de dos números (Alternativa doble Suma de dos números (Alternativa doble Suma de dos números (Alternativa doble ---- Pseudocódigo CEE)Pseudocódigo CEE)Pseudocódigo CEE)Pseudocódigo CEE) Diseñe el algoritmo (en pseudocódigo) de un programa que:
1º) Pida por teclado dos números (datos enteros). 2º) Calcule la suma de los números introducidos por el usuario. 3º) Muestre por pantalla:
• "LA SUMA SÍ ES MAYOR QUE CERO.", en el caso de que sí lo sea. • "LA SUMA NO ES MAYOR QUE CERO.", en el caso de que no lo
sea.
En pantalla:
Introduzca primer número Introduzca primer número Introduzca primer número Introduzca primer número (entero):(entero):(entero):(entero): 14141414 Introduzca segundo número (entero):Introduzca segundo número (entero):Introduzca segundo número (entero):Introduzca segundo número (entero): ----17171717 LA SUMA NO ES MAYOR QUE CERO.LA SUMA NO ES MAYOR QUE CERO.LA SUMA NO ES MAYOR QUE CERO.LA SUMA NO ES MAYOR QUE CERO.
algoritmoalgoritmoalgoritmoalgoritmo Suma_de_numeros_menor_o_mayor_que_ceroSuma_de_numeros_menor_o_mayor_que_ceroSuma_de_numeros_menor_o_mayor_que_ceroSuma_de_numeros_menor_o_mayor_que_cero
Comentarios :
Fecha :5 –abril -2011
El autor del programa: jeison jojoa jojoa
El programa ba hacer la suma de numeros para darnos un resultado que sera comparadocom cero y nos dira si es mayor o mener que cero
algoritmoalgoritmoalgoritmoalgoritmo Suma_de_numeros_menor_o_mayor_que_ceroSuma_de_numeros_menor_o_mayor_que_ceroSuma_de_numeros_menor_o_mayor_que_ceroSuma_de_numeros_menor_o_mayor_que_cero
variablesvariablesvariablesvariables enteroenteroenteroentero n1n1n1n1,,,, n2n2n2n2,,,, sumasumasumasuma
inicioinicioinicioinicio escribir( "escribir( "escribir( "escribir( "Introduzca primer número (entero): Introduzca primer número (entero): Introduzca primer número (entero): Introduzca primer número (entero): " )" )" )" ) leer(leer(leer(leer( n1 n1 n1 n1 )))) escribir( "escribir( "escribir( "escribir( "Introduzca segundo número (entero): Introduzca segundo número (entero): Introduzca segundo número (entero): Introduzca segundo número (entero): " )" )" )" ) leer(leer(leer(leer( n2n2n2n2)))) sumasumasumasuma ← n1+← n1+← n1+← n1+ n2n2n2n2 si (si (si (si ( suma suma suma suma >>>> 0 0 0 0 )))) escribir( "escribir( "escribir( "escribir( "la suma sí es mayor que cero.la suma sí es mayor que cero.la suma sí es mayor que cero.la suma sí es mayor que cero." )" )" )" ) sinosinosinosino escribir( "escribir( "escribir( "escribir( "la suma no es mayor que cero.la suma no es mayor que cero.la suma no es mayor que cero.la suma no es mayor que cero." )" )" )" ) fin_sifin_sifin_sifin_si finfinfinfin
EjercicioEjercicioEjercicioEjercicio 2 2 2 2 ---- NúmNúmNúmNúmero intermedio (Alternativa doble ero intermedio (Alternativa doble ero intermedio (Alternativa doble ero intermedio (Alternativa doble ---- Pseudocódigo CEE)Pseudocódigo CEE)Pseudocódigo CEE)Pseudocódigo CEE) Diseñe el algoritmo (en pseudocódigo) de un programa que:
1º) Pida por teclado tres números (datos enteros): <numero1>, <numero2> y <numero3>. 2º) Muestre por pantalla:
• "<numero2> SI ES MENOR QUE <numero3> Y MAYOR QUE <numero1>", en el caso de que sí lo sea.
• "<numero2> NO ES MENOR QUE <numero3> Y MAYOR QUE <numero1>", en el caso de que no lo sea.
En pantalla:
Introduzca primer número (entero):Introduzca primer número (entero):Introduzca primer número (entero):Introduzca primer número (entero): 6666
Introduzca segundo número (entero):Introduzca segundo número (entero):Introduzca segundo número (entero):Introduzca segundo número (entero): 9999 Introduzca terceIntroduzca terceIntroduzca terceIntroduzca tercer número (entero):r número (entero):r número (entero):r número (entero): 22222222 9 SÍ ES MENOR QUE 22 Y MAYOR QUE 69 SÍ ES MENOR QUE 22 Y MAYOR QUE 69 SÍ ES MENOR QUE 22 Y MAYOR QUE 69 SÍ ES MENOR QUE 22 Y MAYOR QUE 6
Introduzca primer número (entero): 15Introduzca primer número (entero): 15Introduzca primer número (entero): 15Introduzca primer número (entero): 15 Introduzca segundo número (entero):Introduzca segundo número (entero):Introduzca segundo número (entero):Introduzca segundo número (entero): 7777 Introduzca tercer número (entero):Introduzca tercer número (entero):Introduzca tercer número (entero):Introduzca tercer número (entero): 8888 7 NO ES MENOR QUE7 NO ES MENOR QUE7 NO ES MENOR QUE7 NO ES MENOR QUE 8 Y MAYOR QUE 158 Y MAYOR QUE 158 Y MAYOR QUE 158 Y MAYOR QUE 15
algoritmoalgoritmoalgoritmoalgoritmo Numero_mayor_menor_queNumero_mayor_menor_queNumero_mayor_menor_queNumero_mayor_menor_que variablesvariablesvariablesvariables enteroenteroenteroentero n1n1n1n1,,,, n2n2n2n2,,,, n3n3n3n3 inicioinicioinicioinicio escribir( "escribir( "escribir( "escribir( "Introduzca primer número (entero): Introduzca primer número (entero): Introduzca primer número (entero): Introduzca primer número (entero): " )" )" )" ) leer(leer(leer(leer( n1 n1 n1 n1 )))) escribir( "escribir( "escribir( "escribir( "Introduzca segundo número (entero): Introduzca segundo número (entero): Introduzca segundo número (entero): Introduzca segundo número (entero): " )" )" )" ) leer(leer(leer(leer( n2 n2 n2 n2 )))) escribir( "escribir( "escribir( "escribir( "Introduzca tercer número (entero): Introduzca tercer número (entero): Introduzca tercer número (entero): Introduzca tercer número (entero): " )" )" )" ) leer(leer(leer(leer( n3 n3 n3 n3 )))) sisisisi (((( n2n2n2n2 <<<< n3 n3 n3 n3 yyyy n2n2n2n2 >>>> n1 n1 n1 n1 )))) escribir( escribir( escribir( escribir( n2n2n2n2, " , " , " , " sí es menor quesí es menor quesí es menor quesí es menor que ", ", ", ", n3n3n3n3,,,,
" " " " y mayor quey mayor quey mayor quey mayor que ", ", ", ", n1n1n1n1 )))) sinosinosinosino escribir( escribir( escribir( escribir( n2n2n2n2, " , " , " , " no es menor queno es menor queno es menor queno es menor que ", ", ", ", n3n3n3n3,,,, " " " " y mayor quey mayor quey mayor quey mayor que ", ", ", ", n1n1n1n1 )))) fin_sifin_sifin_sifin_si finfinfinfin
DecisionesDecisionesDecisionesDecisiones
Las decisiones siempre forman parte de las instrucciones de control, las cuales
sirven para determinar el orden en el que se tienen que ejecutar las instrucciones
de un programa.
Alternativa doble en pseudocódigoAlternativa doble en pseudocódigoAlternativa doble en pseudocódigoAlternativa doble en pseudocódigo
En pseudocódigo, para escribir una instrucción alternativa doble se utiliza la
sintaxis:
si (si (si (si (<expresión_lógica><expresión_lógica><expresión_lógica><expresión_lógica>))))
<bloque_de_instrucciones_1><bloque_de_instrucciones_1><bloque_de_instrucciones_1><bloque_de_instrucciones_1>
sinosinosinosino
<bloque_de_instrucciones_2><bloque_de_instrucciones_2><bloque_de_instrucciones_2><bloque_de_instrucciones_2>
fin_sifin_sifin_sifin_si
A la <expresión_lógica><expresión_lógica><expresión_lógica><expresión_lógica> de una instrucción alternativa doble también se le
denomina condicióncondicióncondicióncondición.
Para que se ejecute el <bloque_de_instrucciones_1>, la condición tiene que ser
verdaderaverdaderaverdaderaverdadera. Por el contrario, si la condición es falsafalsafalsafalsa, se ejecutará el
<bloque_de_instrucciones_2>.
En resumen, una instrucción alternativa dobleinstrucción alternativa dobleinstrucción alternativa dobleinstrucción alternativa doble (o simplemente alternativa doblealternativa doblealternativa doblealternativa doble)
permite seleccionar, por medio de una condición, el siguiente bloque de
instrucciones a ejecutar, de entre dos posibles.
Ejemplo:Ejemplo:Ejemplo:Ejemplo: Se quiere diseñar el algoritmo de un programa que:
1º) Pida por teclado la nota (dato real) de una asignatura.
2º) Muestre por pantalla:
"APROBADO", en el caso de que la nota sea mayor o igual que 5.
"SUSPENDIDO", en el caso de que la nota sea menor que 5.
De modo que, por pantalla se verá, por ejemplo:
Otra posibilidad es:
Para resolver el problema planteado se puede escribir el siguiente algoritmo:
algoritmoalgoritmoalgoritmoalgoritmoCalificacion_segun_notaCalificacion_segun_notaCalificacion_segun_notaCalificacion_segun_nota
variablesvariablesvariablesvariables
realrealrealreal notanotanotanota
inicioinicioinicioinicio
escribir( "escribir( "escribir( "escribir( "Introduzca nota (real): Introduzca nota (real): Introduzca nota (real): Introduzca nota (real): " )" )" )" )
leer(leer(leer(leer( nota nota nota nota ))))
si (si (si (si ( nota nota nota nota >=>=>=>= 5 5 5 5 ))))
escribir( "escribir( "escribir( "escribir( "APROBADOAPROBADOAPROBADOAPROBADO" )" )" )" )
sinosinosinosino
escribir( "escribir( "escribir( "escribir( "SUSPENDIDOSUSPENDIDOSUSPENDIDOSUSPENDIDO" )" )" )" )
fin_sifin_sifin_sifin_si
finfinfinfin
Ejercicio 1 Ejercicio 1 Ejercicio 1 Ejercicio 1 ---- Suma de dos números (Alternativa doble Suma de dos números (Alternativa doble Suma de dos números (Alternativa doble Suma de dos números (Alternativa doble ---- Pseudocódigo CEE)Pseudocódigo CEE)Pseudocódigo CEE)Pseudocódigo CEE) Diseñe el algoritmo (en pseudocódigo) de un programa que:
1º) Pida por teclado dos números (datos enteros). 2º) Calcule la suma de los números introducidos por el usuario. 3º) Muestre por pantalla:
• "LA SUMA SÍ ES MAYOR QUE CERO.", en el caso de que sí lo sea. • "LA SUMA NO ES MAYOR QUE CERO.", en el caso de que no lo
sea.
En pantalla:
Introduzca primer número (entero):Introduzca primer número (entero):Introduzca primer número (entero):Introduzca primer número (entero): 14141414 Introduzca segundo número (entero):Introduzca segundo número (entero):Introduzca segundo número (entero):Introduzca segundo número (entero): ----17171717 LA SUMA NO ESLA SUMA NO ESLA SUMA NO ESLA SUMA NO ES MAYOR QUE CERO.MAYOR QUE CERO.MAYOR QUE CERO.MAYOR QUE CERO.
algoritmoalgoritmoalgoritmoalgoritmo Suma_de_numeros_menor_o_mayor_que_ceroSuma_de_numeros_menor_o_mayor_que_ceroSuma_de_numeros_menor_o_mayor_que_ceroSuma_de_numeros_menor_o_mayor_que_cero
Comentarios :
Fecha :5 –abril -2011
El autor del programa: jeison jojoa jojoa
El programa ba hacer la suma de numeros para darnos un resultado que sera comparadocom cero y nos dira si es mayor o mener que cero
algoritmoalgoritmoalgoritmoalgoritmo Suma_de_numeros_menor_o_mayor_que_ceroSuma_de_numeros_menor_o_mayor_que_ceroSuma_de_numeros_menor_o_mayor_que_ceroSuma_de_numeros_menor_o_mayor_que_cero
variablesvariablesvariablesvariables enteroenteroenteroentero n1n1n1n1,,,, n2n2n2n2,,,, sumasumasumasuma inicioinicioinicioinicio escribir( "escribir( "escribir( "escribir( "Introduzca primer número (entero): Introduzca primer número (entero): Introduzca primer número (entero): Introduzca primer número (entero): " )" )" )" ) leer(leer(leer(leer( n1 n1 n1 n1 )))) escribir( "escribir( "escribir( "escribir( "Introduzca segundo número (entero): Introduzca segundo número (entero): Introduzca segundo número (entero): Introduzca segundo número (entero): " )" )" )" ) leerleerleerleer(((( n2n2n2n2)))) sumasumasumasuma ← n1+← n1+← n1+← n1+ n2n2n2n2 si (si (si (si ( suma suma suma suma >>>> 0 0 0 0 )))) escribir( "escribir( "escribir( "escribir( "la suma sí es mayor que cero.la suma sí es mayor que cero.la suma sí es mayor que cero.la suma sí es mayor que cero." )" )" )" ) sinosinosinosino
escribir( "escribir( "escribir( "escribir( "la suma no es mayor que cero.la suma no es mayor que cero.la suma no es mayor que cero.la suma no es mayor que cero." )" )" )" ) fin_sifin_sifin_sifin_si finfinfinfin
EjercicioEjercicioEjercicioEjercicio 2 2 2 2 ---- Número intermedio (Alternativa doble Número intermedio (Alternativa doble Número intermedio (Alternativa doble Número intermedio (Alternativa doble ---- Pseudocódigo CEE)Pseudocódigo CEE)Pseudocódigo CEE)Pseudocódigo CEE) Diseñe el algoritmo (en pseudocódigo) de un programa que:
1º) Pida por teclado tres números (datos enteros): <numero1>, <numero2> y <numero3>. 2º) Muestre por pantalla:
• "<numero2> SI ES MENOR QUE <numero3> Y MAYOR QUE <numero1>", en el caso de que sí lo sea.
• "<numero2> NO ES MENOR QUE <numero3> Y MAYOR QUE <numero1>", en el caso de que no lo sea.
En pantalla:
Introduzca primer número (entero):Introduzca primer número (entero):Introduzca primer número (entero):Introduzca primer número (entero): 6666 Introduzca segundo número (entero):Introduzca segundo número (entero):Introduzca segundo número (entero):Introduzca segundo número (entero): 9999 Introduzca tercer número (entero):Introduzca tercer número (entero):Introduzca tercer número (entero):Introduzca tercer número (entero): 22222222 9 SÍ ES MENOR QUE 22 Y MAYOR QUE 69 SÍ ES MENOR QUE 22 Y MAYOR QUE 69 SÍ ES MENOR QUE 22 Y MAYOR QUE 69 SÍ ES MENOR QUE 22 Y MAYOR QUE 6
InInInIntroduzca primer número (entero): 15troduzca primer número (entero): 15troduzca primer número (entero): 15troduzca primer número (entero): 15 Introduzca segundo número (entero):Introduzca segundo número (entero):Introduzca segundo número (entero):Introduzca segundo número (entero): 7777 Introduzca tercer número (entero):Introduzca tercer número (entero):Introduzca tercer número (entero):Introduzca tercer número (entero): 8888 7 NO ES MENOR QUE7 NO ES MENOR QUE7 NO ES MENOR QUE7 NO ES MENOR QUE 8 Y MAYOR QUE 158 Y MAYOR QUE 158 Y MAYOR QUE 158 Y MAYOR QUE 15
algoritmoalgoritmoalgoritmoalgoritmo Numero_mayor_menor_queNumero_mayor_menor_queNumero_mayor_menor_queNumero_mayor_menor_que variablesvariablesvariablesvariables enteroenteroenteroentero n1n1n1n1,,,, n2n2n2n2,,,, n3n3n3n3 inicioinicioinicioinicio escribir( "escribir( "escribir( "escribir( "Introduzca primer número (entero): Introduzca primer número (entero): Introduzca primer número (entero): Introduzca primer número (entero): " )" )" )" ) leer(leer(leer(leer( n1 n1 n1 n1 )))) escribir( "escribir( "escribir( "escribir( "Introduzca segundo número (entero): Introduzca segundo número (entero): Introduzca segundo número (entero): Introduzca segundo número (entero): " )" )" )" ) leer(leer(leer(leer( n2 n2 n2 n2 )))) escribir( "escribir( "escribir( "escribir( "Introduzca tercer número (entero): Introduzca tercer número (entero): Introduzca tercer número (entero): Introduzca tercer número (entero): " )" )" )" ) leer(leer(leer(leer( n3 n3 n3 n3 )))) si (si (si (si ( n2n2n2n2 <<<< n3 n3 n3 n3 yyyy n2n2n2n2 >>>> n1 n1 n1 n1 )))) escribir( escribir( escribir( escribir( n2n2n2n2, " , " , " , " sí es sí es sí es sí es menor quemenor quemenor quemenor que ", ", ", ", n3n3n3n3,,,, " " " " y mayor quey mayor quey mayor quey mayor que ", ", ", ", n1n1n1n1 )))) sinosinosinosino escribir( escribir( escribir( escribir( n2n2n2n2, " , " , " , " no es menor queno es menor queno es menor queno es menor que ", ", ", ", n3n3n3n3,,,, " " " " y mayor quey mayor quey mayor quey mayor que ", ", ", ", n1n1n1n1 )))) fin_sifin_sifin_sifin_si finfinfinfin