Vous êtes sur la page 1sur 48

Metodologa de la Programacin TIC

Metodologa de la Programacin
Fundamentos
MTW Rosa Martha Nez Arroyo

2012

Metodologa de la Programacin TIC

Contenido
Conceptos Bsicos ......................................................................................................................... 3 Adquisicin, procesamiento y almacenamiento de datos ........................................................... 3 Algoritmo ................................................................................................................................... 5 Ejercicios ................................................................................................................................ 5 Pseudocdigo ............................................................................................................................ 6 Ejercicios ................................................................................................................................ 7 Diagrama de Flujo ...................................................................................................................... 8 Simbologa de los Diagramas de Flujo ..................................................................................... 8 Operadores de los Diagramas de Flujo.................................................................................... 9 Ejercicios .............................................................................................................................. 10 Variables .................................................................................................................................. 11 Constantes ............................................................................................................................... 11 Identificadores ......................................................................................................................... 11 Reglas para la creacin de Identificadores ............................................................................ 11 Tipos de datos .......................................................................................................................... 12 Ejercicios .............................................................................................................................. 12 Metodologa para la solucin de problemas por medio de computadoras ................................ 13 Evidencia 1 Unidad ................................................................................................................. 15 Tarea Integradora 1 Unidad .................................................................................................... 16 Expresiones.................................................................................................................................. 17 Operadores Aritmticos, Relacionales y Lgicos ....................................................................... 17 Operadores Aritmticos ....................................................................................................... 17 Operadores Relacionales ...................................................................................................... 18 Operadores Lgicos .............................................................................................................. 18 Jerarqua de Operadores .......................................................................................................... 20 Expresiones.............................................................................................................................. 20 Conversin a de Expresiones Matemticas a Expresiones Algortmicas ................................. 21

Metodologa de la Programacin TIC


Evidencia 2 Unidad ................................................................................................................. 23 Tarea Integradora 2 Unidad .................................................................................................... 24 Algoritmos y Diagramas de Flujo .................................................................................................. 25 Reglas para la elaboracin de Pseudocdigos ........................................................................... 25 Ejemplo: ............................................................................................................................... 26 Reglas para la elaboracin de Diagramas de Flujo .................................................................... 26 Pruebas de Escritorio ............................................................................................................... 27 Ejemplo: ............................................................................................................................... 27 Contadores y Acumuladores..................................................................................................... 29 Contadores .......................................................................................................................... 29 Acumuladores ...................................................................................................................... 30 Contador vs Acumulador ...................................................................................................... 30 Estructuras de Control de Seleccin ......................................................................................... 31 Simples ................................................................................................................................ 31 Dobles .................................................................................................................................. 33 Compuestas ......................................................................................................................... 35 Mltiples .............................................................................................................................. 37 Estructuras de Repeticin ........................................................................................................ 40 Para Hasta ......................................................................................................................... 40 Repite .................................................................................................................................. 42 Mientras .............................................................................................................................. 44 Evidencia 3 Unidad ................................................................................................................. 46 Tarea Integradora 3 Unidad .................................................................................................... 47

Metodologa de la Programacin TIC

Conceptos Bsicos

Adquisicin, procesamiento y almacenamiento de datos


INTRODUCCIN: 1) Preguntar a los alumnos: Qu son estos: R= Son Datos. 12 Confirmado 4 Suspendido 25 110 Cuevas 3 Martnez Alba

2) Preguntarles: Los datos, por s solos, sirven para algo? R= No. 3) Decirles en conclusin: Los datos tienen que estar agrupados, ordenados y definidos para ser tiles, es decir, para convertirse en informacin.

Informacin: Conjunto de datos supervisados y ordenados que sirven para resolver problemas y
tomar decisiones. Ejemplo: DATOS: INFORMACIN: 13.95 , 14.80 Dlar a la compra: $13.95 Dlar a la venta: $14.80

Los datos dados, son valores sueltos que no nos dicen nada, en cambio, con la informacin podemos decidir, por ejemplo, si el dlar est caro o no y si nos conviene comprarlos o esperar a que baje su valor.

Proceso: Accin que se puede descomponer en otras ms simples.

Metodologa de la Programacin TIC


EXPLICACIN: 1) Realizar un proceso significa transformar algo. Un proceso requiere de una entrada para poderse iniciar y dar como resultado una salida: PROCESO

ENTRADA

SALIDA

Entrada: Datos iniciales requeridos para arrancar. Proceso: Operaciones a realizar. Salida: Resultados obtenidos.

Ejemplo de un proceso: Proceso de suma de dos nmeros. 2,5 ENTRADA 7 SALIDA

2 + 5 PROCESO

Proceso de Informacin: Por tanto, consiste en recolectar datos, transformarlos de alguna


manera y convertirlos en informacin til. PROCESO DE INFORMACIN

DATOS

INFORMACIN

Ejemplo de un proceso de informacin: De acuerdo a la diferencia (Resta) entre los ingresos y gastos mensuales que tiene la tienda de abarrotes de Don Chucho, decidir si le conviene seguir mantenindola o no. INGRESOS: $3,250 GASTOS: $2,500 DATOS INGRESOS GASTOS $3,250 $2,500 PROCESO DE INFORMACIN GANANCIA = $750 MENSUALES INFORMACIN

En base a la informacin obtenida, se toma la decisin que ms convenga a la tienda de abarrotes (seguir o cerrarla).

Metodologa de la Programacin TIC


Algoritmo
Conjunto de instrucciones formadas por pasos finitos, eficientes y no ambiguos, que sirven para llevar a cabo una tarea especfica. Como los algoritmos son considerados un tipo de proceso de la informacin y por tanto, requiere de una entrada, un proceso y una salida.

Ejemplo: Algoritmo para preparar una taza de t con azcar.


ENTRADAS: Pocillo, agua, bolsa de t, azcar, taza, cuchara. PROCESO: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Tomar el pocillo. Llenarlo con agua. Encender el fuego. Poner el pocillo en el fuego. Tomar la bolsa de t. Introducirla en el pocillo. Esperar un minuto. Vaciar el t en la taza. Tomar la cuchara. Agarrar azcar con la cuchara. Vaciar el azcar en la taza de t. Revolver el t y el azcar con la cuchara.

SALIDA: Taza de t con azcar.

Ejercicios

Realizar los algoritmos necesarios para: a) b) c) d) Preparar un pan tostado con mermelada. Enviar un mensaje por celular. Comparar dos valores y determinar cul es el mayor. Calcular el rea de un cuadrado.

Metodologa de la Programacin TIC


Pseudocdigo
Describe un algoritmo mezclando frases de un idioma comn (espaol, ingls, etc.) con instrucciones de programacin y palabras clave para realizar el diseo de un programa. Su objetivo es narrar los pasos que debe seguir un algoritmo para dar solucin a un problema. Presentan la ventaja de ser ms compactos que los diagramas de flujo, ms simples de escribir para las instrucciones complejas y ms fciles de trasladar a un lenguaje de programacin; adems de no estar regidos por ningn estndar.

Ejemplo 1: Realizar el pseudocdigo de un algoritmo que lleve a cabo la suma de dos nmeros.
INICIO 1. 2. 3. 4. 5. 6. FIN IMPRIMIR: Introduce el primer nmero: LEER: Primer nmero. IMPRIMIR: Introduce el segundo nmero: LEER: Segundo nmero. CALCULAR: Suma = Primer nmero + Segundo nmero. IMPRIMIR: El resultado es: , Suma.

Ejemplo 2: Realizar el pseudocdigo de un algoritmo que lea un valor y escriba si ste es par o
impar. INICIO 1. 2. 3. 4. 5. FIN IMPRIMIR: Introduce el nmero: LEER: Nmero. SI: Nmero/2 = 0 ENTONCES: IMPRIMIR: El nmero es par SI NO: IMPRIMIR: El nmero es impar

Metodologa de la Programacin TIC


Ejercicios

Realizar los pseudocdigos necesarios para: a) b) c) d) Comparar dos valores y determinar cul es el mayor. Calcular el rea de un cuadrado. Calcular el rea de un crculo. Convierta de kilmetros por hora a metros por segundo.

Metodologa de la Programacin TIC


Diagrama de Flujo
Es la representacin grfica de los pasos realizados en un proceso y sirve para determinar cmo dicho proceso produce un resultado (producto, servicio, informacin, etc.). Simbologa de los Diagramas de Flujo

Smbolo

Significado
Inicializador o Terminador. Representa el inicio o fin de un diagrama de flujo. Proceso. Simboliza la ejecucin de un procedimiento especfico, sobre los datos manejados en el diagrama. Decisin. Indica qu hacer si un evento ocurre y qu hacer si no ocurre. Entrada manual. Representa el ingreso de datos desde el teclado. Conector. Simboliza la unin de un bloque del diagrama con otro. Conector fuera de pgina. Indica la unin de una parte del diagrama con otra que se encuentra en una pgina distinta. Documento. Simboliza la salida de datos por medio de la impresora. Pantalla. Indica la impresin de resultados en la pantalla de la computadora.

Repetir. Permite utilizar estructuras iterativas.

Flujo. Seala la direccin en que se debe leer el diagrama.

Metodologa de la Programacin TIC


Operadores de los Diagramas de Flujo

Operador + * / > < = >= <=

Significado
Suma Resta Multiplicacin Divisin Mayor que Menor que Igual que Mayor o Igual que Menor o Igual que Diferente de

Ejemplo 1: Realizar un diagrama de flujo que lleve a cabo la suma de dos nmeros.
INICIO A

Dame el primer nmero:

Suma = Primer nmero + Segundo nmero

Ingreso del primer nmero

El resultado es: , Suma

Dame el segundo nmero:

FIN

Ingreso del segundo nmero

Metodologa de la Programacin TIC


Ejemplo 2: Realizar el pseudocdigo de un algoritmo que lea un valor y escriba si ste es par o
impar.

INICIO

Introduce un nmero:

Ingreso del nmero

Resultado = Nmero / 2

NO

Resultado = 0?
SI El Nmero es Par

El Nmero es Impar

FIN

Ejercicios

Realizar los diagramas de flujo necesarios para: a) b) c) d) Comparar dos valores y determinar cul es el mayor. Calcular el rea de un cuadrado. Calcular el rea de un crculo. Convierta de kilmetros por hora a metros por segundo.

10

Metodologa de la Programacin TIC


Variables
Una variable es un espacio reservado en la memoria de la computadora y sirve para contener un dato valor determinado, el cual puede ser numrico o de otro tipo. ANALOGA: Es posible comparar una variable con un cajn en el cual solamente cabe un objeto a la vez y ese objeto, sera el dato en cuestin. La caracterstica principal de las variables es que, como su nombre lo indica, pueden cambiar su valor en el momento que se requiera.

Constantes
Al igual que las variables, son espacios de memoria reservados para almacenar un valor. Sin embargo, se diferencian de stas, porque las constantes no pueden cambiar el dato que estn guardando, sino que lo mantienen fijo.

Identificadores
Para localizar una variable o constante, dentro de un algoritmo, pseudocdigo o diagrama de flujo, es necesario asignarle un nombre; dicho nombre se conoce como identificador. Se aconseja utilizar nombres representativos de los datos que se almacenarn.

Reglas para la creacin de Identificadores

1. Incluir uno o ms caracteres. 2. El primer carcter debe ser una letra o guion bajo (_), mientras que todos los dems, pueden ser letras, dgitos o guiones bajos (_). Las letras pueden ser minsculas o maysculas del alfabeto ingls, es decir, no est permitido el uso de '' y ''. 3. No pueden existir dos identificadores iguales, es decir, dos variables o constantes no pueden llevar el mismo nombre. 4. Salvo el guion bajo, no se puede utilizar ningn otro smbolo especial.

11

Metodologa de la Programacin TIC


Tipos de datos
Es el tipo de valor que una variable o constante, puede almacenar. Existen 4 tipos de datos bsicos, conocidos como simples: 1. Entero: Incluye todos los nmeros enteros (positivos o negativos) que hay. 2. Real: Representan a los nmeros decimales tanto positivos como negativos. 3. Carcter: Comnmente conocido como char (por su nombre en ingls), es usado para almacenar caracteres simples, como a o s. En caso de que se requieran guardar palabras e incluso, frases completas, el tipo de dato regularmente usado, es string (cadena de caracteres), el cual puede almacenar datos como: Esta es una cadena de caracteres. 4. Booleano: Las variables o constantes de este tipo, slo pueden almacenar dos valores: Verdadero o Falso. En algunos casos, el valor verdadero suele representarse tambin con un 1 y el Falso como un 0.

Ejemplo: Si la variable A guarda nicamente nmeros que no sean decimales, de qu tipo es? R=
Entera.

Ejercicios

Responder correctamente las siguientes preguntas: a) Indica dos valores que pueda almacenar la variable N1, la cual es de tipo Real. R= 1.5, 2.3 b) De qu tipo debe ser la variable Nombre, si requiere almacenar el nombre completo de una persona? R= String o Carcter. c) Una constante slo puede contener un valor verdadero o falso, cul ser su tipo de dato? R= Booleano.

12

Metodologa de la Programacin TIC


Metodologa para la solucin de problemas por medio de computadoras
La solucin de un problema por computadora, requiere de siete pasos dispuestos de tal forma, que cada uno depende de los anteriores, es decir, es un proceso complementario y por lo tanto, cada paso exige el mismo cuidado en su elaboracin. Los siete pasos de la metodologa son: 1. Definicin del problema.- Es el enunciado del problema. Debe ser claro y completo. Es fundamental conocer y delimitar totalmente el problema, para saber qu es lo que debe realizar la computadora y mientras esto no suceda, no tiene caso continuar con el siguiente paso. 2. Anlisis de la solucin.- Una vez definido el problema, es necesario determinar cules sern los datos de entrada, qu informacin se desea producir (salida) y qu mtodos y/o frmulas son necesarias para procesar dichos datos. RECOMENDACIN: Hay que ponerse en el lugar de la computadora y analizar qu necesitamos que nos ordenen y en qu secuencia, para producir los resultados esperados. 3. Diseo del algoritmo.- A continuacin, se debe crear la serie de pasos ordenados que proporcionen un mtodo explcito para solucionar el problema, es decir, el algoritmo. Las caractersticas de un buen algoritmo son: a. Tener un punto particular de inicio. Indicar claramente por dnde empezar. b. Ser definido, no permitir dobles interpretaciones. c. Ser general, es decir, soportar la mayora de las variantes que se puedan presentar en la definicin del problema. d. Ser finito en tamao y tiempo de ejecucin. EJEMPLIFICACIN DE PRCTICA: Tomar a dos alumnos, decirle a uno de ellos que le d rdenes al otro para que realice alguna accin. Quien recibe las rdenes debe desconocer qu es lo que el otro compaero desea que haga. 4. Codificacin.- Consiste en escribir la solucin del problema (de acuerdo al pseudocdigo o diagrama de flujo) como una serie de instrucciones detalladas en un cdigo reconocible por la computadora, es decir, en un lenguaje de programacin, lo cual se conoce como Programa.

13

Metodologa de la Programacin TIC


5. Prueba y Depuracin.- La prueba es el proceso de localizar los errores existentes en un programa. Para ello, es necesario: a. Iniciar la prueba con una mentalidad saboteadora, intentando por todos los medios, que el programa marque algn error. b. Sospechar de todos los resultados que arroje la solucin y verificarlos. c. Considerar todas las situaciones posibles tanto normales como anormales. La depuracin, es el proceso de eliminar los errores que se hayan encontrado mediante la prueba. 6. Documentacin.- Es la gua escrita que sirve para saber cmo usar un programa o facilitar futuras modificaciones. Debe presentarse en tres formas: a. Documentacin Interna.- Son los comentarios que se agregan al cdigo del programa y explican las funciones que realizan ciertos procesos, clculos o frmulas para el entendimiento del mismo. b. Documentacin Externa.- Es el Manual Tcnico, integrado por los siguientes elementos: Descripcin del Problema, Nombre del Autor, Diagrama del Flujo y/o Pseudocdigo, Lista de variables y constantes, y Codificacin del Programa; con la finalidad de permitir su posterior adecuacin a los cambios. c. Manual del Usuario.- Es la gua que se le proporciona al usuario final, para que aprenda a manejar el programa. Presenta todas las pantallas y mens que ste encontrar y una explicacin de los mismos, pero no contiene informacin de tipo tcnico. 7. Mantenimiento.- Se lleva a cabo despus de terminar y poner a trabajar el programa, si se detecta que es necesario hacer un cambio, ajuste y/o complementacin para que siga trabajando de correctamente.

14

Metodologa de la Programacin TIC


Evidencia 1 Unidad
Reunir los 15 ejercicios relativos a la unidad 1, pasarlos en limpio escritos a mano y entregarlos. I.- Realizar los algoritmos necesarios para: a) b) c) d) Preparar un pan tostado con mermelada. Enviar un mensaje por celular. Comparar dos valores y determinar cul es el mayor. Calcular el rea de un cuadrado.

II.- Realizar los pseudocdigos necesarios para: a) b) c) d) Comparar dos valores y determinar cul es el mayor. Calcular el rea de un cuadrado. Calcular el rea de un crculo. Convierta de kilmetros por hora a metros por segundo.

III.- Realizar los diagramas de flujo necesarios para: a) b) c) d) Comparar dos valores y determinar cul es el mayor. Calcular el rea de un cuadrado. Calcular el rea de un crculo. Convierta de kilmetros por hora a metros por segundo.

IV.- Responder correctamente las siguientes preguntas: a) Indica dos valores que pueda almacenar la variable N1, la cual es de tipo Real. b) De qu tipo debe ser la variable Nombre, si requiere almacenar el nombre completo de una persona? c) Una constante slo puede contener un valor verdadero o falso, cul ser su tipo de dato?

Lista de Cotejo para Revisin de esta Evidencia

15

Metodologa de la Programacin TIC


Tarea Integradora 1 Unidad
Realizar, por equipos, el anlisis de los ejercicios dados, indicando en una tabla los datos que se solicitan en cada columna, como se observa en el ejemplo siguiente: Ejercicio 1: Realizar la suma de dos nmeros. NMERO DE EJERCICIO 1 DATOS DE ENTRADA Primer nmero Segundo nmero DATOS DE SALIDA Suma de dos nmeros TIPOS DE DATOS USADOS Resultado de la suma OPERACIONES A REALIZAR 1) Primer nmero + Segundo nmero

Ejercicios: 1) Comparar dos valores y determinar si son iguales. 2) Calcular la raz cuadrada de un nmero. 3) Calcular la hipotenusa de un tringulo rectngulo, conocidas las longitudes de sus dos catetos. 4) Ordenar dos nmeros de menor a mayor. 5) Calcular el volumen de un cubo.

Lista de Cotejo para Revisin de esta Tarea Integradora

16

Metodologa de la Programacin TIC


Expresiones

Operadores Aritmticos, Relacionales y Lgicos


En un cdigo fuente, un operador es un carcter o secuencia de caracteres que definen las operaciones que se realizarn con los datos u operandos.

Operadores Aritmticos

Operan sobre valores de tipo entero o real (decimal) y son: OPERADOR ^ + * / div mod DESCRIPCIN Potencia (permite operandos enteros y/o reales). Suma (permite operandos enteros y/o reales). Resta (permite operandos enteros y/o reales). Multiplicacin (permite operandos enteros y/o reales). Divisin real (sin importar si los operandos son enteros o reales). Cociente o resultado entero (slo permite operandos enteros). Devuelve el resto o residuo de la divisin (slo permite operandos enteros). EJEMPLO DE EXPRESIN 3^2 2.5 + 7.1 10 3 1.2 * 1 6/8 30/3 20 div 7 20 mod 7 RESULTADO DEL EJEMPLO 9 9.6 8 1.2 0.75 10 2 6

Ejercicios:

a) b) c) d)

40 div 2 = 20 40 mod 2 = 0 17 div 3 = 5 17 mod 3 = 2

17

Metodologa de la Programacin TIC


Operadores Relacionales

Operan sobre valores de tipo entero, real o cadena y son: OPERADOR = <> < > <= >= DESCRIPCIN Igual que Diferente de Menor que Mayor que Menor o igual Mayor o igual EJEMPLO DE EXPRESIN 110 = 110 9=3 12 <> 12 7 <> 38 A < B F < C 10 > 50 2.5 > 1.0 20 <= 16 1 <= 1 32 >= 32 D >= K RESULTADO DEL EJEMPLO Verdadero Falso Falso Verdadero Verdadero Falso Falso Verdadero Falso Verdadero Verdadero Falso

Ejercicios:

Indicar si el resultado de la comparacin es verdadero o falso. a) b) c) d) 12 <= 26 19 <> 3 78 = 10 C >= F Verdadero Verdadero Falso Falso

Operadores Lgicos

Tambin conocidos como Booleanos, operan sobre valores de su mismo tipo, es decir, lgicos o booleanos y devuelven como resultado tambin valores de dicho tipo. Son: OPERADOR AND OR NOT DESCRIPCIN Y O No o Negacin EJEMPLO DE EXPRESIN Verdadero AND Falso Verdadero OR Falso NOT Verdadero RESULTADO DEL EJEMPLO Falso Verdadero Falso

18

Metodologa de la Programacin TIC


Tablas de Verdad para AND

Con el operador AND, el resultado ser verdadero slo si los dos operandos son verdaderos. A V V F F B V F V F EXPRESIN COMPLETA A AND B V AND V V AND F F AND V F AND F RESULTADO DEL EJEMPLO V F F F

Tablas de Verdad para OR

Con el operador OR, el resultado ser verdadero si uno de los dos operandos o ambos, son verdaderos. A V V F F B V F V F EXPRESIN COMPLETA A OR B V OR V V OR F F OR V F OR F RESULTADO DEL EJEMPLO V V V F

Tablas de Verdad para NOT

Con el operador NOT, el resultado ser verdadero si el operando es Falso y viceversa. A V F Ejercicios: EXPRESIN COMPLETA NOT A NOT V NOT F RESULTADO DEL EJEMPLO F V

a) b) c) d)

V AND F = Falso F OR V = Verdadero NOT V = Falso NOT F AND V = Verdadero

19

Metodologa de la Programacin TIC


Jerarqua de Operadores
Indica cul operador debe ejecutarse sobre los operandos y cul debe hacerlo despus: NIVEL DE PRIORIDAD 1 2 3 4 5 6 OPERADOR () ^ NOT *, /, div, mod, AND +, -, OR =, <>, >, <, >=, <=

La secuencia de operadores de igual prioridad, normalmente se evala de izquierda a derecha dentro de una expresin, aunque se recomienda el uso de parntesis para hacer que las expresiones sean ms claras y fciles de entender.

Expresiones
Una expresin, es una combinacin de operadores y operandos, donde estos ltimos pueden ser nmeros, o bien, datos almacenados en constantes y/o variables. Dentro de la programacin, se usan para realizar una o varias operaciones sobre un dato o un conjunto de stos, obtenindose otro dato como resultado.

Ejemplos:
EXPRESIN 2*3+4 2+3*4 (2 + 3) * 4 17 div 2 1 RESULTADO INTERMEDIO 6+4 2 + 12 5*4 81 RESULTADO FINAL 10 14 20 7

Las reglas de evaluacin de expresiones, pueden resumirse en las siguientes: a) Un dato situado entre dos operadores de diferente prioridad, se liga al operador de mayor prioridad. b) Un dato situado entre dos operadores de igual prioridad, se liga al operador de la izquierda. c) Las expresiones entre parntesis se evalan primero para que sus resultados sean tratados como datos simples.

20

Metodologa de la Programacin TIC


Ejercicios:

I.- Resuelve correctamente las siguientes expresiones usando la jerarqua de operadores e indica cul es sta: 1. 2. 3. 4. 3 * 5 8 / 2 = 15 4 = 11 (9 + 1) * (5 2) = 10 * 3 = 30 9 div 3 * 2 + (5 mod 4) = 3 * 2 + 1 = 6 + 1 = 7 ((10 + 2) * 4) / (8 + (9 5)) = (12 * 4) / (8 + 4) = 48 / 12 = 4

II.- Convierte los siguientes enunciados a expresiones numricas: 1. Seis veces la diferencia entre 25 y 3. 6(25-3) 2. La suma de 320 y 8, divididos entre 2, todo ello dividido entre 4.

((320+8)/2)/4

Conversin a de Expresiones Matemticas a Expresiones Algortmicas

Una expresin algebraica es, por ejemplo: ax2+bx=c Para convertirla a expresin algortmica, hay que tener en cuenta los operadores antes vistos, as, la expresin anterior se convertira en: a*x^2+b*x=c

Ejemplos:
a) 3x2+5x-6 = 3*x^2 + 5*x 6 b) X4-2x2+5x+1 = x^4 2*x^2 + 5*x + 1 c) 5-xy2+xb-x5 = 5 x*y^2 + x*b x^5

21

Metodologa de la Programacin TIC


Ejercicios:

Convertir las siguientes expresiones algebraicas a expresiones algortmicas. a) b) c) d) e) f) ab=c x3+yx2+zx=b (ab + cd)/(x/y) q2+((x3-ax)b)=k Ax4-Bx3+Cx-D a2+2ab+b2 a*b=c x^3+y*x^2+z*x=b (a*b+c*d)/(x/y) q^2+((x^3-a*x)*b)=k A*x^4-B*x^3+C*x-D a^2+2*a*b+b^2

22

Metodologa de la Programacin TIC


Evidencia 2 Unidad
1. Resolver las siguientes expresiones aritmticas, respetando la jerarqua de operadores. a. -4 * 7 + 2 ^ 3 / 4 5 b. ( 7 * ( 10 - 5) mod 3) + 4 + 9 c. 10 div 2 * 8 / 4 5 d. (33 + 10 mod 3 * 4) /5 e. 16 * 12 mod 3 3 * 2 f. (( 3 + 2 ) ^ 2 15) / 2 * 5 g. Y = (4 * 3 / 2) mod (8 \ 4 + 2) 2. Deducir el valor de las siguientes expresiones sabiendo que: A = 5; B = 25; C = 10 a. X = A + B mod C b. X = (A + B) / C c. X = A + (B / C) d. x ^ 2 - 4 * y * z Valores: y = 2, x = 1, z = 3 e. ( X ^ 2 + Y ^ 2 ) > ( 30 / 2 ) Valores: X = 2, Y = 3, Z = 4 3. Obtener el resultado de las siguientes expresiones sabiendo que: A = 4; B = 5; C = 1 a. B * A - B ^ 2 / 4 * C b. (A * B) / 3 ^ 2 c. ( ( ( B + C ) / 2 * A + 10 ) * 3 * B ) - 6 4. Evaluar las siguientes expresiones lgicas aplicando la jerarqua de operadores, para saber si el resultado de cada una es Verdadero o Falso. EXPRESIN 1. ((A * B) < (B + C)) AND (A = C) 2. ((A + B) > C) OR ((B / D > B)) 3. X = (A \ B) * C + (A / B) 4. PI * X^2>Y OR 2* PI * X <=Z 5. X>3 AND (Y=4 OR (X+Y<=Z)) 6. X>3 AND (Y=4 OR (X+Y<=Z)) 7. (NOT (Y/2=2*X)) AND (NOT (Y<(PI-E*Z)) 8. 9. 10. 11. 12. a>b a>=b a<b a<=b Not a=b DONDE: A=3, B=4 y C=2 A=2, B=5, C=3 y D=5 A = 4, B = 2, C = 3 X=1 Y=4 Z=10 PI=3.141592 E=2.718281 a=5 y b=2

Lista de Cotejo de la Evidencia 2 Unidad

23

Metodologa de la Programacin TIC


Tarea Integradora 2 Unidad
I.- Realizar por equipos las conversiones de expresiones matemticas a expresiones algortmicas, teniendo en cuenta los operadores aprendidos en clase.

1. 2.

3.
4. P= 5.
6. +1

7.
8. (m + n)

9. 10.

II.- Para cada uno de los ejercicios anteriores, incluir la jerarqua de operadores para indicar el en que stos se ejecutarn. III.- Convertir los siguientes enunciados a expresiones numricas. 1. El cubo del trmino X, ms el triple producto del cuadrado del termino X por el termino Y, ms el triple producto del termino X por el cuadrado del termino Y, ms el cubo del termino Y. 2. La diferencia entre el producto de 9 y 15, y el cociente de 24 y 4. 3. La suma de 8 y 3, por la diferencia de 6 y 2.

Lista de Cotejo Tarea Integradora 2 Unidad

24

Metodologa de la Programacin TIC


Algoritmos y Diagramas de Flujo

Reglas para la elaboracin de Pseudocdigos


Todo documento en pseudocdigo debe permitir la descripcin de: Instrucciones primitivas. Instrucciones de proceso. Instrucciones de control. Instrucciones compuestas. Instrucciones de descripcin.

Estructura a seguir en su realizacin: a) Cabecera: Programa. Modulo. Tipos de datos. Constantes. Variables. b) Cuerpo: Inicio Instrucciones Fin NOTA: Para comentar en pseudocdigo se le antepone al comentario dos asteriscos (*).

25

Metodologa de la Programacin TIC


Ejemplo:

Programa que calcula el rea de un cuadrado a partir de un lado dado por teclado. Programa: area_cuadrado Mdulo: main **( tambin se puede llamar principal). Variables: lado: nmero natural rea: nmero natural Algoritmo: Inicio Imprimir: "Introduce el lado del cuadrado" Leer (lado) Area lado * lado Imprimir: "El rea del cuadrado es: ", rea Fin

Reglas para la elaboracin de Diagramas de Flujo


1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Usar solamente lneas de flujo, horizontales y/o verticales. Evitar el cruce de lneas utilizando conectores. Usar conectores slo cuando sea necesario. No dejar lneas de flujo sin conectar. Todos los smbolos deben estar conectados. Trazar los smbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a derecha. A un smbolo de proceso pueden llegar varias lneas de flujo. A un smbolo de decisin pueden llegar varias lneas de flujo, pero slo saldrn dos. A un smbolo de inicio nunca le llegan lneas. De un smbolo de fin no parte ninguna lnea. Escribir claramente cualquier texto que contengan los smbolos, evitando el uso de muchas palabras.

26

Metodologa de la Programacin TIC


Pruebas de Escritorio
Una prueba de escritorio es la comprobacin lgica, de un algoritmo de resolucin, es til para entender que hace un determinado algoritmo, o para verificar que un algoritmo cumple con la especificacin sin necesidad de ejecutarlo. Bsicamente, una prueba de escritorio es una ejecucin a mano del algoritmo, por lo tanto se debe llevar registro de los valores que va tomando cada una de las variables involucradas en el mismo. Para desarrollar la prueba de escritorio, se utilizara el siguiente procedimiento: 1. Con datos de prueba, se seguirn cada uno de los pasos propuestos en el algoritmo de resolucin. 2. Si la prueba de escritorio genera resultados ptimos, quiere decir que el algoritmo posee una lgica adecuada, en caso contrario el algoritmo tendr que ser corregido.

Ejemplo: Realizar la prueba de escritorio del algoritmo dado. suma: entero entrada: entero menor: entero leer (entrada) menor entrada suma 0 mientras (entrada != 0) si (entrada < menor) entonces menor entrada fin_si suma suma + entrada leer entrada fin_mientras imprimir: valor Menor: imprimir: menor imprimir: Suma: imprimir: suma

27

Metodologa de la Programacin TIC


INSTRUCCIN leer (entrada) menor entrada suma 0 suma suma + entrada leer (entrada) menor entrada suma suma + entrada leer (entrada) suma suma + entrada leer (entrada) Imprimir: valor menor: Imprimir: menor Imprimir: Suma: Imprimir: suma ENTRADA MENOR SUMA PANTALLA 10 10 0 10 7 7 17 9 26 0 Valor Menor 7 Suma: 26

28

Metodologa de la Programacin TIC


Contadores y Acumuladores

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 accin. Se usan con la finalidad de contar sucesos o acciones internas de un ciclo; deben realizar una operacin de inicializacin y posteriormente las sucesivas de incremento o decremento del mismo. La inicializacin consiste en asignarle al contador un valor inicial y se sita antes y fuera del ciclo.

Ejemplos:

Cada vez que alguien es atendido en la taquilla de un banco, se puede almacenar en un contador de personas atendidas. Cada vez que se vende una entrada a un juego de futbol, se puede almacenar en un contador de entradas vendidas. Cada vez que se registra un nuevo usuario en una pgina web, se puede almacenar en un contador de usuarios registrados.

A continuacin, se presenta en pseudocdigo, la estructura general de un contador: int contador = 0 inicio del ciclo i=i+1 fin del ciclo Los contadores pueden ser de incremento o decremento, por tanto, las siguientes expresiones son vlidas: i = i + 1; i = i 1; o bien, i++; o bien, i--; (Expresiones equivalentes). (Expresiones equivalentes).

29

Metodologa de la Programacin TIC


Acumuladores

Un acumulador es una variable que suma sobre s misma un conjunto de valores para tener el total de ellos en una sola variable.

Ejemplos:

La cantidad de dinero depositado en una cuenta de ahorros en el lapso de un mes, se podra almacenar en un acumulador de depsitos. La cantidad de estudiantes de todos los salones de clases podra almacenarse en un acumulador de cantidad de estudiantes de cada seccin. La suma de los habitantes de cada uno de los estados del pas, se podra guardar en el acumulador llamado total de habitantes del pas.

A continuacin, se presenta en pseudocdigo la estructura general de un acumulador: int acumulador = 0 inicio del ciclo acumulador = acumulador + valor fin del ciclo

Donde valor puede ser un dato introducido por el usuario, el producto de un clculo, etc.

Contador vs Acumulador

La diferencia entre un contador y un acumulador, es que el primero aumenta de uno en uno y el segundo lo hace en una cantidad variable.

30

Metodologa de la Programacin TIC


Estructuras de Control de Seleccin
Tambin llamadas estructuras condicionales, se identifican porque en la fase de solucin del problema existe algn punto en el cual es necesario establecer una pregunta, para decidir si ciertas acciones deben realizarse o no. En pseudocdigo, estas estructuras son representadas con las palabras IF THEN ELSE (SI ENTONCES SI NO o DE LO CONTRARIO). En los diagramas de flujo se simbolizan con un rombo.

Simples

Se conforman de una sola condicin. Es representada por la estructura IF THEN, la cual evala la condicin: Si sta es verdadera, entonces ejecuta la accin o acciones localizadas en el bloque IF. Si es falsa, entonces no se hace nada.

Representacin en pseudocdigo

INGLES If (condicin) then Accin a realizar en caso de que la condicin se cumpla. End If Representacin en diagrama de flujo

ESPAOL Si (condicin) Entonces Accin a realizar en caso de que la condicin se cumpla. Final Si

31

Metodologa de la Programacin TIC


Ejemplo:

Construir un algoritmo que, dada la calificacin de un alumno en un examen, escriba Aprobado en caso que esa calificacin fuese mayor que 8. Representacin en Pseudocdigo: Salidas: Mensaje de Aprobado si se cumple la condicin. Entradas: Calificacin. Datos adicionales: Un alumno aprueba si la calificacin es mayor que 8. Variables: Cal = Calificacin Algoritmo: INICIO LEER (Cal) SI (Cal > 8) ENTONCES Escribir Aprobado FIN_SI FIN

Representacin en Diagrama de Flujo:

32

Metodologa de la Programacin TIC


Dobles

Son estructuras lgicas que permiten controlar la ejecucin de varias acciones y se usan cuando se tienen dos opciones de accin, por la naturaleza de stas se debe ejecutar una o la otra, pero no ambas a la vez.

Representacin en pseudocdigo

INGLES If (condicin) then Accin a realizar en caso de que la condicin se cumpla. Else Accin a realizar en caso de que la condicin no se cumpla. End If

ESPAOL Si (condicin) Entonces Accin a realizar en caso de que la condicin se cumpla. Si no Accin a realizar en caso de que la condicin no se cumpla. Final Si

Representacin en diagrama de flujo

33

Metodologa de la Programacin TIC


Ejemplo:

Construir un algoritmo que, dada la calificacin de un alumno en un examen, escriba Aprobado en caso que esa calificacin fuese mayor que 8 y Reprobado en caso contrario.

Representacin en Pseudocdigo: Algoritmo: INICIO LEER (Cal) SI (Cal > 8) ENTONCES Escribir Aprobado SI NO Escribir Reprobado FIN_SI FIN

Representacin en Diagrama de Flujo:

34

Metodologa de la Programacin TIC


Compuestas

Se utilizan en aquellos casos en que luego de tomar una decisin y marcar el camino correspondiente a seguir, es necesario tomar otra decisin; proceso que puede repetirse numerosas veces. Este tipo de estructuras se llama bloque anidado o IF anidado, pues contiene un bloque condicional (IF) dentro de otro.

Ejemplo:

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 trabajo exceden de 40, el resto se consideran horas extras y que stas 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 paga por una hora normal y el resto al triple. SOLUCIN: Primero, determinar si el trabajador labor horas extra o no. Encontrar las horas extra de la siguiente forma: HORAS EXTRA = HORAS TRABAJADAS 40 SI TRABAJ HORAS EXTRA: SI HORAS EXTRA > 8 ENTONCES HORAS EXTRA EXCEDENTES DE 8 = HORAS EXTRA 8 Y PAGO POR HORAS EXTRA = PAGO POR HORA NORMAL * 2 * 8 + PAGO POR HORA NORMAL * 3 * HORAS EXTRA EXCEDENTES DE 8. SI NO (SLO HORAS AL DOBLE), PAGO POR HORAS EXTRA = PAGO POR HORA NORMAL * 2 * HORAS EXTRA. FINALMENTE, PAGO TOTAL QUE RECIBIR EL TRABAJADOR SER: PAGO = PAGO * HORA NORMAL * 40 + PAGO POR HORAS EXTRA. SI NO TRABAJ HORAS EXTRA: PAGO = PAGO POR HORA NORMAL * HORAS TRABAJADAS SALIDAS: PAGO. ENTRADAS: NMERO DE HOJAS TRABAJADAS Y PAGO POR HORA NORMAL.

35

Metodologa de la Programacin TIC


VARIABLES: HT = HORAS TRABAJADAS HE = HORAS EXTRA HET = HORAS EXTRA QUE EXCEDEN DE 8 PH = PAGO POR HORA NORMAL PHE = PAGO POR HORAS EXTRA PT = PAGO QUE RECIBE EL TRABAJADOR ALGORITMO: INICIO LEER (HT, PH) SI (HT > 40) ENTONCES HE HT 40 SI (HE > 8) ENTONCES HET HE 8 PHE PH * 2 * 8 + PH * 3 * HET SI NO PHE PH * 2 * HE FIN_SI PT PH * 40 + PHE SI NO PT PH * HT FIN_SI ESCRIBIR (PT) FIN

36

Metodologa de la Programacin TIC


Mltiples

Se emplea cuando es necesario que existan ms de dos elecciones posibles. COMENTARIO: Si bien este problema podra resolverse mediante estructuras simples o dobles anidadas, puede suceder que el nmero de alternativas sea grande y plantee serios problemas de escritura y legibilidad. Usando estas estructuras puede evaluarse una expresin que tome n valores distintos (1, 2, 3, , n) y segn el valor que se elija en la condicin, se realizar una de las n acciones o en otras palabras, el flujo del algoritmo seguir slo un determinado camino entre los n posibles.

Representacin en Pseudocdigo

EN CASO DE QUE VARIABLE VALGA: 1: EJECUTAR ACCIN 1. 2: EJECUTAR ACCIN 2. 3: EJECUTAR ACCIN 3. N: EJECUTAR ACCIN N. FIN_EN_CASO_DE_QUE

Representacin en Diagrama de Flujo

37

Metodologa de la Programacin TIC


Ejemplo:

Disear un algoritmo tal que dados como datos dos variables de tipo entero, obtenga el resultado de la siguiente funcin:

SOLUCIN:

ALGORITMO:

38

Metodologa de la Programacin TIC


DIAGRAMA DE FLUJO:

39

Metodologa de la Programacin TIC


Estructuras de Repeticin
Tambin llamadas repetitivas o iterativas, se utilizan cuando es necesario que un conjunto de instrucciones se ejecuten un cierto nmero finito de veces. Estn formadas por bucles o ciclos, que son procesos que se repiten un determinado nmero de ocasiones dentro de un pseudocdigo o programa.

Para Hasta

Es usado cuando se conoce de antemano cuntas veces se ejecutarn las acciones de un ciclo.

Representacin en Pseudocdigo

INGLES FOR variable = valor inicial TO valor final Acciones a realizar dentro del ciclo END_FOR

ESPAOL PARA variable = valor inicial HASTA valor final Acciones a realizar dentro del ciclo FIN_PARA-HASTA

Representacin en Diagrama de Flujo

Para emplear esta estructura en algoritmos, se deben utilizar contadores y algunas veces, acumuladores.

40

Metodologa de la Programacin TIC


Ejemplo:

Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado. Se desea resolver el problema usando estructura Desde, Mientras y luego Repetir. SOLUCIN: ALGORITMO: INICIO SUMA 0 PARA k = 1 HASTA 100 SUMA SUMA + K * K FIN_PARA-HASTA ESCRIBIR (SUMA) FIN

DIAGRAMA DE FLUJO:

41

Metodologa de la Programacin TIC


Repite

Es aquella estructura que se repite un cierto nmero de veces hasta que una determinada condicin se vuelva verdadera.

Representacin en Pseudocdigo

INGLES REPEAT Acciones a repetir dentro del ciclo. UNTIL (CONDICIN)

ESPAOL REPITE Acciones a repetir dentro del ciclo. HASTA QUE (CONDICIN)

Representacin en Diagrama de Flujo

42

Metodologa de la Programacin TIC


Ejemplo:

Calcular la suma de los cuadrados de los primeros 100 nmeros enteros y escribir el resultado. SOLUCIN: ALGORITMO: INICIO SUMA 0 K1 REPETIR SUMA SUMA + K * K KK+1 HASTA QUE (K > 100) ESCRIBIR (SUMA) FIN

DIAGRAMA DE FLUJO:

43

Metodologa de la Programacin TIC


Mientras

Es aquella estructura que se ejecuta mientras una condicin evaluada, resulte verdadera. La diferencia entre Mientras y Repite, es que en la primera, la condicin se sita al principio, en cambio, en la estructura Repite, se sita al final del bloque de instrucciones. Existen ciertos casos en que las estructuras Mientras y Para-Hasta, no realizan ninguna iteracin (repeticin) en el ciclo, sin embargo, Repite, siempre ejecutar el ciclo al menos una vez. EXPLICAR POR QU SUCEDE ESTO.

Representacin en Pseudocdigo

INGLES WHILE (Condicin) Acciones a repetir dentro del ciclo. END_WHILE

ESPAOL MIENTRAS (Condicin) Acciones a repetir dentro del ciclo. FIN_MIENTRAS

Representacin en Diagrama de Flujo

44

Metodologa de la Programacin TIC


Ejemplo:

Calcular la suma de los cuadrados de los primeros 100 nmeros enteros y escribir el resultado. SOLUCIN: ALGORITMO: INICIO SUMA 0 K1 MIENTRAS (K <= 100) SUMA SUMA + K * K KK+1 FIN_MIENTRAS ESCRIBIR (SUMA) FIN

DIAGRAMA DE FLUJO:

45

Metodologa de la Programacin TIC


Evidencia 3 Unidad
Realizar el pseudocdigo y diagrama de flujo que resuelva los siguientes casos. Una vez terminado, hacer la prueba de escritorio necesaria para evaluar la funcionalidad de cada solucin. 1. Llevar a cabo la suma de dos nmeros ledos por el teclado e imprimir el resultado en pantalla. 2. Modificar el anterior para sumar 100 nmeros ledos por teclado. 3. Modificar el anterior para que permita sumar N nmeros. El valor de N debe leerse previamente por teclado. 4. Escribir los 100 primeros nmeros pares. 5. Sumar los N primeros nmeros impares. 6. Modificar el anterior para que haga lo mismo con los nmeros pares. 7. Modificar el anterior para que haga lo mismo con los mltiplos de 3. 8. Calcular el N-simo trmino de la sucesin Fibonacci, la cual se define como sigue: a 1=1, a2=1 y an=an-1+an-2 para n>2, es decir, los dos primeros valores son 1 y en el resto cada uno es la suma de los dos anteriores; as, los primero son: 1, 1, 2, 3, 5, 8, 13, 21, 9. Simular un reloj. 10. Calcular el mximo comn divisor de dos nmeros enteros positivos N y M, siguiendo el algoritmo de Euclides, que es el siguiente: a. Se divide N entre M, sea R el resto. b. Si R=0, el mximo comn divisor es M y se acaba. c. Se asigna a N el valor de M y a M el valor de R y volver al paso 1.

Lista de Cotejo para Revisin de esta Evidencia

46

Metodologa de la Programacin TIC


Tarea Integradora 3 Unidad
Realizar el pseudocdigo y diagrama de flujo que resuelva los siguientes casos. Una vez terminado, hacer la prueba de escritorio necesaria para evaluar la funcionalidad de cada solucin. 1. 2. 3. 4. Leer N nmeros, calcular y escribir la suma de los pares y el producto de los impares. Calcular el factorial de N, sabiendo que se calcula como sigue: N! = 1*2*3**N. Calcular AB, siendo B un nmero entero que puede ser 0 o negativo. Adivinar un nmero entre 1 y 1000 que haya sido pensado por un humano. El programa debe ir diciendo nmeros y el humano responder con los smbolos <, > o =, segn el nmero pensado sea menor, mayor o igual que el propuesto por la computadora. Cuando adivine, deber poner un mensaje especificando cuntas preguntas ha necesitado y finalizar. No debe realizar ms de 10 preguntas y debe detectar si el humano le engaa dicindole cosas imposibles, como que un nmero es mayor que 4 y menor que 5. Dados 2 nmeros enteros positivos N y D, se dice que D es un divisor de N si el resto de dividir N entre D es igual a 0. Se dice que un nmero N es perfecto si la suma de sus divisores (excluido el propio N) es igual a N. Por ejemplo, 28 es perfecto, pues sus divisores (excluyendo al propio 28) son: 1, 2, 4, 7 y 14 y su suma es: 1 + 2 + 4 + 7 + 14 = 28. Hacer un pseudocdigo y diagrama de flujo que dado un nmero N, nos diga si dicho nmero es perfecto o no. Dado un ao A decir si es bisiesto o no, teniendo en cuenta que un ao es bisiesto si es mltiplo de 4, exceptuando los mltiplos de 100, que slo son bisiestos cuando son mltiplos tambin de 400, por ejemplo, el ao 1900 no fue bisiesto, pero el 2000 s. Leer un nmero N y obtener las ternas pitagricas (A, B, C) en las que A, B y C son todos enteros positivos y menores que N. Para que una terna (A, B, C) sea pitagrica debe cumplir con que A2 + B2 = C2. Una empresa paga a sus 100 operarios semanalmente, de acuerdo con el nmero de horas trabajadas, a razn de P pesos por hora y de 1.5 * P pesos por cada hora extra. Las horas extras son las que exceden de 40hrs. Calcular el salario que le corresponde a cada trabajador, dado el nmero de horas trabajadas y el valor de P. Calcular el impuesto sobre la renta (ISR) el nmero de veces que sea necesario y lo escriba por impresora. Tomar el impuesto sobre la renta como el 15% del salario anual de cada persona, al que previamente se debe realizar una deduccin en funcin del nmero de hijos, que es del 0% si tiene 0 hijos, del 5% si tienen 1 2 y del 15% si tienen ms de 2. Hacer un pseudocdigo y diagrama de flujo que resuelva el siguiente problema: Un hombre, un lobo, una cabra y un repollo, deben pasar un ro. Para ello, se dispone de una barca con capacidad para dos ocupantes: el hombre (que es el nico que sabe remar) y otro. Tener en cuenta que, si en una orilla se quedan solos el lobo y la cabra, ste se la comer; mientras que si se quedan la cabra y el repollo, sta se comer el repollo.

5.

6.

7.

8.

9.

10.

Lista de Cotejo para Revisin de esta Tarea Integradora

47

Vous aimerez peut-être aussi