Está en la página 1de 90

• Según tratamos en las clases

anteriores todos los programas se


pueden escribir bajos tres
estructuras básicas de control.
• Vamos a recordar estas
estructuras
• Es una instrucción utilizada para
asignar un valor o expresión una
variable.
• Esta estructura también se conoce
como "asignación".
• Se utiliza para asignar un nuevo
valor a una variable.
• Para asignar se utiliza el símbolo ←
• Dicho signo se utilizará para
actualizar una variable o para que
una variable tome un valor inicial.
• Las operaciones de inicialización:
( I  0)
• Asignación: ( a  0 )
• Cálculo: ( A  b * h 2 )
• Acumulación: ( s  s + 12 )
• Conteo: ( c  c + 1)
• inicio/fin
• Son las operaciones usadas en
este tipo de estructuras
• los programas o algoritmos que
caen en esta categoría se pueden
estructurar o dividir en cinco
fases:
• 1. Declaración de variables
• 2. Inicialización de variables
• 3. Lectura de datos
• 4. Operaciones matemáticas
• 5. Salida de datos
• A y B son variables enteras.
• Escriba la expresión que inicializa
A con 5 y actualiza B con el valor
de A más 4 y a C con el valor de B
menos 6.

Pseudocódigo
A← 5
B←A+4
C←B-6
• La empresa CLV requiere de un
software que permita calcular el
salario semanal de un empleado,
contratado por hora de trabajo.
• Se sabe que se paga a $ 5.8,oo por
hora y se descuenta un 9,5 % por
pagos a seguridad social sobre el
salario base; se le hace además un
descuento 5 % por retención en la
fuente sobre el salario neto
recibido.
Análisis del problema.
• Para la solución de este problema
se requiere la utilización de las
variables
• Horas_ Laboradas en la que se
almacenará el número de horas
trabajadas por el empleado en la
semana.
• En Rete_Fuente se almacenará el
descuento hecho al salario por
concepto de retención en la fuente.
• Seg_Social, variable que guardará
descuento por aportes al IESS, y
• Salario, variable que almacenará
el salario neto del trabajador.
• Variable de Entrada:
• Horas_ Laboradas
• Variables Intermedias:
• Salario, Seg_Social, Rete_Fuente
• Variable de Salida:
• Salario
• Leer Horas_Laboradas
• Calcular Salario, Seg_Social,
Rete_Fuente, Salario_Neto
• Mostrar Salario Seg_Social,
Rete_Fuente, Salario_Neto
• Cerrar
1
Algoritmo Salario
2 Variables
3 Horas_Laboradas
4 Rete_Fuente, Salud, Salario
5 INICIO
6 Muestrar(“Ingrese Número de Horas Laboradas”)
7 Leer(Horas_Laboradas)
8 Salario ← Horas_Laboradas * 5,8
9 Seg_Social ← Salario * 0,095
10 Salario ← Salario – Seg_Social
11 Rete_Fuente ← Salario * 0,05
12 Salario ← Salario - Rete_Fuente
13 Muestar("Salario Neto", Salario)
14 FIN
• La operación de asignación
consiste, entre otras, en:
1. Llevarle una expresión
aritmética a una variable
numérica.
2. Llevarle la comparación de
dos expresiones aritméticas a
una variable booleana.
3. Llevarle la comparación de dos
expresiones aritméticas a una
variable numérica.
4. Llevarle una variable booleana
a la comparación de dos
expresiones Lógicas.
Es una instrucción de decisión con
la cual se ejecuta alguna
instrucción o línea cuando cumple
con una o varias condiciones.
Esta estructura está formada por
una decisión lógica, llamada
condición, de la cual salen dos
posibles alternativas de secuencia;
una de ellas cuando al evaluarse la
condición es verdadera, y la otra,
cuando es falsa.
• Finalmente, se unifican las salidas
de las alternativas, cumpliendo así
con la característica de cada
estructura: producir una sola
salida.
• En el argot de la programación
esta estructura es más conocida
como "Condicional".
Si (Condición) Entonces
"Acciones “
Fin Si
• Esta estructura selectiva se
conoce como alternativa o
condicional.
• Se encarga de evaluar una
situación llamada condición y en
caso de verificarse (ser
verdadera) realiza unas acciones,
y en caso contrario evalúa otras
acciones.
• Debe tener en cuenta en la sintaxis
en pseudocódigo que al terminar la
última instrucción del conjunto de
acciones debe escribir Fin Si.

Si (Condición) Entonces
"Acciones "
Si No
"Acciones"
Fin Si
Objetivo: comprender el concepto
de variable de entrada y salida.

Determine el valor de la ecuación:

4 − 3x
c=
3 5− 6y

siendo x e y reales, calcule el valor


de c.
Como x está dentro de un radical de
índice par, e y está en el denominador,
se restringe los valores que pueden
tomar dichas variables reales, así:
4 - 3x >= 0, es decir, X<= 4/3 (al
despejar x de la ecuación).
5 - 6y <> 0, es decir, y <> 5/6 (al
despejar y de la ecuación).
Dichas restricciones se consideran
como condiciones para poder
calcular el valor de c.
El planteamiento lógico y descripción
de variables:
• x, y variables numéricas reales de
entrada
• c: variable numérica real de salida.
• 1. Lea los valores de x e y
• 2. Si (x<=4/3) y (y<> 5/6) entonces se
podrá asignar a c la expresión
numérica:
(1 3)
c (4 − 3 * x) (1/2 )
( 5 − 6* y )
• 3. Muestre el valor de c.
• 4. En caso de que no se cumplan
las dos condiciones.
• 5. Muestre No hay Solución de la
ecuación.
• Veamos el algoritmo:
1 INICIO
2 Variables
3 X, Y, C
4 Lea Los valores de X, Y
5 Si (x<=4/3) y (y<>5/6) entonces
6 C ← (4-3*x) ^(1/2)/ (5-6*y)^(1/C3)
7 Muestre ("Solución ", C)
8 Si no Muestre (“No hay Solución”)
9 FIN
• En el ejemplo anterior, los valores
de las variables x, y se ingresaron
mientras que el valor de la
variable c se obtuvo a partir de
los valores de x, y; a estas
variables se les llamará variables
de entrada y a c variable de
proceso o salida.
• Escriba un algoritmo que muestre
un mensaje con el nombre
correspondiente de la persona de
acuerdo con su edad, así:
• niño,
• adolescente,
• joven o
• adulto,
• dependiendo de su edad, según la
siguiente información:
Niño es menor que 14
Adolescente entre 15 y 18
Joven de 18 a 25
Mayor mayor de 25 años.
• Análisis del problema.
• Al leer la edad, ésta se debe
comparar con los valores
dados en los diferentes rangos
y según el caso muestra el
mensaje correspondiente y el
nombre de la persona.
Variables
• Variables de entrada:
nombre, edad.
• Variable intermedia: ninguna
• Variables de salida: nombre
y su mensaje.
Macroalgoritmo
• Leer nombre y edad.
• Comparar edad según
el rango dado.
• Mostrar el mensaje.
• Cerrar.
• Veamos el algoritmo:
1 Variables
2 Entero Edad
3 Cadena Nombre
4 INICIO
5 Muestre("Ingrese nombre")
6 Lea(Nombre)
7 Muestre("Ingrese la edad")
8 Lea(Edad)
9 Si Edad <= 14 Entonces
10 Muestre("Nombre", "eres un niño")
11 Si No
12 Si (Edad < 18) Entonces
13 Muestre("Nombre", "eres un adolescente ")
14 Si No
15 Si (Edad < 25) Entonces
16 Muestre("Nombre", "eres un joven")
17 Si No
18 Si (edad >= 25) Entonces
19 Muestre("Nombre", "eres un adulto" )
20 Fin Si
21 Fin Si
22 Fin Si
23 Fin Si
24 FIN
• Esta estructura evalúa la
expresión dada en función de
un valor;
• también se conoce como
estructura Caso.
• Su nombre nos define lo que es:
• selecciona una opción,
dependiendo de un caso
determinado en el juego de
instrucciones que se deben
ejecutar.
• A continuación, se presenta el
pseudocódigo de esta
estructura de programación.
Caso (variable) Haga
Caso 1: acción 1
Caso 2: acción 2
:
:
Caso n: Acción n
Otro Caso: Acción Otro caso
FIN
• Haga un algoritmo que imprima
las fechas (día y mes) entre las
que transcurre cada una de las
estaciones del año en el
hemisferio norte.
• Para tal fin, presente un menú
para que el usuario seleccione la
estación deseada.
• El algoritmo debe dar la
opción para que el usuario
pueda escoger la estación de
acuerdo con su elección.
1 Algoritmo Estaciones
2 Variables
3 Carácter Opción
4 INICIO
5 Muestre ("Digite la opción deseada")
6 Muestre ("1 Primavera")
7 Muestre ("2 verano")
8 Muestre ("3 Otoño")
9 Muestre ("4 Invierno")
10 Muestre("Digite la Opción Deseada")
11 Lea (Opción)
12 Caso(Opción)
13 Caso “1” Muestre ("22 de marzo hasta 21 de junio")
14 Caso “2" Muestre ("22 de junio hasta 21 de agosto")
15 Caso "3" Muestre ("22 de agosto hasta 21 de diciembre")
16 Caso “4” Muestre ("22 de diciembre hasta 21 de marzo")
17
Fin Caso
18
FIN
(Objetivo: uso de la sentencia Caso).
Diseñe un algoritmo para determinar
si un número entero ingresado por el
usuario es:
par, múltiplo de 7, su última cifra es 3.
• Lo primero que debemos
contemplar es la necesidad de
tres opciones (tres casos):
• En el primer caso se verifica que
el número sea par, recordemos
que el operador módulo (mod)
nos facilita esta opción, si N
mod 2 = 0 entonces N es un
número par.
• En el segundo caso preguntamos
si el número módulo 7 es cero, esto
es N mod 7 =0; esta condición nos
indica si el número es múltiplo de
siete; para el último caso
necesitamos preguntar por la
última cifra, en este caso bastará
preguntar por N mod 10; esta
operación siempre nos entrega la
última cifra de un número entero.
• Son las tres posibilidades
establecidas veamos el
algoritmo: para el caso de cada
opción ingresamos 1 si deseamos
verificar que el número es par, 2
si deseamos ver que el número es
múltiplo de 7 y 3 para determinar
si la última cifra del número es 3.
1 INICIO
2 Variables
3 Enteras Numero
4 Carácter opción
5 Muestre ("Ingrese numero entero")
6 Lea(Numero)
7 Muestre("ingrese la opción deseada")
8 Muestre (" 1 Número par")
9 Muestre("2 múltiplo de 7")
10 Muestre("3 última cifra 3")
11 Lea (Opción)
12 Caso 1
13 Si Numero Mod 2 = 0 Entonces
14 Muestre("el número" Numero "Es par")
15 Si No
16 Muestre("el número", Numero, "No es par")
17 Fin Si
18 Fin Caso 1
19 Caso 2
20 Si Numero Mod 7 = 0 Entonces
21 Muestre("el número", Numero, "Es Múltiplo de 7")
22 Si No
23 Muestre ("el número", Numero, "No Es Múltiplo de 7")
24 Fin Si
25 Fin Caso 2
26 Caso 3
27 Si Numero MOD 10 = 3 Entonces
28 Muestre("La última cifra de", Numero, "Es 3")
29 Si No
30 Muestre("La última cifra de", Numero, "No es 3")
31 Fin Si
32 Fin Caso 3
33 FIN
Nótese que en la instrucción caso 1 se
verifica si el valor de la variable
opción es igual a uno; igualmente en
el caso 2 se verifica si el valor de la
variable opción es dos.
• Muchas veces los algoritmos o
programas tienen bifurcaciones
en los condicionales, que
terminan, en algunos casos,
teniendo la siguiente forma:
Si (Condicion1) Entonces
Si (Condicion2) Entonces
Si (Condicion3)
Instrucciones (condicional 3)
Si No
Instrucciones (cuerpo del caso contrario
condicional 3)
Fin Si
Si No
Instrucciones (cuerpo del caso contrario
condicional 2)
Fin Si
Si no
Instrucciones (cuerpo del caso contrario
condicional 1)
Fin Si
• Diseñe un programa que
permita realizar las operaciones
aritméticas básicas (suma,
resta, multiplicación, división y
módulo).
Análisis del problema.
• En este caso el usuario ingresa dos
números y de acuerdo con el objetivo
del problema debe realizar la
operación aritmética seleccionada.
• El usuario ingresará el numero 1
para seleccionar el carácter "+" para
la suma.
• Ingresará el numero 2 para
seleccionar "-" para la resta.
Análisis del problema.
• Ingresará el numero 3 para
seleccionar "*" para la
multiplicación:
• Ingresará el numero 4 para
seleccionar "/" para la división, y
• Ingresará el numero 5 para
seleccionar "Módulo" para el
residuo de la división entera o
módulo.
Variables
• Variable de entrada:
• nombre, Número1, Número2.
• Variable intermedia:
• Operación.
• Variable de salida:
• Resultado.
Macro algoritmo
• Leer Número1, Número2 y
Operación.
• Comparar el valor de la variable
Operación.
• De acuerdo con el valor de la
variable Operación seleccionada
realizar la operación.
• Mostrar el resultado.
• Cerrar.
1 Algoritmo Operaciones
2 Variables
3 Entero: Numero1, numero2, Real: Resultado
4 Despliegue mensaje (números para cada/operación)
5 Cadena Operación
6 INICIO
7 Muestre ("Ingrese primer Número")
8 Lea(numero1)
9 Muestre("Ingrese segundo Número")
10 Lea (numero2)
11 Muestre("Ingrese Operación")
12 Lea(Operación)
13 Si Operación = “1” entonces
14 Resultado = Numero1 + Numero2
15 Si No
16 Si Operación “2" entonces
17 Resultado = Numero1 - Numero2
18 Si No
19 Si Operación “3” entonces
20 Resultado = Numero1 * Numero2
21 Si No
22 Si Operación= “4" entonces
23 Si Numero2 = 0 Entonces
24 Muestre("Error División por cero ")
25 Si no
26 Resultado ← Numeral 1/ Numero2
27 Fin Si
28 Si No
29 Si Operación = “5” Entonces
30 Resultado ← Numero1 Mod Numero2
31 Fin Si
32 Fin si
33 Fin si
34 Fin si
35 Fin si
36 FIN
• Comenzar a programar sin hacer
el suficiente análisis y, lo peor sin
leer ni entender bien el problema.
• Ahora lo peor: codificar el
problema sin realizar el paso
anterior del diseño del algoritmo.
• No identificar el tipo de
variable (de entrada, de salida,
acumulador o contador).
• Iniciar la codificación sin tener
el correspondiente algoritmo
en seudocódigo.
• Escribir de manera
desordenada las instrucciones.
• No utilizar las sangrías
(tabuladores) en los condicionales,
ciclos o luego de inicio.
• Tratar de solucionar a la vez todo
lo que el problema pide.
• Al momento de declarar variables
es recomendable utilizar
palabras mnemotécnicas, es
decir, palabras que, al leerlas,
fácilmente se entienda o al menos
se pueda intuir lo que significan.
• Dichas palabras no deben llevar
caracteres especiales y, en lo
posible, evitar que sean muy
cortas o largas.
• Se recomienda que si la variable
lleva palabras compuestas cada
una comience con mayúsculas
sin espacios en blanco.
• Por ejemplo, si la variable será
color cabello, sexo trabajador,
estado civil, no escriba
respectivamente cc, st, ec para
declararlas.
• en cambio, sí escriba:
• ColorCabello.
• SexoTrabajador.
• EstadoCivil.
• Que son más significativas e
indican claramente la
información que almacenarán.
• Esta estructura, también
conocida como bucle o ciclo,
se utiliza cuando la
ejecución de una instrucción
o grupo de instrucciones
debe repetirse mientras se
cumpla alguna condición.
• Por ejemplo, si se trata de buscar
una "a" en una cadena de
caracteres, la instrucción
"avanzar al siguiente carácter"
se debe repetir, mientras el
carácter actual sea distinto de
"a" y no se haya alcanzado el
final de la cadena.
• Cada evaluación de la condición
se denomina paso o iteración de
ciclo, y en el momento en que no
se cumpla la condición dada, se
produce el llamado rompimiento
de control del bucle o ciclo y hasta
ese momento se ejecutarán las
instrucciones que lo componen.
• La condición del ciclo se
escribe generalmente en
términos de una variable o
variables que denominaremos
variables de control.
• Si dicha condición está bien
planteada, en algún momento se
obtendrá el rompimiento de control
del ciclo; en caso contrario podría
ocurrir que el ciclo se ejecute
indefinidamente, lo cual constituye
un serio error de programación.
• Los procesos repetitivos son la
base de la utilización de los
computadores.
• En estos procesos se requiere
contar acciones o sucesos internos
en un ciclo, como por ejemplo el
número de elementos de un
archivo o el número de veces que
se ejecuta el ciclo, o las veces que
en el ciclo se cumple una condición.
• La manera más práctica de
controlar los ciclos es por medio
de variables contadoras, (o
contadores simplemente).
• Un contador es una variable
cuyo valor se incrementa o
decrementa una cantidad
constante en cada iteración.
• La instrucción que representa
el incremento de una unidad en
un contador llamado Cont es:
• Cont ←Cont + 1
• El contador puede ser negativo
o positivo.
• Los acumuladores son variables
que almacenan un acumulado
de valores, por ejemplo, la suma
de las edades de un grupo de
estudiantes, la suma de las
notas de un grupo, etc.
• Una estructura repetitiva o ciclo
consta de tres partes básicas:

También podría gustarte