Fundamentos de Programacion Para Todos los Públicos - Ernesto Rodriguez Arias.pdf
Short Description
Download Fundamentos de Programacion Para Todos los Públicos - Ernesto Rodriguez Arias.pdf...
Description
rias
A todos los que me apoyaron alguna vez
Sobre el Autor Ernesto Rodriguez es Ingeniero Técnico Industrial y Profesor de Educación Secundaria durante 18 años del área de Tecnología. Fundador de la empresa Ermoweb dedicaca al mundo de internet y la programación. En su labor docente sigue el lema: “Todo el mundo puede aprender si se le enseña adecuadamente”. Otros Libros del Autor
Electrónica Básica Fácil: Un libro sencillo y fácil de aprender con todos los conocimientos básicos sobre electrónica - Curso de Electricidad: El curso trata temas desde la estructura de átomo hasta montajes de motores en triangulo y calculo de potencias en corriente trifásica. 101 Problemas de Lógica: Juegos para agilizar la mente. Estilo Compadre: Su primera novela. Una novela policial y romántica, donde el pasado vuelve para traer inesperadas consecuencias.
Página web del autor: http://www.areatecnologia.com
INTRODUCCIÓN 1. ALGORITMOS, DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO 1.1 ¿Qué es un Algoritmo? 1.2 Diagramas de Flujo 1.3 Pseudocódigo
2. ELEMENTOS COMUNES EN LA PROGRAMACIÓN 2.1. Comentarios 2.2. Las variables
3. ESTRUCTURAS DE CONTROL 3.1 Estructuras secuenciales 3.2. Estructuras selectivas
3.2.1 Alternativas simples (condicional IF) 3.2.2 Alternativas dobles (IF…….ELSE….) 3.2.3 Alternativas múltiples o con varias condiciones. 3.3. Estructuras de control REPETITIVAS 3.3.1 Estructura MIENTRAS(condición) o "WHILE“ 3.3.2 Estructura REPETIR (hacer)... MIENTRAS QUE (condición) o "DO.....UNTIL“ 3.3.3 Estructura DESDE o "bucles FOR" 3.4 Otras Estructuras de Control 3.4.1 Variables “Acumuladores”
4. MATRICES 5. TIPOS DE ERRORES 6. EJEMPLOS DE PSEUDOCÓDIGOS
7. TIPOS DE LENGUAJES DE PROGRAMACIÓN Y PARA QUÉ SIRVEN.
Introducción Los fundamentos de programación son las bases comunes a todos los lenguajes de programación. Es lo primero que tendrás que aprender, incluso antes de elegir el programa con el que quieras programar.
El propósito general de un lenguaje de programación es permitir a un ser humano (el programador) traducir la idea de un programa en una secuencia de instrucciones que el ordenador sea capaz de ejecutar.
Como los lenguajes humanos, los lenguajes de programación son herramientas de comunicación, pero al contrario que los lenguajes corrientes como el inglés o el chino, los destinatarios de los lenguajes de programación no son sólo humanos sino también los ordenadores Si nos queremos entender con el ordenador, el ordenador solo entiende el llamado código máquina (1 y 0, 1=hay o 0=no hay corriente).
Es por eso que tenemos 2 tipos diferentes de lenguajes de programación, dependiendo de su cercanía al lenguaje del ordenador. Los de bajo y los de alto nivel. Estos lenguajes sirven para dar órdenes directas al hardware del ordenador.
Los lenguajes más cercanos al idioma del ordenador, llamados de bajo nivel, son muy complicados (casi como el código máquina) y poco usados. El más conocido es el código o lenguaje máquina, un código que el ordenador puede interpretar directamente. Aquí tienes un ejemplo: 8B542408 83FA0077 06B80000 0000C383 Complicado ¿NO?
De este tipo de lenguajes, que solo suelen utilizar los que programan los ordenadores inicialmente para su uso, no vamos hablar aquí. Hablaremos de los conocimientos comunes a los lenguajes de alto nivel. Los lenguajes de programación de alto nivel permiten dar órdenes al ordenador con un lenguaje parecido al nuestro (Visual Basic, Pascal, Logo, C++, etc.) y normalmente en ingles.
El código de un programa suele escribirse en uno o varios ficheros de texto. Este código que es interpretable por un humano (o al menos debiera serlo) no puede ser ejecutado directamente por el computador. El problema de los lenguajes de alto nivel es que necesitan un compilador o interprete para traducirlo al código máquina.
Existen unos lenguajes llamados lenguajes interpretados, en los que existe un programa llamado intérprete que lee las líneas de código y las ejecuta inmediatamente, es decir, se analizan y ejecutan las instrucciones por el propio programa directamente, pero siguen siendo lenguajes de alto nivel. Ejemplos de este tipo son el GML o el Java.
Pero no te vuelvas loco, todo esto es puramente técnico, lo importante es que los lenguajes, como todo, hay que aprendérselos, pero tienen una ventaja, y es que tienen varios puntos en común, más bien muchos. Estos puntos son lo que vamos a estudiar aquí, los fundamentos de programación común a cualquier lenguaje de alto nivel.
Una vez aprendidos, tendrás que elegir tu el lenguaje que quieras, pero con estos conocimientos, todos te resultarán muy fáciles de aprender, solo tendrás que aprender unas cuantas instrucciones en ingles.
1. Algoritmos, Diagramas de Flujo y Pseudocódigo Los lenguajes de programación, cuentan todos en su haber con un juego de "instrucciones". Una instrucción no es más que una orden que nosotros le damos a la máquina.
Y es que, al fin y al cabo, un programa no es más que una secuencia de instrucciones, escritas en algún lenguaje de programación y pensadas para resolver algún tipo de problema. Eso sí, si no sabemos resolver este problema, no podremos escribir el programa. Sería absurdo intentar hacer un programa informático para resolver un ejercicio que requiere de una fórmula, si no sabemos qué fórmula necesitamos, ni cómo aplicarla.
Por eso cuando te plantees crear un programa primero tendrás que saber para qué servirá y cómo lo resolverá. A ti se te puede ocurrir una manera de resolverlo, a tu compañero, otra. Y las dos formas pueden ser correctas. Este método con el que resolvéis el problema, es lo que se llama algoritmo, y es lo primero que vamos a ver.
1.1 ¿Qué es un Algoritmo? Un algoritmo es una secuencia de PASOS a seguir para resolver un problema. Por ejemplo, cuando quiero ver una película de vídeo, podría hacer los siguientes pasos = algoritmo: Elijo una película de las de mi colección.
- Compruebo SI TV y vídeo están conectados a la red (y procedo). SI la TV está apagada, la enciendo, SI NO, pues no. Y lo mismo con el vídeo. Introduzco la película en el vídeo. Dejo el estuche sobre el vídeo. SI la TV no está en el canal adecuado, la cambio, SI NO, pues no.
Cojo los mandos a distancia (el del TV y el del vídeo). -
Me pongo cómodo.
Pulso PLAY en el mando del vídeo. Fíjate bien en unos detalles que son fundamentales y que aparecen en este algoritmo:
- La descripción de cada paso no me lleva a ambigüedades, los pasos son absolutamente explícitos y no inducen a error. - El número de pasos es finito. Tienen un principio y un fin. Según lo visto una mejor definición de algoritmo sería:
“Un algoritmo es una sucesión finita de pasos (no instrucciones como en los programas) no ambiguos y que se pueden llevar a cabo en un tiempo finito.”
Hay distintas formas de escribir un algoritmo, bien usando un lenguaje específico de descripción de algoritmos, bien mediante representaciones gráficas como diagramas de flujo. Esta última suele ser la más utilizada por los programadores. Veamos un pequeño resumen de creación de diagramas de flujo.
1.2 Diagramas de Flujo Los diagramas de flujo representan la secuencia o los pasos lógicos para realizar una tarea mediante unos símbolos. Dentro de los símbolos se escriben los pasos a seguir. Un diagrama de flujo debe proporcionar una información clara, ordenada y concisa de todos los pasos a seguir.
Veamos un ejemplo muy sencillo. Haremos el algoritmo y el diagrama de flujo para cocinar un huevo para otra persona. Los pasos a seguir o algoritmo escrito sería: - Pregunto si quiere el huevo frito. - Si me dice que sí, lo frio, si me dice que no, lo hago hervido.
- Una vez cocinado le pregunto si quiere sal en el huevo. - Si me dice que no lo sirvo en el Plato. Si me dice que si le hecho sal y después lo sirvo en el plato. Ahora vamos hacer el diagrama de flujo:
Sencillo ¿NO?
Si uno tiene experiencia puede prescindir del algoritmo escrito, pero siempre tendremos que tenerlo en mente para hacer el diagrama de flujo sin equivocarnos. Reglas Básicas Para la Construcción de un Diagrama de Flujo 1. Todos los símbolos han de estar conectados 2. A un símbolo de proceso pueden llegarle varias líneas
3. A un símbolo de decisión pueden llegarle varias líneas, pero sólo saldrán dos (Si o No, Verdadero o Falso). 4. A un símbolo de inicio nunca le llegan líneas. 5. De un símbolo de fin no parte ninguna línea. Los símbolos que se usan para realizar los diagramas de flujo son los siguientes:
En el Símbolo de decisión a tomar, los valores de salida pueden ser SI o NO o VERDADERO o FALSO. El símbolo de Inicio o Final del Diagrama puede ser un cuadrado con los bordes redondeados o una elipse. Se pueden utilizar colores para los símbolos. Veamos otro ejemplo muy sencillo.
Queremos hacer un programa informático que nos sume dos números y nos dé el resultado en pantalla. Solución en la siguiente página:
El símbolo de resultado es un símbolo usado en los diagramas para soluciones con el ordenador. Es el símbolo de salida del resultado por la pantalla del ordenador. Ves que es muy sencillo, hay que ir poniendo los pasos lógicos que se deben seguir para realizar la tarea o el programa.
En el ejercicio tenemos el inicio y el fin, una entrada de datos, para meter los 2 números, una operación a realizar, la suma, y un resultado a mostrar. Cada uno de esos pasos con su símbolo correspondiente en el diagrama. Recuerda que estos diagramas de flujo te facilitarán mucho la tarea antes de empezar con tu programa.
Independiente del lenguaje de programación que vaya a usarse; un algoritmo que esté escrito en pseudocódigo o con un diagrama de flujo es fácilmente traducible a muchos lenguajes de programación. Si quieres ver más ejemplos de diagramas de flujo te recomendamos el siguiente enlace:
http://www.areatecnologia.com/informa de-diagramas-de-flujo.html
1.3 Pseudocódigo El pseudocódigo es una forma de escribir los pasos, pero de la forma más cercana al lenguaje de programación que vamos a utilizar, es como un falso lenguaje, pero en nuestro idioma, en el lenguaje humano.
Una de las mayores dificultades con las que se encuentran los hispanoparlantes que empiezan a programar es el idioma. Por eso es bueno utilizar el pseudocódigo, algo así como un falso lenguaje de programación en español, que ayuda a asimilar con más facilidad las ideas básicas. Incluso algunas universidades han creado sus propios "intérpretes de pseudocódigo".
Su misión es ayudar a los alumnos de primer curso a crear los programas "pensando en español", pero permitiéndoles además, probar esos programas desde un entorno "casi real". Por ejemplo, PSeInt es una herramienta para asistir a un estudiante en sus primeros pasos en programación, mediante un simple e intuitivo pseudolenguaje en español (complementado con un editor de diagramas de flujo).
Por ejemplo si queremos escribir algo en pantalla, en pseudocódigo podríamos poner: Escribir "Hola" o Escribir 20+30. También podemos usar: mostrar por pantalla "Hola"
Realmente el pseudocódigo lo podríamos escribir como nosotros quisiéramos, ya que realmente no es el programa en sí, solo es una ayuda para posteriormente realizar el programa mediante el lenguaje de programación que utilicemos, eso sí, es de gran ayuda. Recuerda que el pseudocódigo para un programador es fundamental.
Si sabes hacer el pseudocódigo del programa, pasarlo a cualquier lenguaje de programación es muy sencillo, solo tendrás que aprender los comandos equivalentes a las instrucciones en pseudocódigo. Además, la mayoría de los lenguajes utilizan prácticamente los mismos comandos en su lenguaje. Sigamos hablando un poco más sobre el pseudocódigo.
Para especificar el principio y el fin del programa pondremos: Inicio Aquí iría el programa en pseudocódigo Fin Otra forma muy utilizada sería: Proceso NombreDelPrograma Aquí iría el programa en pseudocódigo
FinProceso Las 3 cosas más comunes que podemos escribir en pseudocódigo son: Escribir Escribe en pantalla el texto que pongamos entre paréntesis o también puede escribir en pantalla el valor de una variable. Esta instrucción en casi todos los programas suele escribirse con la palabra write o document.write('Hola ');.
LeerEdad nos lee desde lo que el usuario marque desde el teclado y guarda el valor, por ejemplo dentro de una variable, en este caso la variable Edad (luego veremos lo que son las variables). En programación real suele utilizarse la instrucción input. Calcular3 x 5
Calcula valores
Ya veremos más adelante ejemplos de programas en pseudocódigo, pero recuerda que lo más usado es Leer, Escribir y Calcular. Ahora vamos a empezar con lo interesante, vamos a empezar aprender a programar.
2. Elementos Comunes en la Programación 2.1. Comentarios Poner comentarios de lo que vamos haciendo es muy útil, sobre todo cuando llega la hora de revisar el programa, si no, más de una vez nos encontraremos diciendo ¿qué hacía esto aquí?. No cuesta nada documentar el programa y nos ahorrará dolores de cabeza.
La norma que se sigue en todos los programas es poner // delante de los comentarios para identificarlos: // Esto será un comentario y no hará nada en el programa, solo servirá para leerlo nosotros dentro del programa. Nosotros durante las explicaciones también pondremos comentarios.
2.2. Las variables Esto es una de las cosas más importantes en programación. Entender bien que es una variable es fundamental. Una variable es como una caja donde metemos cosas (datos). Estos datos los podemos ir cambiando, ahora meto un 3, ahora lo quito y meto un 5.
Una variable tiene un nombre, que puede ser una letra, una palabra, varias palabras unidas por el guión bajo o varias palabras sin separar, pero la primera letra de cada palabra en mayúsculas Ejemplos para escribir el nombre de una variable: VidasPerdidas, vidaperdidas, vidas_perdidas.
Ojo las mayúsculas y minúsculas son muy importantes en las variables, no es la misma variable numero que Numero, son dos diferentes. ¿Pero no lleva acento la palabra número? OJO NO se pueden poner acentos en el nombre de las variables.
Las variables, además de un nombre, también tienen un valor que es lo que hay dentro de ella (recuerda dentro de la caja) en ese momento y que puede ir variando según se vaya desarrollando el programa, por eso se llama variable. Una variable dependiendo de su valor puede ser: Variable Numérica, si solo puede tener un valor numérico.
Variable de texto, si solo puede contener texto dentro de ella (letra, palabra o frase (string). Una frase se llama string.
En las variables de texto, su valor (el texto), debe ir entre comillas, para diferenciar que el texto es texto y no es el nombre de otra variable. Por ejemplo definamos 2 variables diferentes
vidas = "Cinco" Vidas_Fin = "5" En los dos casos el valor es un texto, nunca el valor de 5. Las numéricas no llevan comillas en su valor. Por ejemplo vidas = 5. En este caso su valor sí que es el número 5.
Hay otras variables que se llaman booleanas que solo pueden tener dos valores true o false. Normalmente true se puede sustituir por el valor 1 y false por el 0. Veamos algunos ejemplos de los tipos de variables: Edad=3; //variable numérica. Fíjate que esto no hace nada, es solo un comentario.
VariableDeTexto= “Edad”; VariableNumerica= Edad + 2 ; El valor de VariableNumerica, es el valor de la variable Edad (numérica y que valía 3) +2. En este caso el valor de VariableNumerica sería = 5 (resultado de 3+2). Ojo podría cambiar durante el desarrollo del programa, recuerda que es una variable.
VariableBooleana = true; en este caso sería de valor 1 ¿Te has dado cuenta que hemos puesto un punto y coma (;) al acabar de definir cada variable? En programación siempre que se acaba una instrucción o grupo de instrucciones se debe poner punto y coma (;) para decir al programa que pasamos a otra instrucción diferente. Pero sigamos con las variables.
Lo normal es declarar las variables al principio de un programa. Declarar no es más que decir "mira, yo quiero tres variables, y quiero que una se llame Nombre, otra Edad y otra Apellido". A partir de este momento, podrás meter su valor, en cualquier parte del programa.
Por ejemplo, “Juan” en Nombre, un 5 en Edad y “Rodríguez” en la variable Apellido. Ojo no es la misma variable Nombre que nombre, como ya dijimos anteriormente. Después podremos cambiar su valor dentro del programa las veces que queramos. Las variables se suelen declarar al principio del programa.
Declarar las variables es decir qué tipo de dato es el que queremos representar con ese nombre de variable. OJO hay lenguajes en los que no es necesario declarar la variable. Pero en la mayoría si es necesario Veamos un ejemplo:
numerica: Pepe //declaramos la variable Pepe como numérica. Solo puede almacenar números dentro del programa. Ahora ya la podemos usar. Pepe = 14 //Damos un valor a la variable ya declarada Pepe; Pepe = 42 // Cambiamos el valor de la variable a 42; Podemos sumar, restar, multiplicar y dividir las variables o cualquier número.
La resta se indicará con -, la suma con +, la multiplicación con *, la división con / y la potencia con ^. Una operación menos habitual es calcular el resto de una división. Esto también tiene un símbolo asociado: %. Esto se suele usar con frecuencia para saber si un número es múltiplo de otro (por ejemplo, será múltiplo de 10 si su resto entre 10 es 0, o será impar si su resto entre 2 es 1).
15%2 nos dará el resto de dividir 15 entre 2, es decir será 1. Además como el resto es 1 el número será impar. Cuando tenemos varias variables numéricas o de texto las podemos declarar todas a la vez de la siguiente foma:
numerica: Pepe, Mari ,Juan //Declaramos las variables numéricas que usaremos todas a la vez. Es más sencillo y se puede hacer. Posteriormente les asignamos sus valores iniciales. Texto: Nombre, Apellido, Ciudad // Declaramos las variables de texto que vamos a usar a la vez. Posteriormente les asignamos sus valores de texto iniciales.
Veamos una sencilla suma de variables: Pepe=2; Mari=3; Juan = Pepe + Mari; // Juan tiene ahora el valor numérico de 5. Hay variables ya definidas por el propio lenguaje de programación que usemos, y cuyo nombre no se lo podremos dar a ninguna de las que nosotros definamos.
Las podemos usar, pero tal y como el lenguaje las definió. Por ejemplo, en muchos lenguajes mouse_x es la variable que tiene el valor de la posición x del ratón en cada momento, hspeed es la velocidad horizontal, etc. Para acabar con el tema de las variables, decir que pseudocódigo para especificar que queremos recoger el valor de una variable desde el teclado, se suele hacer de la siguiente forma:
Leer NombreDeLaVariable Por ejemplo: Leer Edad; En este caso nos permite leer lo que el usuario teclee y dejarlo guardado para utilizarlo después mediante la variable nombre. Si el usuario teclea 5 la variable Edad quedará con 5 como valor. Fíjate en el siguiente programa escrito es pseudocódigo:
Proceso Ejemplo Escribir "Dime un numero" Leer primerNumero Escribir "Dime otro numero" Leer segundoNumero Escribir "Su suma es ", primerNumero + segundoNumero FinProceso ¿Lo entiendes verdad? Nos suma los dos números introducidos por el usuario desde el teclado.
Ojo si somos nosotros los que queremos definir el valor de una variable no pondremos Leer, simplemente el nombre de la variable y su valor. Edad = 15 //variable numérica EdadTexto = “Tengo 15 años” //variable de texto. Variables Locales y Globales
Si queremos que la variable se use en todo el programa deberemos nombrarla como una variable global, en caso contrario, si no la definimos como global, por defecto el lenguaje la considerará una variable local. Una variable local al salir del lugar donde la hemos asignado un valor, perderá ese valor y ya no existirá (al salir de un algoritmo, trozo de programa, del objeto, de una estructura IF, etc.).
En algunos lenguajes de programación, por defecto cuando asignamos una variable ya es global. En otros no. En la mayoría de los lenguajes que se necesita diferenciar local de global, se pone la palabra global, un punto y detrás el nombre de la variable. De esta forma, esta variable la podemos usar en todas las partes del programa sin problemas. Ejemplo global.pepe, que será distinta de la variable pepe.
3. Estructuras de Control Las estructuras de control tienen una finalidad bastante definida: “su objetivo es ir señalando el orden en que tienen que sucederse los pasos de un algoritmo o de un programa.” Las estructuras de control son de tres tipos: 3.1. Secuenciales 3.2. Selectivas
3.3. Repetitivas Empecemos por las primeras.
3.1 Estructuras secuenciales Una estructura de control secuencial, en realidad, no es más que escribir un paso del algoritmo detrás de otro. El que primero que se encuentre escrito será el que primero se ejecute. Veamos un ejemplo: queremos leer el radio de un círculo, calcular su área y mostrar por pantalla al usuario el resultado.
En pseudocódigo (algo parecido a nuestro lenguaje) sería: Inicio numerica: radio, area; //Declaración de variables; inicio mostrar por pantalla “dame el radio del circulo”;
Leer radio //asignación del valor de la variable radio por medio del teclado; area =3.14159*radio; //asignación del valor de la variable área por nosotros, en función del valor de radio. Escribir “el área del circulo es:” + area //En los textos debemos poner acentos; Fin
Como ves las instrucciones se van ejecutando unas detrás de otra hasta llegar al final. Es importante definir el inicio y el final del programa.
3.2. Estructuras selectivas Estas estructuras se utilizan para TOMAR DECISIONES (por eso también se llaman estructuras de decisión o alternativas). Lo que se hacen es EVALUAR una condición, y, a continuación, en función del resultado, se lleva a cabo una opción u otra.
3.2.1 Alternativas simples (condicional IF) Son los conocidas condicionales SI (if en ingles). Su traducción sería: "si se cumple esto... entonces hacemos algo". Se usan de la siguiente manera: yo quiero evaluar una condición, y si se cumple (es decir, si es cierta), entonces realizaré una serie de pasos. Un ejemplo en pseudocódigo sería: Inicio Declaración de variables
numerica: numero, raíz fin declaración de variables inicio Escribir “introduce un numero” Leer numero SI numero>=0 ENTONCES: // mayor o igual que cero;
raíz = raiz_cuadrada (numero) Escribir “la raíz cuadrada es:” Escribir raíz fin del SI fin En todos los lenguajes de programación la condicional SI se escribe de la siguiente forma.
if numero = 0 {Entre corchetes definimos lo que se hace si cumple la condición de que la variable numero sea igual a 0} Es decir la palabra if seguida de la condición y seguidamente entre corchetes lo que se realizará si se cumple la condición. if edad < 19 { resultado =”Eres menor de edad” }
En este ejemplo si la variable edad es menor de 19 la variable resultado (de texto) nos mostrará un texto que dice “Eres menor de edad”. Para las estructuras de control son muy importantes los operadores que nos permiten comparar. Aquí tienes los más usados:
También tienes operadores para realizar funciones matemáticas:
Si escribo numero = AZAR (100) el ordenador asignará a la variable numero, un número al azar entre 0 y 99. OJO siempre un número menos del que pongamos entre paréntesis.
3.2.2 Alternativas dobles (IF…….ELSE….) ¿Qué pasa si no cumple la condición puesta en los casos anteriores?
Pues si no le decimos nada, el programa pasará a la siguiente orden de forma secuencial. Pero también podemos especificar que pasaría si no cumple la condición. Es el famoso trío "si se cumple ... haces esto ... sino esto otro". Veamos cómo sería la estructura en todos los lenguajes:
if (condición) {se hace esto} else {si no cumple la condición se hace esto otro}; Lo que hay entre los primeros corchetes es lo que haría el programa si se cumple la condición. Lo que hay entre los corchetes después del else es lo que haría si la condición no se cumple. Dentro de los corchetes podemos especificar varias órdenes.
Ojo aquí no pasaría a la siguiente orden de forma secuencial. Para ir a otro sitio tendríamos que especificarlo dentro de los corchetes. Por ejemplo ir algún sitio si se cumple o ir a otro si no se cumple. En el ejemplo anterior sería mucho mejor hacerlo con este tipo: En pseudocódigo: Declaración de variables numerica: numero, raiz
fin declaración de variables inicio Escribir 'introduce un numero' Leer numero SI numero >= 0 ENTONCES: {raiz = raiz_cuadrada (numero); Escribir 'la raíz cuadrada es:' + raiz} SINO: {Escribir 'lo siento, no puedo calcular la raíz cuadrada de un numero negativo'} fin del SI fin
raíz es una variable que tomará el valor de la raíz cuadrada del número introducido por el usuario mediante la orden Leer numero. Fíjate que si el número que introduce el usuario en la variable número fuera un número negativo ( es decir menor que 0) el programa mostraría que no puede calcular la raíz. OJO en programación deberíamos sustituir SI por if y SINO por else.
En el siguiente caso vemos como sería para saber si un número es negativo o positivo, en lenguaje de programación real. if numero >= 0 {mostrar en pantalla "Numero Positivo} else { mostrar en pantalla "Numero Negativo} Estas estructuras seguirían el siguiente esquema:
Si se cumple la condición se realiza las acciones A, si no se cumplen se realizan las acciones B.
3.2.3 Alternativas múltiples o con varias condiciones.
Es muy probable que tengamos la necesidad de incluir en nuestros programas alternativas con muchas opciones posibles (varios SI diferentes). variableOpciones= un valor a elegir, por ejemplo desde el teclado if (variableOpciones=0) {lo que corresponda}; if (variableOpciones=1) {lo que corresponda}; if (variableOpciones=2) {lo que corresponda}; ……….
Podemos poner tantas if como queramos. En este caso el programa realizará las acciones en función de lo que valga la variable variableOpciones. Ejercicio propuesto: Intenta hacer un programa que nos diga la nota de un alumno, en función del número sacado en el examen.
Por ejemplo: si saca menos de 5 “Suspenso”, Si saca entre 5 y 6 suficiente, si saca entre 6 y 8 “notable”. También existe la posibilidad de que deban de cumplirse dos condiciones a la vez: if (condición1 && condición2) {Se cumple esto} Esto sería si se cumplen las condiciones 1 y 2 a la vez.
if (condición1 && condición2) {Se cumple esto} else {se cumple esto otro} Esto sería si se cumplen las condiciones 1 y 2 a la vez o si no se cumplen a la vez. OJO tienen que cumplirse las dos a la vez. Si solo se cumple una de las dos se realizará lo que tengamos en los corchetes del else. Los símbolos && significan "y", es decir si se cumple la condición1 y la condición2 a la vez.
Aquí tienes una tabla con los operadores lógicos utilizados para posibilidades de opciones:
if (condición1 | condición2) {Se cumple esto}
Este caso se realizaría las acciones entre corchetes si se cumpliera cualquiera de las dos opciones o las dos a la vez. Si solo se cumple la condición 1, ya valdría para que se realizaran las acciones que hay entre los corchetes. Intenta hacer los siguientes ejercicios con bolígrafo y papel: Sobre estructuras secuenciales
1. Escribid un algoritmo y su pseudocódigo que calcule el área de un triángulo o de un rectángulo. 2. Escribid un algoritmo y su pseudocódigo que calcule el precio de un artículo tras aplicarle un 16% de IVA. Sobre estructuras selectivas 1. Crea el pseudocódigo para un esquema de menú de opciones, para poder seleccionar un libro a leer de entre 3 disponibles.
2. Escribid un algoritmo y su pseudocódigo que lea tres números que introduzca el usuario e imprima por pantalla el mayor de ellos. 3. Crea un programa en pseudocódigo que pida un número al usuario y diga si es positivo, negativo o cero.
3.3. Estructuras de control REPETITIVAS Estas estructuras son instrucciones que se repiten formando un bucle (algo que se repite una y otra vez). El bucle se repite mientras se cumpla una condición que ha de ser especificada claramente. Cuando deje de cumplirse la condición, se sale fuera del bucle y no se repiten más las instrucciones.
Un BUCLE (loop, en inglés) es un trozo de algoritmo, pseudocódigo o de programa cuyas instrucciones son repetidas un cierto número de veces, mientras se cumple una cierta condición que ha de ser claramente especificada. Básicamente, existen tres tipos de estructuras repetitivas:
3.3.1 Los bucles "mientras..." en pseudocódigo o "while” en programación real. 3.3.2 Los bucles "repetir (hacer)... mientras que" en pseudocódigo o "do... until" en programación 3.3.3 Los bucles "desde" en pseudocódigo o "bucles for" en programación. Vamos a verlas todas dentro de un ejemplo.
El ejemplo es el siguiente: Vamos a suponer que estamos pensando en un programa que deba REPETIR algunas veces una acción. Un ejemplo más concreto. El ordenador se ha portado mal, y como castigo, le vamos a hacer imprimir por pantalla 3000 veces la frase "Prometo ser bueno".
¿Cómo lo hacemos? ¿Escribimos 3000 veces la instrucción pertinente? ¡Se supone que el castigo es para la máquina, no para uno mismo!
3.3.1 Estructura MIENTRAS(condición) o "WHILE“
En este tipo de estructura, el cuerpo del bucle se repite MIENTRAS se cumple una determinada condición, que especificamos entre paréntesis. Cuerpo del Bucle = las acciones que deben ejecutarse repetidas veces. Sería algo como “Repetir Hasta” o “Mientras….hacer” (mientras se cumpla algo…hacer….) Estas estructuras tendrían el siguiente diagrama de flujo:
Si se cumple la condición, se realiza una serie de acciones y se vuelve a comprobar la condición, y así sucesivamente hasta que la condición no se cumpla y se dejan de realizar las acciones.
Veamos un ejemplo en pseudocódigo y su explicación: Pseudocódigo Inicio Inicio del bucle mientras contador=1 Mientras (contador
View more...
Comments