Вы находитесь на странице: 1из 7

7

II. DESARROLLO DE LÓGICA ALGORÍTMICA

OBJETIVO DE APRENDIZAJE: Comprenderá el concepto de algoritmo y la terminología relacionada con los


algoritmos. El alumno conocerá las características de las técnicas de diseño. Aplicara un lenguaje algorítmico
gráfico o manuscrito

2.1 Metodología para la solución de problemas


2.2 Metodología para el diseño de software: Top Down, Bottom up, Modular y Programación
estructurada.
2.3 Definición de lenguajes algorítmicos
2.3.1 Elementos y reglas de la representación gráfica y manuscrita de los algoritmos (diagrama
de flujo, diagrama N-S, diagrama estructurado y pseudocódigo.
2.3.2 Implementación de algoritmos secuenciales (utilizando notación algebraica)
2.4 Pruebas y depuración

CRITERIOS DE ACREDITACION
1. Exposición Participación:
2. Tareas hasta un 30%
3. Examen (INDISPENSABLE) Falta de limpieza en el aula:
4. Problemario hasta un -10%
5. Portafolios de evidencias (INDISPENSABLE)
OBSERVACIONES
1.- Para evitar malos entendidos, NO se permite salir del aula durante los examenes.
2.- No se reciben trabajos, tareas etc., fuera de tiempo.
3.- Las inasistencias se pueden justificar, no asi la entrega de trabajos y la aplicación de examenes.
4.- Cada alumno debera realizar su portafolios de evidencias en una carpeta negra de argollas de 1 pulgada o
cuaderno
Fecha de evaluacion.
11/03/11

DETALLE DE LOS ASPECTOS CONSIDERADOS PARA CADA CRITERIO DE


EVALUACIÓN
1. Exposición
ORGANIZACIÓN
A) Se presentan todos los integrantes y son puntuales, Llevan un orden
lógico de exposición, Se nota el trabajo en equipo
B) Cumple con dos requisitos de los anteriores
C) Cumple solo con un requisito de los anteriores
D) No cumple ninguno de los anteriores requisitos
CONTENIDO:
A) La exposición es acorde al tema
B) El contenido es suficiente
C) Todo el tiempo asignado
CONTROL DEL GRUPO
A) Fomenta la disciplina
B) Fomenta la participación
C) Volumen de voz alto
DOMINIO DEL TEMA
A) Evitan la lectura los expositores
B) Utilizan expresiones apropiadas
C) Resuelven dudas
MATERIAL DE APOYO
A) Imágenes pertinentes al tema
B) Claridad en el material presentado
C) Proporciona resumen de
exposición.

2. Tareas
A) Contenido temático

B) Presentación (Ortografía, Redacción, Dicción, Limpieza)


C) Tiempo de entrega

3. Examen
Mínimo 7 de 10 respuestas correctas para ser considerado acreditado el indicador
4. Problemario
A) Aplicación del método solicitado
B) Solución
C) Tiempo de entrega
5. Portafolio de evidencias
A) Información de la asignatura
B) Apuntes (tarea, actividades, ejercicios, resúmenes)
C) Información de prácticas (Participación académica)
D) Presentación

6. Participación
A) Lista de cotejo

2.1 Metodología para la solución de problemas

2.1.1 PASOS PARA LA SOLUCIÓN DE PROBLEMAS

Un algoritmo es el conjunto de operaciones y procedimientos que deben seguirse para resolver un problema.
La palabra "algoritmo" deriva del nombre latinizado del gran matemático árabe Mohamed Ibn Moussa Al Kow
Rizmi.

Diferencia entre el lenguaje algorítmico y el informático.


El lenguaje algorítmico es aquel por medio del cual se realiza un análisis previo del problema a resolver y
encontrar un método que permita resolverlo. El conjunto de todas las operaciones a realizar, y el orden en el
que deben efectuarse, se le denominan algoritmo. El lenguaje informático es aquel por medio del cual dicho
algoritmo se codifica a un sistema comprensible por el ordenador o computadora. Este tipo de lenguaje es
más cercano a la máquina que al ser humano y podemos distinguir distintos tipos dependiendo de la
proximidad a la máquina. Se denomina lenguaje de alto nivel aquel que es más cercano a la comprensión
humana y lenguaje de bajo nivel a aquellos que son más comprensibles por la máquina. En concreto,
nosotros vamos a estudiar un lenguaje en la frontera de uno de bajo nivel. Es por ello que el 'C' es tan potente
y rápido, pues las funciones principales representan las funciones más básicas del ordenador.

Planteamientos de Problemas.
Lo que pretende un algoritmo es sintetizar de alguna forma una tarea, cálculo o mecanismo antes de ser
transcrito al ordenador. Los pasos que hay que seguir son los siguientes:
- Análisis previo del problema.
- Primera visión del método de resolución.
- Descomposición en módulos.
- (Programación estructurada).
- Búsqueda de soluciones parciales.
- Ensamblaje de soluciones finales.
La clasificación de los lenguajes algorítmicos puede anunciarse de la siguiente manera:
a) Lenguaje natural:
Es aquel que describe los pasos a seguir utilizando un vocabulario cotidiano.
b) Lenguaje de diagrama de flujo:
Es aquel que se vale de diversos símbolos para representar las ideas o acciones a desarrollar.
c) Lenguaje natural de programación:
Son aquellos que están orientadas a la solución de problema que se defienden de una manera
precisa.
d) Lenguaje de programación de algoritmos:
Es aquel que se utiliza para introducir en la computadora un lenguaje específico.
SIMBOLOS PARA EL DISEÑO DE ALGORITMOS

INICIO / TERMINAL

ENTRADA / LECTURA

PROCESO

DECISIÓN

DICISIÓN MULTIPLE

CONECTAR

IMPRESORA

INDICADOR DE
DIRECCION

= OPERADORES ARITMÉTICOS
(+, -, *, / , MOD)

INICI
= OPERADORES RELACIONADOS
O =! )
( >, <, <=, >=, ==,

HOMBRES
EJEMPLOS:
MUJERES
1. El maestro de matemáticas desea saber el porcentaje de hombres y mujeres que hay en el grupo de
Ingeniería Industrial.
TOTAL = HOMBRES + MUJERES

PM = MUJERES/ TOTAL * 100


PH = HOMBRES / TOTAL * 100

PH, PM

FIN
2. Determinar si un alumno es bueno, regular o malo en base a su promedio el cual se calcula de la
calificación final de tres materias considerando que si el promedio es mayor o igual a 9 el alumno es
bueno, si el promedio es menor que 9 y mayor o igual a 7 el alumno es regular y si es menor que 7 el
alumno es malo.
3. Determinar el costo de las llamadas telefónicas dependiendo de la zona geográfica en la que se
encuentra el usuario y el número de minutos hablados.
CLAVE ZONA PRECIO
12 AMERICA DEL NORTE 2
15 AMERICA DEL SUR 3
18 AMERICA CENTRAL 4

BIBLIOGRAFIA
http://www-etsi2.ugr.es/alumnos/mlii/Algoritmo.htm
http://es.wikipedia.org/wiki/Algoritmo

2.2 Metodología para el diseño de software

2.2.1 Top Down


El diseño top down consiste en encontrar la solución de un problema mediante la aplicación sistemática de
descomposición en subproblemas cada vez más simples (aplicando la máxima de dividir para vencer).

2.2.2 Bottom Up
Con el diseño botton-up el sistema es empezar por el final, sabiendo ya como resolver el problema (y que
componentes reutilizables tiene ya a su disposición). Desde allí, puede ir trabajando hacia arriba, hasta la
solución del problema principal. Los componentes reutilizables, deben de ser tan "modulares" como sea
posible. Un modulo es un componente de un sistema mayor, que interactúa con el resto del sistema de una
forma simple, perfectamente definida, por medio de mensajes. La idea es que un modulo pueda ser
conectado a un sistema. Los detalles de lo que hace internamente el modulo no es importante al conjunto del
sistema, mientras que el modulo realice correctamente la labor asignada. Esto es lo que se llama información
oculta y es uno de los principios más importantes de la ingeniería de software.

2.2.3 Modular
Uno de los métodos más conocidos para resolver un problema es dividirlo en problemas más pequeños,
llamados subproblemas. De esta manera, en lugar de resolver una tarea compleja y tediosa, resolvemos otras
más sencillas y a partir de ellas llegamos a la solución. Esta técnica se usa mucho en programación ya que
programar no es más que resolver problemas, y se le suele llamar diseño descendente, metodología del
divide y vencerás o programación top-down. Es evidente que si esta metodología nos lleva a tratar con
subproblemas, entonces también tengamos la necesidad de poder crear y trabajar con subprogramas para
resolverlos. A estos subprogramas se les suele llamar módulos, de ahí viene el nombre de programación
modular. En Pascal disponemos de dos tipos de módulos: los procedimientos y las funciones.

2.2.4 Programación estructurada


La programación estructurada está basada en los siguientes puntos:
1. Diseño del programa de lo general a lo particular (top down).
2. Teorema de estructura. Todo programa puede ser diseñado utilizando únicamente las estructuras básicas:
Secuencial, Alternativa o Repetitiva.

Un programa, por largo y complejo que sea, se puede diseñar anidando convenientemente en tres estructuras
básicas. Esto ayudara mucho a que los programas sean fácilmente leídos por cualquier persona, a que el
número de errores en el proceso de programación sea bajo, a que los programas sean autodocumentados y a
que puedan mantenerse fácilmente.

BIBLIOGRAFIA
http://www.edu.aytolacoruna.es/aula/programacion/pascal/modular.htm
http://www.edu.aytolacoruna.es/aula/programacion/pascal/modular.htm

2.3 Definición de lenguajes algorítmicos

2.3.1 Elementos y reglas de la representación gráfica y manuscrita de los


algoritmos

Los diagramas de flujo (o flujogramas) son diagramas que emplean símbolos gráficos para representar los
pasos o etapas de un proceso. También permiten describir la secuencia de los distintos pasos o etapas y su
interacción. Las personas que no están directamente involucradas en los procesos de realización del producto
o servicio, tienen imágenes idealizadas de los mismos, que pocas veces coinciden con la realidad.
La creación del diagrama de flujo es una actividad que agrega valor, pues el proceso que representa está
ahora disponible para ser analizado, no sólo por quienes lo llevan a cabo, sino también por todas las partes
interesadas que aportarán nuevas ideas para cambiarlo y mejorarlo.

VENTAJAS DE LOS DIAGRAMAS DE FLUJO


Favorecen la comprensión del proceso a través de mostrarlo como un dibujo. El cerebro humano reconoce
fácilmente los dibujos. Un buen diagrama de flujo reemplaza varias páginas de texto.
Permiten identificar los problemas y las oportunidades de mejora del proceso. Se identifican los pasos
redundantes, los flujos de los reprocesos, los conflictos de autoridad, las responsabilidades, los cuellos de
botella, y los puntos de decisión.
Muestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan, facilitando a los
empleados el análisis de las mismas.
Son una excelente herramienta para capacitar a los nuevos empleados y también a los que desarrollan la
tarea, cuando se realizan mejoras en el proceso.

DESARROLLO DEL DIAGRAMA DE FLUJO


Los pasos a seguir para construir el diagrama de flujo son:
• Establecer el alcance del proceso a describir. De esta manera quedará fijado el comienzo y el final del
diagrama. Frecuentemente el comienzo es la salida del proceso previo y el final la entrada al proceso
siguiente.
• Identificar y listar las principales actividades/subprocesos que están incluidos en el proceso a describir
y su orden cronológico.
• Si el nivel de destalle definido incluye actividades menores, listarlas también.
• Identificar y listar los puntos de decisión.
• Construir el diagrama respetando la secuencia cronológica y asignando los correspondientes símbolos.
• Asignar un título al diagrama y verificar que esté completo y describa con exactitud el proceso elegido.

2.3.2 Implementación de algoritmos secuenciales

ESTRUCTURA SECUENCIAL
Cuando se quiere indicar que unas determinadas acciones se deben realizar en secuencia, se escriben unas
a continuación de otras. Por ejemplo:

Leer cantidad, precio


Importe = cantidad * precio
Imprime importe

ESTRUCTURA ALTERNATIVA
Si utilizamos una alternativa, es para indicar que según el resultado cierto o falso de una expresión hay que
realizar una acción u otra de las dos especificadas. En general, una estructura alternativa se escribe de la
siguiente forma:

IF expresión THEN
Acción del then
ELSE
Acción del else
ENDIF

Por ejemplo, para calcular el importe de la venta de un determinado artículo, sabiendo que al comprar entre 1
y 15 unidades del mismo, el descuento es de un 10%, y si la compra es superior a 15 unidades, el descuento
será de un 15%, y escribimos:
Leer artículo, cantidad, precio unitario
Importe= cantidad* precio unitario
IF cantidad>0 AND cantidad<16 THEN
Importe= importe*0.9
ELSE
Importe=importe*0.85
ENDIF

Imprimir cantidad, precio unitario, importe

Si en el caso anterior simplemente nos dijeran: calcular el importe de la venta de un determinado artículo,
sabiendo que al comparar más de 10 unidades del mismo descuento es de un 10%, escrbiríamos:

Leer artículo,cantidad,precio unitario


Importe=cantidad * precio unitario
IF cantidad> 10 THEN
Importe= importe*o.9
EDNIF
Imprimir cantidad, precio unitario, importe

BIBLIOGRAFIA
http://www.estrucplan.com.ar/Producciones/Entrega.asp?identrega=526

La ejecución de una sentencia alternativa se realiza de la forma siguiente:

1. Se evalúa la expresión para ver si es cierta o falsa.


2. Si es cierta, se ejecutan todas las sentencias situadas después de la palabra reservada THEN, y si es falsa,
entonces se ejecutan las sentencias que estén después de la palabra reservada ELSE, si es que ésta existe,
continuando la ejecución en la siguiente sentencia en secuencia.

En los ejemplos expuestos, se puede observar que la condición expresada en la sentencia IF puede ser
simple o compuesta. Cuando la condición es simple, sólo hay una expresión, y cuando es compuesta, hay
varias expresiones unidas por los operadores lógicos AND (y) y OR (o)

2.4 Pruebas y depuración


2.4.1Pruebas y depuración

Una vez que se ha construido o escrito un programa en algún lenguaje de programación, se requiere
desarrollar un procedimiento sistemático para establecer si se trata de un programa correcto. Los pasos
básicos de tal procedimiento sistemático son los siguientes: Prueba y depuración (demostración). Un buen
programador debe pensar en desarrollar un conjunto de casos prueba, junto con su código. Un caso prueba
es un conjunto de datos de entrada que junto con el programa produce una salida conocida de antemano, con
los cuales se puede evaluar la funcionalidad y correcto del programa. Si el programa pasa todos los casos
prueba, entonces podemos considerar que el programa es correcto.

EJERCICIO
Determinar el tipo de compra que un cliente realizo, si la opción es:
1- abarrotes: aplica el 15% de IVA a su compra
2- materiales: aplica el 10 % de IVA a su compra
3- perfumería: aplica el 8% de IVA a su compra
4- farmacia: aplica el 5% de IVA a su compra
Determinar el tipo de compra (si una cantidad par o impar) mandar a pantalla el sig. texto: subtot-iva a pag- tot
comp- tipo com.

BIBLIOGRAFIA
http://www.fisica.uson.mx/carlos/Nirvana/CComp/cursos/CC11/lecture7.html

Вам также может понравиться