sábado, 4 de octubre de 2008

DATOS BASICOS DE ALGORITMO


CONCEPTOS BÁSICOS


¿ Que es un algoritmo?

Es un conjunto de pasos, instrucciones o acciones que se deben seguir y realizar ordenadamente para llegar a un fin determinado, (solución de un problema, obtención de una respuesta intermedia o realización de una tarea) de cualquier problema de un mismo tipo.


Algoritmos cualitativos

Son aquellos pasos o instrucciones descritos por medio de palabras que sirven para llegar a la obtención de una respuesta o solución de un problema.

Ejemplo:

Embetunar los zapatos.

1. Buscar los zapatos.
2. Limpiarlos.
3. Buscar el betún.
4. Tomar el cepillo.
5. Tomar el zapato y echarle betún.
6. Empezar a embetunarlos.
7. Brillar los zapatos.
8. Descargar el zapato y coger el otro.
9. Seguir con los numerales 5,6 y 7.





Algoritmos cuantitativos

Son todos aquellos pasos o instrucciones que involucran cálculos numéricos para llegar a un resultado satisfactorio.

Ejemplo:
Pasos matemáticos para solución de factorial.

Nota: Investigar en que consiste el factorial de un numero.

VARIABLES


¿ Que es una variable?

Son todos aquellos valores que pueden o no cambiar en el transcurso de un algoritmo. Usualmente son introducidas como datos. Existen variables simples y variables suscritas (arreglos).
Toda variable se compone de dos partes esenciales: su nombre y su valor.

¿Qué es el nombre de una variable?

Es el conjunto de caracteres, letras y números. Con los cuales se determina un valor en un momento determinado.

Ejemplos de nombres de variables:
PAGO
SM
Nombre
Dirección



¿ Que es el valor de una variable?

Es la cantidad que una variable representa o tiene asociada en un determinado momento. Se debe tener que una variable también puede tener asociado un valor lógico como falso o verdadero.

Ejemplo

20 TITA
A NOM

Nota : Las variables que en su contenido tienen valores numéricos se definen variables numéricas, las variables que en su contenido empiezan por letras y números se definen variables alfanuméricas, y las variables que en su contenido tiene f ó t se denominan variables lógicas.

CONSTANTES

¿ Que es una constante?

Son todos aquellos valores que no cambian en el transcurso de un algoritmo y son introducidos en el momento de utilizarse.
En determinados casos se pueden presentar que el valor de una variable no cambie en el transcurso de un algoritmo; pero por este hecho no se considera constante, sigue siendo una variable, por que puede cambiar su valor y las constantes no lo pueden hacer.

Ejemplo

Pi = 3.14
G = 9.8

EXPRESIONES ARITMÉTICAS

Es un conjunto de variables y/o constantes unidas o relacionadas por operadores aritméticos.


NOTACION OPERADOR
EXPONENCIACION **
MULTIPLICACIÓN *
DIVISIÓN /
MENOS -
MAS +


EXPRESIONES RELACIONALES

Es un conjunto de variables y/o constantes unidad o relacionadas por operadores relaciónales.

OPERADOR NOTACION COMPLEMENTO

MAYOR QUE > <=
MENOR QUE < >=
DIFERENTE QUE <> =
IGUAL A = <>
MENOR O IGUAL <= >
MAYOR O IGUAL >= <



ENUNCIADOS PARA EL DESARROLLO DE ALGORITMOS

Para representar un algoritmo existen muchas formas, entre ellas están: el seudocódigo ó algoritmo.

Para el desarrollo de un seudocódigo se utiliza enunciados, donde cada uno ellos representan una instrucción para el computador, cuando sé este ejecutando un programa.

A. ENUNCIADO DE ASIGNACIÓN

Es una acción ó proceso por el cual se le asigna un valor ( constante ó variable) ó el resultado de una operación ( expresión ) a una variable. Los enunciados de asignación se utilizan generalmente para cambiarle de valor a una variable ó definirla. Definir una variable consiste en asignarle ó darle por primera vez un valor, y puede hacerse de dos maneras: Por medio de una lectura de datos ó utilizando un enunciado de asignación.

COMPOSICIÓN

EJEMPLO
VARIABLE = VARIABLE
VARIABLE = EXPRESION
VARIABLE = CONSTANTE
PAGO = SALARIO BRUTO
RESULTADO = ( A + B + C ) / 68
BONIFICACION = 7890

Debe tenerse en cuenta que la parte de la izquierda de un enunciado de asignación siempre va y debe de ir una variable. La flecha izquierda significa asignación e indica que el valor de la parte derecha de un enunciado ( variable, expresión ó constante) se le asigna a la parte de la izquierda ( variable). Sin embargo también se utiliza el signo igual para indicar asignación.



COMPOSICIONES POSIBLES DE UN ENUNCIADO DE ASIGNACIÓN

1. Toda variable que aparezca al lado derecho de un enunciado de asignación debe estar definida.
B = 25
C = B+30
T=89
Q=34 + T

2. 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.
PAGO = 2000
DEUDA = 500
PAGO = DEUDA + 3500
T = 90
Q = 78
T =Q + 67

3. Las variables que aparecen en la parte derecha de un enunciado de asignación conservan su valor después de ejecutarse el enunciado.
A = 60
B = A + 70
Q = 78
L = 45
RESULTADO = Q + L

4. Si la variable de la parte izquierda del enunciado se encuentra también al lado derecho esta variable cambia de valor por aparecer en la izquierda.
A = 20
B = 2
A = A+B

CONT = 0
CONT = CONT +1

B. ENUNCIADO DE DECISIÓN

En el desarrollo de un algoritmo la mayoría de las veces se vera abocado a situaciones de excepción, agrupación o comparación con el objetivo de aclarar o conocer algunas circunstancias en particular.

Para que el algoritmo sea flexible y general se deben tener en cuenta todas las posibilidades o alternativas que puedan presentarse en un momento dado. De aquí la necesidad de hacer comparaciones y tomar decisiones. Básicamente los enunciados de decisión se utilizan para tomar una acción o conocer el estado de alguna situación en especial.

COMPOSICIÓN DE UN ENUNCIADO DE DECISIÓN

Enunciado:

SÍ ( VARIABLE VS VARIABLE)
ENTONCES
Enunciados
SINO
Enunciados
FIN SÍ


COMO FUNCIONA EL ENUNCIADO DE DECISIÓN

INICIO
SÍ ( CONDICION)
ENTONCES
ENUNCIADO (S)
SINO
ENUNCIADO (S)
FIN SÍ

El enunciado de decisión consta básicamente de cuatro partes: La primera es la palabra SI seguida de una condición entre paréntesis ( expresión relacional ó lógica) Variable Vs. Variable, la segunda es la palabra ENTONCES seguida de los enunciados a realizar si se cumple la condición, la tercera es la palabra SINO seguida de los enunciados a realizar si no se cumple la condición y la cuarta son las palabras FIN-SI que indica la finalización del enunciado de decisión.

ENUNCIADOS DE DECISION ANIDADOS


Un enunciado de decisión se considera anidado cuando dentro de este se genera otra decisión y así sucesivamente. Existe múltiples formas de realizar o establecer parámetros, de acuerdo a la formulación del problema. Veamos algunos ejemplos

Ejemplo 1 :

SI ( CONDICION 1)
ENTONCES
SI ( CONDICION 2 )
ENTONCES
SI ( CONDICION 3 )
ENTONCES
ENUNCIADO ( S )
SINO
ENUNCIADO ( S )
FIN-SI
SINO
ENUNCIADO ( S )
FIN-SI
SINO
ENUNCIADO ( S)
FIN-SI

Ejemplo 2 :

SI ( CONDICION 1 )
ENTONCES
SI ( CONDICION 2)
ENTONCES
SI ( CONDICION 3 )
ENTONCES
SI ( CONDICION 4)
ENTONCES
ENUNCIADO ( S )
SINO
ENUNCIADO ( S )
FIN-SI
FIN-SI
FIN-SI
FIN-SI


NOTA : El último SI que se abre es el primero que se cierra. El primer SI que se abre es el último que se cierra.


C. ENUNCIADO DE LECTURA

El enunciado de lectura se utiliza simplemente para introducir datos que van a utilizar en la solución del algoritmo. Consta de la palabra LEA y a continuación se relacionan en forma de lista las variables a leer separadas por comas así:


LEA VAR1, VAR2, VAR3,…………VARN


D. ENUNCIADO DE ESCRITURA

Se utiliza para informar resultados que se esperaban obtener al ejecutarse el algoritmo. Consta de la palabra imprima seguida de las listas de variables separadas por comas, así :


IMPRIMA VAR1, VAR2, VAR3,…VARN


PASOS QUE DEBEN SEGUIRSE EN LA ELABORACION DE UN ALGORITMO

Leer el enunciado del problema cuantas veces sea necesario hasta entenderlo completamente. Si tiene duda sobre el significado de alguna pregunta o condición aclararla.

Determinar claramente con que datos de entrada se cuenta para la solución de problema.

aclarar y determinar la información o resultados que se soliciten
3.1 información intermedia
3.2 información final

Definir que cálculos y / o comparaciones se necesitan para llegar al resultado final
4.1 cálculos y comparaciones intermedias
4.2 cálculos y comparaciones finales.

Tener en cuenta toda clase de condiciones y restricciones para la solución del problema


EJERCICIOS DE UN SOLO REGISTRO
TALLER No.1


1. Elaborar un algoritmo que lea un solo numero y obtenga su cubo.
2. Desarrolle un algoritmo que lea su nombre, sexo y edad
3. Desarrolle un algoritmo que lea cinco números e imprima solo los positivos.
4. Elabore un algoritmo que lea cinco números e imprima los negativos.
5. Elabore un algoritmo que lea 7 números en un solo registro e imprima su promedio.
6. Desarrolle un algoritmo que lea un numero negativo e imprima un numero y el positivo del mismo.
7. Desarrolle un algoritmo que para leer de un mismo registro el nombre de un empleado, su salario básico por hora y el numero de horas trabajadas en el mes. Calcular su salario mensual y obtener tanto el nombre como su salario mensual, si tiene un salario mensual superior a 4000$.
8. Realice un algoritmo que identifique e imprima el numero medio de un conjunto de tres números únicos. El numero medio es aquel que no es el menor ni el mayor.
9. Teniendo en cuenta el problema anterior, escribir un algoritmo que organice en forma ascendente los tres números.
10. Lea de un mismo registro el nombre y la edad de cualquier persona e imprima solo si la persona es mayor de edad, el nombre de la persona de lo contrario, imprima un mensaje que diga “ No puede Votar”.
11. Lea de un mismo registro el nombre, la edad, el sexo ( 1 = masculino ó 2 = Femenino ), el estado civil de cualquier persona ( 1 = soltero, 2= casado, 3 = Viudo ) e imprima solo si la persona es un hombre soltero mayor de edad, el nombre de la persona.
12. Lea un numero e imprima el numero y el valor absoluto del mismo.
13. Lea un numero y calcule e imprima su raíz cuadrada. Si el numero es negativo imprima el numero y un mensaje que diga “ tiene raíz cuadrada”.
14. Realice un algoritmo que lea un numero e imprímalo si es par
15. Realice un algoritmo que lea un numero e imprímalo si es impar.
16. Lea dos números de un solo registro e imprima solo los positivos.
17. Lea dos números de un mismo registro e imprima ambos números solo si son positivos.
18. Lea dos números de un mismo registro e imprima ambos números si por lo menos uno de ellos es positivo.
19. Lea dos números de un mismo registro e imprima ambos números solo si son de diferente signo y distintos de cero.
20. Lea dos numero de un mismo registro. Calcule la suma e imprima los números leídos y la suma.
21. Lea dos números de un mismo registro y calcule el cociente de dividir el primero por el segundo. Imprima el cociente. si el segundo numero es cero no ejecute el calculo e imprima un mensaje que diga “La división no es posible”.
22. Leer de un mismo registro el nombre de un empleado, su salario básico por hora y el numero de horas trabajadas en el mes. Calcular su salario mensual e imprimir tanto el nombre como su salario mensual.
23. Leer un numero y calcular el 7% del Numero leído. Imprimir tanto el numero leído como el porcentaje calculado.
24. Leer de un registro el nombre de un empleado, su salario básico por hora, el numero de horas trabajadas en el periodo y el porcentaje de retención en la fuente. Calcular el salario bruto,el valor de la retención y su salario neto.
25. Leer de un registro el nombre de un empleado, salario básico hora y el numero de horas trabajadas en una semana. Para calcular la retención en la fuente se debe tener en cuenta lo siguiente: Para un salario bruto hasta de $1500 no hay retención. Para un salario bruto mayor de $1500 y menor o igual a $3000 el porcentaje de retención es del 5%. Para un salario bruto mayor de $3000 el porcentaje de retención es del 8%. Imprimir el nombre del empleado, el salario bruto, el valor de la retención y el salario neto.
26. Leer de un mismo registro el nombre del empleado, el salario basico por hora y el numero de horas trabajadas durante una semana. Calcular el salario neto, teniendo en cuenta que si el numero de horas trabajadas durante la semana es mayo de 48, esas horas demás se consideran horas extras y tienen un recargo del 35%. Imprima el nombre del empleado y el salario neto.

VARIABLE CONTADOR

Él término contador esta asociado con la actividad de contar. Cuando el enunciado de un problema solicitan contar algo, se dice que se necesita una variable contador ( para acumular, hacer esa cuenta etc) siempre que se va a contar se empieza desde "0" esta es una de las razones por las cuales las variables contador se inicializan en "0" al principio de un algoritmo ( una variable contador se puede inicializar en cualquier valor distinto de cero dependiendo del algoritmo que se va a realizar).
La forma general de un enunciado de asignación que sirve para contar es la siguiente:


VARIABLE 1 = VARIABLE 1 + CONSTANTE


Donde el nombre de la variable1 es idéntico tanto a la izquierda como a la derecha. La constante que se va a sumar siempre será 1, en determinados casos se necesitaran sumar, por ejemplo de dos en dos o de cinco en cinco etc.


VARIABLE ACUMULADOR

Termino de acumulador proviene de acumular ( sumar cantidades.)

En el desarrollo de un algoritmo muchas veces se tienen que obtener sumas totales de cantidades (valores) que están asociadas a una variable, para ello se utilizan una variable acumulador que se debe inicializar en "0" al principio del algoritmo. La forma general de un enunciado de asignación que sirve para acumular ( sumar) es la siguiente:


VARIABLE1 = VARIABLE2 + VARIABLE3


Donde el nombre de la VARIABLE1 es idéntico al nombre de la VARIABLE2 pero el nombre de la VARIABLE3 es diferente. Así :

SSUMÍ 5 SSUMI + SUELNET

Los enunciados de asignación que se utilizan para acumular se identifican por que a la variable acumulador se le suma siempre una variable o el resultado de una expresión.


ENUNCIADOS DE REPETICIÓN

La ventaja fundamental que tiene un computador es hacer las operaciones supremamente rápido. Debido a esta circunstancia el computador se utiliza para ejecutar un conjunto de enunciados respectivamente para así aprovechar su velocidad. Los enunciados de repetición permiten repetir varias o muchas veces un conjunto de enunciados según se necesite desacuerdo a una condición. Existen varios tipos de enunciados de repetición:

¨ HACER MIENTRAS.
¨ HAGA PARA.

1. EL HAGA PARA

Consta básicamente de dos partes la primera palabra Haga Para seguida de la iniciación de una variable, la determinación del máximo valor que puede tomar la variable iniciada, y la cantidad a incrementar después de cada ciclo a dicha variable, y la segunda palabra Fin Para que indique hasta que enunciados hay que repetir indicando el rango del Hacer Para.

COMPOSICIÓN DEL HAGA PARA

Haga Para int = J, N, K
Enunciado ( a repetir)
Enunciado ( a repetir)
Enunciado ( a repetir)
Fin para
Enunciado (s)


El enunciado hacer para ejecuta intrínsecamente y a su debido tiempo tres acciones:
1. Inicializa la variable int con el valor J que puede ser una variable o una constante.
2. Incrementa la variable int en el valor de K, que puede ser una variable o una constante. Cuando el incremento es de a uno K puede suprimirse.
3. Controla si el valor de la variable int ha superado el valor de N. Que puede ser una variable o una constante, para determinar si se repiten los enunciados nuevamente o sé continua después del Fin -Para ejecutando los otros enunciados.

¿ CÓMO FUNCIONA EL HAGA PARA?

Inicio
SUMA = 0
CANT = 0
HAGA PARA CON = 1, 50, 1
SUMA = SUMA + CON
CANT = CANT + CON * 2
FIN PARA
TOTAL = SUMA + CANT

La primera que se ejecuta él haga para la variable CON toma el valor de 1, se ejecutan los enunciados SUMA = SUMA + CONT y CANT = CANT + CON * 2 luego se vuelve el control al haga para y automáticamente se incrementa CON en una unidad y se evalúa si CON ya supero a 50. si no a sucedido esto se vuelven a repetir los enunciados, se vuelve a incrementar la variable CON y a preguntarse si ya supero su valor máximo 50; cuando sea así el control del algoritmo pasa al enunciado TOTAL = SUMA + CANT que es que sigue al FIN PARA.



EJERCICIOS DE HAGA PARA
TALLER No.2

1. Escriba un algoritmo que lea e imprima los nombres de 45 estudiantes.
2. Escriba un algoritmo que lea 142 números e informe la suma de todos y el valor promedio.
3. Escriba un algoritmo que imprima la suma del 1 al 346.
4. Escriba un algoritmo que imprima la suma y el valor promedio de los números pares del 2 al 302.
5. Calcule la suma de los números del 1 al 3000.
Suma=1 + 2 + 3 + 4 + 5 +…….3000
6. Escriba un algoritmo que imprima la suma del 1 al 346.-
7. Escriba un algoritmo que imprima la suma y el valor promedio de los números pares del 2 al 302.
8. Calcular la suma y el producto de los números pares comprendidos entre 20 y 400 ambos inclusive.
9. Calcule la suma de los cuadrados de los 100 primeros números naturales.
10. Sume los números pares entre 4 y el 845 e imprimir la suma.
11. Calcule el promedio de 50 números leídos, e imprima el resultado
12. Lea 45 números enteros, mostrar la suma de los números pares, cuantos números pares se leyeron y cual es la media aritmética de los números impares
13. Imprima las 50 primeras potencias de 5 ( 5 elevado a la 1, 5 elevado a la 2 ,…5 elevado a la 30).
14. Realizar un algoritmo para obtener la suma de los números impares hasta 1000 inclusive.
15. Calcule la suma de los cubos de los 100 primeros números naturales.
16. Realice un algoritmo que lea 50 registros de empleados de la compañía la Rosquita S.A. En cada registro se lee: El Nombre , Salario. Calcular e imprimir:

¨ Cuantas personas ganan mas de 300.000 pesos al mes?
¨ Entre 100.000 y 300.000
¨ Menos de 100.000


ÉL HAGA MIENTRAS

Consta básicamente de dos partes: la primera de las palabras haga mientras seguidas de una condición ( variable vs. Variable) y la segunda de las palabras fin mientras que permite saber donde termina el enunciado de repetición.

COMPOSICIÓN DE UN ENUNCIADO HAGA MIENTRAS

HAGA MIENTRAS (ANI < = KIR)
Enunciado (a repetir)
Enunciado (a repetir)
Enunciado (a repetir)
FIN MIENTRAS
Enunciado
Enunciado

¿CÓMO FUNCIONA EL HAGA MIENTRAS?

Mientras la condición ( ANI < = KIR) se cumpla se ejecutaran los enunciados que se desean repetir; Pero en el momento que la condición no se cumpla, se continua con el enunciado que sigue a continuación del fin mientras.

Ejemplo:
Realice un algoritmo que lea 20 números calcular e imprimir:
v Promedio de todos los números.
v Mayor numero leído.

Inicio
Mayor = 0
Acum. = 0
Cont = 0
Lea num
Haga mientras (num<>0000)
Sí num > mayor
Entonces
Mayor = num
Fin si
Acum. = acum. + num
cont = cont + 1
Fin mientras
Prom = cont / acum
Imprima prom, may
Fin


¿ QUE ES UN REGISTRO IDENTIFICADOR?


Es el primer registro que se lee dentro de un archivo y viene definido por una variable. Indica cuantos registros a continuación son los que se van a leer y puede ser condicionado por los ciclos de repetición haga para y haga mientras.

Ejemplo

Realice un algoritmo que lea que lea N registros en cada registro se lee el nom, edad de varias personas. Calcular e imprimir.
A. Promedio de edad.
B. Cuantas personas son > 98 años
C. Porcentaje de personas < 15 años

Inicio
Acumed = 0 Contper = 0
Contmen = 0

Lea N
Haga Para J = 1, N, 1
Lea nom, edad
Acumed = Acumed + edad
Sí ( edad > 98)
Entonces
Contper = Contper + 1
Fin si
Sí (edad < 15)
Entonces
Contmen = Contmen + 1
Fin si

Fin para
Promg = Acumed / N
Porc = Contmen * 100 / N
Imprima Contper, Promg, Porc
FIN


EJERCICIOS DE REGISTRO IDENTIFICADOR
TALLER No.3

NOTA PARA EL ESTUDIANTE: El siguiente taller se debe realizar utilizando el ciclo haga para y haga mientras en los ejercicios que considere pertinente.


1. Escriba un algoritmo que lea N números, sumelos y calcule su valor promedio. Imprima la suma y el valor promedio.
2. Lea el nombre y la edad de Q estudiantes. Calcule e informe. Calcule e informe cuantos son mayores y menores de edad.
3. Lea P números, informe cuantos fueron positivos.
4. Lea T números, informe cuantos fueron negativos.
5. Lea Y numeres, informe cuantos fueron positivos y cuantos fueron negativos.
6. Lea N números (mayor o igual que cero), informe cual fue el mayor numero leído.
7. Lea N números (mayor o igual que cero), informe cual fue el menor numero leído.
8. Lea P números, informe cuantos fueron pares y cuantos impares.
9. Realizar un algoritmo para imprimir los números impares menores o iguales a P. Los números impares son 1,3, 5, 7…..P. Debe leer P.
10. Realizar un algoritmo que lea P registros conteniendo en cada uno un numero (NRO) y una potencia (POT), calcular la sumatoria de NRO**POT.
11. Realizar un algoritmo que lea N números e imprima:
Þ Los valores: menor y mayor y el numero de veces que fueron hallados.
Þ El porcentaje de números impares
12. Lea las P edades de los alumnos de una clase y calcular e imprimir:
® Mayor edad
® Menor edad
® Edad Promedio
® Cuantas edades son mayores de 45 años.
13. La constante PI (3.141592….. ) es muy utilizada en matemáticas. Un método sencillo de calcular su valor es:
PI = 4 – 4/3 + 4/5 – 4/7 + 4/9 – 4/11 + …….4/n
Hacer un programa para calcular el valor de PI, el usuario ingresa N.
14. Hacer un programa que lea N números y calcule y muestre el cubo y la raíz cuadrada de cada uno de ellos.
15. El factorial de un número n se denota n! Y se define como:
N = 1 * 2 * 3 * 4 * 5 * 6 * 7 * ( n-1) * n Además recuerde que 0! = 1. Escribir un algoritmo que permita encontrar el factorial de un número n.
16. Realizar un algoritmo que calcule el valor de la sumatoria:
X + x 3/3 + x 5/5 + x7/7 + ………x (2n+1) / ( 2n + 1)
17. El valor de e x se puede aproximar por la suma :
e x = 1 + x + x 2 / 2! + x 3 / 3! + …….. x n / n!
Realizar un algoritmo que permita entrar el valor para x y n y calcule e x

18. Se pide calcular el seno de x de forma aproximada sumando los n primeros términos de la serie infinita :
Sen ( x ) = x – x 3 /3! + x 5 / 5 ¡ - x 7 / 7 ¡ + ……
En donde x se encuentra en radianes. Realizar un algoritmo que lea x y n calcule el valor del seno de x.

INTERRUPTORES-SWITCHES-BANDERAS

Es un campo de memoria que puede tomar dos valores a lo largo de la ejecución del programa y que permite comunicar información de una parte a otra del mismo. Los interruptores suelen tomar dos valores diferentes, 1 y 0, verdadero y falso, si y no, de ahí su nombre de interruptor, encendido y apagado. Los interruptores SW se suelen inicializar a un valor determinado 0 y 1 y luego se ha de modificar su valor alternativamente. Los interruptores tienen gran aplicación en programación, utilizándose para:

¨ Ejecutar alternativamente acciones diferentes dentro de un bucle.
¨ Recordar en puntos determinados del programa la ocurrencia o no de un suceso anterior.
¨ Decidir en instrucciones alternativas cual es la acción a seguir.


Ocurrencia de un suceso

Sintaxis

Inicio
Sw=0
Ciclo de Repetición
Si ( Condición)
Entonces
Sw =1
Fin-si
Cierre ciclo de repetición
Si Sw = 0
Entonces
“ No se cumple la condición”
Sino
“ Si se cumple la condición”
Fin-si

Fin



Ejercicios

Realice un algoritmo que lea una secuencia de números no nulos con la introducción de un 0, y obtener e imprimir el mayor, imprimiendo el mensaje si se ha leído algún numero negativo.


ROMPIMIENTO DE CONTROL

Ciertas veces cuando se tiene un proceso establecido, necesitamos ejecutar una o varias instrucciones que están por fuera del ciclo, decimos que esto indica rompimiento de control y se implementa mediante un ciclo de repetición.

TALLER No 5

EJERCICIOS DE ROMPIMIENTO DE CONTROL


1. La información de los estudiantes de una universidad, se encuentra en un archivo, en el cual cada registro está formado por los siguientes campos:

3 Código
3 Nombre
3 Nombre de la materia
3 Calificación definitiva en dicha materia

el archivo está clasificado en forma ascendente por el código del estudiante. Un estudiante pudo haber cursado varias materias. El algoritmo debe imprimir a cada estudiante lo siguiente:

3 Código y su nombre
3 Cada materia con la respectiva calificación.

Por todo el estudiantado imprime la calificación promedio.

2. En un negocio el valor de las compras hechas por sus clientes, las tiene almacenadas en un archivo, formado por los siguientes campos:

3 Cédula del cliente
3 Nombre del cliente
3 Código del articulo
3 Unidades compradas
3 Valor unitario

El archivo está clasificado en forma ascendente por la cédula del cliente. Por cada compra del cliente imprima lo siguiente:

3 Cédula
3 Código del articulo
3 Unidades compradas
3 Valor unitario
3 Valor de la compra

Por cada cliente se debe informar:

3 Cedula
3 Nombre del cliente
3 Valor total de las compras del cliente

De todos los datos procesados se debe informar :

3 El valor total comprado por todos los clientes.
3 La cédula y nombre del cliente que más compró.


3. En un archivo de vendedores se tiene la siguiente información:

3 Código del vendedor
3 Código del artículo vendido
3 Ventas del mes por ese artículo
3 El archivo está clasificado en forma ascendente por el código del vendedor

Se debe elaborar un algoritmo que permita hacer lo siguiente:

3 Imprima el código y el nombre del vendedor.
3 Imprima cada uno de los códigos de los artículos y el respectivo valor de sus ventas.
3 El valor total vendido por cada vendedor
3 La comisión de cada vendedor, la cual se liquida así:

n Para ventas superiores a 1 millón el 4%
n De 400.000 a 1 millón el 2%
n Ventas inferiores a 400.000 el 1%

Además se imprimen el total vendido en la compañía y la comisión total pagada.

4. En una empresa se quiere generar un informe de cartera, para ello se cuenta con un archivo, en el cual cada registro contiene:

3 Cédula del cliente
3 Número de la factura
3 Valor total de la factura

El archivo está clasificado en forma ascendente por la cédula del cliente. En el informe se debe imprimir lo siguiente:

3 Cédula del cliente y su nombre.
3 Una a una sus facturas con el respectivo valor
3 La deuda total del cliente
3 Cliente con la mayor deuda

5. Al liquidar la nómina de una empresa, se debe leer un archivo que contiene por cada empleado lo siguiente:

3 Código
3 Concepto de devengado
3 Valor devengado por dicho concepto

El archivo está clasificado en forma ascendente por el código del empleado.

Se imprime un informe que contenga lo siguiente:

3 El código del empleado y el nombre.
3 Cada uno de los conceptos y el respectivo valor devengado
3 El devengado total por trabajador
3 El nombre del trabajador que más ganó
3 El valor total devengado en la empresa


ROMPIMIENTO DE CONTROL (A DOS NIVELES)

6. En un grupo de estudiantes, se necesita saber cual es la calificación definitiva por materia. Para ello se cuenta con un archivo en el cual cada registro contiene:

3 Código del estudiante
3 Código del materia
3 Calificación parcial

El archivo está clasificado en forma ascendente por el código del estudiante y dentro de éste por el código de la materia.

Se pide hallar lo siguiente e imprimirlo:

3 Calificación definitiva por materia (a cada estudiante)
3 Calificación promedio de cada estudiante
3 A cada estudiante se le debe averiguar la materia en la cual obtuvo la nota más alta.
3 El número de estudiantes que perdieron dos o más materias


7. Para liquidar las comisiones en las ventas de una empresa se tiene un archivo con los siguientes datos:

3 Cédula del vendedor
3 Código del artículo
3 Valor de la venta por el artículo

Un vendedor puede tener varias ventas por cada artículo. El archivo está clasificado en forma ascendente por la cédula y dentro de ésta por el código del artículo.

Se debe imprimir una vez el código del vendedor, además el código del artículo e imprimir todas las ventas.

Además se deben imprimir los siguientes totales:

3 Total ventas por artículo
3 Total ventas por vendedor
3 Comisión pagada al vendedor
3 Total ventas y total comisión pagada por la empresa

También se debe imprimir cual es el vendedor que hizo la venta más grande.

Las comisiones se liquidan así:

3 Ventas inferiores a $200.000 -à 3%
3 Ventas de $ 200.000 a $400.000 à 5%
3 Ventas superiores a $400.000 à 8%

8. Una empresa está dividida en departamentos y cada departamento en secciones. Se pide elaborar un algoritmo que calcule e imprima lo siguiente:

3 Salario neto por trabajador
3 Salario total devengado, por sección por departamento y en la compañía
3 Salario promedio por sección
3 Departamento en el cual está el salario más alto

Para ello se cuenta con un archivo que contiene los siguientes campos por registro:

3 Código del departamento
3 Código de la sección
3 Código del trabajador
3 Salario básico hora
3 Número de horas trabajadas
3 Cuota del ISS

La retención en la fuente es del 1.5% si el salario total devengado es superior a $200.000.

Del 1% si va de $100.000 a $200.000

Si el inferior a $100.000 no se le hace retención en la fuente.

El archivo está clasificado en forma ascendente por el código del departamento y dentro de éste, también en forma ascendente por el código de la sección.

9. Una compañía distribuidora de alimentos tiene a sus vendedores organizados por ciudades. Esta empresa cuenta con un archivo en el cual cada registro contiene los siguientes campos:

3 Código de la ciudad
3 Código del vendedor
3 Código del artículo vendido
3 Valor total por la venta del artículo

Cada señor vendió varios artículos. El archivo está clasificado en forma ascendente por el código del vendedor. El algoritmo debe imprimir lo siguiente:

3 Venta total por vendedor, por ciudad y de la empresa
3 El código del vendedor con mayor venta en toda la empresa
3 El número de ciudades cuyas ventas pasaron de los 45 millones de pesos
3 El número de vendedores cuyas ventas fueron inferiores a 1 millón de pesos

10. Los trabajadores de una empresa aprobaron hacer una donación para una casa de beneficencia así:

3 Si el salario mensual es inferior a $75.000 no donan
3 Si va de $75.000 a $150.000 la donación será del 5%
3 Los salarios superiores a $150.000 donarán el 10%

La empresa está dividida en departamentos y cada departamento en secciones. Se pide generar un informe que contenga lo siguiente:

3 Se imprime el código y el nombre de cada uno de los trabajadores que donaron.
3 El total donado por sección, por departamento y en la empresa.
3 El número de trabajadores que no hicieron donación
3 Código del departamento que hizo la mayor donación y cual fue el valor.

La empresa cuenta con un archivo, en el cual cada registro está formado por los siguientes campos:

3 Código del departamento
3 Código de la sección
3 Código del trabajador
3 Nombre
3 Salario mensual

El archivo está clasificado en forma ascendente por el código del departamento y dentro de éste, también en forma ascendente por el código de la sección.


ROMPIMIENTO DE CONTROL (A TRES NIVELES)


11. Una empresa de transportes tiene varias flotas, cada una de las cuales tiene varios buses a su disposición, que hacen viajes a diferentes ciudades.

Mensualmente se cuenta con un archivo organizado en forma ascendente por el código de la flota, dentro de ésta por la placa del bus y dentro de ésta por el código del viaje (indica la ciudad destino).

Estructura del archivo:

3 Código de la flota
3 Placa del bus
3 Código del viaje (indica la ciudad destino)
3 Valor recaudado en dicho viaje

Se pide generar un informe con lo siguiente:

3 Número de viajes hechos por cada bus y valor total recaudado
3 Valor total recaudado por cada bus en cada ruta
3 Valor total recaudado por cada flota
3 Valor total recaudado por cada empresa

12. En una empresa al liquidar la nómina se genera un informe que muestra por cada trabajador uno a uno los conceptos y el valor devengado.

Además se imprime el total devengado por el trabajador. El total devengado en la sección, en el Departamento y en toda la empresa.

Los datos se toman de un archivo que contiene lo siguiente:

3 Código del trabajador
3 Departamento
3 Sección
3 Concepto
3 Valor

El archivo está clasificado en forma ascendente por el departamento, dentro de ésta por la sección y dentro de esta por el código del empleado.

Se debe averiguar e imprimir cual es el salario promedio por sección.


13. Los datos de un censo en un país están grabados en un archivo cuyos registros contienen lo siguiente:

3 Departamento
3 Ciudad
3 Sector
3 Número de habitantes por conteo

En cada sector se hicieron varios conteos, por lo tanto por cada sector hay varios registros.

El archivo está clasificado en forma ascendente por el Departamento, dentro de éste por ciudad y dentro de éste por sector.

Se debe generar un informe que muestre lo siguiente:

3 Total habitantes por sector
3 Total habitantes por ciudad
3 Total habitantes por Departamento
3 Gran total en el país

Además en cada departamento se debe imprimir cual es la ciudad con más habitantes y cuantos tiene, al igual que el departamento más poblado y su número de habitantes


ARREGLOS

Conjunto de cantidades o valores homogéneas que por su naturaleza se importan de idéntica forma y deben ser tratados en forma similar se le s debe de dar un nombre que identifique el conjunto.

Cada cantidad del arreglo se llama elemento.

Hay dos tipos de arreglos unimensionales y bidimensionales. Vectores y matrices
vector arreglo unidimensional organizado en forma de lista conjunto de datos continuos que tienen el mismo formato y se denominan elemento del vector .

Generalmente el vector se almacena datos para luego realizar una operación con ellos consular de una forma rápida .

Para referirse a un determinado elementos coloca el nombre del vector y dentro de un paréntesis un subíndice que indica cual de los elementos nos estamos refiriendo .

Es un conjunto finito y ordenado de elementos homogéneos la prioridad ordenado significa que el elemento primero segundo y tercero n-esimo de un array puede ser identificado el elemento array son homogéneos es decir del mismo tipo de datos .

El tipo más simple del array unidimensional o vector ( matriz de una dimensión un vector de una dimensión denominado notas que con esta de n elementos

El subíndice o índice de un elemento (1,2,....i,n) designa su posición en la ordenación del vector .

Asignación :

La asignación de valores aun elemento del vector se realiza con la instrucción de asignación :

(20) è 5 asigna el valor al elemento 20 del vector .

Lectura y escritura de datos: la lectura de datos en array u operación de entrada /salida normalmente se realiza n con escrituras repetitivas aunque puede hacerse con estructuras selectivas las instrucciones simples de lectura e escritura sé represent6aran como:

leer a lectura del vector
escribir a escritura del vector
leer v(5) leer elemento v(5) del vector v

Recorrido: puede hacerse a los elementos de un vector para introducir datos ( escribir) bien para visualizar un contenido(leer ) a Al operación de efectuar una acción general sobre todos los elementos de un vector se le denomina recorrido del vector .

EJEMPLO: lectura de 20 valores enteros de un vector denominado final

final = array [1,20] de entero
desde i= 1hasta 20 hacer
leer final(i) fin desde

EJEMPLO:

21 86 77 6 15 15 9

izquierda a derecha

Creación : tiene nombre todo vector tiene nombre definido por el programador
tiene una dimensión tamaño es decir se divide en una cantidad física de posiciones
tiene un índice que indica él numero de cada posición de vector este debe ser un numero entero.

Tiene tipo numérico o alfanumérico según sea los datos que se almacene.

Los datos del vector deben ser homogéneos es decir del mismo tipo

Cuando se refiere a un a un elemento del vector : siempre se debe escribir el nombre del vector y dentro del paréntesis la posición .

Búsqueda : de un vector cuando se necesita hallar uno o varios elementos que cumplan una determinada característica dentro de un vector se emplean dos tipos de búsqueda secuencial o lineal o binaria .

Búsqueda lineal o secuencial método de localización basado en comparaciones a lo largo de todo el vector se emplea generalmente cuando se trabaja con vectores desorganizados.

Búsqueda con barrido completo se realiza desde el primer elemento hasta el ultimo se utilizan cuando pueden haber varios elementos que contengan la misma característica .

Búsqueda con barrido interrumpido esta se realiza hasta que encuentre el elemento deseado o se recorre completamente el vector sin encontrarlo.

ORGANIZACIÓN ASCENDENTE Y DESCENDENTE

Ascendente los valores de menor a mayor.

Descendente los valores de mayor a menor.

EJEMPLOS:

1. Se tiene un vector de n elementos organizarlo de forma ascendente


inicio .

def.var
lea n
para i =1,n-1 haga
si vec(i) vec (j) entonces
auxiliar =vec(i)
vec(i) = vec (j)
vec (j) =auxiliar
fin si
fin para
fin para
fin

2. Llenar un vector nombre con edad nombre de los estudiantes.
Llenar vector
Inicio
Vector nom ( 1, 10 )
I ç entero
Non ç “ “
Leer nom
Vec nom (I) ç nom
Fin para
Fin

ARREGLOS BIDIMENSIONALES

Conjunto de cantidades organizadas en filas y en columnas (matriz los elementos deben ser de un mismo tipo paras referirse a un determinado elemento debe realizarlo por el nombre de la matriz y dentro de un paréntesis 2 subíndice separados por comas donde el primero se refiere a la fila y el segundo ala columna .

La matriz se puede mirar como un conjunto de vectores .

Creación tiene nombre toda matriz tiene un nombre def. por el programador tiene una dimensión o tamaño es decir se divide en una cantidad física de posiciones.

Tiene 2 índice que indica numero de cada posición de vector este debe ser un numero entero.

Tiene e tipo numérico o alfanumérico según sea los datos que se almacene.

Los datos del vector deben ser homogéneos es decir del mismo tipo.

Cuando se refiere a un a un elemento del vector: siempre se debe escribir el nombre del vector y dentro del paréntesis la posición .

Recorrido

Matriz cuadrada es aquélla que él numero de filas es igual al de las columnas .

Matriz identidad como la cuadrada él numero de filas es igual al de las columnas y los elementos de la diagonal son de valor y( uno y es el resto su valor son ceros) .

Organización ascendente y descendente.

Ascendente los valores de menor a mayor.

Descendente los valores de mayor a menor

EJEMPLO:

Recorrer matriz anterior y sumar sus filas y mostrar la suma.

Inicio
matelem [m*n]
mnfc entero
para f=1,m haga
sumf 0
para c=1,n haga
leer mat elem(f.c)
sumf sumf+matelem
finpara
mostrarn sumaf
fin para
mostrar fila

3 comentarios:

yuber andres loaiza orozco dijo...

pero donde estan las respuestas??
necesitaba el 26.. del taller #1. estaba exactico.

Yennifer Madrigal dijo...
Este comentario ha sido eliminado por el autor.
Yennifer Madrigal dijo...
Este comentario ha sido eliminado por el autor.