You are on page 1of 47

DIAGRAMACION Y ALGORITMOS

DIAGRAMACIÓN Y ALGORITMOS

SESION I

CONCEPTO DE DATO E INFORMACIÓN

Datos: Es todo aquella representación de una entidad y que es susceptible de tratamiento ya


sea en un programa o proceso informático. Por ejemplo nombre, apellido y edad son datos de
una persona (entidad).
En otras palabras un dato es la representación de una realidad.

Información : Mensaje valido para un receptor o resultado del procesamiento de datos.


Una computadora es una simple máquina capaz de aceptar datos de entrada, procesarlos
y facilitar resultados de salida (información).

DATO INFORMACION
Todo programa (software) está constituido por un conjunto de ordenes o instrucciones
capaces de manipular un conjunto de datos. Esta ordenes pueden ser divididas en tres
grandes bloques claramente diferenciales, estos son:

1 ENTRADA DE DATOS: En este bloque se engloban todas aquellas instrucciones que


toman datos de un dispositivo o periférico externo, depositándolos en la memoria principal
de la computadora para poder ser procesados.

2 PROCESO: Engloban todas aquellas instrucciones encargadas de modificar los datos


que previamente habían sido depositados en a memoria principal. Finalmente, todo los
resultados obtenidos en el tratamiento de dichos datos son depositados nuevamente en
la memoria principal quedando de esta manera disponible.

3 SALIDA DE RESULTADOS: Es el conjunto de instrucciones que toman los


resultados finales desde la memoria principal y lo envían a dispositivos externos.
Una computadora es una simple máquina capaz de aceptar datos de entrada,
procesarlos y facilitar resultados de salida.

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

ALGORITMOS

DEFINICIÓN DE ALGORITMO
La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi,
nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación
de números y ecuaciones en el siglo IX.
Un algoritmo es una serie de pasos organizados que describe el proceso que se debe
seguir, para dar solución a un problema especifico.

Tipos de Algoritmos

Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los
pasos del proceso.

Lenguajes Algorítmicos
Es una serie de símbolos y reglas que se utilizan para describir de manera explícita un
proceso.

Tipos de Lenguajes Algorítmicos


Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo
(diagrama de flujo).
No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un
algoritmo (pseudocódigo).

Características de un algoritmo
Las características de un buen algoritmo son:
♦ Debe tener un punto particular de inicio.
♦ Debe ser definido, no debe permitir dobles interpretaciones.
♦ Debe ser general, es decir, soportar la mayoría de las variantes que se puedan
presentar en la definición del problema.
♦ Debe ser finito en tamaño y tiempo de ejecución.

Ejemplo:
1.Se desea construir un algoritmo que cambie la rueda de un automóvil. La
siguiente lista de paso le ayudará a en la construcción del algoritmo pero, para
ellos debe ordenarlas en una secuencia lógica.
a. Sacar las tuercas
b. Inicio
c. Bajar el auto y retirar las tuercas
d. Colocar repuesto
e. Sacar herramientas y respuesta.
f. Cerrar maletera
g. Colocar tuercas
h. Fin
i. Abrir maletera
j. Apretar turcas
k. Posicionar gata y levantar
l. Guardar herramientas y rueda
m. Retirar rueda mala
Ing. Carlos Javier Pastrana
e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

n. Soltar tuercas
2.Escriba el algoritmo que soluciona los siguientes problemas cotidianos.
a. Cambiar las cuatro ruedas de un vehículo.
b. Guardar 20 monedas de $100 en una alcancía.
c. Destapar un botellas de bebidas hasta que se terminen, es decir un número
indefinido de botellas.

ENTIDADES PARA EL DESARROLLO DE UN ALGORITMO:

DATO: Recordemos que el dato es una entidad, tratable por software, la cual puede ser
procesada, a fin de obtener resultados o información útil. Un dato está compuesto
por tres partes, las cuales son:

1.Identificador: Es un nombre para referenciarlo, puede contener letras, números


o combinaciones de ambas, donde el primer carácter es un letra, y su nombre
comúnmente esta relacionado con la información que representa, para facilitar
nuestra tarea y evitar confusiones.

Ejemplo

Hola Válido
Punto_Final Válido
5puntos No válido, comienza con un número
$punto3 Válido
Punto/2 Válido
Punto1 Valido
.P4 No válido, comienza con el carácter .

Tipo: El tipo se refiere a la forma del dato, esto puede ser: de carácter (char),
numérico (real o entero), fecha, cadena de caracteres (string), booleano (lógico, es
decir, verdadero o falso).

Ejemplo:
Si A=12, B=3.5, C= “hola”, D=”S”, entonces las variables son del siguiente
tipo:
A: entero
B: real
C: string o cadena
D: char

Valor: El valor está directamente relacionado con el tipo.

Ejemplo
Si las siguientes variables son declaradas como:
X: entero, debe almacenar un valor entero, es decir cualquier número del conjunto Z
H: boolena, debe almacenar un valor lógico es decir, Verdadero o falso
Z: real, debe almacenar cualquier número del conjunto de los reales (R)
P: char, debe almacenar sólo un carácter de cualquier tipo
Ing. Carlos Javier Pastrana
e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

F: String, debe almacenar una cadena de caracteres, desde dos caracteres o más
caracteres.

Constantes, Variables y expresiones

Constantes: Las constantes son valores declarados en un programa para su


utilización posterior y poseen un valor que no varia durante el proceso de ejecución;

Ejemplo
PI= 3.14, constante numérica
INACAP Dirección de Área Informática
22
OP= “s”, constante char
Men=” hola” , constante string

Variables: Las variables son objetos que poseen un valor que puede ir cambiando o
ser modificado a lo largo de la ejecución del programa.

Expresiones: Las expresiones son la representación de un cálculo necesario para


la obtención de un resultado. En informática existen tres tipos de expresiones:

a) Numéricas: Generan un resultado numérico y se construyen


mediante operadores aritméticos: Ejemplo PI*4.15+X

b) Alfanuméricas: Resultados alfanuméricos, se construyen


mediante operadores alfanuméricos: Ejemplo N=”Juan”
“Don”+N=”Don Juan”

c) Booleanos: Resultados verdaderos o falso, se construyen


mediante operadores relacionales y lógicos: Ejemplo A>O y B<5.

Operadores: Sirven para la construcción de expresiones. La presente tabla muestra

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

su respectiva clasificación.

Operadores Aritméticos: Los operadores aritméticos permiten la realización de operaciones


matemáticas con los valores (variables y constantes).
Los operadores aritméticos 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.

Ejemplos:
7 / 2 = 3.5
12 mod 7 = 5
4 + 2 * 5 = 14

Prioridad de los Operadores Aritméticos

Todas las expresiones entre paréntesis se evalúan primero. Las expresiones con
paréntesis anidados se evalúan de dentro a fuera, 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.
a) ( ) Parentesis
b) ^ Exponenciación
c) *, /, mod Multiplicación, división, modulo.
d) +, - Suma y resta.
❈ Los operadores en una misma expresión con igual nivel de prioridad se evalúan de
izquierda a derecha.

Ejemplos:
1.Observe el siguiente calculo respetando las prioridades
4 + 2 * 5 = 14
23 * 2 / 5 = 9.2
46 / 5 = 9.2

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

3 + 5 * (10 - (2 + 4)) = 23
3 + 5 * (10 - 6) =23
3.5 + 5.09 - 3.5 = 5.09
2.1 * (1.5 + 3.0 * 4.1) = 28.98

Operadores Alfanuméricos
La operación mas utilizado es la concatenación representada por el signo +; La concatenación
no es mas que la unión de caracteres o cadena de caracteres, transformándola de este modo
a una sola cadena.

Ejemplo:

Observe las siguientes concatenaciones

a) “12” + “12” = “1212”


b) “EL RESULTADO” + “ ES”= “EL RESULTADO ES”
c) “METODO”+”LOGICO” = ”METODOLOGICO”
d) “123”+”.24-“+”A” = “123.24-A”

Operadores Relaciónales: Se utilizan para establecer una relación entre dos valores.
Compara estos valores entre sí del mismo tipo y esta comparación produce un resultado
verdadero o falso, tienen el mismo nivel de prioridad en su evaluación.

Ejemplos:

Si a = 10, b = 20, c = 30
a + b > c Falso
a - b < c Verdadero
a - b = c Falso
a * b < > c Verdadero

Operadores Lógicos y las proposiciones: Los operadores lógicos, permiten entre otras
cosas resolver proposiciones, donde llamaremos proposiciones a toda expresión que
tenga un sentido y de la cual se puede decir que es verdadera o falsa. Esta es llamada
lógica proposicional.

Ejemplo:

a) La quinta región se caracteriza por ser zona minera (Esta proposición es falsa).
b) ¿Cómo se resuelve este ejercicio? (Esta no es una proposición)
c) El caballo blanco de Napoleón es blanco (Esta proposición es verdadera).
Las proposiciones pueden ser nominadas con algunas letras tales como p,q,r, etc. Las
cuales pueden ser unidas por conectivos lógicos, dando origen a una expresión lógicas.
Los operadores lógicos más utilizado en la programación es la negación (not), los
conectivos and (y) or (o). Su tablas de verdad son:

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

PSEUDOCÓDIGO:
Manera no gráfica de resolver algoritmos

Ejercicio, Leer dos números, sumarlos y obtener su resultado

Explicación

Sección encabezado (líneas 1,2,3)

Línea 1 ->definición del nombre, todo algoritmo debe ser identificado con un
nombre
Línea 2 -> Palabra para identificar las variables a utilizar
Línea 3 -> variables utilizadas y el tipo de las mismas, para este caso de tipo
entero (recordemos que los datos numéricos se dividen en enteros y reales)
Línea 4 -> Damos inicio al cuero del algoritmo
Línea 5 ->La palabra escriba es una directiva de salida, es decir todo lo que se
ingresa dentro de esta instrucción son comentarios o valores, que serán
visualizados por el usuario, para este caso, estamos solicitando que ingrese un
número.
Línea 6 -> La palabra lea es una directiva de entrada, significa que todo lo que
se escriba dentro, será ingresado, en este caso estamos ingresando un número
cualquiera
Línea 7 y 8 -> repite la secuencia de las líneas 5 y 6
Línea 9 -> Proceso, en este segmento se le asigna el valor de la suma de dos
variables a una tercera (suma)
Línea 10 -> podemos observar una salida doble, es decir la primera parte un
cometario y luego la variable de resultado
Línea 11-> final del algoritmo

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

Para tener en cuenta

Con los algoritmos, resulta más cómodo, presentar mensajes de claridad al


usuario, por ejemplo cundo decimos (“por favor ingrese un número”), en ese
momento somos explícitos con lo que queremos hacer,

Resumiendo

Escriba ->sirve para dar a conocer mensajes o resultados


Lea -> permite capturara información

Estructuras de Selección

Las estructuras de selección son estructuras de control utilizadas para la toma


decisiones dentro de un programa. A estas estructuras se conocen también
como estructuras selectivas o estructuras de decisión y son las siguientes:

La estructura de selección simple (SI).


La estructura de selección doble (SI-SINO).
Estructura de Selección doble en Cascada SI-SINO-SI

La estructura de selección simple permite ejecutar una acción o un grupo de


acciones sólo si se cumple una determinada condición.

Si (condicional)
Sentencia 1
Sentencia 2

Fin _si

La estructura de selección doble permite seleccionar una ruta de dos rutas


posibles en base a la verdad o falsedad de una condición__
_
Si (condicional)
Sentencia 1
Sentencia 2

Si_no
Sentencia 1
Sentencia 2

Fin_fi

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

La estructura de selección doble en cascada esta formada por varias estructuras de


selección doble SI-SINO puestas una a continuación de otra de forma que a un SI-
SINO le sigue otro SI-SINO.

En la estructura de selección doble en cascada, las condiciones se evalúan


orden descendente, pasando de una condición a otra si la condición anterior
resulta falsa. En el momento que se encuentra una condición verdadera, se
efectúa acción correspondiente a dicha condición se corta el resto de la
estructura. Si todas las condiciones resultan falsas, se efectuará acciones
correspondientes al SINO, que se considera como la acción por defecto.

SI( condicional1 )
accion1
SINO SI( condicional2 )
accion2
_ ((_
SINO SI( condicional3 )
accion3
.
.
.
SINO

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

Ejemplo 3
Variación del ejercicio anterior, que pasa si los números son iguales
Entonces una posible solución es la siguiente
1. Algoritmo mayor_v1
2. var
3. a,b:entero
4. inicio
5. Escriba(“Por Favor entre un número”);
6. Lea(a);
7. Escriba(“por favor entre el segundo número”);
8. Lea (b);
9. Si (a=b)
10. escriba (“los Números son Iguales”);
11. fin_si
12. Si (a>b)
13. escriba (“El mayor es :”, a);
14. fin_si
15. Si (a<b)
16. escriba(“el mayor es :”,b);
17. fin_si
18. fin

Por favor discuta y analice con su compañeros de grupo, porque en este


ejercicio se emplearon 3 condicionales?, Existen otras formas de resolverlo?

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

Estructuras de secuencia Ciclos o Bucles

Este tipo de estructuras marcan como orden de ejecución la reiteración de una


serie de acciones basándose en un bucle.

“Un BUCLE (loop, en inglés) es un trozo de algoritmo cuyas instrucciones son


repetidas un cierto número de veces, mientras se cumple una cierta condición
que ha de ser claramente especificada. La condición podrá ser verdadera o falsa,
y se comprobará en cada paso o iteración del bucle.

Básicamente, existen tres tipos de estructuras repetitivas:

Desde o Para: este tipo de ciclo es ideal cuando se conoce la cantidad de veces
que se desea ejecutar una acción

También se hace necesario conocer otros conceptos que se manejan mucho


cuando hablamos de ciclos o bucle ellos son:

Decisión: donde se evalúa la condición y, en caso de ser cierta, se


ejecuta.

Cuerpo del bucle: son las instrucciones que queremos ejecutar

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

repetidamente un cierto número de veces.

Salida del bucle: es la condición que dice cuándo saldremos de hacer


repeticiones (caminar mientras encuentro un sillón, en el momento de
encontrar un sillon dejo de caminar y he salido del ciclo).
Una forma de controlar un bucle es mediante una variable llamada

CONTADOR, cuyo valor se incrementa o decremento en una cantidad


constante en cada repetición que se produzca.
También, en los bucles suele haber otro tipo de variables llamadas

ACUMULADOR, cuya misión es almacenar una cantidad variable resultante de


operaciones sucesivas y repetidas. Es como un contador, con la diferencia que
el incremento/decremento es variable.

CICLO PARA O DESDE

La estructura repetitiva PARA ó DESDE permite que las instrucciones las cuales
contiene en su ámbito, se ejecuten un número de veces determinado Una variable
de control, que llamamos contador, se incrementa o decrementa esde un valor
inicial hasta un valor final. Supondremos un incremento de uno en uno y
decrementos de menos uno en menos uno.

Bueno para ser explicito, lo mejor es realizar un ejercicio donde se comprenda


todos los conceptos mencionados hasta el momento.

Ejercicio
Realizar un algoritmo que sume los 10 primeros números naturales e imprima
su resultado.

Análisis

1. los números naturales se tomaran del 1 al 10


2. como se conoce la cantidad de veces que hay que sumar los números, lo
mejor es utilizar el ciclo desde o para
3. como se necesita sumar los números, lo mejor es utilizar un acumulador
4. En este caso, los números se conocen, por lo tanto no habría que
capturar ningún valor

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

Explicación

Línea 5 -> es importante inicializar las variables que serán utilizadas como
acumuladores
Línea 6 -> instrucción del ciclo básico desde el número 1 hasta el 10, en este caso
la variable k se comporta como un contador
Línea 7-> Al valor anterior que tiene la variable suma, le acumulamos un nuevo
valor, como puede observarse en la prueba de escritorio
Línea 8-> todo ciclo al igual que todo condicional se debe cerrar
Línea 9-> esta línea, se hubiese podido colocar antes de cerrar el ciclo, pero se
imprimiría 10 un resultado

Ejercicio 2

Una pequeña variación al ejercicio anterior


Realizar la suma de 10 números cualesquiera e imprimir su resultado

Análisis

1.- Para este caso se saben cuantos números serán los sumados, por lo cual
se recomienda utilizar nuevamente el ciclo para
2.- No se sabe cuales son los números, por lo tanto hay que capturarlos
3.- se aumentará una variable, la que captura los números

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

Ejercicio

Realizar un algoritmo que permita ingresar 10 números, de los cuales se debe


sumar aquellos que son positivos y contar los que son negativos, imprimir los
resultados

Análisis

1.-Al igual que los ejercicios anteriores, se sabe cuantos números son
2.-Nuevamente el ciclo recomendado es el ciclo para o desde (desde i=1 hasta
10)
3.-Se complica un poco, pues se pide sumar y contar dependiendo el número
4.-Tendremos que utilizar una variable para contar y otra para acumular
5.-es necesario dentro del ciclo tomar una decisión

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

Explicación

Línea 6-> inicializamos en cero la variable que utilizamos como contador de


números negativos
Línea 10-> condicionamos el número leído, par determinar si es positivo o
negativo, en el caso de ser positivos lo sumamos en la línea 11, en el caso de
ser negativo lo contamos en la línea 13

EJERCICIOS DE VERIFICACIÓN

Desarrollar el siguiente taller (grupos de 3 personas)

1.-Realizar un algoritmo que permita leer 20 temperaturas (grados Cº) diferentes


durante un día, se debe indicar cual fue la temperatura el promedio
de ese día
2.-Una empresa que cuenta con n empleados desea realizar algunos cálculos para
la nueva nómina. Los datos con que cuenta son los sueldos de los n empleados:
n, s1, s2, s3, ..., sn.

Elabore un algoritmo de para leer los datos y contestar a las siguientes


preguntas:

a) ¿Cuál es el aumento correspondiente a cada empleado según el


siguiente criterio?
17% si el sueldo es inferior a $5,000
Ing. Carlos Javier Pastrana
e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

10% si el sueldo está entre $5,000 y $15,000


5% si el sueldo es superior a $15,000

b) ¿Cuál es el nuevo sueldo para cada empleado?


c) ¿Cuál es el total de la nueva nómina?
d) ¿Cuál es el incremento en la nómina?
e) ¿Cuál es el máximo sueldo nuevo?
f) ¿Cuál es el mínimo sueldo nuevo?

Se sugiere leer la variable k para determinar la cantidad de empleados antes de


hincar el ciclo

3.-se desea desarrollar un algoritmo que permita, desarrollar la tabla de


multiplicar de un determinado número (la tabla básica va de 1 a 9);

4.-Variación del ejercicio anterior, se debe desarrollar un algoritmo que permita


mostrar las tablas del 1 al 9

5.-Se desea construir un algoritmo que permita imprimir el resultado del factorial
de un número dado (factorial =n!);

6.- una empresa con 20 empleados desea saber cuantos ganan menos de un
salario mínimo, cuantos tienen un salario entre uno y dos salarios mínimos y
cuantos ganan más de tres salarios mínimos, además cual es el valor actual de la
nomina de la empresa, cuanto aumentará la nomina mensual si se hace
incrementos así; 20% a aquellos que gana menos de un salario mínimo, 10% a los
que ganan entre 1 y dos salarios mínimos y 5% a quienes gana más de 3 salarios
mínimos.
Se deben realizar los cálculos, teniendo en cuenta el valor del salario mínimo legal
vigente

7.-Se desea desarrollar un algoritmo que permita determinar e imprimir el


promedio de las edades de los alumnos de el curso algoritmos de este Cead, a
demás se debe aprovechar la consulta para determina cuantos son casados,
cuanto viven en unión libre, cuantos solteros, cuantos son viudos, cuantos vienen
de otras ciudades, cuantos conocen la misión de la Unad, si lo desean lo pueden
clasificar por géneros.

La realización de este ejercicio con datos reales podrá conocer un poco más a
sus compañeros de curso
8.-Consultar información referente a los ciclos mientras y el ciclo Repita

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

Ciclo Mientras

Controla la ejecución de un conjunto de instrucciones de tal forma que éste se


ejecuta mientras se cumpla la condición de control que aparece al comienzo de la
instrucción. Es decir funciona siempre y cuando la condición sea verdadera.

Ejemplo

Se debe desarrollar un algoritmo que este permita ingresar las notas del curso de
algoritmos, el programa debe terminar cuando la nota ingresada es cero (cero),
luego mostrar el promedio de las notas ingresadas

Análisis

1. En este ejercicio no se sabe la cantidad de notas


2.-Se sabe que se termina cuando una de las notas ingresada es cero
3.-Se debe utilizar un contador, para determinar el número de notas ingresadas
4.-también se debe utilizar un acumulador para sumar cada nota
5.-se utilizara una variable extra si es del caso para obtener el promedio.

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

Explicación

Línea 4-> no olvidemos que en algunos casos no se debe emplear números


enteros
Línea 6 -> se pude emplear una línea para realizar varias actividades
Línea 7 -> se da inicio al ciclo con el condicional, para este caso que la nota sea
diferente a 0, la sentencia diferente también se puede representar como (!=)
Línea 10. Es importante el condicional para controlar que solo recibamos
números positivos

Línea 14->todo ciclo se debe cerrar

CICLO REPETIR HASTA

Controla la ejecución de un conjunto de instrucciones de tal forma que éste se


ejecuta hasta que se cumpla la condición de control que aparece al final de la
instrucción.

Ejercicio

Se realza una variación al ejercicio anterior


Las notas permitidas son únicamente, números positivos comprendidos entre 0.1 y
cinco.
Con este ejercicio se pretende abordar un tema de mucha importancia, como son
los filtros, los cuales solo permiten el ingreso de unos determinados valores, en
caso de que esos valores no sean validos se generara mensajes de error, Con
este planteamiento, podemos involucrar los dos ciclos

Análisis

1.-El análisis prácticamente es el mismo anterior, solo que se debe tener en


cuenta las notas permitidas (0.1 a 5.0)
2.-En caso de no ser una nota permitida el algoritmo emitirá un mensaje y
pedirá un nuevo número

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

Explicación

De la línea 8 a la 14 esta controlada por el ciclo repita ..hasta


Línea 11-> este condicional permite generar un mensaje de error, si la nota esta
fuera del rango establecido
Línea 14, termina el ciclo repita con una condición de verificación
Línea 15->, por qué validar que la nota sea diferente de 0,?.
Bueno la respuesta es que el cero es nuestro valor CENTINELA o BANDERA y no lo
estamos teniendo en cuenta dentro del ciclo repita ni en el condicional

Observación importante, en este ejercicio, hemos empleado los conectores


lógicos, para este caso el conector o lo podemos observar en las líneas 11 y
14, se sugiere consultar más referente a estos conectores

Ejercicios de verificación

Evidencia: documento con informe de la actividad, y registro en el portafolio


1.-Determine cuál es la diferencia entre:
a) contador y acumulador
b) ciclo para y ciclo mientras
d) ciclo mientras y ciclo repita
e) condicional y ciclo

En un periodo académico existen 45 alumnos y cada uno de ellos tiene


4 calificaciones, correspondientes a 5 diferentes cursos. Se requiere
encontrar:
_ El promedio de cada estudiante.
_ el promedio general del curso (=promedio de los promedios).

d) se debe realizar una mejora al algoritmo anterior, permitiendo controlar


para cada alumno n cursos, se debe imprimir los mismos ítems

e) Para las elecciones presidenciales que se realizarán en Colombia,


existen tres partidos políticos aspirando con sus candidatos (1, 2,3).
Uno de estos ha decidido realizar una consulta (encuesta) a un cierto
número de personas, para determinar las preferencias de los electores
A cada persona se le pregunta:
Si va a votar,
En caso de que la respuesta se afirmativa, se le preguntará por
qué partido votará.
Elaborar un algoritmo, para llevar un control de la información y así
Ing. Carlos Javier Pastrana
e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

obtener unos resultados con prontitud

Nota: el dato partido solamente se lee si la persona entrevistada ha


contestado que sí votará.
El algoritmo imprimirá la siguiente información:
_ ¿Cuál es el partido que esta repuntando?
_ ¿cuál es % de abstención?
_ ¿Cuál es % a favor de cada partido, teniendo en cuenta, las
entrevistas validas?
_ ¿cual es el % de personas que SI votaran?

f) Realizar un algoritmo que permita determinar si un número es par o


impar, teniendo en cuenta las siguientes condiciones:
Solo se admiten números positivos
Solo se evalúan números entre 1000 y 147890, cualquier otro
número genera una advertencia de error
El algoritmo, termina cuando el usuario decide no ingresar más
números (“Desea continuar S/N”)

g) Un almacén desea obtener una serie de informes diarios a partir de las


ventas realizadas en un día. Elabore un algoritmo que:
Solicite el código del artículo
El valor unitario
La cantidad de artículos
El código para terminar es -999
Se desconoce el número de ventas que se realizan en un día, por lo que
el final de los datos se indica con un –1. Suponga que el IVA es del
15%.

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

DIAGRAMA DE FLUJO
Para el diseño de algoritmos se utilizan técnicas de representación. Una de estas técnicas son
los denominados diagramas de flujo, que se definen como la representación gráfica que
mediante el uso de símbolos estándar conectados o unidos mediante líneas de flujo, muestran
la secuencia lógica de las operaciones o acciones que debe realizar un ordenador, así como
la corriente o flujo de datos en la resolución de problema.

Algunos símbolos correspondientes a operaciones de proceso son:

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

Ejemplo:

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

Recorrer el siguiente diagrama de flujo, considerando N1=4.5, N2=5.5, N3=6.5, el valor


de P es 5.5, como el mayor que 3.9, la ruta continua por la alternativa NO por lo tanto se
imprime la cadena Aprobado.

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

Recomendaciones para el diseño de Diagramas de Flujo

❈ Se deben usar solamente líneas de flujo horizontales y/o verticales.


❈ Se debe evitar el cruce de líneas utilizando los conectores.
❈ Se deben usar conectores solo cuando sea necesario.
❈ No deben quedar líneas de flujo sin conectar.
❈ Se deben trazar los símbolos de manera que se puedan leer de arriba hacia abajo y
de izquierda a derecha.
❈ Todo texto escrito dentro de un símbolo deberá ser escrito claramente, evitando el uso
de muchas palabras.

Ejercicios:

a) Crear un algoritmo en diagrama de flujo que al leer un número entero positivo


(asuma que el número cumple las condiciones), imprimir PAR si el número es
par e IMPAR si es impar.

b) Supongamos que el I.P.C. de los meses de Febrero y Marzo fueron 0.3% y 0.6%
respectivamente. Crear un algoritmo en diagrama de flujo que muestre el valor
de un producto actualizado y la diferencia de precio entre el mes de febrero y
Marzo.

c) Confeccione un algoritmo en diagrama de flujo que al leer el neto de una factura,


calcule el I.V.A. y de cómo salida el total de la factura.

d) Crear un algoritmo en diagrama de flujo que al ingresar dos números imprima el


mayor de ellos o IGUALES si son iguales.

e) Confeccionar un algoritmo en diagrama de flujo que imprimir el salario reajustado


de un trabajador según las siguientes categorías.
b.1. 36000 - 60.000 20%
b.2. 60001 – 80000 15%
b.3. 80001 - 120000 10%
b.4. 120001 y más 8%

f) En una financiera utilizan la formula Cf=N*I*Ci+Ci para calcular el capital final de


un ahorrante a un interés simple.
Si I = Interés en (%) , N = Meses, Ci = Capital inicial
Crear los siguientes un algoritmo en Pseudolenguaje:

♦ Al ingresar el capital inicial, los años y el interés simple, la salida sea el


capital final.
♦ Al ingresar los meses, capital inicial y final de como salida el interés.
♦ Al ingresar el interés, capital inicial y final de como salida la cantidad de
meses.

g) Recorra (rutee) el siguiente diagrama de flujo


Ing. Carlos Javier Pastrana
e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

ESTRUCTURAS DE PROGRAMACIÓN.

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

ESTRUCTURAS BASICAS

Ejemplo:
Ing. Carlos Javier Pastrana
e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

1. Realice un algoritmo para ingresar el Nombre y el sueldo base de un empleado.


Calcular el sueldo líquido y mostrar el resultado con un mensaje correspondiente.
Considere el sueldo líquido como el 80% del sueldo base.

Mire: Entienda el problema


Se desea imprimir el sueldo líquido de un empleado.

Determinar lo que se intenta hacer


Se debe ingresar el nombre del empleado y su sueldo base, es decir sin descuentos para
luego calcular el sueldo liquido e imprimirlo.

Identifique los datos importantes


Nombre del empleado.
Sueldo base.

Planee: Construya un plan


Lea el nombre del empleado en una variable alfanumérica.
Lea el sueldo base del empleado en una variable entera.
Calcular el sueldo liquido y almacenar en una variable real.
Sueldo liquido sueldo base por 0.8
Escribir un mensaje y el resultado.

Construya un ejemplo:
Nombre = Juan Pérez
Sueldo base = 500 000
Sueldo Liquido = 500 000*0.8=400 000

Solución:
PROGRAMA Sueldo_Líquido
VARIABLES
Nombre : Alfabético
Sbase : Entero
Liquido : Real
INICIO
Escribir (“Ingrese Nombre Empleado”)
Leer (Nombre)
Escribir (“Ingrese Sueldo Base”)
Leer(Sbase)
Liquido = Sbase* 0.8
Escribir(“El Sueldo Líquido de ”, Nombre, “ Es ”, Liquido)
FIN

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

Realizar un diagrama que permita determinar cual es el mayor de 2 números

Análisis

Para determinar cual es el mayor de dos números, debemos primero conocer


los números, para el caso se deben leer (A,B), luego realizar la comparación, si
a> b, entonces el mayor es A, en caso contrario el mayor es B:

Una pregunta que nace del ejercicio anterior es, ¿qué pasa cuando son
iguales?

Para ese caso necesitamos de un segundo condicional que verifique si las dos
variables son iguales (a=b)

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

Ejercicios de verificación

Realizar el análisis, diagrama de flujo y prueba de escritorio, para los siguientes


Planteamientos

1.-determinar cual es el cuadrado, de un determinado número


2.-Elaborar un diagrama de flujo que permita determinar si un número es
Positivo o Negativo
3.-Ejercicio de conversión, desarrollar un diagrama, que perita ingresar una
cantidad en metros y la convierta a Centímetros, Kilómetros, Pies, pulgadas..
3.-Leer una determinada temperatura en grados centígrados y convertirla a
Fahrenheit
4.-una persona es apta para prestar el servicio militar obligatorio (presente),
cuando: es mayor de 18 años, menor de 25 años, nacionalidad Colombiana y
género masculino. Realizar un diagrama que permita determinar si una persona
es apta o no par prestar el servicio militar
5.- Elabore un diagrama de flujo que teniendo como datos de entrada el radio y
la altura de un cilindro calcule el área total y el volumen del cilindro
6 Una persona recibe un préstamo de un banco por un año y desea saber
cuánto pagará de interés al terminar el préstamo si se sabe que el banco le
cobra una tasa del 1.8% mensual.
Realice un diagrama de flujo que permita determinar este monto
7.- Elaborar un diagrama de flujo, que permita ingresar 3 valores y los imprima
en forma descendente

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

8.- Una empresa desea conocer el monto de comisión correspondiente a una


venta realizada por un vendedor bajo las siguientes condiciones. Si la venta es
menor a $1,000.00, se le otorga el 3% de comisión. Si la venta es de
$1,000.00 o más, el vendedor recibe el 5% de comisión
9.-Una empresa ha decidido, realizar aumentos de salario a sus trabajadores de
acuerdo a las siguientes categorías
Sindicalizado 20%
De confianza 10%
Alto directivo 5%
Ejecutivo 0%
Usted debe desarrollar un diagrama que perita ingresar la categoría, el salario
actual y calcular el nuevo salario.

Ejemplo:
2. Realice un algoritmo el cual permita obtener los cálculos de una venta de
televisores, donde hay que ingresar la cantidad de TV y su valor unitario, este
algoritmo debe considerar:
􀂾 Sí el monto de la venta es mayor que $ 50 000 se aplica un descuento a la venta de
3%, imprimir el valor descontado.
􀂾 Calculo del impuesto IVA que es un 18% sobre la venta total.
􀂾 Por ultimo imprima la venta bruta que es la venta total más el IVA calculado
anteriormente.

Mire: Entienda el problema


Hay que ingresar la cantidad de TV y su valor analizar si corresponde descuento, calcular
el IVA e imprimir el total de la venta.

Determinar lo que se intenta hacer


Se quiere imprimir el descuento (si corresponde ) y la venta total de la venta de TV.

Identifique los datos importantes


Número de TV.
Valor unitario de TV.

Planee: Construya un plan


Ingrese cantidad de TV en una variable entera.
Ingrese valor unitario de TV en una variable entera.
Calcule el total de la venta: Multiplicar Cantidad de TV por el valor unitario de estos y
almacenar el resultado en una variable real .
Preguntar si la venta es mayor que 50000 realizar descuento y guardar el resultado.
Imprimir el resultado del descuento.

Calcular el iva y guardar el resultado en una variable real.


Obtener vanta bruta: Sumar venta más iva y guardar en una variable real.
Imprimir venta bruta con un mensaje adecuado.

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

Construya un ejemplo:
a)
N° de TV 5, valor unitario $ 12000
La venta es 5*12000=60000
Descuento 60000*0.03=1800
Nueva venta 60000-1800=58200
Iva: 58200*0.18= 10476
Venta brutal es: 58200 + 10476= 68676.
b)
N° de Tv 5, valor unitario $ 8000
La venta es 5*8000=40000
No hay descuento
Iva: 40000*0.18=7200
Venta brutal es: 40000 + 7200= 47200.
Solución:

PROGRAMA Venta_TV
VARIABLES
Ct, Vut: Entero
Venta, IVA, Vbruta, Dcto: Real
INICIO
Escribir(“Ingrese cantidad de TV”), Leer(Ct)
Escribir(“Ingrese valor unitario de TV”), Leer(Vut)
Venta = Ct * Vut
Si (Venta > 50000) Entonces
Dcto= Venta*0.03
Venta = Venta - Dcto
Escribir(“El descuento es: “ Dcto)
Fin Si
IVA = Venta * 0.18
Vbruta = Venta + IVA
Escribir(Venta Bruta Es:", Vbruta)
FIN

INSTRUCCION DE ALTERNATIVA DOBLE

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

Ejemplo:
Realice un algoritmo el cual permita obtener los cálculos de una venta de televisores, donde
hay que ingresar la cantidad de TV y su valor unitario, este algoritmo debe considerar:

􀂾 Sí el monto de la venta es mayor que $ 100 000 se aplica un descuento a la


venta de 5%, imprimir el valor descontado.
􀂾 Sí el monto de la venta es menor o igual que $ 100 000 se aplica un
descuento a la venta de 3%, imprimir el valor descontado.
􀂾 Calculo del impuesto IVA que es un 18% sobre la venta total.
􀂾 Por ultimo imprima la venta bruta que es la venta total más el IVA calculado
anteriormente.

Mire: Entienda el problema


Hay que ingresar la cantidad de TV y su valor analizar si corresponde un descuento de
5% o 3% , luego calcular el IVA e imprimir el total de la venta.

Determinar lo que se intenta hacer


Se quiere imprimir el descuento correspondiente y el monto de la venta total de TV.

Identifique los datos importantes


Número de TV.
Valor unitario de TV.

Construya un ejemplo:
a)
N° de TV 5, valor unitario $ 12000
La venta es 5*12000=60000
Descuento 60000*0.03=1800
Nueva venta 60000-1800=58200
Ing. Carlos Javier Pastrana
e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

Iva: 58200*0.18= 10476


Venta brutal es: 58200 + 10476= 68676.
b)
N° de Tv 10, valor unitario $ 20000
La venta es 10*20000=200000
Descuento 200000*0.05=10000
Nueva venta 200000-10000=190000
Iva: 190000*0.18=34200
Venta brutal es: 190000 + 34200= 155800

Solución:

PROGRAMA Venta_TV2
VARIABLES
Ct, Vut: Entero
Venta, IVA, Vbruta, Dcto: Real
INICIO
Escribir(“Ingrese cantidad de TV”), Leer(Ct)
Escribir(“Ingrese valor unitario de TV”), Leer(Vut)
Venta = Ct * Vut
Si (Venta > 100000) Entonces
Dcto= Venta*0.05
Venta = Venta – Dcto
Sino
Dcto= Venta*0.03
Venta = Venta – Dcto
Fin Si

Escribir(“El descuento es: “ Dcto)


IVA = Venta * 0.18
Vbruta = Venta + IVA
Escribir(Venta Bruta Es:", Vbruta)
FIN

EJERCICIOS PROPUESTOS DE ALTERNATIVA SIMPLE, DOBLE Y MULTIPLE

1) Suponga que un individuo desea invertir su capital en un banco y desea saber


cuanto dinero ganara después de un mes si el banco paga a razón de 2%
mensual.

2) Un vendedor recibe un sueldo base mas un 10% extra por comisión de sus
ventas, el vendedor desea saber cuanto dinero obtendrá por concepto de
comisiones por las tres ventas que realiza en el mes y el total que recibirá en el
mes tomando en cuenta su sueldo base y comisiones.
3) Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente
desea saber cuanto deberá pagar finalmente por su compra.
4) Un alumno desea saber cual será su calificación final en la materia de
Ing. Carlos Javier Pastrana
e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

Algoritmos. Dicha calificación se compone de los siguientes porcentajes:


55% del promedio de sus tres calificaciones parciales.
30% de la calificación del examen final.
15% de la calificación de un trabajo final.
5) Un maestro desea saber que porcentaje de hombres y que porcentaje de
mujeres hay en un grupo de estudiantes.
6) Realizar un algoritmo que calcule la edad de una persona.
7) Un hombre desea saber cuanto dinero se genera por concepto de intereses
sobre la cantidad que tiene en inversión en el banco. El decidirá reinvertir los
intereses siempre y cuando estos excedan a $7000, y en ese caso desea saber
cuanto dinero tendrá finalmente en su cuenta.
8) Determinar si un alumno aprueba a reprueba un curso, sabiendo que aprobara
si su promedio de tres calificaciones es mayor o igual a 70; reprueba en caso
contrario.
9) En un almacén se hace un 20% de descuento a los clientes cuya compra
supere los $1000
¿ Cual será la cantidad que pagara una persona por su compra?
10) Un obrero necesita calcular su salario semanal, el cual se obtiene de la sig.
manera:
Si trabaja 40 horas o menos se le paga $16 por hora
INACAP Dirección de Área Informática
44
Si trabaja mas de 40 horas se le paga $16 por cada una de las primeras 40
horas y $20 por cada hora extra.
11) Un hombre desea saber cuanto dinero se genera por concepto de intereses
sobre la cantidad que tiene en inversión en el banco. El decidirá reinvertir los
intereses siempre y cuando estos excedan a $7000, y en ese caso desea saber
cuanto dinero tendrá finalmente en su cuenta.
12) Que lea dos números y los imprima en forma ascendente
13) Una persona enferma, que pesa 70 kg, se encuentra en reposo y desea saber
cuantas calorías consume su cuerpo durante todo el tiempo que realice una
misma actividad. Las actividades que tiene permitido realizar son únicamente
dormir o estar sentado en reposo. Los datos que tiene son que estando dormido
consume 1.08 calorías por minuto y estando sentado en reposo consume 1.66
calorías por minuto.
14) Hacer un algoritmo que imprima el nombre de un articulo, clave, precio original
y su precio con descuento. El descuento lo hace en base a la clave, si la clave es
01 el descuento es del 10% y si la clave es 02 el descuento en del 20% (solo
existen dos claves).
15) Hacer un algoritmo que calcule el total a pagar por la compra de camisas. Si
se compran tres camisas o mas se aplica un descuento del 20% sobre el total de
la compra y si son menos de tres camisas un descuento del 10%
16) Una empresa quiere hacer una compra de varias piezas de la misma clase a
una fabrica de refacciones. La empresa, dependiendo del monto total de la
compra, decidirá que hacer para pagar al fabricante.
Si el monto total de la compra excede de $500 000 la empresa tendrá la
capacidad de invertir de su propio dinero un 55% del monto de la compra, pedir
prestado al banco un 30% y el resto lo pagara solicitando un crédito al fabricante.
Si el monto total de la compra no excede de $500 000 la empresa tendrá
Ing. Carlos Javier Pastrana
e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

capacidad de invertir de su propio dinero un 70% y el restante 30% lo pagara


solicitando crédito al fabricante.
El fabricante cobra por concepto de intereses un 20% sobre la cantidad que se le
pague a crédito.
17) Leer 2 números; si son iguales que los multiplique, si el primero es mayor que
el segundo que los reste y si no que los sume.
18) Leer tres números diferentes e imprimir el numero mayor de los tres.
19) Determinar la cantidad de dinero que recibirá un trabajador por concepto de
las horas extras trabajadas en una empresa, sabiendo que cuando las horas de
INACAP Dirección de Área Informática
45
trabajo exceden de 40, el resto se consideran horas extras y que estas se pagan
al doble de una hora normal cuando no exceden de 8; si las horas extras exceden
de 8 se pagan las primeras 8 al doble de lo que se pagan las horas normales y el
resto al triple.
20) Calcular la utilidad que un trabajador recibe en el reparto anual de utilidades si
este se le asigna como un porcentaje de su salario mensual que depende de su
antigüedad en la empresa de acuerdo con la sig. tabla:
Tiempo Utilidad
Menos de 1 año 5 % del salario
1 año o mas y menos de 2 años 7% del salario
2 años o mas y menos de 5 años 10% del salario
5 años o mas y menos de 10 años 15% del salario
10 años o mas 20% del salario
21) En una tienda de descuento se efectúa una promoción en la cual se hace un
descuento sobre el valor de la compra total según el color de la bolita que el
cliente saque al pagar en caja. Si la bolita es de color blanco no se le hará
descuento alguno, si es verde se le hará un 10% de descuento, si es amarilla un
25%, si es azul un 50% y si es roja un 100%. Determinar la cantidad final que el
cliente deberá pagar por su compra. se sabe que solo hay bolitas de los colores
mencionados.
22) El IMSS requiere clasificar a las personas que se jubilaran en el año de 1997.
Existen tres tipos de jubilaciones: por edad, por antigüedad joven y por antigüedad
adulta. Las personas adscritas a la jubilación por edad deben tener 60 años o mas
y una antigüedad en su empleo de menos de 25 años.
Las personas adscritas a la jubilación por antigüedad joven deben tener menos de
60 años y una antigüedad en su empleo de 25 años o mas.
Las personas adscritas a la jubilación por antigüedad adulta deben tener 60 años
o mas y una antigüedad en su empleo de 25 años o mas.
Determinar en que tipo de jubilación, quedara adscrita una persona.

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

ESTRUCTURAS CÍCLICAS O DE ITERACIÓN

CONCEPTOS

Contadores: Un contador es una variable cuyo valor se incrementa o decrementa en una


cantidad constante cada vez que se produce un determinado suceso o acción. Los
contadores se utilizan en las estructuras de repetición con la finalidad de contar sucesos o
acciones internas del bucle; deben realizar una operación de inicialización y,
posteriormente, las sucesivas de incrementación o decrementación del contador. La
inicialización consiste en asignar al contador un valor inicial. Se situará antes y fuera del
bucle la inicialización. Su estructura es la siguiente.

Nombre_del_contador=valor_inicial

En cuanto a los incrementos o decrementos del contador, puesto que la operación de


asignación admite que la variable que recibe el valor final de una expresión intervenga en
la misma, se realizarán a través de este tipo de instrucción de asignación, de la siguiente
forma:
(incremento) Nombre_del_contador = Nombre_del_contador + valor_constante

(decremento) Nombre_del_contador = Nombre_del_contador - valor_constante

Acumulador: Son variables cuyo valor se incrementa o decrementa en una cantidad


variable, al igual que los contadores también necesitan inicilizarce fuera del bucle, esto es:
Nombre_del_acumulador=valor_inicial
Su operación dentro del bucle queda definida en la siguiente expresión:
Nombre_del_acumuladorr = Nombre_del_acumulador + nombre_variable

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

INSTRUCCIÓN MIENTRAS

Ejemplo:

5. Escriba un algoritmo que permita obtener la nota final de cada uno de los 20
alumnos de un curso y el promedio general del curso. Para ello, se debe ingresar
el promedio del semestre y la nota del examen de cada alumno, considerando lo
siguiente:

El Promedio General Equivale Al 60% De La Nota Final.


El Examen Equivale Al 40 % De La Nota Final.

Mire: Entienda el problema


Se necesita calcular la nota final de cada alumno y luego con estas notas calcular el
promedio del curso. Hay que imprimir el promedio de cada alumno y el promedio del
curso.

Determinar lo que se intenta hacer


Hay que ingresar 20 veces el promedio semestral y la nota examen de cada, además se
debe calcular el promedio del curso.

Identifique los datos importantes


Se debe tener un contador que permita controlar que el proceso se repita 20 veces.
Se debe ingresar el promedio del semestre y la nota del examen.

Planee: Construya un plan


Se debe inicializar un contador con el valor 1.
Leer dentro del ciclo promedio semestral y nota del examen.
Calcular e imprimir, dentro del ciclo ,la nota de cada alumno
Acumular dentro del ciclo las notas de cada alumno
Calcular el promedio del curso fuera del ciclo

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

Construya un ejemplo: Este ejemplo considera 3 alumnos pero se puede proyectar para
20.

Alumno PS Examen Nota Final


Alu-1 5.0 6.0 5.0*0.6 + 6.0*0.4 = 5.4
Alu-2 4.0 5.5 4.0*0.6 + 5..5*0.4 = 4.6
Alu-3 3.0 7.0 3.0*0.6 + 7.0*0.4 = 4.6
Suma= 5.4+4.6+4.6=14.6
Promedio= 14.6/3=4,86

SOLUCION

PROGRAMA Notas
VARIABLES
Num : Entero
Sum,Prom,Nota : Real
INICIO
Num = 1
Sum = 0
Mientras ( Num <= 20 ) Hacer
Escribir(“Ingrese Promedio Semestral”)
Leer (Prom)
Escribir(“Ingrese Nota Examen”)
Leer(Ex)
Nota = (Prom * 0.6) + (Ex * 0.4)
Sum=Sum + Nota
Escribir(“El promedio es: “,Nota)
Num = Num + 1
Fin Mientras
Prom=Sum/20
Escribir(“El promedio general del Curso es”, Prom)
FIN

INSTRUCCIÓN REPETIR

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

Ejemplo:

Escriba un algoritmo que permita obtener la nota final de cada uno de los 20 alumnos de un
curso y el promedio general del curso. Para ello, se debe ingresar el promedio del semestre y
la nota del examen de cada alumno, considerando lo siguiente:

Se deben Validar las notas.


El Promedio General Equivale Al 60% De La Nota Final.
El Examen Equivale Al 40 % De La Nota Final.

Mire: Entienda el problema


Se necesita calcular la nota final de cada alumno y luego con estas notas calcular el promedio
del curso. Hay que imprimir el promedio de cada alumno y el promedio del curso.

Determinar lo que se intenta hacer


Hay que ingresar 20 veces el promedio semestral y la nota examen de cada alumno, además
se debe calcular el promedio del curso.

Identifique los datos importantes


Se debe tener un contador que permita controlar que el proceso se repita 20 veces.
Se debe ingresar el promedio del semestre y la nota del examen.

Planee: Construya un plan


Se debe inicializar un contador con el valor 1.
Leer dentro del ciclo promedio semestral y nota del examen.

Validar que la nota semestral y del examen este entre 1 y 7


Calcular e imprimir, dentro del ciclo ,la nota de cada alumno
Acumular dentro del ciclo las notas de cada alumno
Calcular el promedio del curso fuera del ciclo

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

Construya un ejemplo: Este ejemplo considera 3 alumnos pero se puede proyectar para
20.
Alumno PS Examen Nota Final
Alu-1 5.0 6.0 5.0*0.6 + 6.0*0.4 = 5.4
Alu-2 4.0 5.5 4.0*0.6 + 5..5*0.4 = 4.6
Alu-3 3.0 7.0 3.0*0.6 + 7.0*0.4 = 4.6
Suma= 5.4+4.6+4.6=14.6
Promedio= 14.6/3=4,86
Solución:
PROGRAMA Notas
VARIABLES
Num : Entero
Sum,Prom,Nota : Real

INICIO
Num = 1
Sum = 0
Mientras ( Num <= 20 ) Hacer
Repetir
Escribir(“Ingrese Promedio Semestral”)
Leer (Prom)
Hasta (Prom>=1 and Prom<=7)
Repetir
Escribir(“Ingrese Nota Examen”)
Leer(Ex)
Hasta (Prom>=1 and Prom<=7)
Nota = (Prom * 0.6) + (Ex * 0.4)
Sum=Sum + Nota
Escribir(“El promedio es: “,Nota)
Num = Num + 1
Fin Mientras
Prom=Sum/20
Escribir(“El promedio general del Curso es”, Prom)
FIN

A continuación se mostrara el ejemplo del programa Boletos de Viaje pero validando


el destino y la clase con la instrucción Repetir. De esta forma no necesitaremos el
interruptor.
PROGRAMA Boletos de Viaje2
VARIABLES
Coddes, Precio : Entero
Nombre, Región, clase : Alfanumérico
INICIO
Escribir (“Ingrese Nombre Del Cliente”)
Leer(NomCli)
Repetir
Escribir(“Ingrese Código De Destino)”)
Leer(Coddes)
Hasta (Coddes>=1 and Coddes<=5)
Repetir
Escribir(“Ingrese Clase E:ejecutiva, T:turista)
Ing. Carlos Javier Pastrana
e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

Leer(Clase)
Hasta (Clase<>”E” or Clase<>”T”)
Opción Coddes de
1 : Hacer Región=”Primera Región”
Precio=100 000
2: Hacer Región=”Segunda Región”
Precio=80 000
3: Hacer Región=”Tercera Región”
Precio=60 000
4: Hacer Región=”Cuarta Región”
Precio=40 000
5: Hacer Región=”Quinta Región”
Precio=30 000
Fin Opción
Si Clase=”E” Entonces
Precio=Precio + 20000
Fin Si
Escribir(“Nombre”, Nombre)
Escribir(“Región Destino”, Región)
Escribir “Precio Del Vuelo”, Precio)
FIN

EJERCICIOS PROPUESTOS DE CICLOS


1) Calcular el promedio de un alumno que tiene 7 calificaciones en la materia de
Diseño Estructurado de Algoritmos
2) Leer 10 números y obtener su cubo y su cuarta.
3) Leer 10 números e imprimir solamente los números positivos
4) Leer 20 números e imprimir cuantos son positivos, cuantos negativos y cuantos
neutros.
5) Leer 15 números negativos y convertirlos a positivos e imprimir dichos números.
6) Suponga que se tiene un conjunto de calificaciones de un grupo de 40 alumnos.
Realizar un algoritmo para calcular la calificación media y la calificación mas baja
de todo el grupo.
7) Calcular e imprimir la tabla de multiplicar de un numero cualquiera. Imprimir el
multiplicando, el multiplicador y el producto.
8) Simular el comportamiento de un reloj digital, imprimiendo la hora, minutos y
segundos de un día desde las 0:00:00 horas hasta las 23:59:59 horas
9) Una compañía de seguros tiene contratados a n vendedores. Cada uno hace
tres ventas a la semana. Su política de pagos es que un vendedor recibe un
sueldo base, y un 10% extra por comisiones de sus ventas. El gerente de su
compañía desea saber cuanto dinero obtendrá en la semana cada vendedor por
concepto de comisiones por las tres ventas realizadas, y cuanto tomando en
cuenta su sueldo base y sus comisiones.
10) En una empresa se requiere calcular el salario semanal de cada uno de los n
obreros que laboran en ella. El salario se obtiene de la sig. forma:
Si el obrero trabaja 40 horas o menos se le paga $20 por hora
Si trabaja mas de 40 horas se le paga $20 por cada una de las primeras 40
horas y $25 por cada hora extra.
11) Determinar cuantos hombres y cuantas mujeres se encuentran en un grupo de
n personas, suponiendo que los datos son extraídos alumno por alumno.
Ing. Carlos Javier Pastrana
e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

12) El Depto. de Seguridad Publica y Transito del D.F. desea saber, de los n autos
que entran a la ciudad de México, cuantos entran con calcomanía de cada color.
Conociendo el ultimo dígito de la placa de cada automóvil se puede determinar el
color de la calcomanía utilizando la sig. relación:

DÍGITO COLOR
1 o 2 amarilla
3 o 4 rosa
5 o 6 roja
7 o 8 verde
9 o 0 azul

13) Obtener el promedio de calificaciones de un grupo de n alumnos.

14) Una persona desea invertir su dinero en un banco, el cual le otorga un 2% de


interés. Cual será la cantidad de dinero que esta persona tendrá al cabo de un año
si la ganancia de cada mes es reinvertida?.

15) Calcular el promedio de edades de hombres, mujeres y de todo un grupo de


alumnos.

16) Encontrar el menor valor de un conjunto de n números dados.

17) Encontrar el mayor valor de un conjunto de n números dados.

18) En un supermercado un cajero captura los precios de los artículos que los
clientes compran e indica a cada cliente cual es el monto de lo que deben pagar.
Al final del día le indica a su supervisor cuanto fue lo que cobro en total a todos los
clientes que pasaron por su caja.

19) Cinco miembros de un club contra la obesidad desean saber cuanto han
bajado o subido de peso desde la ultima vez que se reunieron. Para esto se debe
realizar un ritual de pesaje en donde cada uno se pesa en diez básculas distintas
para así tener el promedio mas exacto de su peso. Si existe diferencia positiva
entre este promedio de peso y el peso de la ultima vez que se reunieron, significa
que subieron de peso. Pero si la diferencia es negativa, significa que bajaron. Lo
que el problema requiere es que por cada persona se imprima un letrero que diga:
“SUBIO” o “BAJO” y la cantidad de kilos que subió o bajo de peso.

20) Se desea obtener el promedio de g grupos que están en un mismo año


escolar; siendo que cada grupo puede tener n alumnos que cada alumno puede
llevar m materias y que en todas las materias se promedian tres calificaciones
para obtener el promedio de la materia. Lo que se desea desplegar es el promedio
de los grupos, el promedio de cada grupo y el promedio de cada alumno.
21) En una tienda de descuento las personas que van a pagar el importe de su
compra llegan a la caja y sacan una bolita de color, que les dirá que descuento
tendrán sobre el total de su compra. Determinar la cantidad que pagara cada
cliente desde que la tienda abre hasta que cierra. Se sabe que si el color de la
Ing. Carlos Javier Pastrana
e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

bolita es roja el cliente obtendrá un 40% de descuento; si es amarilla un 25% y si


es blanca no obtendrá descuento.

22) En un supermercado una ama de casa pone en su carrito los artículos que va
tomando de los estantes. La señora quiere asegurarse de que el cajero le cobre
bien lo que ella ha comprado, por lo que cada vez que toma un articulo anota su
precio junto con la cantidad de artículos iguales que ha tomado y determina cuanto
dinero gastara en ese articulo; a esto le suma lo que ira gastando en los demás
artículos, hasta que decide que ya tomo todo lo que necesitaba. Ayúdale a esta
señora a obtener el total de sus compras.

23) un teatro otorga descuentos según la edad del cliente. determinar la cantidad
de dinero que el teatro deja de percibir por cada una de las categorías. Tomar en
cuenta que los niños menores de 5 años no pueden entrar al teatro y que existe un
precio único en los asientos. Los descuentos se hacen tomando en cuenta el
siguiente cuadro:
Categorías Edad Descuento
Categoría 1 5 - 14 35 %
Categoría 2 15 - 19 25 %
Categoría 3 20 - 45 10 %
Categoría 4 46 - 65 25 %
Categoría 5 66 en adelante 35 %

24) La presión, volumen y temperatura de una masa de aire se relacionan por la


formula:
masa= presión * volumen .
0.37 * (temperatura + 460)
Calcular el promedio de masa de aire de los neumáticos de n vehículos que
están en compostura en un servicio de alineación y balanceo. Los vehículos
pueden ser motocicletas o automóviles.
25) Determinar la cantidad semanal de dinero que recibirá cada uno de los n
obreros de una empresa. Se sabe que cuando las horas que trabajo un obrero
exceden de 40, el resto se convierte en horas extras que se pagan al doble de una
hora normal, cuando no exceden de 8; cuando las horas extras exceden de 8 se
pagan las primeras 8 al doble de lo que se paga por una hora normal y el resto al
triple.

26) En una granja se requiere saber alguna información para determinar el precio
de venta por cada kilo de huevo. Es importante determinar el promedio de calidad
de las n gallinas que hay en la granja. La calidad de cada gallina se obtiene según
la formula:
calidad = peso de la gallina * altura de la gallina
numero de huevos que pone
Finalmente para fijar el precio del kilo de huevo, se toma como base la siguiente
tabla:
PRECIO TOTAL DE CALIDAD PESO POR KILO DE HUEVO
mayor o igual que 15 1.2 * promedio de calidad
mayor que 8 y menor que 15 1.00 * promedio de calidad
Ing. Carlos Javier Pastrana
e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

menor o igual que 8 0.80 * promedio de calidad

27) En la Cámara de Diputados se levanta una encuesta con todos los integrantes
con el fin de determinar que porcentaje de los n diputados esta a favor del Tratado
de Libre Comercio, que porcentaje esta en contra y que porcentaje se abstiene de
opinar.

28) Una persona que va de compras a la tienda “Enano, S.A.”, decide llevar un
control sobre lo que va comprando, para saber la cantidad de dinero que tendrá
que pagar al llegar a la caja. La tienda tiene una promoción del 20% de descuento
sobre aquellos artículos cuya etiqueta sea roja. Determinar la cantidad de dinero
que esta persona deberá pagar.

29) Un censador recopila ciertos datos aplicando encuestas para el ultimo Censo
Nacional de Población y Vivienda. Desea obtener de todas las personas que
alcance a encuestar en un día, que porcentaje tiene estudios de primaria,
secundaria, carrera técnica, estudios profesionales y estudios de posgrado.

30) Un jefe de casilla desea determinar cuantas personas de cada una de las
secciones que componen su zona asisten el día de las votaciones. Las secciones
son: norte, sur y centro. También desea determinar cual es la sección con mayor
numero de votantes.

31) Un negocio de copias tiene un limite de producción diaria de 10 000 copias si


el tipo de impresión es offset y de 50 000 si el tipo es estándar. Si hay una
solicitud de un el empleado tiene que verificar que las copias pendientes hasta el
momento y las copias solicitadas no excedan del limite de producción. Si el limite
de producción se excediera el trabajo solicitado no podría ser aceptado. El
empleado necesita llevar un buen control de las copias solicitadas hasta el momento
para decidir en forma rápida si los trabajos que se soliciten en el día se
deben aceptar o no.

32) Calcular la suma siguiente:


100 + 98 + 96 + 94 + . . . + 0 en este orden

33) Leer 50 calificaciones de un grupo de alumnos. Calcule y escriba el porcentaje


de reprobados. Tomando en cuenta que la calificación mínima aprobatoria es de
70.

34) Leer por cada alumno de Diseño estructurado de algoritmos su numero de


control y su calificación en cada una de las 5 unidades de la materia. Al final que
escriba el numero de control del alumno que obtuvo mayor promedio. Suponga
que los alumnos tienen diferentes promedios.

35) El profesor de una materia desea conocer la cantidad de sus alumnos que no
tienen derecho al examen de nivelación.
Diseñe un algoritmo que lea las calificaciones obtenidas en las 5 unidades
por cada uno de los 40 alumnos y escriba la cantidad de ellos que no tienen
Ing. Carlos Javier Pastrana
e-mail: soujux@hotmail.com
www.tarratech.net
DIAGRAMACION Y ALGORITMOS

derecho al examen de nivelación.

36) Leer los 250,000 votos otorgados a los 3 candidatos a gobernador e imprimir
el numero del candidato ganador y su cantidad de votos.

37) Suponga que tiene usted una tienda y desea registrar las ventas en su
computadora. Diseñe un algoritmo que lea por cada cliente, el monto total de su
compra. Al final del día que escriba la cantidad total de ventas y el numero de
clientes atendidos.

38) Suponga que tiene una tienda y desea registrar sus ventas por medio de un
computador. Diseñe un pseudocódigo que lea por cada cliente:

A).- el monto de la venta,


B).- calcule e imprima el IVA ,
C).-calcule e imprima el total a pagar,
D).- lea la cantidad con que paga el cliente,
E).-calcule e imprime el cambio.
Al final del día deberá imprimir la cantidad de dinero que debe haber en la caja.

Ing. Carlos Javier Pastrana


e-mail: soujux@hotmail.com
www.tarratech.net

You might also like