Vous êtes sur la page 1sur 60

1 de 60

Primer Semestre

COLABORADORES

COORDINACIN GENERAL
Mtra. Gabriela Montero Montiel
Jefe de la Divisin SUAyED-FCA-UNAM
COORDINACIN ACADMICA
Mtro. Francisco Hernndez Mendoza
FCA-UNAM

COAUTORES
L.C. Gilberto Manzano Pealoza
Mtro. Luis Fernando Ziga Hernndez
ACTUALIZACIN
Mtro. Ren Montesano Brand
DISEO INSTRUCCIONAL
Lic. Chantal Ramrez Prez
Mayra Lilia Velasco Chacn
CORRECCIN DE ESTILO
L.F. Francisco Vladimir Aceves Gaytn

DISEO DE PORTADAS
L.CG. Ricardo Alberto Bez Caballero
Mtra. Marlene Olga Ramrez Chavero
L.DP. Ethel Alejandra Butrn Gutirrez
DISEO EDITORIAL
Mtra. Marlene Olga Ramrez Chavero

2 de 60
Primer Semestre

Contenido
Datos de identificacin

Sugerencias de apoyo

Instrucciones para trabajar con el cuaderno de actividades

Objetivo general de la asignatura y Temario Oficial

Unidad 1.

Fundamentos de algoritmos

10

Objetivo particular y temario detallado

11

Actividad diagnstica

12

Actividades de aprendizaje

13

Actividad integradora

15

Cuestionario de reforzamiento

16

Examen parcial de la unidad (Autoevaluacin)

17

Respuestas

20

Anlisis de algoritmos

21

Objetivo particular y temario detallado

22

Actividad diagnstica

23

Actividades de aprendizaje

24

Actividad integradora

25

Cuestionario de reforzamiento

26

Examen parcial de la unidad (Autoevaluacin)

27

Respuestas

29

Diseo de algoritmos para la solucin de problemas

30

Objetivo particular y temario detallado

31

Actividad diagnstica

32

Actividades de aprendizaje

33

Actividad integradora

34

Cuestionario de reforzamiento

35

Examen parcial de la unidad (Autoevaluacin)

36

Respuestas

39

Unidad 2.

Unidad 3.

3 de 60
Primer Semestre

Unidad 4.

Unidad 5.

Implantacin de algoritmos

40

Objetivo particular y temario detallado

41

Actividad diagnstica

42

Actividades de aprendizaje

43

Actividad integradora

44

Cuestionario de reforzamiento

45

Examen parcial de la unidad (de autoevaluacin)

46

Respuestas

49

Evaluacin de algoritmos

50

Objetivo particular y temario detallado

51

Actividad diagnstica

52

Actividades de aprendizaje

53

Actividad integradora

54

Cuestionario de reforzamiento

55

Examen parcial de la unidad (de autoevaluacin)

56

Respuestas

59

4 de 60
Primer Semestre

DATOS DE IDENTIFICACIN

Anlisis diseo e Implantacin de Algoritmos

Clave: 1164

Plan: 2012

Crditos: 8

Licenciatura: Informtica

Semestre: 1

rea o campo de conocimiento: Matemticas

Horas por semana: 4

Duracin del programa: semestral


Tipo: Terica
Carcter:
Seriacin: Si ( )

Teora: 4
Obligatoria
No ( x )

Requisitos: ninguno

Prctica: 0
(x)

Optativa
Obligatoria ( )

( )
Indicativa ( )

Asignatura con seriacin antecedente: Ninguna


Asignatura con seriacin subsecuente: Estadstica inferencial

5 de 60
Primer Semestre

SUGERENCIAS DE APOYO
Trata de compartir tus experiencias y comentarios sobre la asignatura con
tus compaeros, a fin de formar grupos de estudio presenciales o a distancia
(comunidades virtuales de aprendizaje, a travs de foros de discusin y
correo electrnico, etctera), y puedan apoyarse entre s.
Programa un horario propicio para estudiar, en el que te encuentres menos
cansado, ello facilitar tu aprendizaje.
Dispn de periodos extensos para al estudio, con tiempos breves de
descanso por lo menos entre cada hora si lo consideras necesario.
Busca espacios adecuados donde puedas concentrarte y aprovechar al
mximo el tiempo de estudio.

6 de 60
Primer Semestre

Instrucciones para trabajar


con el cuaderno de actividades
El programa de la asignatura consta de 5 unidades. Por cada unidad encontrars
una serie de actividades. El nmero de las mismas vara de acuerdo a la extensin
de la unidad.

Notars que casi todas las unidades comienzan con la elaboracin de un mapa
conceptual mental; esto es con el fin de que tu primera actividad sea esquematizar
el contenido total de la unidad para que tenga una mejor comprensin y dominio
total de los temas.

Te recomendamos que leas detenidamente cada actividad a fin de que te quede


claro qu es lo que tienes que realizar. Si al momento de hacerlo algo no queda
claro, no dudes en solicitar el apoyo de tu asesor quien te indicar la mejor forma
de realizar tu actividad en asesoras semipresenciales o por correo electrnico para
los alumnos de la modalidad abierta, o bien para la modalidad a distancia a travs
de los medios proporcionados por la plataforma.

Te sugerimos (salvo la mejor opinin de tu asesor), seguir el orden de las unidades


y actividades, pues ambas estn organizadas para que tu aprendizaje sea gradual.
En el caso de los alumnos de la modalidad a distancia, la entrega de actividades
est sujeta al plan de trabajo establecido por cada asesor y el trabajo es
directamente en plataforma educativa:

http://fcaenlinea1.unam.mx/licenciaturas/

7 de 60
Primer Semestre

La forma en que debers responder a cada actividad depender de la instruccin


dada (nmero de cuartillas, formatos, si hay que esquematizar, etctera).

Una vez que hayas concluido las actividades entrgalas a tu asesor si, as l te lo
solicita. Los alumnos de la modalidad a distancia, debern realizar la actividad
directamente en la plataforma educativa de acuerdo a la instruccin dada.

Te invitamos a que trabajes estas actividades con el mayor entusiasmo, pues


fueron elaboradas considerando apoyarte en tu aprendizaje de sta asignatura.

Indicaciones:
Notars que tanto los cuestionarios de reforzamiento como las
actividades de aprendizaje, contienen instrucciones tales como adjuntar archivo,
trabajo en foro, texto en lnea, trabajo en wiki o en Blog, indicaciones que
aplican especficamente para los estudiantes del SUAYED de la modalidad a
distancia. Los alumnos de la modalidad abierta, trabajarn las actividades de
acuerdo a lo establecido por el asesor de la asignatura en su plan de trabajo,
incluyendo lo que s y lo que aprend.

Biblioteca Digital:
Para tener acceso a otros materiales como libros electrnicos, es
necesario que te des de alta a la Biblioteca Digital de la UNAM (BIDI). Puedes
hacerlo desde la pgina principal de la FCA http://www.fca.unam.mx/ Alumnos,
>Biblioteca >Biblioteca digital >Clave para acceso remoto >Solicita tu
cuenta. Elige la opcin de Alumno y llena los campos solicitados. Desde este
sitio, tambin puedes tener acceso a los libros electrnicos.

8 de 60
Primer Semestre

OBJETIVO GENERAL
Al finalizar el curso, el alumno ser capaz de implementar algoritmos en un
lenguaje de programacin.

TEMARIO OFICIAL
(64 HORAS)

Horas
1. Fundamentos de algoritmos

12

2. Anlisis de algoritmos

12

3. Diseo de algoritmos para la resolucin de problemas

12

4. Implantacin de algoritmos

12

5. Evaluacin de algoritmos

16

9 de 60
Primer Semestre

UNIDAD 1

Fundamentos de
algoritmos

10 de 60
Primer Semestre

OBJETIVO PARTICULAR
Al finalizar la unidad, el alumno podr identificar los componentes y propiedades
de los algoritmos.

TEMARIO DETALLADO
(12 HORAS)

1. Fundamentos de algoritmos
1.1. Definicin de algoritmo
1.2. Propiedades de los algoritmos
1.3 Autmatas y lenguajes formales
1.4 Maquina de Turing

11 de 60
Primer Semestre

ACTIVIDAD DIAGNSTICA
LO QUE S
Adjuntar archivo.

Con base en tus conocimientos y con tus propias palabras, redacta una definicin
de algoritmo.

12 de 60
Primer Semestre

ACTIVIDADES DE APRENDIZAJE
Adjuntar archivo. A partir del estudio de la bibliografa especfica
sugerida, elabora un mapa conceptual u organizador grfico con
los temas de la unidad. Puedes auxiliarte de algunos programas
como Mindjet MindManager.

1. Unidad 1, actividad 1. Adjuntar archivo. Investiga tres ejemplos de


aplicacin de un algoritmo en diferentes campos e identifica sus
caractersticas segn lo analizado en esta unidad.
2. Unidad 1, actividad 2. Adjuntar archivo. Elabora un algoritmo de
ordenamiento de datos donde se genere un intercambio de posicin de los
nmeros 24 y 9, dando como salida 9 y 24 en este orden. Te sugerimos
utilizar tres variables: num1, num2 y aux, para que puedas realizar el
intercambio. Representa el algoritmo en forma de pasos sucesivos (tipo
receta de cocina) empleando un lenguaje natural; evita el lenguaje de
programacin y el diagrama de flujo.
3. Unidad 1, actividad 3. Adjuntar archivo. Realiza una investigacin en
libros, revistas, Internet, etc. de los conceptos presentados a continuacin.
Con base en lo investigado, da un ejemplo de situaciones en las que se
pueden aplicar las siguientes demostraciones:

Demostraciones deductivas

Demostraciones de la conversin contradictoria

Demostracin por deduccin del absurdo

Contraejemplos

Demostraciones inductivas

Inducciones estructurales

13 de 60
Primer Semestre

4. Unidad 1, actividad 4. Adjuntar archivo. Investiga un ejemplo del empleo


de un autmata y otro de una mquina de Turing; e identifica las
caractersticas de los algoritmos aplicados en ellos. Presenta los ejemplos
y escribe tus observaciones.
5. Unidad 1, actividad 5. Adjuntar archivo. Una vez comprendido el tema
de mquina de Turing, identifica las caractersticas de un lenguaje
decidible, aceptable, semidecidible, indecidible. Apyate de una tabla
comparativa.

14 de 60
Primer Semestre

ACTIVIDAD INTEGRADORA
LO QUE APREND
Adjuntar archivo.

Retoma la definicin de algoritmo que anotaste en el apartado Lo que s y


complemntala con lo estudiado en la unidad y otras fuentes (en este caso, no
olvides citarlas). Presenta tu definicin ampliada.

15 de 60
Primer Semestre

CUESTIONARIO DE
REFORZAMIENTO

Adjuntar archivo. Responde las siguientes preguntas.

1. Qu es un algoritmo?
2. Cules son las caractersticas de un algoritmo?
3. Qu es un autmata?
4. Explica por qu un termostato puede ser considerado un autmata.
5. Qu es un diagrama de estado?
6. Qu es una tabla de estado?
7. En el campo de los autmatas, qu es un alfabeto?
8. Qu es una cadena vaca?
9. Cul es la definicin de lenguaje?
10. Qu es y para qu sirve una gramtica?
11. Da un ejemplo de una regla de produccin BNF.
12. Qu elementos constituyen un lenguaje formal?
13. Describe brevemente tres tipos de gramticas.
14. Qu es una mquina de Turing?
15. Qu es un proceso computable?

16 de 60
Primer Semestre

EXAMEN PARCIAL
(de autoevaluacin)
I. Responde verdadero (V) o falso (F).

1. Es muy factible obviar pasos que sean repetitivos en las

operaciones que realiza una computadora.


2. La posibilidad de aplicar diversos criterios es una
caracterstica de los algoritmos

II. Marca en el cuadro el concepto correspondiente a cada


definicin.

1. Conjunto de todos los smbolos vlidos o


posibles para una aplicacin.

2. Es la asociacin de un conjunto de smbolos

b) Gramtica

definidos en un alfabeto (cadena), con la

c) Alfabeto

propiedad de tener sentido, significado y lgica.

d) Lenguaje

3. Conjunto de cadenas que obedecen a un


alfabeto fijado.

a) Frase

e) Cadena
vaca

4. La longitud del conjunto de caracteres que


utiliza es igual a cero.

17 de 60
Primer Semestre

5. Coleccin estructurada de palabras y frases


ligadas por reglas que definen el conjunto de
cadenas de caracteres que representan los
comandos completos y pueden ser reconocidos
por un motor de discurso.

III. Responde verdadero (V) o falso (F).

1. Los procesos computables y no computables pueden

implementarse en un algoritmo o mquina de Turing.


2. A un proceso no computable se le puede generar un lenguaje
decible para que sea ledo en una mquina de Turing.
3. La cinta de una mquina de Turing es necesariamente finita,
ya que est definida por el tamao del programa.
4. El programa es un conjunto de instrucciones que controla los
movimientos de la cabeza de lectura-escritura.
5. La cinta es un dispositivo slo de lectura y no de
almacenamiento.

18 de 60
Primer Semestre

IV. Selecciona la respuesta correcta.


1. Es una caracterstica de un algoritmo:

a) Acepta criterios en su

b) Puede omitir pasos.

desarrollo.

c) En ocasiones, no obtiene un

resultado.

d) Contiene una condicin que

detiene su ejecucin.

2. Inventor del Pato con Aparato Digestivo:

a) Pierre Jacquet Drozz

b) Falcon

c) Josheph Marie Jaquard

d) Jacques Vacanson

3. Autmata formado por cinta, cabeza de lectura-escritura y programa:

a) Mquina de Turing

b) El Dibujante

c) Los Msicos

d) El Telar Automtico

4. Problema que no puede implementarse en una mquina de Turing por no


tener solucin para todas sus posibles entradas:

a) Computable

b) Indecidible

c) Decidible

d) Disfuncional

5. Tipo de gramtica en la que el lado derecho de la regla de produccin siempre


debe ser igual o mayor que el lado izquierdo:

a) Independientes del contexto

b) Sensible al contexto

c) Regulares

d) Ninguna de las anteriores

19 de 60
Primer Semestre

RESPUESTAS
EXAMEN DE AUTOEVALUACIN

En este apartado encontrars las respuestas al examen por unidad.

Unidad 1

Unidad 1

I. Solucin

II. Solucin

1. F
2. F

1.
2.
3.
4.
5.

c
a
e
d
b

Unidad 1

Unidad 1

III. Solucin

IV. Solucin

1.
2.
3.
4.
5.

1.
2.
3.
4.
5.

F
F
F
V
F

d
d
a
b
b

20 de 60
Primer Semestre

UNIDAD 2

Anlisis de algoritmos

21 de 60
Primer Semestre

OBJETIVO PARTICULAR
Al finalizar la unidad, el alumno podr analizar un problema determinado y buscar
una solucin a partir de un algoritmo.

TEMARIO DETALLADO
(12 HORAS)
2.1. Anlisis de algoritmos
2.1.1 Anlisis del problema
2.1.2 Computabilidad
2.1.3 Algoritmos cotidianos
2.1.4 Algoritmos recursivos
2.1.5 Algoritmos de bsqueda y ordenacin

22 de 60
Primer Semestre

ACTIVIDAD DIAGNSTICA
LO QUE S
Adjuntar archivo.

Investiga los elementos de un problema y relacinalos con los algoritmos. Anota


tus conclusiones.

23 de 60
Primer Semestre

ACTIVIDADES DE APRENDIZAJE
Adjuntar archivo. A partir del estudio de la bibliografa especfica
sugerida, elabora un mapa conceptual u organizador grfico con
los temas de la unidad. Puedes auxiliarte de algunos programas
como Mindjet MindManager.

1. Unidad 2, actividad 1. Actividad en foro. Investiga cinco ejemplos de


problemas decidibles y no decidibles y comntalos con tu asesor en el foro
de la asignatura. Si tu asignatura la trabajas fuera de plataforma educativa,
entonces realiza la misma actividad en no ms de una cuartilla y entrgala
a tu asesor.
2. Unidad 2, actividad 2. Actividad en foro. Investiga las diferencias entre la
solucin iterativa y la solucin recursiva y comntalas en el foro de la
asignatura. Si tu asignatura la trabajas fuera de plataforma educativa,
entonces realiza la misma actividad en no ms de una cuartilla y entrgala
a tu asesor.
3. Unidad 2, actividad 3. Adjuntar archivo. Realiza un cuadro comparativo
con las caractersticas de los mtodos de ordenacin: burbuja, insercin,
seleccin, quick sort y shell e identifica sus diferencias y su aplicacin.
4. Unidad 2, actividad 4. Adjuntar archivo. Investiga un ejemplo donde se
aplique una funcin hash multiplicativa y otra por divisin. Con base en esos
ejemplos, menciona a grandes rasgos la utilidad que tienen estas funciones
y la forma de implementarlas a travs de un algoritmo.
5. Unidad 2, actividad 5.

Adjuntar archivo. Elabora un ejemplo de un

problema donde emplees cualquiera de los mtodos de ordenamiento


estudiados en esta unidad para su solucin. Elabora el algoritmo
correspondiente en un documento de Word.

24 de 60
Primer Semestre

ACTIVIDAD INTEGRADORA
LO QUE APREND

Adjuntar archivo.

Retoma la actividad del apartado Lo que s y complemntala con lo estudiado en


esta unidad y la informacin de otras fuentes (no olvides citarlas).

25 de 60
Primer Semestre

CUESTIONARIO
DE REFORZAMIENTO
Adjuntar archivo. Responde las siguientes preguntas.

1. Qu elementos se deben considerar para determinar el rendimiento de


un algoritmo?
2. Qu factores podran influir en forma negativa para precisar con exactitud
el rendimiento de los algoritmos?
3. Qu es un modelo?
4. Qu son los problemas decidibles?
5. Qu entiendes por recursividad?
6. Qu entiendes por induccin?
7. Describe el mtodo para calcular la complejidad de una funcin recursiva.
8. Cul es el mtodo de ordenacin menos eficiente y cul el ms eficiente?
9. Explica el concepto divide y vencers que utiliza el mtodo de ordenacin
quick sort.
10. Qu diferencia existe entre una tabla hash y una funcin hash? En qu
consisten ambas?

26 de 60
Primer Semestre

EXAMEN PARCIAL
(de autoevaluacin)

I. Responde verdadero (V) o falso (F).

1. Un problema puede llegar a tener ms de un algoritmo que lo

solucione.
2. La cantidad de datos de entrada y las operaciones determinan el
tiempo de ejecucin.
3. Mediante el empleo de frmulas matemticas, es posible conocer el
rendimiento de un algoritmo.
4. El tiempo de ejecucin depende del tipo de datos de salida.
5. Un algoritmo se selecciona en funcin de su tamao.

II. Marca en el cuadro el concepto correspondiente a cada definicin.

1. Propiedad que tienen ciertos problemas de poder


resolverse a travs de un algoritmo.

2. Es aquel cuya respuesta puede mapearse al


conjunto de valores {0,1}.

3. Lenguaje que se implementa para resolver un


problema con un nmero finito de pasos por
algoritmo.

b) Computabilidad

4. Tipo de problema cuyo lenguaje no puede ser


reconocido por una mquina de Turing.

e) Computables

5. Problemas que pueden resolverse con una mquina


de Turing.

a) Problema de
decisin

c) Indecidible
d) Recursivo

27 de 60
Primer Semestre

III. Marca en el cuadro el concepto correspondiente a cada definicin.

1. Intercambia elementos que estn muy distantes.


2. Emplea la tcnica divide y vencers para separar
el problema en subproblemas ms pequeos.

a) Burbuja

3. Se basa en seleccionar el elemento ms pequeo


del arreglo y colocarlo en la posicin ms baja del
mismo.

c) Shell

4. Es el mtodo ms sencillo, pero menos eficiente.

5. Mtodo que consiste en tomar un elemento y


colocarlo
en
la
posicin
ordenada
correspondiente

b) Seleccin

d) Insercin
e) Quick-sort

28 de 60
Primer Semestre

RESPUESTAS
EXAMEN DE AUTOEVALUACIN

En este apartado encontrars las respuestas al examen por unidad.

Unidad 2

Unidad 2

Unidad 2

I. Solucin

II. Solucin

III. Solucin

1.
2.
3.
4.
5.

V
F
V
F
F

1.
2.
3.
4.
5.

b
a
d
c
e

1.
2.
3.
4.
5.

b
e
c
a
d

29 de 60
Primer Semestre

UNIDAD 3

Diseo de algoritmos para


la solucin de problemas

30 de 60
Primer Semestre

OBJETIVO PARTICULAR
Al terminar la unidad, el alumno podr plantear, desarrollar y seleccionar un
algoritmo determinado para solucionar un problema especfico.

TEMARIO DETALLADO
(12 HORAS)

3. Diseo de algoritmos para la solucin de problemas


3.1 Niveles de abstraccin para la construccin de algoritmos
3.2 Tcnicas de diseo de algoritmos
3.3. Alternativas de solucin
3.4 Diagramas de flujo

31 de 60
Primer Semestre

ACTIVIDAD DIAGNSTICA
LO QUE S
Actividad en foro.

Redacta con tus propias palabras que entiendes por abstraccin. Una vez hecho
la anterior sube tu definicin al foro de la asignatura y comprtelo con tus
compaeros.

Si tu asignatura la trabajas fuera de plataforma educativa, entonces realiza la


misma actividad en no ms de una cuartilla y entrgala a tu asesor.

32 de 60
Primer Semestre

ACTIVIDADES DE APRENDIZAJE
Adjuntar archivo. A partir del estudio de la bibliografa
especfica

sugerida,

elabora

un

mapa

conceptual

organizador grfico con los temas de la unidad. Puedes


auxiliarte de algunos programas como Mindjet MindManager.
1. Unidad 3, actividad 1. Adjuntar archivo. Elabora un mapa conceptual
del contenido de la unidad.
2. Unidad 3, actividad 2. Adjuntar archivo. Disea un algoritmo para dar
solucin a un problema que propongas, en donde se utilice alguna de las
estructuras de control: MIENTRAS, HASTA QUE, SI ENTONCES SINO y
el contador PARA.
3. Unidad 3, actividad 3.

Adjuntar archivo. Elabora un cuadro

comparativo de las caractersticas de las diferentes tcnicas de diseo de


algoritmos y determina el tipo de problemas que se puede resolver con
cada una.
4. Unidad 3, actividad 4. Adjuntar archivo. Disea un algoritmo voraz
para solucionar el problema de dar cambio de dinero por la venta de
diversos artculos en una tiendita.
5. Unidad 3, actividad 5. Adjuntar archivo. Investiga sobre cmo resolver
el juego de las torres de Hanoi y disea un algoritmo empleando las
funciones recursivas necesarias para su ejecucin.

33 de 60
Primer Semestre

ACTIVIDAD INTEGRADORA
LO QUE APREND
Adjuntar archivo.

A partir de la revisin general de esta unidad y la bibliografa especfica sugerida,


elabora un mapa mental u organizador grfico que te facilite el estudio y
comprensin de los temas analizados. Puedes auxiliarte de algunos programas
como Mindjet MindManager.

34 de 60
Primer Semestre

CUESTIONARIO
DE REFORZAMIENTO
Adjuntar archivo. Responde las siguientes preguntas.

1. Cules son las estructuras de ciclos?


2. Qu diferencias hay entre las estructuras MIENTRAS y HASTA QU?
3. Dentro de una estructura FOR se puede utilizar una instruccin para cambiar
el valor de la variable que emplea la estructura para controlar las iteraciones.
Indica por qu no debera cambiarse el valor a esta variable dentro de la
misma estructura.
4. Para qu tipo de problemas se utilizan los algoritmos voraces?
5. Qu funciones utiliza un algoritmo voraz?
6. Explica el concepto de recursividad en la tcnica divide y vencers.
7. En programacin dinmica, qu se entiende por subestructura ptima?
8. Qu estrategia de diseo est relacionada con la bsqueda combinatoria?
9. Qu tareas realizan los algoritmos backtracking cuando encuentran una
solucin candidata?
10. En un tablero de ajedrez de 8 x 8 casillas, la pieza denominada reina puede
avanzar una o varias casillas en forma horizontal, vertical o diagonal. Si en
su camino encuentra una pieza adversaria, la ataca. Entonces:

Cmo colocaras ocho reinas sobre el tablero sin que alguna reina
ataque a la otra?

Cul estrategia de diseo de algoritmos recomendaras para solucionar


el problema de las ocho reinas?

35 de 60
Primer Semestre

EXAMEN PARCIAL
(de autoevaluacin)
I. Responde verdadero (V) o falso (F).

1. Las condiciones son aquellas que hacen llamadas a s mismas

en su definicin, simplificando los valores originales de entrada.


2. Los acumuladores se implementan en los casos en que el
problema que se desea resolver puede simplificarse en versiones
ms pequeas del mismo.
3. Los contadores se caracterizan por iterar instrucciones en
funcin de una condicin que debe cumplirse en un momento
conocido.
4. Los ciclos son estructuras que se caracterizan por iterar
instrucciones en funcin de una condicin que debe cumplirse en
un momento bien definido.
5. Las rutinas recursivas regularmente contienen una clusula
condicional.

36 de 60
Primer Semestre

II. Selecciona el inciso que completa correctamente el


enunciado.

1. Divide el problema en subproblemas que


resuelve recursivamente para, finalmente, reunir
las soluciones individuales. ________

a) Programacin
dinmica

2. Resuelve el problema en subconjuntos a travs de

b) Algoritmos
voraces

subestructuras ptimas. ________

c) Vuelta atrs
3. Tcnica mediante la cual se encuentra la mejor
combinacin

en

un

momento

determinado

d) ...Divide y
vencers

(bsqueda en profundidad). ________


4. Se utilizan en solucin de problemas de
optimizacin, aunque son poco eficientes. ________

III. Selecciona la respuesta correcta.


1. Es caracterstico de la estructura HASTA QU:

a) Evala una condicin al

b) Ejecuta las instrucciones y

principio de la estructura.

luego evala la condicin.

c) Si la condicin evaluada

d) La estructura al final no est

resulta falsa, se sale de la


estructura.

delimitada por un comando.

2. Una variable del tipo acumulador es aquella que

a) Se incrementa en cada

iteracin con la unidad.

b) No sufre un cremento alguno,


slo es de control.

c) Aumenta su valor con el valor

d) No se relaciona con la

propio ms el del incremento.

solucin arrojada por el algoritmo.

37 de 60
Primer Semestre

3. Cuando se sabe con exactitud el nmero de iteraciones que debe realizar una
estructura, se utiliza

a) Para
c) Hasta que

b) Mientras
d) Si entonces no

4. Estructura en la que se puede prescindir del conjunto de instrucciones de la


condicin falsa:

a) Para
c) Hasta que

b) Mientras
d) Si entonces no

5. Tcnica de diseo de algoritmos que contiene una funcin de factibilidad, una


de seleccin y una objetivo:

a) Algoritmos voraces
c) Programacin dinmica

b) Divide y vencers
d) Vuelta atrs

6. Si una rutina posee dos llamadas recursivas, se denominan


algoritmos

a) Voraces
c) Programacin dinmica

b) Divide y vencers
d) Vuelta atrs

38 de 60
Primer Semestre

RESPUESTAS
(Examen de Autoevaluacin)

En este apartado encontrars las respuestas al examen por unidad.

Unidad 3

Unidad 3

I. Solucin

II. Solucin

1.
2.
3.
4.
5.

F
F
V
V
V

1.
2.
3.
4.

Divide y vencers
Programacin dinmica
Vuelta atrs
Algoritmos voraces

Unidad 3
III. Solucin
1.
2.
3.
4.
5.
6.

b
c
a
d
a
b

39 de 60
Primer Semestre

UNIDAD 4

Implantacin de
algoritmos

40 de 60
Primer Semestre

OBJETIVO PARTICULAR
Al finalizar la unidad, el alumno podr llevar a cabo la realizacin de un programa a
partir de un algoritmo para un problema determinado.

TEMARIO DETALLADO
(12 HORAS)
4.1. El programa como una expresin computable del algoritmo
4.2 Programacin estructurada
4.3 Modularidad
4.4 Funciones, rutinas y procedimientos
4.5 Enfoque de algoritmos

41 de 60
Primer Semestre

ACTIVIDAD DIAGNSTICA
LO QUE S

Actividad en foro.

Busca tres definiciones de programacin de 3 libros que elijas, subraya las


coincidencias de stas y comprtelo en el foro de la asignatura. Trata con tus
compaeros de realizar una definicin en grupo.

42 de 60
Primer Semestre

ACTIVIDADES DE APRENDIZAJE
Adjuntar archivo. A partir del estudio de la bibliografa especfica
sugerida, elabora un mapa conceptual u organizador grfico con los
temas de la unidad. Puedes auxiliarte de algunos programas como
Mindjet MindManager.

1. Unidad 4, actividad 1. Adjuntar archivo. Realiza un diagrama de flujo donde


muestres el proceso para convertir un algoritmo en un programa de
computadora.
2. Unidad 4, actividad 2. Adjuntar archivo. Investiga qu otras estructuras de
control se derivan de las bsicas que se abordaron en este apunte.
3. Unidad 4, actividad 3. Adjuntar archivo. Desarrolla un diagrama top-down y
uno de bottom-up para un sistema de inventarios.
4. Unidad 4, actividad 4. Adjuntar archivo. Investiga el tipo de enfoque que
utiliza una empresa determinada para desarrollar sus sistemas de informacin.
5. Unidad 4, actividad 5.

Selecciona un problema sencillo que pueda ser

solucionado a travs de la implementacin de un algoritmo. Desarrllalo y


convierte el algoritmo resultante en un programa de computadora escrito en
lenguaje C.

43 de 60
Primer Semestre

ACTIVIDAD INTEGRADORA
LO QUE APRENDI
Adjuntar archivo

Retoma la actividad del apartado Lo que s y complementa tu concepto de


programacin con lo estudiado en esta unidad y la informacin de otras fuentes (en
este caso, no olvides citarlas).

44 de 60
Primer Semestre

CUESTIONARIO DE
REFORZAMIENTO
Adjuntar archivo. Responde las siguientes preguntas.

1. Qu entiendes por una prueba de escritorio?


2. Qu es un compilador?
3. Qu es un diccionario de datos?
4. Explica la expresin el programa como la expresin computable del
algoritmo.
5. Cules son las estructuras de control bsicas?
6. Qu establece el teorema de la estructura?
7. Enuncia cinco ventajas de la programacin estructurada.
8. Qu es la modularidad?
9. Qu es el refinamiento progresivo?
10. Qu es el procesamiento regresivo?

45 de 60
Primer Semestre

EXAMEN PARCIAL
(de autoevaluacin)

I. Relaciona ambas columnas.

1. Cargar datos muestra y seguir la lgica


marcada por el diagrama o el pseudocdigo.

2. Se diagraman los pasos del problema.

3. Verifica la sintaxis del cdigo fuente en busca

4. Se ingresan datos muestra para el anlisis de


los resultados.

b) Codificacin
c) Prueba de

de errores.

a) Compilacin

5. Traduce cada grfico del diagrama o lnea del

escritorio
d) Prueba del
programa
e) Diseo del
algoritmo

pseudocdigo a una instruccin de algn


lenguaje de programa.

46 de 60
Primer Semestre

II. Relaciona ambas columnas.

1. Estructuras de control bsicas.

2. Ventajas

a) Productividad
programador

de

la

programacin

estructurada.

4. La

programacin

estructurada

c) Iteracin, seleccin,
secuencia

est

basada en

b) Teorema de la
estructura

3. Es una caracterstica importante en un


programa estructurado.

del

5. Serie de instrucciones que se ejecutan

d) Ser ledo en
secuencia
e) Secuencia

sucesivamente.

III. Responde verdadero (V) o falso (F).

2. Las funciones devuelven una tarea especfica.

3. Los procedimientos son los ms usados en los lenguajes de

1. Los procedimientos devuelven un resultado.

programacin.
4. Las funciones son las ms usadas en los lenguajes de
programacin.
5. El refinamiento progresivo se enfoca a la asociacin e
identificacin de caractersticas comunes entre los casos para
disear un modelo que represente la solucin para todos ellos.
6. La tcnica top-down o diseo descendente consiste en
establecer una serie de niveles de mayor a menor complejidad.
7. El procesamiento regresivo es una tcnica de anlisis y
diseo de algoritmos basado en la divisin del problema
principal en problemas ms simples.
8. La ventaja del diseo ascendente es que su desarrollo es
mucho ms econmico que el descendente.

47 de 60
Primer Semestre

9. El diseo ascendente identifica subalgoritmos que necesitan


computarizarse conforme vayan apareciendo, su anlisis y su
codificacin, para satisfacer el problema inmediato.

IV. Responde verdadero (V) o falso (F).

1. La compilacin es un programa para convertir un cdigo


fuente a un programa ejecutable.
2. Si en las pruebas del programa se detectan errores, slo se
tienen que volver a compilar el programa.
3. Las estructuras MIENTRAS y HASTA QU son condicionales
iterativas.
4. El teorema de la estructura slo hace referencia a las
estructuras de control de secuencia, seleccin e iteracin.
5. Un programa estructurado contiene instrucciones de desvo
del flujo de control.
6. Slo hay un tipo de mdulo, y es la funcin.
7. Un procedimiento devuelve una tarea; y una funcin, un
resultado.
8. El refinamiento progresivo contiene al procedimiento ms
costoso, pero el ms eficiente para integrar los mdulos de un
sistema.
9. El bottom-up tiene la limitacin de duplicar esfuerzos al
introducir datos, ya que se incorporan al sistema muchos datos
carentes de valor.

48 de 60
Primer Semestre

RESPUESTAS
EXAMEN DE AUTOEVALUACIN
En este apartado encontrars las respuestas al examen por unidad.

Unidad 4

Unidad 4

I. Solucin

II. Solucin

1.
2.
3.
4.
5.

c
e
a
d
b

1.
2.
3.
4.
5.

c
a
d
b
e

Unidad 4

Unidad 4

III. Solucin

IV. Solucin

1.
2.
3.
4.
5.
6.
7.
8.
9.

F
F
F
V
F
V
F
V
V

1.
2.
3.
4.
5.
6.
7.
8.
9.

F
F
V
V
F
F
V
V
V

49 de 60
Primer Semestre

UNIDAD 5

Evaluacin de algoritmos

50 de 60
Primer Semestre

OBJETIVO PARTICULAR
Al finalizar la unidad, el alumno podr identificar el algoritmo que solucione ms
eficientemente al problema en cuestin, documentarlo en futuras revisiones y llevar a
efecto el mantenimiento preventivo, correctivo y adaptativo para su ptima operacin.

TEMARIO DETALLADO
(16 HORAS)

5.1. Refinamiento progresivo


5.2 Depuracin y prueba
5.3 Documentacin del programa
5.4 Mantenimiento de programas

51 de 60
Primer Semestre

ACTIVIDAD DIAGNSTICA
LO QUE S
Adjuntar archivo

De acuerdo a lo que aprendiste en las unidades anteriores, elabora un cuadro


sinptico con las principales caractersticas de un algoritmo; enfatiza los conceptos de
la evaluacin de un algoritmo.

52 de 60
Primer Semestre

ACTIVIDADES DE APRENDIZAJE
Adjuntar archivo. A partir del estudio de la bibliografa especfica
sugerida, elabora un mapa conceptual u organizador grfico con los
temas de la unidad. Puedes auxiliarte de algunos programas como
Mindjet MindManager.

1. Unidad 5, actividad 1. Adjuntar archivo. Elabora un cuadro comparativo de


evaluacin de mtodos de ordenacin y determinar su eficiencia con base en la
complejidad de sus algoritmos y la calidad de datos.
2. Unidad 5, actividad 2. Adjuntar archivo. Elabora un pequeo manual con los
pasos para documentar programas de tal forma que te sirva como un estndar.
3. Unidad 5, actividad 3. Adjuntar archivo. Investiga en una empresa que
conozcas el procedimiento que emplean para llevar a cabo el mantenimiento de
sus programas o sistemas de informacin, y realiza un reporte.

53 de 60
Primer Semestre

ACTIVIDAD INTEGRADORA
LO QUE APREND
Adjuntar archivo.

A partir de la revisin general de esta unidad y la bibliografa especfica sugerida,


elabora un mapa mental u organizador grfico que te facilite el estudio y comprensin
de los temas analizados. Puedes auxiliarte de algunos programas como Mindjet
MindManager.

54 de 60
Primer Semestre

CUESTIONARIO
DE REFORZAMIENTO
Adjuntar archivo. Responde las siguientes preguntas.

1. Qu es la evaluacin de algoritmos?
2. Segn la forma como se encuentran los datos de entrada a un algoritmo, qu
significan el caso peor, el mejor y el promedio?
3. Qu se entiende por depuracin de programas?
4. Cules son los errores lgicos y los de sintaxis?
5. Qu es la prueba de programas?
6. Enlista cinco elementos que se verifican en la prueba de programas.
7. Enumera cinco elementos que se deben incluir en la documentacin de un
programa.
8. Para qu sirve el mantenimiento de programas?
9. Qu es el mantenimiento preventivo?
10. Qu es el mantenimiento correctivo?

55 de 60
Primer Semestre

EXAMEN PARCIAL
(Autoevaluacin)

I. Relaciona ambas columnas.

Es el proceso de identificacin y correccin de


errores de programacin.

Tiene como propsito asegurar que el programa


produce

los

resultados

definidos

en

las

a) Sintaxis
b) Depuracin
c) Prueba de

especificaciones funcionales.

Los errores ms sencillos de detectar son de

Los errores ms difciles de detectar son de

programas
d) Clculo

II. Relaciona ambas columnas.

Es una extensin de la documentacin del


sistema.

El

programador

debe

Lista de programas

2.

Documentacin de

trabajar

conjuntamente con ella.

1.

Incluye copia de la ltima compilacin del

programas
3.

Especificacin de
programas

programa con todas las opciones.

56 de 60
Primer Semestre

III. Relaciona ambas columnas.

Los programas no tienen error, pero se requiere


alguna actualizacin por una nueva versin del
programa. Esto se refiere al mantenimiento de
tipo
La revisin, la codificacin para depurar y
compilar un programa se realiza en el
mantenimiento
La regeneracin de ndices y registros, realizar
respaldos, verificar la integridad de los
programas, actualizar porcentajes y tablas de
datos, son actividades del mantenimiento

1. Preventivo
2. Adaptativo
3. Correctivo

IV. Responde verdadero (V) o falso (F).

6. El termino debugging significa eliminacin de bichos.

7. Un error lgico es cuando un programa tiene errores de

1. El algoritmo de seleccin va intercambiando elementos del


arreglo hasta que est ordenado.
2. El algoritmo de insercin va seleccionado los elementos
menores al actual y los intercambia.
3. El propsito de la evaluacin de un algoritmo es medir su
desempeo.
4. En la evaluacin del algoritmo, solamente debe considerarse
el tiempo de proceso.
5. Para medir la complejidad de un algoritmo, no es necesario
utilizar funciones matemticas.

sintaxis.

57 de 60
Primer Semestre

8. El compilador es un programa que facilita la deteccin y

correccin de errores.
9. Para realizar pruebas al programa, utilizar cualquier tipo de
datos, tanto correctos como incorrectos.
10. En las pruebas al programa, se verificarn todos los clculos
que realice el programa.
11. El objetivo de la documentacin de programas es
familiarizar al usuario final con lo que hacen los programas.
12. El programador puede aplicar su criterio para cualquier
cambio que se presente en las especificaciones del programa.
13. No es necesario incluir el diccionario de datos en la
documentacin de programas.

58 de 60
Primer Semestre

RESPUESTAS
(Examen de Autoevaluacin)

En este apartado encontrars las respuestas al examen por unidad.

1.
2.
3.
4.

Unidad 5

Unidad 5

I. Solucin

II. Solucin

Depuracin
Prueba de programas
Sintaxis
Clculo

1. Documentacin de programas
2. Especificacin de programas
3. Lista de programas

Unidad 5

Unidad 5

III. Solucin

IV. Solucin

1. Adaptativo
2. Correctivo
3. Preventivo

1. F
2. F
3. V
4. F
5. F
6. V
7. F
8. V
9. V
10. V
11. F
12. F
13. F

59 de 60
Primer Semestre

60 de 60
Primer Semestre

Vous aimerez peut-être aussi