Академический Документы
Профессиональный Документы
Культура Документы
159
Programacin Mdulo I
Gua Didctica
Submdulo 1 : Desarrolla software utilizando programacin estructurada
2012
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
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
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.
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
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.
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.
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.
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.
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.
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.
q 1 1 0 0
r 1 0 1 0
p =q U r 1 1 1 0
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).
10
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
11
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
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
Decisin
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
16
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 {
} ]
17
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:
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.
18
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.
20
21
DEFINICIONES DE DATOS
Asdasdasd
22
OPERADORES
Asdasdasd
23
ESTRUCTURAS DE CONTROL
asdasdasdasd
24
ARREGLOS
Asdasd
25
MODULARIZACIN
Asdasdasd
26