3. Instrucciones y tipos de instrucciones
Es importante en un programa definir las instrucciones que
resolverán el problema.
Lineal
Instrucciones se ejecutan linealmente.
Programa
No lineal
La secuencia se interrumpe con “instrucciones de
bifurcación ó de decisión”.
El tipo de instrucciones dependen del tipo de lenguaje, sin
embargo se tienen instrucciones básicas (Independientes del
lenguaje).
Departamento de ingeniería
4. Instrucciones y tipos de instrucciones
Inicio / fin
Inicio, fin
Lectura
Instrucciones Asignación
Escritura
Bifurcación o decisión
Departamento de ingeniería
5. Enunciado de Lectura.
El enunciado de lectura se utiliza para
introducir datos que se van a utilizar en la
solución de un algoritmo.
Se almacena en la variable el valor
ingresado por el usuario.
Ejemplo:
◦ Leer(edad)
◦ Si el usuario digita 5, la variable edad
almacena este valor.
Departamento de ingeniería
6. Enunciado de Escritura.
El enunciado de escritura se utiliza para
presentar los resultados que se esperaban
obtener al ejecutarse el algoritmo.
Ejemplo:
◦ Escribir(edad)
◦ Presenta el valor correspondiente con edad.
Departamento de ingeniería
7. Enunciado de Asignación (I).
• Es una acción o proceso por el cual se le asigna un
valor (constante o variable) o el resultado de una
operación (expresión) a una variable. Los enunciados
de asignación se utilizan generalmente para cambiar
el valor a una variable o definirla.
• Definir una variable consiste en asignarle o darle por
primera vez un valor; y puede hacerse de dos
maneras:
– Por medio de una lectura de datos, o
– Utilizando un enunciado de asignación.
• Ejemplo:
leer(edad)
edad 25
Departamento de ingeniería
8. Enunciado de Asignación (II).
Asignación aritmética. Las expresiones en las operaciones
son aritméticas
Ejm.
Instrucciones Traza
1) N 3 1) La variable N toma el valor de 3
2) N N+1 2) La variable N toma el valor de 4
3) S 2 3) La variable S toma el valor de 2
4) S N+5 4) La variable S toma el valor de 9
Departamento de ingeniería
9. Enunciado de Asignación (III).
Asignación lógica. La expresión que se evalúa en la operación
de asignación es lógica
Ejm.
Instrucciones Traza
1) M 31 < 2 1) La variable M toma el valor de falso
2) P P o (2 <= 12) 2) La variable P toma el valor de verdadero
3) Q MyP 3) La variable S toma el valor de falso
Departamento de ingeniería
10. Enunciado de Asignación (III).
Asignación de cadena de caracteres. La expresión que se
evalua es de tipo cadena.
Ejm.
x ‘Pedro Perez’
La acción de asignación asigna a la variable tipo cadena x, la
cadena de caracteres ‘Linterna verde’.
Asignación múltiple. La sintaxis que se utiliza es
<variable> <variable> <operador> <expresión>
Departamento de ingeniería
11. Reglas para la construcción de
enunciados de asignación (I).
Toda variable que aparezca al lado derecho de un enunciado
de asignación debe estar definida.
• Ejemplo 1:
edad 25
contador 0
contador contador + edad
• Las variables edad y contador se definieron correctamente
• Ejemplo 2:
contador 0
contador contador + edad
• La variable edad nunca fue definida.
Departamento de ingeniería
12. Reglas para la construcción de
enunciados de asignación (II).
En un enunciado de asignación, la variable
de la izquierda es la única que cambia de
valor cuando con anterioridad tiene un
valor asignado.
Ejemplo :
edad 25
contador 0
contador contador + edad
Departamento de ingeniería
13. Reglas para la construcción de
enunciados de asignación (III).
Las variables que aparecen en la parte
derecha de un enunciado de asignación
conservan su valor después de ejecutarse
la asignación.
Ejemplo:
salario 1000
bono 120
salario_neto salario + bono
Departamento de ingeniería
14. Reglas para la construcción de
enunciados de asignación (IV).
Si la variable de la parte izquierda del
enunciado se encuentra también en el lado
derecho, esta variable cambia de valor por
aparecer en la izquierda.
Ejemplo:
acumulador 0
edad 25
acumulador acumulador + edad
Departamento de ingeniería
15. Enunciado de Decisión.
Los enunciados de decisión se utilizan para
tomar una acción o conocer el estado de
alguna situación especial, que
generalmente toman un valor Verdadero o
Falso.
Departamento de ingeniería
16. Enunciado de Decisión – Si.. Sino
Diagrama de Flujo SI NO
<comparación>
SI <comparación> ENTONCES Pseudo Código
VERDADERO
Enunciado(s)
SINO
FALSO
Enunciado(s)
FIN SI
Departamento de ingeniería
17. Enunciado de Decisión – SI .. Sino
Diagrama de Flujo
SI NO
contador > 0
promedio acumulador/contador promedio 0
SI contador >0 ENTONCES Pseudo Código
promedio acumulador/contador
SINO
promedio 0
FIN SI
Departamento de ingeniería
18. Enunciado de Repetición.
Son los enunciados que permiten repetir
varias veces un conjunto de enunciados
según se necesite de acuerdo a una
condición.
Se les conoce también como ciclos.
Departamento de ingeniería
19. Enunciado de Repetición - Mientras
Diagrama de Flujo
SI NO
<comparación>
MIENTRAS <comparación> HACER Pseudo Código
VERDADERO
Enunciado(s) a repetir
FIN MIENTRAS
FALSO
Enunciado(s)
Departamento de ingeniería
20. Enunciado de Repetición - Mientras
Diagrama de Flujo
SI contador < numero
NO
contador contador + 1
promedio acumulador/contador
Leer(edad)
Escribir (promedio)
acumulador acumulador + edad
Fin
MIENTRAS contador < numero HACER Pseudo Código
contador contador +1
leer(edad)
acumulador acumulador + edad
FIN MIENTRAS
promedio acumulador/contador Departamento de ingeniería
escribir(promedio)
21. Enunciado de Repetición – Haga .. Mientras
Diagrama de Flujo
SI
NO
<comparación>
HAGA Pseudo Código
VERDADERO
Enunciado(s) a repetir
MIENTRAS <comparación>
FALSO
Enunciado(s)
Departamento de ingeniería
22. Enunciado de Repetición – Haga .. Mientras
Diagrama de Flujo
Leer SI
(Edad) NO
Promedio
Edad > 0
acumulador/contador
contador contador + 1
Acumulador acumulador +
edad
Escriba(promedio)
HAGA Pseudo Código
leer (edad)
contador contador + 1
Acumulador acumulador + edad
MIENTRAS edad > 0
promedio acumulador/contador
Escriba (promedio) Departamento de ingeniería
23. Ejemplo algoritmo para “sumar dos
números”
Entrada:
Dos números (num1, num2)
Salida:
Resultado de la suma de los dos números.
Proceso:
Se reciben los dos números, luego en una variable
num_suma se el asigna el resultado de la suma de
los números. Se imprime el resultado.
24. Ejemplos de diagramas de flujo
Inicio
Num_suma 0
Leer num1
Leer num2
Num_suma num1+ num2
Escribir
num_suma
Fin
Departamento de ingeniería
25. Actividad
En un diagrama de flujo, representar un
algoritmo para dividir dos números. Si el
segundo número que se recibe es “0”, se
debe presentar un mensaje.
27. Pseudocódigo (I)
Es muy importante la indentación (sangría en el margen
izquierdo) de las diferentes líneas del algoritmo.
Elementos básicos
◦Inicio. Se coloca al empezar el pseudocódigo
◦Fin. Se coloca al finalizar el pseudocócigo
◦//. Se utiliza para colocar comentarios.
Se utiliza para realizar una asignación. Ejemplo:
num_suma num1 + num2
Leer (y): Se utiliza para solicitar información y
28. Pseudocódigo (II)
Escribir (y): Se utiliza para solicitar escribir un dato y.
Escribir(‘mensaje’): Se utiliza para escribir la palabra
mensaje.
Si sentencia entonces
Si sentencia
instrucciones 1
entonces
Si_no
instrucciones
instrucciones 2
fin si
fin si
29. Pseudocódigo (III)
Si sentencia1 entonces
instrucciones1
sino si sentencia2 entonces
instrucciones 2
sino si sentencia3 entonces
instrucciones3
sino
instrucciones4
fin si
fin si
fin si
mientras sentencia haga
instrucciones
fin mientras
30. Ejemplo de pseudocódigo
Escribir en pseudocódigo un algoritmo que pida el nombre de
una persona e imprima en pantalla el nombre ingresado.
Var
cadena: nombre;
inicio
Escribir (‘Ingrese su nombre’)
Leer (nombre) //En nombre se guardará la información que se ingrese
Escribir (‘El nombre ingresado es:’, nombre)
fin
31. Actividad en Clase (I)
1. Escribir en pseudocódigo un algoritmo para
multiplicar dos números.
2. Escribir en pseudocódigo un algoritmo para dividir
dos números.
3. Escribir un algoritmo que determine si un número
es o no par. En caso de ser par debe presentar un
mensaje “El número X es par” ó “El número X es
impar”.
32. Actividad en Clase
Escribir un algoritmo que: «Dados tres números determina si la
suma de dos de ellos es igual al otro número. En caso de que
sean iguales escribir «iguales», en caso de ser desiguales
escribir «desiguales».
Entradas: tres números num1,num2,num3
Salidas: mensaje “iguales” ó “desiguales”.
Proceso: Se solicitan los números al usuario
Se comparan las tres posibles comparaciones de
números
Se muestra el resultado respectivo.
33. Algoritmo comparar_iguales
Solución I
Var
entero: num1,num2,num3
Inicio
Escribir(‘Ingrese primer número’)
leer(num1)
Escribir(‘Ingrese segundo número’)
leer(num2)
Escribir(‘Ingrese tercer número’)
leer(num3)
si(num1+num2=num3)entonces
escribir(‘iguales’)
sino
si(num1+num3=num2)entonces
escribir(‘iguales’)
sino
si(num2+num3=num2)entonces
escribir(‘iguales’)
sino
escribir(‘desiguales’)
fin_si
fin_si
fin_si
Fin
34. Solución II
Algoritmo comparar_iguales
Var
entero: num1,num2,num3
Inicio
Escribir(‘Ingrese primer número’)
leer(num1)
Escribir(‘Ingrese segundo número’)
leer(num2)
Escribir(‘Ingrese tercer número’)
leer(num3)
si((num1+num2=num3) ó (num1+num3=num2) ó (num2+num3=num1 ó ) )entonces
escribir(‘iguales’)
sino
escribir(‘desiguales’)
fin_si
Fin
35. Actividad en Clase
Escriba un algoritmo que pida a un profesor una nota.
Dependiendo de la nota se debe realizar lo siguiente:
Si la nota está entre 0y 2.9 presente un mensaje: “perdió la
materia”.
Si la nota está entre 3 y 5 presente un mensaje: “ganó la materia”.
Si la nota está entre 4.5 y 5 presentar también un mensaje:
“excelente nota”.
Entradas: nota del estudiante
Salida: mensaje respectivo
Proceso: Se solicita la nota del estudiante.
Se valida el rango en la cual se
encuentra la nota.
Se presenta el mensaje respectivo.
36. Solución
Algoritmo validar_nota
Var
real: nota
Inicio
Escribir(‘Ingrese la nota del estudiante’)
leer(nota)
si ((nota>=0) y (nota<2.9)) entonces
escribir(‘perdió la materia’)
sino
si((nota>=3) y (nota<=5)) entonces
escribir(‘ganó la materia’)
si ((nota>=4.5) y (nota<=5)) entonces
escribir(‘excelente nota’)
fin_si
sino
escribir(‘La nota no está en el rango de 0 a 5’)
fin_si
fin_si
Fin