Curso de Inducción.

Anuncio
Algoritmos
Ingeniería Informática
Algoritmos cotidianos
Algoritmo:
Conjunto ordenado y finito de operaciones que permite hallar la solución de un problema.
Constituye un método para resolver un problema mediante una secuencia de pasos a
seguir.
Grupo finito de operaciones organizadas de manera lógica y ordenada que permite
solucionar un determinado problema.
Se trata de una serie de instrucciones o reglas establecidas que, por medio de una
sucesión de pasos, permiten arribar a un resultado o solución.
Radica en mostrar la manera de llevar a cabo procesos y resolver mecánicamente
problemas matemáticos o de otro tipo.
Nos permite desarrollar problemas, nos obliga a pensar, y eso hace que podemos
desarrollar nuestra capacidad como programadores y/o como persona.
S
E
a
n
li
tr
d ordenada, finita y
Para que un algoritmo
a se considere como tal, debe ser una secuencia
definida (formalización
d de un comportamiento) de instrucciones. a
a
Características
 Carácter finito. "Un algoritmo siempre debe terminar después de un número finito
de pasos".
 Precisión. "Cada paso de un algoritmo debe estar precisamente definido; las
operaciones a llevar a cabo deben ser especificadas de manera rigurosa y no
ambigua para cada caso".
1
 Entrada. "Un algoritmo tiene cero o más entradas: cantidades que le son dadas
antes de que el algoritmo comience, o dinámicamente mientras el algoritmo corre.
Estas entradas son tomadas de conjuntos específicos de objetos".
 Salida. "Un algoritmo tiene una o más salidas: cantidades que tienen una relación
específica con las entradas".
 Eficacia. "También se espera que un algoritmo sea eficaz, en el sentido de que
todas las operaciones a realizar en un algoritmo deben ser suficientemente básicas
como para que en principio puedan ser hechas de manera exacta y en un tiempo
finito por un hombre usando lápiz y papel”.
Tipos de Algoritmos
Cualitativos:
Son aquellos en los que describen los pasos utilizando palabras.
Cuantitativos:
Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.
Algoritmo cotidiano
Es la serie de pasos que realizamos en nuestra vida diaria para realizar las diferentes
tareas y actividades comunes, desde los pasos al levantarnos, así como ir de compras, etc.
Ejemplo de una receta de cocina.
Entrada: Ingredientes y utensilios empleados.
Proceso: Elaboración de la receta de cocina.
Salida: Terminación del plato.
Ahora realiza los siguientes ejercicios
 Cambiar la llanta de un coche
 Resolver la suma de dos números
2
Estructura de un algoritmo
Cabecera
En esta zona debe escribirse el nombre del algoritmo.
Bloque de declaraciones
Se utiliza para definir las variables que se utilizarán a lo largo del algoritmo.
Inicio
Marca el comienzo del algoritmo
Bloque de instrucciones:
Es la parte principal del algoritmo y está definido entre otras cosas por:
Entrada
Corresponde a los datos necesarios que requiere el proceso para ofrecer los
resultados esperados.
Proceso
Pasos necesarios para obtener la solución del problema o la situación planteada.
Salida
Resultados arrojados por el proceso como solución.
3
Un algoritmo se puede representar de diferentes formas, entre ellas se encuentran
el diagrama de flujo y el pseudocódigo:
Simbología del diagrama de flujo y pseudocódigo
Significado
Diagrama de flujo
Pseudocódigo
Indica el inicio y el fin del
algoritmo
Inicio / Fin
Indica la entrada de datos
Leer
Símbolo de proceso y nos
indica la asignación de un
valor en la memoria y/o la
ejecución de una operación
aritmética.

Símbolo de decisión indica
la realización de una
comparación de valores que
da como resultado un valor
lógico.
Indica
la
información.
salida
de
Si (condición) Entonces
Acción(es)
Si _no
Acción(es)
Fin_Si
Imprimir
Conector dentro de página.
Representa la continuidad del
diagrama dentro de la misma
página.
4
Conector fuera de página.
Representa la continuidad
del diagrama en otra
página.
Líneas de flujo o dirección.
Indican la secuencia en que
se realizan las operaciones.
Ejemplo:
Datos y tipos de datos





Entero
Real
Lógico
Caracter
Cadena
Datos de tipo entero
5
Un dato de tipo entero es aquel que puede tomar por valor un número perteneciente al
conjunto de los números enteros (Z), el cual está formado por los números naturales, sus
opuestos (números negativos) y el cero.
Z = { ..., -3, -2, -1, 0, 1, 2, 3, ... }
Ejemplo: La edad de una persona y el año en que nació, son dos datos de tipo entero:
edad...: 29
año....: 1976
Datos de tipo real
Un dato de tipo real es aquel que puede tomar por valor un número perteneciente al
conjunto de los números reales (R), el cual está formado por los números racionales e
irracionales.
Ejemplo: El peso de una persona (en kilogramos) y su altura (en centímetros), son datos
que pueden considerarse de tipo real.
peso.....: 75.3
altura...: 172.7
Datos de tipo lógico
En programación, un dato de tipo lógico es aquel que puede tomar por valor sólo uno de
los dos siguientes: { verdadero o falso }.
Los valores "verdadero" y "falso" son contrapuestos, de manera que, un dato de tipo
lógico siempre está asociado a que algo se cumpla o no se cumpla.
Ejemplo: El estado de una barrera de paso de trenes es un dato que puede considerarse
de tipo lógico, por ejemplo, asociando "verdadero" a que esté subida y "falso" a que esté
bajada.
Estado...: falso (indica que la barrera está bajada)
Datos de tipo caracter
Es el conjunto de caracteres: letras, cifras, signos de puntuación, etc.
{A,B,C,...,Z,a,b,...,z,á,..,Á,...Ú,ç,Ç,..ñ,Ñ,0,1,...,9,=,+,?,*,#,...}
Representación interna.
6
Para representar cada caracter, basta con codificarlo con un determinado código binario.
Lo importante es que esa codificación sea conocida por las distintas computadoras,
lenguajes de programación, sistemas operativos, aplicaciones, etc. y así puedan
entenderse, esto es, hay que definir un estándar de codificación que sea aceptado y
conocido por todos. Habitualmente, en estos casos, lo que suele ocurrir es que no hay un
único estándar. Uno de los más aceptados es el llamado ASCII que asigna a cada caracter
un número binario de 7 bits (es decir, un número decimal entre 0 y 127). Mostramos en la
siguiente tabla algunos de los caracteres llamados “imprimibles” (los que pueden
visualizarse en pantalla o imprimirse). El resto son caracteres de control y otros especiales.
En 1991 se definió un nuevo estándar llamado UNICODE el cual asigna un código a más de
50000 símbolos de todos los alfabetos europeos, chinos, japoneses, coreanos y otros más.
Los símbolos del 0 al 127 del estándar UNICODE coinciden con los del estándar ASCII.
Datos tipo cadena
Un dato de tipo cadena es aquel que puede tomar por valor una secuencia de caracteres.
En pseudocódigo, el valor de un dato de tipo cadena se puede representar entre comillas
simples (') o dobles (").
Ejemplo: El título de un libro y el nombre de su autor, son datos de tipo cadena.
Título...: "La Odisea" (cadena de 9 caracteres)
Autor....: "Homero" (cadena de 6 caracteres)
7
Obsérvese que, en la cadena "La Odisea", el carácter espacio en blanco también se cuenta.
Ejercicio clasificación de datos (indique a qué tipo de dato hacen referencia).






El número de botones de una camisa.
La altura de una torre.
El número de pasajeros de un avión.
El resultado de hacer una apuesta (ganar o perder).
La capital de Canadá.
La letra 'b' escrita en mayúscula.
Identificadores
Un identificador es el nombre que se le da a una cosa u objeto para diferenciarlo de los
demás en base a sus características.
En un algoritmo también pueden existir identificadores definidos por el programador al
utilizar variables y constantes.
Reglas para definir un identificador:




Consta de uno o más caracteres.
El primer caracter debe ser una letra o el caracter subrayado (_), mientras que,
todos los demás pueden ser letras minúsculas o mayúsculas, dígitos o el caracter
subrayado (_).
No pueden existir dos identificadores iguales, es decir, dos elementos de un
algoritmo no pueden nombrarse de la misma forma
Un identificador no puede contener caracteres especiales, salvo el caracter
subrayado (_). Es importante resaltar que las vocales no pueden llevar tilde ni
diéresis.
Nota: al definir un identificador se sugiere escribirlo en minúsculas, aunque su uso lo
determina el programador.
Ejemplo 1: Algunos identificadores válidos que pueden ser definidos por el programador
son:
numero
dia_del_mes
pinguino_1
_ciudad
z
8
Ejemplo 2: Los siguientes identificadores no son válidos por incumplir la segunda regla:
numero123
_dia
numero*
lugar de nacimiento
mes
Ejemplo 3: Mes y mes son considerados identificadores distintos.
Lo anterior debido a la sensibilidad de algunos lenguajes con respecto al uso de
mayúsculas y minúsculas.
Por último, hay que decir que, es aconsejable que los identificadores tengan un significado
afín a lo que representan.
Variables
En programación, una variable representa a un espacio de memoria en el cual se puede
almacenar un dato.
Gráficamente, se puede representar como:
El programador, cuando desarrolla un programa (o diseña un algoritmo), debe decidir
cuantas son las variables que el programa necesita para realizar las tareas que se le
han encomendado.
El tipo de dato que puede almacenar cada una de ellas.
Durante la ejecución de un programa, el valor que tome el dato almacenado en una
variable puede cambiar tantas veces como sea necesario, pero, siempre, tomando
valores pertenecientes al tipo de dato que el programador ha decidido que puede
almacenar dicha variable, ya que, el tipo de dato de una variable no puede ser
cambiado durante la ejecución de un programa.
Ejemplo de variables:
9
Para que un programa pueda hacer uso de una o más variables, éstas deben ser
declaradas previamente. Todas las variables de un programa se declaran de la misma
forma, indicando de cada una de ellas:
El tipo de dato que puede almacenar (mediante un identificador).
Su nombre (mediante otro identificador).
Ejemplo 1: La declaración de una variable para almacenar la edad de una persona se
escribe:
entero edad
Por tanto, en la memoria de la computadora se reservará un espacio para almacenar la
edad:
Ejemplo 2: Si se desea declarar una variable para almacenar un número entero y que,
inicialmente, contenga el valor 35, se debe escribir:
entero numero  35
Constante
En programación, una constante representa a un valor (dato almacenado en memoria)
que no puede cambiar durante la ejecución de un programa.
Ejemplo 1: Las siguientes constantes de tipo entero están expresadas por su valor:
-5
10
10
Ejemplo 2: De modo que, si se quieren declarar las constantes de tipo entero del
ejemplo anterior, asignándoles un identificador, se puede escribir, por ejemplo:
TEMPERATURA =  -5
MES  10
O también:
TEMPERATURA  -5, MES  10
Constantes de tipo entero
En programación, una constante de tipo entero es aquella que representa a un valor
(dato) perteneciente al subconjunto de Z representable por el ordenador.
Ejemplo 1: El ordenador puede representar el siguiente conjunto de valores enteros:
{ -32768, -32767, 1, 0, -1, 32766, 32767 }
Algunos ejemplos de constantes de tipo entero son:
-32000 ó 000077 (Los ceros a la izquierda no son significativos)
Constantes tipo real
En programación, una constante de tipo real es aquella que representa a un valor
(dato) perteneciente al subconjunto de R representable por el ordenador.
Ejemplo 1: Algunos ejemplos son:
8.12
000.333 (Los ceros a la izquierda no son significativos)
1111.809
-3200. (También se puede escribir -3200.0)
.56 (También se puede escribir 0.56)
11
Ejemplo 2: Las siguientes constantes de tipo real están expresadas correctamente:
-77e-3
+1111e+2
2000E+2
3040e2
Constantes tipo lógico
En programación, una constante de tipo lógico es aquella que representa a un valor
(dato) perteneciente al conjunto:
{ verdadero, falso }
verdadero y falso son palabras reservadas (identificadores) que, en sí mismas,
representan a constantes de tipo lógico. En consecuencia, aunque se pueden definir
constantes de tipo lógico, no suele ser habitual declarar constantes de este tipo de
dato.
Ejemplo:
ESTADO  verdadero
INTERRUPTOR  falso
Constantes tipo caracter
En programación, una constante de tipo caracter es aquella que representa a un valor
(dato) perteneciente al conjunto de caracteres que puede representar el ordenador.
Ejemplo 1: Las siguientes constantes de tipo caracter están expresadas por su valor:
'a'
'T'
'5'
12
'+'
'.'
Ejemplo 2: Algunos ejemplos de declaración de constantes de tipo caracter son:
LETRA  's'
NUMERO  '9'
SIGNO  '-'
ESPACIO_EN_BLANCO  ' '
Constantes tipo cadena
Una constante de tipo cadena es aquella que representa a un valor (dato) que representa a
una secuencia de caracteres.
Ejemplo 1: Las siguientes constantes de tipo cadena están expresadas por su valor:
"Alejandro"
"Lucerna"
"Barcelona 2000"
Ejemplo 2: Algunos ejemplos de declaración de constantes de tipo cadena son:
NOMBRE  "Alejandro"
CIUDAD  "Lucerna"
OLIMPIADAS  "Barcelona 2000"
Nota: se sugiere que las constantes (identificadores) se escriban en mayúsculas a fin de
diferenciarlas más fácilmente de las variables (identificadores).
Ejercicios variables y constantes
¿Cuáles de las siguientes declaraciones de constantes y variables son correctas?
1)
2)
3)
4)
5)
6)
caracter  u
vocal  i
letra j
cadena  "nombre"
entero numero <- 7.0
888.8
13
7) verdadero
8) nueve  9
9) logico CIERTO
10) interruptor  falso
11) _123  "un dos tres"
12)
13)
14)
15)
16)
real 40.09
barra <- '\'
a  .9E-2
b  6.e5
caracter v, w, x
Respuestas
Son correctas las declaraciones:
8) nueve  9
9) logico CIERTO
10) interruptor  falso
11) _123  "un dos tres"
14) a  .9E-2
15) b  6.e5
16) caracter v, w, x
No son correctas:
1) caracter  u (caracter no es un identificador de constante válido)
2) vocal  i (i no es un valor. Sí sería válido, por ejemplo: 'i')
3) letra j (letra no es un tipo de dato. Sí sería válido, por ejemplo: caracter j)
4) entero numero <- 7.0 (7.0 no es un valor de tipo entero. Sí sería válido: 7)
6) 888.8 (888.8 es valor de tipo real. Pero, ¿qué se ha declarado?)
8) verdadero (verdadero es un valor de tipo lógico. Pero, ¿qué se ha declarado?
13) real 40.09 (No hay variable ni constante declarada)
Entrada y salida de datos
Entrada:
La entrada o lectura consiste en recibir desde un dispositivo de entrada (por
ejemplo, el teclado) un valor. Esta operación se representa en un pseudocódigo como
sigue:
Leer a
Donde “a” es la variable que recibirá el valor.
14
Salida:
La salida o escritura consiste en mandar por un dispositivo de salida (por ejemplo,
el monitor o la impresora) un resultado o mensaje. Este proceso se representa en un
pseudocódigo como sigue:
Imprimir “El resultado es: ”, r
Donde “El resultado es:” es un mensaje que se desea imprimir y r es una variable
que contiene un valor.
El siguiente es un ejemplo que muestra el uso de entrada y salida, en donde se
pretende calcular el 16% de iva al precio de un producto:
Algoritmo: Cálculo del iva
Inicio
Imprimir “Descripción”
Leer descripcion
Imprimir “Precio”
Leer precio
iva  precio*0.16
total  precio+iva
Imprimir total
Fin
Operadores aritméticos, lógicos y relacionales
Expresiones:
Son combinaciones de constantes, variables, símbolos de operación (operadores),
paréntesis y nombre de funciones especiales. Ejemplo
a+(b+3) + c
Cada expresión toma un valor que se determina tomando los valores de las variables y
constantes implicadas y la ejecución de las operaciones indicadas.
Una expresión consta de operadores y operandos.
Según sea el tipo de datos que manipulan, se clasifican las expresiones en:



Aritméticas
Relacionales
Lógicas
15
Las expresiones aritméticas
Son analógicas a las fórmulas matemáticas. Las variable y constantes son numéricas (real
o entera) y las operaciones son aritméticas.
Las expresiones aritméticas están formadas por operadores y operandos
Operadores: Son elementos que relacionan de forma diferente, los valores de una o más
variables y/o constantes. Es decir, los operadores nos permiten manipular los valores.
Aritméticos
Tipos de Operadores Relacionales
Lógicos
Operadores aritméticos
Permiten la realización de operaciones matemáticas con los valores (variables y
constantes).
Pueden ser utilizados con tipos de datos enteros o reales. Si ambos son enteros, el
resultado es entero; si alguno de ellos es real, el resultado es real.
Formato
Operando
(Operador) Operando
Valor
Ejemplos
a + b
5+ 3
Operadores aritméticos
+
*
/
Ʌ
div
mod
Suma
Resta
Multiplicación
División
Exponenciación
División entera
Módulo (residuo de la división entera)
16
Ejemplo:
Expresión
9/3
15 mod 2
7+5*3
Resultados (de acuerdo a la prioridad)
3
1
22
Propiedad de los operadores aritméticos (Jerarquía)
Todas las expresiones entre paréntesis ( ) se evalúan primero. Las expresiones con
paréntesis anidados se evalúan de adentro a afuera, el paréntesis más interno se evalúa
primero.
Dentro de una misma expresión los operadores se evalúan en el siguiente orden:
()
Ʌ
Exponencial
*,/
Multiplicación, división
mod, div Modulo y división entera
+,Suma y resta
Ejemplos:
Los operadores en una misma expresión con igual nivel de prioridad se evalúan de
izquierda a derecha.
a) 3+4*5=14
3+20=23
b) 23*2/5=9.2
46/5=9
c) 3+5*(10-(2+4))=23
3+5*(10-6)
3+5*(4)=3+20=23
d) 3.5+5.09-14.0/40=5.09
3.5+5.09-3.5
5.09
e) 2.1*(1.5+3.0*4.1)=28.98
2.1*(1.5+12.3) =2.1*13.8
28.98
17
Expresiones lógicas booleanas
Un segundo tipo de expresiones es la expresión booleana, cuyo valor es siempre
verdadero o falso (constantes lógicas).
Las expresiones lógicas se forman combinando constantes lógicas, variables lógicas y
otras expresiones lógicas, utilizando los operadores relacionales y los lógicos.
Operadores relacionales





Se utilizan para establecer una relación entre dos valores.
Compara estos valores entre si y esta comparación produce un resultado de
certeza o falsedad (verdadero o falso)
Los operadores relacionales comparan valores del mismo tipo (numéricos o
cadenas)
Tienen el mismo nivel de prioridad en su evaluación.
Los operadores relaciónales tienen menor prioridad que los aritméticos.
Operadores relacionales
>
Mayor que
<
Menor que
>=
Mayor o igual que
<=
Menor igual que
<>
Diferente
=
Igual
Ejemplos:
Si a=10 b=20 c=30
a+b > c
a-b < c
a-b = c
a*b <> c
Falso
Verdadero
Falso
Verdadero
18
Operadores lógicos


Estos operadores se utiliza para establecer relaciones entre valores.
Estos valores pueden se resultado de una expresión relacional.
Los operadores lógicos o booleanos básicos son:
And
OR
Not
Y
O
Negación
Tablas de verdad
Operador And
Operando1 Operador Operando2 Resultado
V
And
V
V
V
And
F
F
F
And
V
F
F
And
F
F
Operador Or
Operando1 Operador Operando2 Resultado
V
Or
V
V
V
Or
F
V
F
Or
V
V
F
Or
F
F
19
Operador Not
Operador
Operando
Resultado
Not
V
F
Not
F
V
Ejemplos:
20
Prioridad de los operadores en general
1. ( )
2.
Ʌ
3. *,/, div, mod, Not
4. +, - ,And
5. >, <, >=, <=, <>, =, Or
Ejemplo:
a=10 b=12 c=13 d=10
Operadores de asignación
Es el modo de almacenar valores a una variable. La operación de asignación se representa
con el símbolo u operador  .
Se conoce como instrucción o sentencia de asignación cuando se refiere a un lenguaje de
programación. El formato general de una operación de asignación es:
Nombre de la variableexpresión, variable o una constante
21
Ejemplos de problemas secuenciales
1) Suponga que un individuo desea invertir su capital en un banco y desea saber cuánto
dinero ganará después de un mes si el banco paga a razón de 2% mensual.
Antes de resolver el problema es bueno hacer un análisis y hacerse las siguientes
preguntas:
a) ¿Qué es lo que se quiere obtener?, o sea, ¿cuál será la salida?
b) ¿Qué datos se requieren como entrada?
c) ¿Qué procesos se aplicarán a los datos de entrada para producir la salida esperada?
Para este problema tendríamos:
Salida: ganancia
Entrada: capital
Proceso: ganancia  capital * 0.02
El diagrama de flujo y pseudocódigo que representan al algoritmo que da solución
al problema sería:
22
Inicio
Imprimir “Introduzca el capital invertido: “
Leer capital
ganancia  capital * 0.02
Imprimir “La ganancia de esta inversión al
aplicar el 2% de interés mensual a
un capital de $”, capital, “será de
$”, ganancia
Fin
Imagínese que después de traducir el algoritmo en un programa lo ejecutamos,
introducimos como capital el valor 2000 y tendríamos en pantalla:
23
2) Hacer un algoritmo que permita convertir kilogramos en gramos.
Realizando un análisis, para este problema tendríamos:
Salida: gr
Entrada: kg
Proceso: gr  kg * 1000
Inicio
Imprimir “Introduzca los kilogramos: “
Leer kg
gr ← kg * 1000
Imprimir kg, “ kilogramos equivalen a “, gr, “ gramos”
Fin
24
Si introducimos 1.5 como valor para la variable kilogramos, en pantalla se observaría:
Para comprobar que comprendieron este tema, los reto a que resuelvan el
siguiente problema:
3) Hacer un algoritmo que calcule e imprima el área de un rectángulo (área = base *
altura).
25
Estructuras Selectivas.
Las estructuras lógicas selectivas se encuentran en la solución algorítmica de casi todo tipo
de problemas. Las utilizamos cuando en el desarrollo de la solución de un problema
debemos tomar una decisión, para establecer un proceso o señalar un camino alternativo
a seguir.
Esta toma de decisión (expresada con un rombo) se basa en la evaluación de una o más
condiciones que nos señalarán como alternativa o consecuencia, la rama a seguir.
Hay situaciones en las que la toma de decisiones se realiza en cascada. Es decir se toma
una decisión, se marca la rama correspondiente a seguir, se vuelve a tomar otra decisión y
así sucesivamente. Por lo que para alcanzar la solución de este problema o subproblema
debemos aplicar prácticamente un árbol de decisión.
Las estructuras algorítmicas selectivas que se utilizan para la toma de decisiones lógicas
las podemos clasificar de la siguiente forma:
1. Si Entonces
2. SI Entonces Si_no
(Estructura selectiva simple)
(Estructura selectiva doble)
La estructura Si Entonces. La estructura selectiva Si Entonces permite que el flujo del
programa siga por un camino específico si se cumple una condición o conjunto de
condiciones. Si al evaluar la condición (o condiciones) el resultado es verdadero, entonces
se ejecuta(n) ciertas operación(es). Luego se continúa con la secuencia normal del
programa.
Diagrama de flujo
Pseudocódigo
Si (condición) Entonces
instrucción 1
instrucción 2
.........
instrucción n
Fin_Si
26
Ejemplo:
Algoritmo: Numero
Inicio
Leer a
Si (a = 5) Entonces
Imprimir "Es un 5"
Fin_Si
Fin
La estructura Si Entonces/Si_no. La estructura selectiva Si Entonces/Si_no permite que el
flujo del programa pueda ir por dos ramas diferentes en el punto de la toma de
decisión(es). Si al evaluar la condición (o condiciones) el resultado es verdadero, entonces
se sigue por un camino específico y se ejecuta(n) cierta(s) operación(es). Por otra parte, si
el resultado es falso entonces se sigue por otro camino y se ejecuta(n) otra(s)
operación(es). En ambos casos, luego de ejecutarse la(s) operación(es) indicada(s), se
continúa con la secuencia normal del programa.
27
Diagrama de flujo
Algoritmo
Si (condición) Entonces
instrucción 1
instrucción 2
...................
instrucción n
Si_no
instrucción a
instrucción b
...................
instrucción z
Fin_Si
Ejemplo:
Algoritmo: Numero
Inicio
Leer a
Si (a = 5) Entonces
Imprimir "Es un 5"
Si_no
Imprimir "No es un 5"
Fin_Si
Fin
28
Ejemplo: Hacer un algoritmo en
diagrama de flujo y pseudocódigo,
que lea el nombre de un estudiante,
su calificación de Español y
Matemáticas, que calcule el promedio
de las dos y que imprima un mensaje
de felicitaciones si el promedio es
Algoritmo: Promedio
Inicio
Leer nombre
Leer m
Leer e
p  (m+e)/2
Si (p>=70) Entonces
Imprimir ‘Felicidades’
Fin_Si
Fin
mayor o igual a 70
29
Ejemplo:
Leer el total de una compra, si es mayor a 5000 hacerle un 10% de descuento e imprimir el
total a pagar.
Algoritmo: Compra
Inicio
Leer compra
Si (compra>5000) Entonces
descto compra*0.10
totalCompra=compra-descto
Imprimir ‘El total es ’,totalCompra
Fin_Si
Fin
30
Ejemplo:
Leer el sueldo de un trabajador, si su sueldo es menor a 1000 deberemos aumentarle el
15%, en caso contrario aumentarle el 12%. Imprimir el nuevo sueldo del trabajador
Algoritmo: Sueldo
Inicio
Leer sueldo
Si (sueldo<1000) Entonces
aumento  sueldo*0.15
Si_no
aumento sueldo*0.12
Fin_Si
totalSueldo sueldo+aumento
Imprimir (‘El sueldo total es’,totalSueldo)
Fin
31
Descargar