Está en la página 1de 18
Introduccién a la programacién Las Fases del proceso de resolucién de problemas con programas son: = Fase de resolucién del problema, cuyo objetivo es encontrar un algoritmo Enunciado. Defnicién clara del problema. Andlisis. {Qué afecta? (Cémo se hace? Determinar los procesos, entradas y salidas, Disefio. Constiuir un algoritmo, Verificacién, Comprobar que realiza las tareas para las que ha sido dsefado, Produce el resultado correcto y esperado, Esta fase la realizaremos con lipiz y papel. 1 Fase de implementacién/programacién, en la que se programa el algoritma en el ordenador. Codificacién. Escriir ! algoritmo en un lenguaje de programacién ‘Compilacién, para comprobar que no haya erores en el cédigo fuente, y ejecucién, para ver su. comportamiento. Prueba y verificacin. A partic de una maiz de entrada establecidas y sus salidas esperadas se determina la valider de la solucién propuesta al problema, 4, Depuracién, para conegit los errores encontrados. 5. Documentacién. Referenciar desde que se dio el problema hasta la solucién encontrads La programacién es un proceso mediante el cual creamos programas que son ejecutados por un sistema computacional, todo ello con el fin de resolver una tarea. Todo programa implementa un algoritmo. Un algoritmo es conjunto de acciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. La construccién de un algoritmo (y por tanto la de creacién de un programa) se puede basar en varias técnicas de disefio. Destacamos. = Top-down (Descendente). Basado en “Divide y venceris’. Descomposicién del problema en partes mas simples hasta llegar a subproblemas de solucién inmediata (0 conocida) = Bottom Up (Ascendente). Conocidas las soluciones de algunos problemas, integrarlas para obtener la solucidn de nuestro problema. 1 Stepwise Refinement. Primero se describen pocos pasos y de manera incompleta. Se amplian las descripciones de manera mas detallada con pasos més especticos, * Backtracking. Donde se requiere una bisqueda exhaustiva de todas las posiblidades (como en la bisqueda de la salida de un laberinto.) 1 DiseFo voraz. Ir directo a un solucién, no necesarlamente una que sea Sptima. 2. Datos, operadores y variables 2.1. Tipos de datos Dade un dato informative, su tipo hace referencia a qué tipo de infocmacién almacena. Destacan dos grandes grupos: ‘© Primitive (simple © sencilo) Rango de valores Numéro entero [=128,127) Affanumerco caricter_ [0.65535] Numérco real 4.940656458412465440-324d hasta 17976931 3486231570++086 (postvo © negative) Numérco real 40129846452461707e-45 hase 3.40282346638528860e+38 (posto © negative) Numéro entero [-2147483648, 2147483647 Numéro entero -9223372036854775808 hasta 9223372036854775607 ‘= Estructura de datos (compuesto) Strings, arrays, Arboles 2.2. Variables referencia a un porcién de memoria del ordenador donde se almacena un dato npuesto) que se identifica con un nombre. En una declaracién de variable se le indica al ordenador el tipo de dato que se guardard y el nombre con el que se identficard la variable Ejemplos son: 1 Ejampl de variables encontrado; // la variable alsacenard el velor tree 0 false Una instruccién de asignacién de valor a una variable es la que presenta el siguiente patrén: identificador que significa “computa el resultado final de la expreesé porcién de memoria que le corresponde a sdentasicador la asignacién que calcula la suma de los valores almacenados en las variables x e y, y el resultado final se guarda en la variable x. 2.3. Operadores Los datos se pueden utilizar para obtener nuevos datos mediante los denominados operadores. Los operadores son acordes al tipo de dato. Dos niimeros enteros se pueden sumar, pero no asi dos valores booleanos: 0 se puede obtener el valor complementario de true pero no asi el de un char. Destacan los operadores aritméticos para niimeros y los operadores Iégicos para los datos booleanos. Dos datos simples se pueden comparar entre si con los operadores de comparacién (o relacionales). Existen varios tipos de operadores y entre ellos existe una precedencia (unos se realizan antes que otros en el caso de que aparezcan los dos en un instruccién). La asignacién también se contempla como un operador y siempre es el ultimo en realizarse. En Processing el orden de prioridad (de més preferente a menos preferente) es 12) Operadores postjos 8) Operadores unarios ) Multipticacion y division: d) Suma y resta: 2, Operadores relacionales: 3, Légicos a) Iqualdad Muy importante, no confundas == con 8) Operador AND: 6) Operador XOR: d) Operador €) Operedor 4, Operadores de asignacién , Pe indica que primero se hard el producto 2+3, después la suma 6+5, a continuacién | comparacién ¥y por aitimo se raré la asignacién Las expresiones att, tx y xextt incrementan en | el valor de la variable x, Realizan la misma foperacién artmética pero tienen efectos diferentes cuando aparecen con ottos operador. Segin la fexpresién uliizada se pude generar una accién w otra. Lo mismo ocure con las expresiones =, y xex-1 que decrece en | el valor de la variable x: pero actiian en el programa de forma diferente. 24, Casting Un casting es la conversion de un dato a un tipo de dato concreto. Existen dos tipos de casting + implicit, cuando lo tealiza dtectamente el lenguaje de programacién, P.e. la suma de dos datos tipo cnar es un dato de tipo 1 explicit, cuando lo exdena el programador con la expresién (t o Sketch 2: Ejemplos de casting expliitos para generar valores aleatorios 2)sar contador = (ase) randou(0,1000) ~ Sener tectas Coker) CCoyte) ramon (64, 127)) 3. Estructuras de control 3.1. Estructura secuencial Un programa que s us ontrol constaré. generalmente de unas instru Se de variables © constantes, insrucciones de asignacién a partir de datos obtenidos por instrucciones de lectura de datos, instrucciones de impresién in Funciones i n tener este a 3.2. Estructuras Selectivas Aquellas que seleccionan y eecutan uno y solo uno de les procesos alternatives posbles cuando cumple con la condicién establecida, Las condiciones de las estructuras selectivas responden a son expresiones cuyo valor final debe ser booleano (y el valor se obtiene utlizando operadores de comparacién y booleanos). Condicional Las que realizan una serie de instrucciones siempre y cuando se cumpla booleana cierta Sketch 4: Patrén del condicional simple luna condicién Se ( condita) { > Sketch 5: Dibuja un cuadkado ... a veces Tee aazere = 16; // Balog. snputlns(Dare un miners entero’): #26100, 100) ; ff (numero > § && nunere < 20) { (20, 20, 80, 80): // 4 veces débuse wm cuadrado > (0, 0, 100, 100): // Stempre sebaya one tines Bicondicional Las que realizan una serie de instrucciones siempre y cuando se cumpla booleana cient; pero realiza otra serie de instrucciones siempre y cuando la misma fala tuna condicién condiién sea Bicondicional Las que realizan una serie de instrucciones siempre y cuando se cumpla una condicién bocleana clerta; pero realiza ota serie de insttucciones siempre y cuando ls misma condicign 408 fala Sketch 6: Patrén del condicional dable aiciga) Sketch 7: Dibuja una nea a una altura determinada con color variable [IRe mumere = 18; /7 Diaiog.snputtat Dane wo winero"); $4 (numero < height/2) ( // 66 48 verdad £511 256,.0,005, 1 sbajeren Lines rosa (30, ammare, width-20, seners) dice ¢ 1 pero 66 86 fois0 £511(0,0,256) ; 17 ebaga wea Vines azul (0) aunero, width, muzera): (width/2-10 height /2-10, 20, 20); // Stempre asbaja wm rectdngute Alternative miltiple Ejecuta uno de entre varias procesos de acuerda al resultado de la evaluacién de una expresién que se compara con valores alterativos. El tipo de dato de la expresién solo puede ser entero 0 cardcter y, por lo tanta, las opciones deberdn coincidr con el tipa de dato de la fexpresin: si la evaluacidn es un entero entonces el tipe de dato de las opciones serdn un entero, y si la evaluacién es un cardcter entonces el tipo de dato de las opciones serin un caricter. fh 8: Patrén del condicional miitiple ‘Sketch 9: Calcula datos de un cielo 77 daciaranon wa variable qun aimecenard Ia soluetdn al problems a aaa eee eee eo U1 sersestanes oh ratso deh efrento Float radio = 10.05. // Dalog.saputFloat("Dine at radio del eéreulo") UE neatranss 0b went printinCSelecelona una epesén:*); printin(*a) Caleular e1 élanetro.“ Printin(eb) Galeular 41 perinetre."); Printin(re) Celeular el Area." U1, rebsncs que seieccsonen soa opesia Char opeion = ‘a's // Dealog-tnputCher("Dane wa opetén"); pesten (opeton) ( Eine ("EL Atdmetzo en pene CEL 3.3. Estructuras Repetitivas ‘Aquelas que repiten una y otras ver de forma reiterativa una secuenca de insitucciones mientras que cleria condiign sea cera. Cuando la condicién cambia st valor y deja de ser cera, dejan de cjecutarse dicha secuencia de intrucciones, Estructura ot Es la estructura que responde algorlimicamente al concepto de estuctura repettva, Es la estructura exencial en cualquier lenguaje de progamacién, Cualquier atta que pueca exis es una leve mmodifcacién de esta estructura Sketch 10: Patrén general de va |[Tntesar variable ae control ee 16 condsessn Dieatie (coneiesn) Cada ver que se ejecutan las instucciones se tealiza una iteracién, Una ieracién es la repetiibn e un proceso dentro de un programs informatico, La condicién, que es un valor booleano, depende de una variable que puede ser booleana o no. ‘= Dicha variable, lamada centinela © de contol, deberd inicialilzarse @ un valor acorde @ su tipo e dato y antes del inicio de Ia estructura repetiiva, ‘= La condicién responde a una expresidn que, utizand la variable de control, retora un valor bocleane, = En el cuerpo deberk de exist alguna instrccién que modiique el valor de la varlable de control para que 2 su vez modifique el valor de la condicién de control a efectos de que la estructura Fepettva no entre en un ciclo sin fin Sketch 12: Suma de n naturales con un contador Jat numero = 10; // Mieero watural por eb gue emperaae Ua sora ine elfinal = 32; // Gttino stero natura gue se surd int ouma = 17 Aeuwalodor de Va ou. int contador-0; // Iinero de veces que se ha realizado 1a iteractén Ui Aetsard de variable de control int pasos-elfinal-nunerot1; // Sinero de pasos que se realicard lo sues. while ( contador < pasos) { // Mientras no hayanos recorride todos los nineros suna = suma + aunero; // eatcuta 1s sume ‘numero = numero + 1; // numero ~ siguiente(aueero}; Ho es wn contador. contador = contador + 1; // Cuento la iteractén. Si e5 on contador. > print ("La suma de los niimeros entre *); print(musero); // Se mestra el resultado print (* y *); print (elfinal); print(* es: "J; printIn(suma) ; Estructura Es una estructura while en la que las insrucciones del cuerpo se ejecutan al menos una vez Sketch 13: Pattén general de ast 3 dale (eonaleian) Sketch 14: Suma de nimeros naturales hasta TET 7 FertebLa de Gntro¥ eed latin saré Tec Oe aaa aeateetreeet Contsauar = {(Csat) randon(0.100)) X= 3 thine” Ceontsauar) Estructura Es una estructura vile en la que las instrucciones del cuerpo se ejecutan un aimero determinado wepresives) & . festé formada por la declaracién @ Inicializaciin de la variable de control de tipo entero. Incluye una acignacién. También se llama parte de inicalizacién. ‘expresién.1 esta formada por la declaracién e inicializacién de la variable de control de tipo entero. Indluye una asignacién. También se llama parte de inicializaci expresiéa_2 establece la condicién de control (niimero de iteraciones a realizar). Es una expresién También se llama parte de iteracién expresiéa.3 indica el ineremento o disminucién de la variable de control. Incluye una asignacién. También se llama parte de incremento, anetru A son las instrucciones que se repetirin mientras se cumplan las condiciones de control snetru 4 teuctura repetiti 3.4. Instrucciones y Hay dos instucciones que aumentan el control sobre los bucles. Siven para parar y continuar con la sigulente iteracién del bucle respectivamente, f La Inetruccién break se usa para interumpir (compet) Ia ejacucién normal de un bucle allé donde se encuentre, También se sa en el cane de un para omity el resto del eviten alld donde s2 encuente La instruceibn se usa para pasar a la siguiente iteracién La instrucelbn solo aparece en las estructura repetivas y su funcién es evitar que las instrucciones restantes del cuerpo del bucle para proceder a la siguiente iteraciin del mimo. Sketch 17: break y continue en una estructura while wane G15) ¢ ay printia(*?4? an ate grande que 2.1) beeans // tonya at baste ise ¢ Eostinte;// kaptesa ta siguiente tteracide del cle Veprtnit” ite nenen se tprintet peineaa(d

También podría gustarte