Académique Documents
Professionnel Documents
Culture Documents
Colegio de Estudios Cientficos y Tecnolgicos del Estado de Mxico. Plantel jiquipilco. Mod lll_sub 1 Aplicar los principios de programacin en la solucin de problemas. (Libro Electrnico)
Pgina 2
ndice:
Evolucin de los lenguaje de programacin.3 Qu es un problema?.........................................4 Metodologa para resolver un problema4 Algoritmo5 Caractersticas bsicas de un algoritmo..5 Estructuras en un algoritmo...7 Ejemplo de un algoritmo.8
Diagrama de flujo.9
Pgina 3
Lenguaje maquina: En la dcada de los 40 cuando nacan las primeras computadoras digitales el programa que se utilizaba para programar era el lenguaje maquina que se traduca directamente el cdigo maquina.
Lenguaje de bajo nivel: A estos lenguajes se les denomina de segunda generacin. El lenguaje ensamblador
Pgina 4
constituye el primer intento de sustitucin del lenguaje maquina por uno o ms cercano al usado.
Para convertir los programas escritos en cdigo nemotcnico a lenguaje maquina, se desarrollaban programas ensambladores. Estos son programas escritos en cdigo nemotcnico e instrucciones numricas en lenguaje maquina.
Estos programas de instruccin se llaman ensambladores porque su tarea es ensamblar las instrucciones reales de la maquina. Con los mono tcnicos e identificadores que representan las instrucciones escritas en ensamblador.
Pgina 5
Lenguaje de alto nivel: En la dcada de los 50 y los 70 comenzaron a desarrollarse lenguajes de programacin de tercera generacin que diferan de las generaciones anteriores en que sus instrucciones o primitivas eran de alto nivel. Ejemplos de lenguajes de alto nivel: FORTAN COBOL PASCAL C JAVA ETC.
Pgina 6
Qu es un problema?
Es una determinada cuestin o asunto que requiere una solucin. A nivel social, se trata algn asunto particular que, en el momento en que se solucione, aportara beneficios a la sociedad. Ahora bien se puede dar acerca del concepto, en tanto y dependiendo de la materia de estudio, existen distintos tipos de problemas.
Pgina 7
1. IDENTIFICAR EL PROBLEMA A RESOLVER: De ella depende el desarrollo, en busca de la solucin. 2. PLANTEAR ALTERNATIVAS DE SOLUCIN: Despus de la definicin de problemas y de anlisis de los datos, contina el anlisis de alternativas tratando de encontrar la mayor cantidad de alternativas posibles de solucin. 3. ELIGE UNA ALTERNATIVA: La eleccin de la mejor de todas las alternativas es muy importante porque la eleccin realizada depende del avance final hasta solucin. 4. DESARROLLO DE SOLUCION: En esta fase se aplican las operaciones necesarias para la solucin del problema. 5. EVALUA LA SOLUCION: En los procesos se evala tu decisin, y checar si es la mejor.
Pgina 8
PROCESO: Son las acciones que se deben realizar para alcanzar el objetivo.
Pgina 9
3. DEFINIDO: si se sigue una o varias veces da el mismo resultado. Realizar un algoritmo que permita calcular la edad de 1 persona. 1. Inicio 2. Escribe ao de nacimiento 3. Lee anac 4. Edad= 2012-anac 5. Imprime tu edad es edad
Una variable debe iniciar siempre con una letra no puede llevar smbolos
LEE:
Pgina 10
Lee:
Siempre que va un escribe sigue un lee. IMPRIME: Imprime (mensaje que vera el USR) variable
EJEMPLO: 1. 2. 3. 4. 5. 6. 7. Inicio Escribe la cantidad de kilos de arroz a comprar. Lee cda Escribe la cantidad de frijol. Lee cdf Escribe la cantidad de sopas Lee cds
Pgina 11
8. Tpa = (28) * (cda) 9. Tpf = (30) * (cdf) 10. Tps = (5) * (cds) 11. Tp = tpa+tpf+tps 12. Escribe el valor del billete para pagar 13. Lee vdb 14. C= vdb- tp 15. Imprime tu total a pagar es tp 16. Imprime tu cambio es C 17. fin
Pgina 12
Diagrama de flujo.
QUE ES? Es una de las tcnicas de representacin de algoritmos ms antiga, y a la vez mas utilizada, aunque su empleo ha disminuido considerablemente, sobre, todo desde la aparicin de lenguajes de programacin estructuradas. (Representacin grafica de un algoritmo)
Pgina 13
= cambia por
EJEMPLO:
Lee ana
niF
Pgina 14
Pgina 15
Prueba de escritorio.
Es una herramienta til para entender que hace un determinado algoritmo, o para verivicar que un algoritmo cumple con la especificacin sin la necesidad de ejecutarlo. Bsicamente una prueba de escritorio es una ejecucin a mano del algoritmo, por lo tanto debe llevar registro de los valores que va tomando cada una de las variables involucradas en el mismo. EJEMPLO:
Pgina 16
Suma: entero Entrada: entero Menor: entero Lee entrada Menor = entrada Suma=0 Mientras (entrada!=0) haga Si (entrada < menor) entonces Menor=entrada Fin si Suma=suma + entrada Lee entrada Fin mientras Escribir valor menor Lee menor Escribir suma Lee suma
Pgina 17
introduccin Leer entrada Menor= entrada suma:=0 Suma:=suma+ entrada Leer entrada Menor= entrada Suma:= + entrada Leer entrada Suma:= + entrada Leer entrada escribe valor menor Lee Menor Escribir suma Lee suma
entrada 10
menor 10
suma 0 10
Pantalla
Pgina 18
Pseudocdigo
En la actualidad, por lo general, el pseudocdigo, como su nombre lo indica, no obedece a las reglas de sintaxis de ningn idioma en particular, no es de forma estndar sistemtica, a pesar de que cualquier escritor en particular vaya a pedir prestado las estructuras de control general, la sintaxis y el estilo, por ejemplo, de algn lenguaje de programacin convencional. Pero en caso de que se quiera ejecutar, se debe llevar a forma tipo, para que no genere mensajes de error. Las fuentes populares incluyen la sintaxis dePascal,BASIC,C,C++,Java,Lisp, yALGOL. Por lo general, se omiten las declaraciones de variables. A veces, las llamadas a funciones, los bloques de cdigo y el cdigo contenido dentro de un loop se remplazan por una sentencia de una lnea en lenguaje natural.
Dependiendo del escritor, el pseudocdigo puede variar mucho en su estilo, yendo desde una imitacin casi exacta de un lenguaje de programacin real en un extremo, hasta al acercarse a una descripcin en prosa de formato de pseudocdigo. Las principales caractersticas de este lenguaje son: 1. Se puede ejecutar en unordenador(con unIDEcomo por ejemplo SLE oPSeInt) 2. Es una forma de representacin sencilla de utilizar y de manipular. 3. Facilita el paso del programa al lenguaje de programacin. 4. Es independiente del lenguaje de programacin que se vaya a utilizar.
Pgina 19
5. Es un mtodo que facilita la programacin y solucin al algoritmo del programa. Todo documento en pseudocdigo debe permitir la descripcin de: 1. Instrucciones primitivas. 2. Instrucciones de proceso. 3. Instrucciones de control. 4. Instrucciones compuestas. 5. Instrucciones de descripcin.
Estructura a seguir en su realizacin: 1. Cabecera. 1. Programa. 2. Mdulo. 3. Tipos de datos. 4. Constantes. 5. Variables. 2. Cuerpo.
Pgina 20
Estructuras de control.
Las estructuras de control nos permiten controlar el flujo del programa: tomar decisiones, realizar acciones repetitivas etc., dependiendo de unas condiciones que nosotros mismos establezcamos. As podemos hacer un script que nos salude
Pgina 21
cada da de la semana de una manera diferente. O por ejemplo hacer un script que nos pida la contrasea una y otra vez hasta que suministremos la opcin correcta.
Estructura de repeticin
Estructura de seleccin.
Estructuras de seleccin.
Se usan cuando se tiene que tomar una decisin. Debe tener: operadores referenciales (comparacin). Puede tener: operadores bolanos (lgicos).Estos se utilizan cuando queremos que cumplan dos condiciones.
Pgina 22
ESTRUCTURA DE SELECCIN A UTILIZAR Si = sus sintaxis so las siguientes. SI condicin operador lgico condicin
Pgina 23 <o< iS
Si
Condicin
Variable
Operador de Comparacin.
Valor o variable
Cuando se inicia con el si siempre debe ir con sangra el desarrollo dentro de la estructura. cuando termino el si, siempre termina en fin si
Pgina 24
4. Si cal > 6 entonces 4.1 imprime aprobado 5. Si no 5.1 imprime reprobado Fin si 6. fin
2 conceptos clave
Pgina 25
Mientras
nicidnoC
Variable
Operador de
Valor o variable
Pgina 26
Comparacin. Fin mientras R2= Antes de cerrar el bucle debe incrementarse e incrementarse.
Realizar un algoritmo para calcular el factorial de un nmero. 1. 2. 3. 4. 5. Inicio Escribe numero Lee n M=n Mientras m > 1 5.1 n=n (m-1) 5.2 m=m-1 Fin mientras 6. imprime el factorial de tu numero es n 7. fin
Pgina 27
Desarrollo
Fin para
EJEMPLO:
Pgina 28
Sacar el promedio de 5 calificaciones. 1. Inicio 2. Para m=1 hasta m < 5; m=m+11 2.1 escribe calificacin 2.2 lee cal 2.3 sum=+cal Fin para 3. prom= sum/5 4. imprime el promedio es prom 5. fin
Pgina 29
INCREMENTO Y DECREMENTO
Operadores incrementales y decrementales C tambin tiene el operador incremental unario, ++, y el operador decremental unario, - - . Si una variable en C es incremental en 1, el operador incremental ++ puede ser utilizado en ves de las expresiones c = c + 1 o bien c + = 1. Si los operadores incrementales o decrementales son colocados antes de una variable, se conocen como los operadores de preincremento, respectivamente. operador ++ expresin de muestra ++a explicacin Se incrementa a en 1 y a continuacin se utiliza el nuevo valor de a en la expresin en la cual resida a Utiliza el valor actual de a en la expresin en la cual reside a, y despus se incrementa a en 1 Se decrementa b en 1 y a continuacin se utiliza el nuevo valor de b en la expresin en la cual reside b Se utiliza el valor actual de b en la expresin en la cual reside b, y despus se decrementa a b en 1
++
--
--
b--
Pgina 30
Los operadores incrementales y decrementales El pre incrementar (o prodecrementar) una variable hace que la variable primero se incremente ( o decremente) en 1, y a continuacin el nuevo valor de la variable se utilizara en la expresin en la cual aparece. Si se posticrementara o (postdecrementara) la variable hace que el valor actual de la variable se utilice en la expresin en la cual aparece, y a continuacin el valor de la variable se incrementar (o decrementar) en 1. O con operadores postincrementales como sigue: Passes++; Failures++; Student++; Es importante hacer notar que al incrementar o decrementar una variable en un enunciado por si mismo, las formas preincremento tienen el mismo efecto. Es solo cuando la variable aparece en el contexto de una expresin mas grande que el preincrementar y postincrementar tienen efectos distintos y similares para predecrementar y posidecrementar. Solo se puede utilizar un nombre simple nombre de variable como operando de un operador incremental o decremental.
PROGRAMA
Pgina 31
Es el conjunto de instrucciones rdenes dadas a la maquina- que producirn la ejecucin de una determinada tarea.
VARIABLE Es un dato cuyo valor puede ser modificado durante la ejecucin del programa. Una variable es una direccin de memoria y puede verse como una pequea caja donde se puede guardar valores. Estos pueden ser numricos, alfabticos, alfanumricos. De esta manera si se tiene una variable de nombre sueldo para almacenar cualquier valor para el sueldo.
CONSTANTE Es un dato cuyo valor permanece inalterado durante la ejecucin de un programa. Se emplea para definir aquellos datos que siempre van a mantener invariables.
Variables
constante
Pgina 32
NOTA 1: No se debe de almacenar dos o ms veces la misma variable aunque sea de diferente tipo. NOTA 2: Cuando se declara la variable se debe mandar llamar tal y como fue declarada por qu C es susceptible a maysculas y minsculas.
NOTA 3: Al programa en C se debe tener envidado al momento de leer un valor desde el teclado pues % debe coincidir con el tipo de dato declarado. Int c; scanf(%f 8 c): Main ( ) { } Printf (dame numero)
TIPOS DE CONSTANTES Qu son las constantes? Son aquellos valores que, una vez compilado el programa, no pueden ser cambiados. Al definir las constantes, debemos tomar en cuenta las siguientes Reglas de conversin de datos:
Pgina 33
1.- Reglas de conversin de tipos de datos I Una constante entera ( sin parte decimal) es tomada como tal, a menos que se le aada las letras F o L ( Maysculas o minsculas) ejemplo : 1 : Tomada como entera ( int) 12f: tomada como flotante (Float) 456L : tomada como doble larga (longdouble) una variable con parte decimal es tomada siempre como DOUBLE salvo que se la siga la letra F o L: Tomada como doubl 3.56F : tomada como flotante 1.007L : tomada como flotante larga (long Float). 2.- Regla de conversin de tipos de datos II si en cualquiera de los casos anteriores agregamos la letra U o u la constante queda calificada como USIGNED: 86u : tomada como entera sin signo (unsignedint) 32.4463UL :tomada como doble larga sin signo (unsignedlongdouble) una variable numrica que comienza con "0": (cero) es tomado como OCTAL as : 012 equivale a 10 unidades en numeracin decimal una variable numrica que comienza con "0x" o ":0X" (cero-equis) es tomada como HEXAGECIMAL as : 0 x 16 equivale a 22 unidades en numeracin decimal. 3.- Para declarar constantes // llamado a las cabeceras # define constante1 valor1; # define constante 2, valor 2;// declaracin de una funcin { } Ejemplo: # include <stdio.h> #define PI 3.141592 //constante doubl #define OCTAL 017 //constante octal #define FLOTANTE 14F //constante flotante voidmain ( ) {//instrucciones} Estas constantes sirven en cualquier parte del programa. 4.-Operadores aridmeticos en C Operador, nombre, eemplo + suma a+b resta a-b * multilicacion a*b / divisin a/b %residuo entero de la divisin a%b ++ incremento en 1 a++ - decremento en 1 a --. 5.-Operadores relacionales en c operador, nombre, ejemplo> mayor que a>b <menor que a<b>=mayor o igual que a>=b <= menor igual que a<=b== igual a==b = diferente a =b 6.-Operadores lgicos en C operador, nombre, ejemplo devuelve cierto si: && y (exp1) && (exp2) ambas son verdaderas I
Pgina 34
I o (exp1) I (exp2) una o ambas son verdaderas no (exp1) cambia el valor de la expresin. 7.-Notas sobre los operadores en C los operativos aritmticos y relacionados pueden trabajar con variables o constantes de cualquier tipo numrico, como por ejemplo int, doubl, Float, etc. En los operadores lgicos exp1, exp2 corresponden a EXPRESIONES LOGICAS (Expresiones que pueden tomar valores verdaderos o falsos) Ejemplo: (7-2) I I (4>3) 8.-Caracteres de conversin mas usados en scanf ( ); y Printf ( ); (I) carcter significado %El dato es carcter %d El dato es entero % El valor es coma flotante %f El dato es valor coma flotante %g El dato es valor en coma flotante %h El dato es entero corto. 9.-Caracteres de conversin mas usados ( ); Printf ( ); (II) carcter significado %i El dato es entero decimal, octal o hexadecimal %o El dato es octal %s El dato es cadena de caracteres, seguido de espacio en blanco y del carcter fin de lnea ( ) %u El dato es entero decimal sin signo %x El dato es entero hexadecimal. 10.-Carcter de conversin mas usado en scanf( ); y Printf ( ); (III) Ejemplo: inta,b; char letra; floatarea; Printf(%c,%i,%f,%i,letra,a,area,b); 11.-Secuencias de escape (I) carcter cdigo valor ASCII campana (alerta) a 007 retroceso (espacio atrs) 008 tabulador horizontal 009 nueva lnea 010 tabulador vertical v 011 nueva pagina f 012. 12.-Secuencia de escape (I) carcter cdigo valor ASCII retorno de carro 013 comillas () 034 interrogacin () 039 barra invertida 063 fin de lnea 092 numero octal ooo000.
Pgina 35
Pgina 36
VARIABLES
VARIABLE Una variable puede ser inicializada en el momento en el que declara o despus de haber sido declarada, como se declara. Tipo de dato, Nombre de la variable. SINTAXIS
TIPOS DE DATOS Almacenan. No. Int: %d Short Long Decimales Double, Float lee %f Letras Chart %S
Nombre de la variable
CICLO DE VIDA DE UNA VARIABLE NACE: Es cuando se declara una variable SE DESAROLLA: Al momento que se acciona o tiene un valor MUERE: Cuando se termina el programa
Ejemplo: cuando se tiene mas de una variable del mismo tipo se declara en la misma lnea pero debe ir Float prom; Int calf1, calf2, calf3, suma;