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

CENTRO DE BACHILLERATO TECNOLGICO INDUSTRIAL Y DE SERVICIOS NO.

159

Programacin Mdulo I

Gua Didctica
Submdulo 1 : Desarrolla software utilizando programacin estructurada

2012

M.S.I. Jos Luis Llamas Crdenas

Submdulo I: Desarrolla software utilizando programacin estructurada Gua Didctica

CONTENIDO
Resultado del Aprendizaje .................................................................................................................................. 4 Competencias / Contenidos por desarrollar ...................................................................................................... 4 Competencias relacionadas con el marco curricular comn .......................................................................... 4 Disciplinares Bsicas: .................................................................................................................................. 4 Genricas Sugeridas ................................................................................................................................... 4 Competencias de productividad y empleabilidad de la Secretaria de trabajo y previsin social ................... 5 Introduccin a la programacin ......................................................................................................................... 6 Programacin ................................................................................................................................................. 6 Lenguaje de Programacin ............................................................................................................................. 6 Tipos de Lenguajes de programacin ............................................................................................................. 6 Entorno de desarrollo integrado .................................................................................................................... 7 Introduccin a la lgica matemtica .................................................................................................................. 8 Proposiciones y operaciones lgicas .............................................................................................................. 8 Conectivos lgicos y proposiciones compuestas ............................................................................................ 8 Operador AND (y) ....................................................................................................................................... 8 Operador Or (o) .......................................................................................................................................... 9 Operador Not (no) .................................................................................................................................... 10 Tablas de Verdad ...................................................................................................................................... 10 Representacin abstracta del cdigo ............................................................................................................... 12 Algoritmos .................................................................................................................................................... 12 Entidades primitivas de los algoritmos ..................................................................................................... 12 Diagramas de Flujo ....................................................................................................................................... 14 Simbolos ................................................................................................................................................... 14 Fundamentos del lenguaje C ............................................................................................................................ 15 Definiciones de datos ....................................................................................................................................... 22 M.S.I. Jos Luis Llamas Crdenas | 2

Submdulo I: Desarrolla software utilizando programacin estructurada Gua Didctica Operadores ....................................................................................................................................................... 23 Estructuras de Control ...................................................................................................................................... 24 Arreglos ............................................................................................................................................................ 25 Modularizacin ................................................................................................................................................. 26

M.S.I. Jos Luis Llamas Crdenas |

Submdulo I: Desarrolla software utilizando programacin estructurada Gua Didctica

RESULTADO DEL APRENDIZAJE


Al finalizar el mdulo el estudiante ser capaz de solucionar problemas utilizando software estructurado con almacenamiento persistente de los datos.

COMPETENCIAS / CONTENIDOS POR DESARROLLAR

No. 1 2 3 4

PROFESIONALES Soluciona problemas Desarrolla diagramas de flujo del algoritmos Elabora pseudocdigo de los diagramas de flujo Desarrolla el cdigo en un lenguaje de programacin estructurado

SITUACIONES Por medio de algoritmos Utilizando diagramas lineales y/o modular Utilizando conceptos lingsticos y/o matemticos en la solucin de los problemas De acuerdo a las sintaxis de los lenguajes estructurados

COMPETENCIAS RELACIONADAS CON EL MARCO CURRICULAR COMN DISCIPLINARES BSICAS:

C1: Identifica, ordena e interpreta las ideas, datos y conceptos explcitos e implcitos en un texto,
considerando el contexto en el que se gener y en el que se recibe.

M1: Construye e interpreta modelos matemticos deterministas o aleatorios mediante la aplicacin de


procedimientos aritmticos, algebraicos, geomtricos y variacionales, para la comprensin y anlisis de situaciones reales o formales.

M8: Interpreta tablas, grficas, mapas, diagramas y textos con smbolos matemticos y cientficos. CE9: Disea modelos o prototipos para resolver problemas, satisfacer necesidades o demostrar principios
cientficos.

GENRICAS SUGERIDAS

4.1 Expresa ideas y conceptos mediante representaciones lingsticas, matemticas o grficas. 4.2 Aplica distintas estrategias comunicativas segn quienes sean sus interlocutores, el contexto en el que
se encuentra y los objetivos que persigue. M.S.I. Jos Luis Llamas Crdenas | 4

Submdulo I: Desarrolla software utilizando programacin estructurada Gua Didctica

8.2 Aporta puntos de vista con apertura y considera los de otras personas de manera reflexiva. 8.3 Asume una actitud constructiva, congruente con los conocimientos y habilidades con los que cuenta
dentro de distintos equipos de trabajo.

COMPETENCIAS DE PRODUCTIVIDAD Y EMPLEABILIDAD DE LA SECRETARIA DE TRABAJO Y PREVISIN SOCIAL

AP1 Detectar y reportar Inconsistencias o errores en el producto, en el proceso o en los insumos. CE2 Sustentar sus ideas y puntos de vista con argumentos, basado en evidencias, hechos y datos. AP2 Verificar el cumplimiento de los parmetros de calidad exigidos. CE5 Precisar el mensaje escrito a la vez que se escribe ideas con lenguaje claro, conciso. PO3 Definir sistemas y esquemas de trabajo. PO4 Establecer prioridades y tiempos.

M.S.I. Jos Luis Llamas Crdenas |

Submdulo I: Desarrolla software utilizando programacin estructurada Gua Didctica

INTRODUCCIN A LA PROGRAMACIN

PROGRAMACIN
Se llama Programacin a la implementacin de un algoritmo en un determinado lenguaje de programacin, para realizar un programa. Algoritmo es una secuencia no ambigua, finita y ordenada de instrucciones que han de seguirse para resolver un problema. Programa (Software en ingls) es una secuencia de instrucciones que una computadora puede interpretar y ejecutar. El proceso de creacin de software es materia de la ingeniera del software, una de las ramas propias de la Ingeniera Informtica. Segn Niklaus Wirth un programa est formado por algoritmos y estructura de datos. Se han propuesto diversas tcnicas de programacin, cuyo objetivo es mejorar tanto el proceso de creacin de software como su mantenimiento. Entre ellas se pueden mencionar las programacin lineal, estructurada, modular y orientada a objetos.

LENGUAJE DE PROGRAMACIN
Lenguaje de programacin es el idioma utilizado para controlar el comportamiento de una mquina, particularmente una computadora. Consiste en un conjunto de smbolos y reglas sintcticas y semnticas que definen su estructura y el significado de sus elementos y expresiones. Hay muchos lenguajes de programacin, pero para programar no es necesario conocer todos los lenguajes, es igual que cuando hablamos, podemos comunicarnos en espaol aunque no sepamos alemn. Aunque la palabra debera ser idioma ya que lenguaje realmente abarca todos los idiomas pero en computacin equivocadamente se usa el trmino lenguaje cuando el trmino correcto es idiomas de programacin. En la actualidad los lenguajes de programacin estn escritos para ser comprensibles por el ser humano, a este cdigo se le llama cdigo fuente, pero no es comprendido por la mquina ya que esta solo maneja el lenguaje binario. La compilacin es el proceso de traducir un programa en cdigo fuente a programa en cdigo objeto (que usa el lenguaje binario), el programa encargado de compilar se llama compilador. La mayora de software de programacin trae su propio compilador.

TIPOS DE LENGUAJES D E PROGRAMACIN


M.S.I. Jos Luis Llamas Crdenas | 6

Submdulo I: Desarrolla software utilizando programacin estructurada Gua Didctica Los lenguajes de programacin se clasifican en varios tipos, los hay por nivel, y por la forma como se ejecutan. Por nivel: Hay lenguajes de programacin de alto nivel y lenguajes de bajo nivel. Los lenguajes de alto nivel permiten que con pocas palabras se logre hacer lo mismo que se logra con un lenguaje de bajo nivel. Ejemplos de lenguajes de alto nivel: C++, Python, Java Ejemplos de lenguaje de bajo nivel: assembler Por la forma como se ejecutan Hay lenguajes compilados e interpretados. Los lenguajes compilados necesitan de un programa especial que lea el cdigo fuente y cree un archivo binario ejecutable para una plataforma especfica. Ejm: C++, Pascal. Los lenguajes interpretados necesitan de un programa que traduzca en directo el cdigo fuente escrito a instrucciones de la plataforma en la que se ejecutan. Ejm: Python, Visual Basic Script. Los primeros son ms rpidos, mientras que los segundos son ms lentos, esto debido a que al compilar un programa las ordenes son ms entendibles para la computadora, mientras que al interpretarlo la mquina primero debe leer el cdigo y convertir al paso las instrucciones a instrucciones de mquina entendibles para ella.

ENTORNO DE DESARROLLO INTEGRADO


Entorno de Desarrollo Integrado (en ingls Integrated Development Environment 'IDE'): Es un programa compuesto por un conjunto de herramientas para un programador. Estos IDE son programas que sirven para programar, ya sea en un lenguaje de programacin o en varios lenguajes. Los IDE que permiten crear programas en muchos lenguajes de programacin permiten usar un solo programa para trabajar en varios lenguajes de programacin, es decir no limitan al programador.

M.S.I. Jos Luis Llamas Crdenas |

Submdulo I: Desarrolla software utilizando programacin estructurada Gua Didctica

INTRODUCCIN A LA LGICA MATEMTICA PROPOSICIONES Y OPERACIONES LGICAS


Una proposicin o enunciado es una oracin que puede ser falso o verdadero pero no ambas a la vez. La proposicin es un elemento fundamental de la lgica matemtica. A continuacin se tienen algunos ejemplos de proposiciones vlidas y no vlidas, y se explica el porqu algunos enunciados no son proposiciones. Las proposiciones se indican por medio de una letra minscula, dos puntos y la proposicin propiamente dicha. Ejemplo.

p: q: r: s: t: w:

La tierra es plana. -17 + 38 = 21 x > y-9 Mxico ser campen en el prximo mundial. Hola como estas? Lava el coche por favor.

Los incisos p y q sabemos que pueden tomar un valor de falso o verdadero; por lo tanto son proposiciones validas. El inciso r tambin es una proposicin valida, aunque el valor de falso o verdadero depende del valor asignado a las variables x y y en determinado momento. La proposicin del inciso s tambin est perfectamente expresada aunque para decir si es falsa o verdadera se tendra que esperar a que terminara la temporada de futbol. Sin embargo los enunciados t y w no son vlidos, ya que no pueden tomar un valor de falso o verdadero, uno de ellos es un saludo y el otro es una orden.

CONECTIVOS LGICOS Y PROPOSICIONES COMPUESTAS


Existen conectores u operadores lgicas que permiten formar proposiciones compuestas (formadas por varias proposiciones). Los operadores o conectores bsicos son:

OPERADOR AND (Y)


Se utiliza para conectar dos proposiciones que se deben cumplir para que se pueda obtener un resultado verdadero. Su smbolo es: se le conoce como la multiplicacin lgica. M.S.I. Jos Luis Llamas Crdenas | 8

Submdulo I: Desarrolla software utilizando programacin estructurada Gua Didctica Ejemplo: Sea el siguiente enunciado El coche enciende cuando tiene gasolina en el tanque y tiene corriente la batera. Sean: p: El coche enciende. q: Tiene gasolina el tanque. r: Tiene corriente la batera.

De tal manera que la representacin del enunciado anterior usando simbologa lgica es como sigue: p= qr Su tabla de verdad es como sigue:
q 1 1 0 0 R 1 0 1 0 p=q 1 0 0 0

Donde: 1 = verdadero. 0 = falso En la tabla anterior el valor de q=1 significa que el tanque tiene gasolina, r=1 significa que la batera tiene corriente y p = q r=1 significa que el coche puede encender. Se puede notar que si q o r valen cero implica que el auto no tiene gasolina y que por lo tanto no puede encender.

OPERADOR OR (O)
Con este operador se obtiene un resultado verdadero cuando alguna de las proposiciones es verdadera. Se le indica por medio del siguiente smbolo: U . Se conoce como la suma lgica. Ejemplo: Sea el siguiente enunciado: Una persona puede entrar al cine si compra su boleto u obtiene un pase. Donde: p: Entra al cine. q: Compra su boleto. r: Obtiene un pase.

M.S.I. Jos Luis Llamas Crdenas |

Submdulo I: Desarrolla software utilizando programacin estructurada Gua Didctica


q 1 1 0 0 R 1 0 1 0 p=q 1 0 0 0

q 1 1 0 0

r 1 0 1 0

p =q U r 1 1 1 0

OPERADOR NOT (NO)


Su funcin es negar la proposicin. Esto significa que s alguna proposicin es verdadera y se le aplica el operador NOT se obtendr su complemento o negacin (falso). Este operador se indica por medio del smbolo: . Ejemplo:

La negacin de est lloviendo en este momento (p=1), es no est lloviendo en este momento (p=0)
p 1 0 0 1 p

Adems de los operadores bsicos (AND, OR y NOT) existe el operador XOR, cuyo funcionamiento es semejante al operador OR con la diferencia en que su resultado es verdadero solamente si una de las proposiciones es cierta, cuando ambas con verdad el resultado es falso. En este momento ya se pueden representar con notacin lgica enunciados ms complejos. Ejemplo: Sean las proposiciones: p: Hoy es domingo. q: Tengo que estudiar teoras del aprendizaje. r: Aprobar el curso. El enunciado: Hoy es domingo y tengo que estudiar teoras de aprendizaje o no aprobar el curso. Se puede representar simblicamente de la siguiente manera: pqU r

TABLAS DE VERDAD
En estos momentos ya se est en condiciones de elaborar cualquier tabla de verdad. A continuacin se presenta un ejemplo para la proposicin [(p U q)

(q

r) ]U (r U q).

M.S.I. Jos Luis Llamas Crdenas |

10

Submdulo I: Desarrolla software utilizando programacin estructurada Gua Didctica

p 0 0 0 0 1 1 1 1

q 0 0 1 1 0 0 1 1

r 0 1 0 1 0 1 0 1

r 1 0 1 0 1 0 1 0

pUq 0 0 1 1 1 1 1 1

q r 0 0 1 0 0 0 1 0

*(p U q) (q r) + 0 0 1 0 0 0 1 0

rUq 0 1 1 1 0 1 1 1

*(p U q) (q r) +U (r U q). 0 1 1 1 0 1 1 1

M.S.I. Jos Luis Llamas Crdenas |

11

Submdulo I: Desarrolla software utilizando programacin estructurada Gua Didctica

REPRESENTACIN ABSTRACTA DEL CDIGO ALGORITMOS ENTIDADES PRIMITIVAS DE LOS ALGORITMOS


Objetivo: El alumno conocer las reglas para cambiar formulas matemticas a expresiones vlidas para la computadora, adems de diferenciar constantes e identificadores y tipos de datos simples.

TIPOS DE DATOS
Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carcter, tal como b, un valor entero tal como 35. El tipo de dato determina la naturaleza del conjunto de valores que puede tomar una variable.

Datos numricos: Permiten representar valores escalares de forma numrica, esto incluye a los nmeros enteros y los reales. Este tipo de datos permiten realizar operaciones aritmticas comunes. Datos lgicos: Son aquellos que solo pueden tener dos valores (cierto o falso) ya que representan el resultado de una comparacin entre otros datos (numricos o alfanumricos). Datos Alfanumricos: Es una secuencia de caracteres alfanumricos que permiten representar valores identificables de forma descriptiva, esto incluye nombres de personas, direcciones, etc. Es posible representar nmeros como alfanumricos, pero estos pierden su propiedad matemtica, es decir no es posible hacer operaciones con ellos. Este tipo de datos se representan encerrados entre comillas.

EXPRESIONES
Las expresiones son combinaciones de constantes, variables, smbolos de operacin, parntesis y nombres de funciones especiales. Por ejemplo: a+(b + 3)/c Cada expresin toma un valor que se determina tomando los valores de las variables y constantes implicadas y la ejecucin de las operaciones indicadas. M.S.I. Jos Luis Llamas Crdenas | 12

Submdulo I: Desarrolla software utilizando programacin estructurada Gua Didctica Una expresin consta de operadores y operandos. Segn sea el tipo de datos que manipulan, se clasifican las expresiones en Aritmticas, Relacionales y lgicas.

OPERADORES Y OPERANDOS
Operadores: Son elementos que relacionan de forma diferente, los valores de una o ms variables y/o constantes. Es decir, los operadores nos permiten manipular valores.

Operadores aritmticos
+ Suma - Resta * Multiplicacin / Divisin % Mdulo (residuo) Ejemplos: Operacin 7/2 12 % 7 4+2*5

Resultado 3.5 5 14 (estos resultados de acuerdo a la prioridad se explica a continuacin)

Prioridad de los Operadores Aritmticos


Todas las expresiones entre parntesis se evalan primero. Las expresiones con parntesis anidados se evalan de dentro a fuera, el parntesis mas interno se evala primero. Dentro de una misma expresin los operadores se evalan en el siguiente orden: 1.- ^ Exponenciacin 2.- *, /, % Multiplicacin, divisin, modulo. 3.- +, - Suma y resta. Los operadores en una misma expresin con igual nivel de prioridad se evalan de izquierda a derecha. Ejercicio: De acuerdo a la prioridad de los operadores, realice las siguientes operaciones: 4+2*5 23 * 2 / 5 3 + 5 * (10 - (2 + 4)) 3.5 + 5.09 - 14.0 / 40 2.1 * (1.5 + 3.0 * 4.1) Operadores Relacionales > Mayor que < Menor que M.S.I. Jos Luis Llamas Crdenas | 13

Submdulo I: Desarrolla software utilizando programacin estructurada Gua Didctica >= Mayor igual <= Menor igual == Igual ! Diferente

DIAGRAMAS DE FLUJO
Un diagrama de flujo u organigrama es una representacin diagramtica que ilustra la secuencia de las operaciones que se realizarn para conseguir la solucin de un problema. Los diagramas de flujo se dibujan generalmente antes de comenzar a programar el cdigo frente a la computadora. Los diagramas de flujo facilitan la comunicacin entre los programadores y la gente del negocio. Estos diagramas de flujo desempean un papel vital en la programacin de un problema y facilitan la comprensin de problemas complicados y sobre todo muy largos. Una vez que se dibuja el diagrama de flujo, llega a ser fcil escribir el programa en cualquier idioma de alto nivel. Vemos a menudo cmo los diagramas de flujo nos dan ventaja al momento de explicar el programa a otros. Por lo tanto, est correcto decir que un diagrama de flujo es una necesidad para la documentacin mejor de un programa complejo.

SIMBOLOS

Inicio / Trmino

Entrada

Asignacin

Salida M.S.I. Jos Luis Llamas Crdenas | 14

Submdulo I: Desarrolla software utilizando programacin estructurada Gua Didctica

Decisin

FUNDAMENTOS DEL LENGUAJE C


Tipos de datos ---------------Numericos: int - enteros float - flotantes double - flotantes de doble precisin

Alfanumericos: char - caracter String - Cadena de caracteres

Operadores: --------------- Aritmticos: + Suma - Resta * Multiplicacin / Divisin % Mdulo M.S.I. Jos Luis Llamas Crdenas | 15

Submdulo I: Desarrolla software utilizando programacin estructurada Gua Didctica - Relacionales: > Mayor < Menor >= Mayor igual <= menor igual == igual <- para preguntar

!= Diferente - Lgicos: && And || Or ! Not - Asignacin = igual <- para guardar += Incremento -= Decremento *= Multiplos /= Dividendos ++ Incremento unitario -- Decremento unitario

Escriba el programa

M.S.I. Jos Luis Llamas Crdenas |

16

Submdulo I: Desarrolla software utilizando programacin estructurada Gua Didctica

TAREA: :)

Elabore un diagrama de flujo y un programa que sirva para convertir una cantidad en grados Farenheit a Grados Centigrados

Estructuras de control if Divide el flujo de un programa a partir de una comparacin, si la comparacion resulta verdadera ejecuta un segmento de cdigo, pero si resulta falsa puede o no ejecutar otro segmento de cdigo.

Sintaxis:

if(comparacin) {

} [ else {

} ]

M.S.I. Jos Luis Llamas Crdenas |

17

Submdulo I: Desarrolla software utilizando programacin estructurada Gua Didctica

Escriba un diagrama de flujo y un programa que calcule la edad de una persona con su ao de nacimiento y el ao actual y ademas diga si es mayor de edad o no

TAREA:

Escriba un diagrama de flujo y un programa que muestre en pantalla:

1. Triangulo 2. Rectangulo Introduzca un numero para continuar_

Si introduce 1, pedir la base y la altura y mostrar el area del triangulo si no, pedir base y altura y mostrar el area del rectangulo

2. Desarrolle un DF y un programa que le permita leer un valor cualquiera N y escribir en la pantalla si dicho nmero es Positivo o Negativo

TAREA 3. Desarrolle un DF y un programa que le permita leer un valor cualquiera N y escribir si dicho nmero es mltiplo de 3.

M.S.I. Jos Luis Llamas Crdenas |

18

Submdulo I: Desarrolla software utilizando programacin estructurada Gua Didctica

Disear el algoritmo (ordinograma y pseudocdigo) correspondiente a un programa que escribe el porcentaje descontado en una compra, introduciendo por teclado el precio de la tarifa y el precio pagado.

Disear un algoritmo (ordinograma y pseudocdigo) correspondiente a un programa M.S.I. Jos Luis Llamas Crdenas | 19

Submdulo I: Desarrolla software utilizando programacin estructurada Gua Didctica que pida por teclado dos nmeros enteros y muestre su suma, resta, multiplicacin, divisin y el resto (mdulo) de la divisin. Si la operacin no es conmutativa, tambin se mostrar el resultado invirtiendo los operadores.

Disear el algoritmo (ordinograma y pseudocdigo) correspondiente a un programa que obtiene la ltima cifra de un nmero introducido.

Disear el algoritmo (ordinograma y pseudocdigo) correspondiente a un programa que calcule el rea y el permetro de un tringulo rectngulo dada la base y la altura.

Disear el algoritmo (ordinograma y pseudocdigo) correspondiente a un programa que tras introducir una medida expresada en centmetros la convierta en pulgadas (1 pulgada = 2,54 centmetros) Ordinograma

Disear el algoritmo (ordinograma y pseudocdigo) correspondiente a un programa que exprese en horas, minutos y segundos un tiempo expresado en segundos.

Suponiendo que una paella se puede cocinar exclusivamente con arroz y gambas, y que para cada cuatro personas se utiliza medio kilo de arroz y un cuarto de kilo de gambas, escribir un programa que pida por pantalla el nmero de comensales para la paella, el precio por kilo de los ingredientes y muestre las cantidades de los ingredientes necesarios y el coste de la misma.

M.S.I. Jos Luis Llamas Crdenas |

20

Submdulo I: Desarrolla software utilizando programacin estructurada Gua Didctica

M.S.I. Jos Luis Llamas Crdenas |

21

Submdulo I: Desarrolla software utilizando programacin estructurada Gua Didctica

DEFINICIONES DE DATOS
Asdasdasd

M.S.I. Jos Luis Llamas Crdenas |

22

Submdulo I: Desarrolla software utilizando programacin estructurada Gua Didctica

OPERADORES
Asdasdasd

M.S.I. Jos Luis Llamas Crdenas |

23

Submdulo I: Desarrolla software utilizando programacin estructurada Gua Didctica

ESTRUCTURAS DE CONTROL
asdasdasdasd

M.S.I. Jos Luis Llamas Crdenas |

24

Submdulo I: Desarrolla software utilizando programacin estructurada Gua Didctica

ARREGLOS
Asdasd

M.S.I. Jos Luis Llamas Crdenas |

25

Submdulo I: Desarrolla software utilizando programacin estructurada Gua Didctica

MODULARIZACIN
Asdasdasd

M.S.I. Jos Luis Llamas Crdenas |

26

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