Beruflich Dokumente
Kultur Dokumente
CONTENIDO
Resolucin de Problemas por Computador Anlisis del problema Diseo de la solucin Escritura de programas Verificacin Programas Algoritmos Tipos de Algoritmos Pseudocdigo Diagramas de Flujo Elementos de Algoritmos Conceptos Bsicos de Programacin Variables Constantes Identificadores Palabras Reservadas Asignaciones Contadores Acumuladores Entradas y Salidas Tipos de Datos y Operaciones Estructuras de Control Estructuras Selectivas. Estructuras Repetitivas y/o de Iteracin.
29/08/2011
En esta etapa, se analiza el problema en su contexto del mundo real. Deben obtenerse los requerimientos del usuario. El resultado de este anlisis es un modelo preciso del ambiente del problema y del objetivo a resolver. Dos componentes importantes de este modelo son los datos a utilizar y las transformaciones de los mismos que llevan al objetivo.
29/08/2011
La resolucin de un problema suele ser una tarea muy compleja para ser analizada como un todo. Este aspecto puede facilitarse mediante la identificacin de las partes (subproblemas). Cada uno de estos subproblemas debe tener un objetivo especfico. Cada uno de los subproblemas que componen la solucin debe ser especificado a travs de un algoritmo. Esta etapa busca obtener la secuencia de pasos a seguir para resolver el problema. La eleccin del algoritmo adecuado es fundamental para garantizar la eficiencia de la solucin.
algoritmo es una especificacin simblica que debe convertirse en un programa real sobre un lenguaje de programacin concreto. Un programa escrito en un lenguaje de programacin determinado (Ejemplo: C, Basic etc.) es traducido automticamente al lenguaje de mquina de la computadora que lo va a ejecutar. Esta traduccin, denominada compilacin, permite detectar y corregir los errores lxicos, sintcticos y semnticos que se cometan en la escritura del programa.
29/08/2011
1.4. Verificacin
Una vez que se tiene un programa escrito en un lenguaje real se debe verificar que su ejecucin produce al resultado deseado, utilizando datos representativos del problema real. Sera deseable poder afirmar que el programa es correcto, ms all de los datos particulares de una ejecucin. Sin embargo, en los casos reales es muy difcil realizar una verificacin exhaustiva de todas las posibles condiciones de ejecucin de un sistema de software. La facilidad de verificacin y la depuracin de errores de funcionamiento del programa conducen a una mejor calidad del sistema y es un objetivo central de la Ingeniera de Software.
2. Programa
29/08/2011
Un programa es una transformacin especfica, definida y expresada de forma que pueda ser utilizada por el computador. Como una primera aproximacin, puede definirse programa como un conjunto de pasos, especificados por el usuario en un lenguaje comprensible para la mquina (lenguaje de programacin), que definen el proceso que se efecta sobre los datos; de esto se concluye, que al ejecutarse el programa, se lleva a cabo un proceso computacional.
3. Algoritmo
29/08/2011
Conjunto finito de reglas que dan una secuencia de operaciones para resolver todos los problemas de un tipo dado. De forma ms sencilla, podemos decir que un algoritmo es un conjunto de pasos que nos permite obtener un dato. Adems debe cumplir estas condiciones:
Debe acabar tras un nmero finito de pasos Debe definirse de forma precisa para cada paso, es decir, hay que evitar toda ambigedad al definir cada paso. Tendr cero o ms entradas Tiene una o ms salidas De manera exacta, en un lapso de tiempo finito.
Inicio
2. Destapar la crema dental 3. Tomar el cepillo de dientes 4. Aplicar crema dental al cepillo 5. Tapar la crema dental 6. Abrir la llave del lavamanos 7. Remojar el cepillo con la crema dental 8. Cerrar la llave del lavamanos 9. Frotar los dientes con el cepillo 10. Abrir la llave del lavamanos 11. Enjuagarse la boca 12. Enjuagar el cepillo 13. Cerrar la llave del lavamanos 14. Secarse la cara y las manos con una toalla Fin
Fin
29/08/2011
4. Tipos de Algoritmos
Los
Algoritmos se puede expresar de muchas maneras, pero en esta separata se tratarn solo dos formas:
En
Pseudocdigo la secuencia de instrucciones se representa por medio de frases o proposiciones, mientras que en un Diagrama de Flujo se representa por medio de grficos.
29/08/2011
Pseudocdigo:
El
seudocdigo est compuesto por proposiciones informales o formales en espaol que permiten expresar detalladamente las instrucciones que llevan desde un estado inicial (problema) hasta un resultado deseado (solucin).
EJEMPLO:
29/08/2011
Forma general: Proceso <nombre> <instruccion 1>; <instruccion 2>; <instruccion 3>; ... FinProceso
Manual Resumen
No puede haber instrucciones fuera del proceso, aunque si comentarios. Las estructuras no secuenciales puede anidarse. Es decir, pueden contener otras adentro, pero la estructura contenida debe comenzar y finalizar dentro de la contenedora. Se pueden introducir comentarios luego de una instruccin o en lneas separadas mediante el uso de la doble barra ( / / ).
Diagramas de Flujo:
Utilizar Diagramas de Flujo para representar un algoritmo tiene claras ventajas. Numerosas investigaciones han mostrado que el Aprendizaje Visual es uno de los mejores mtodos para ensear habilidades del pensamiento. Las tcnicas que utilizan formas graficas para representar ideas e informacin ayudan a los estudiantes a clarificar su pensamiento, y a procesar, organizar y priorizar nueva informacin. Los diagramas visuales revelan patrones, interrelaciones e interdependencias adems de estimular el pensamiento creativo.
29/08/2011
SIMBOLOGA ESTNDAR:
EJEMPLO:
Elaborar el Diagrama de Flujo y el Pseudocdigo para calcular el rea de cualquier tringulo rectngulo:
Proceso AreaTriangulo Escribir 'Ingrese la Base: '; Leer B; Escribir 'Ingrese la Altura: '; Leer H; A<-B*H/2; Escribir 'El Area del Triangulo es:',A; Escribir A; FinProceso
10
29/08/2011
SIMBOLOGA PSEINT:
5. Elementos de Algoritmos
11
29/08/2011
Secuencia
de Acciones, constituidos por: Variables Constantes Expresiones de Control: Seleccin Repeticin y/o Iteracin
Estructuras
12
29/08/2011
6.1. Variables:
Para poder utilizar algoritmos con diferentes conjuntos de datos iniciales, se debe establecer una independencia clara entre los datos iniciales de un problema y la estructura de su solucin. Esto se logra mediante la utilizacin de Variables. En programacin, las Variables son espacios de memoria (contenedores) reservados para guardar datos (valores). El valor de una Variable puede cambiar en algn paso del Algoritmo o permanecer invariable; por lo tanto, el valor que contiene una variable es el del ltimo dato asignado a esta. Las variables, como su nombre lo indica, se utilizan para almacenar valores que tienen la propiedad de variar el contenido. Cuando hablamos de contenido nos referimos a cualquier tipo de datos, por ejemplo un nombre, una fecha, un color, un nmero etc... .
6.2. Constantes:
Se crean de la misma forma que las variables y consisten en datos que, luego de ser asignados, no cambian en ninguna instruccin del Algoritmo. Pueden contener constantes matemticas (pi) o generadas para guardar valores fijos (3.8, "Jorge", etc). Las constantes, como las variables, se utilizan para guardar datos y valores para nuestro programa, pero a diferencia de las variables, el contenido que almacenen no cambia, siempre es constante.
13
29/08/2011
6.3. Identificadores:
A las variables se les asigna un nombre para poder utilizarlas. Por ejemplo puedo crear una variable llamada fecha y esta almacenar una fecha. A los nombres identificadores. de las variables se los denomina
Cuando creamos variables, tenemos que tratar de asignarles un nombre que se relacione con el tipo de dato que queremos almacenar. Por ejemplo no tendra mucho sentido crear una variable llamada m y all guardar o almacenar un nombre o un apellido, por que cuando echemos vista al cdigo resultara mas difcil deducir que tipo de dato estoy guardando. Por ejemplo en este ltimo caso sera mucho mas lgico crear una variable llamada nombres y all guardar "Luciano", "Pedro", "Natalia" etc..
identificadores deben constar solo de letras y nmeros, comenzando siempre con una letra. Las constantes de tipo caracter se escriben entre comas ( ' ). En las constantes numricas, el punto ( . ) es el separador decimal. Las constates lgicas son Verdadero y Falso.
14
29/08/2011
En Visual Basic a las variables conviene declararlas (aunque no es obligatorio siempre), o sea, avisarle a VB que vamos a utilizar dichas variables. Option Explicit Declaracin explcita de las variables Obligatoriamente A estas se las declara en el comienzo del cdigo y se les antepone la palabra reservada Dim, luego el nombre que nosotros queramos y seguido el tipo de dato que almacenar, por ejemplo si quiero almacenar en una variable llamada numero. Dim numero As Integer
La palabra Integer le avisa a Visual Basic que voy a guardar un nmero entero. Le podemos asignar un valor con el operador "=", ejemplo: numero = 1500
Pero hay que tener en cuenta que al declarar una variable, en este caso, de tipo integer, no podramos almacenar en ella una cadena de caracteres como por ejemplo un nombre o cualquier otro tipo de datos que no sea un nmero entero. Si sucedera esto nuestro programa dara un error en tiempo de ejecucin, mostrndonos un mensaje dicindoos que no coinciden los tipos de datos. En Visual Basic 6.0, a diferencia de las variables que se declaran con la palabra Dim, las Constantes se declaran con la palabra Const. Ejemplo: Const numero = 53
15
29/08/2011
Todos los lenguajes de programacin definen unas palabras para nombrar sus comandos, instrucciones y funciones. Un identificador definido por el usuario no puede tener el nombre de una palabra reservada del lenguaje de programacin utilizado. Algunas palabras reservadas en Pseint: Proceso, Si, Fin, Entonces, Sino, Mientras, etc. Algunas palabras reservadas en VISUAL BASIC 6.0: If, Else, While, For, Do, Loop, Integer, etc.
6.5. Asignaciones:
Las variables son tiles debido a que el programador puede definir su valor por medio de construcciones del lenguaje en el transcurso del programa. A este procedimiento se le conoce como asignacin. Se debe tener en cuenta que a una variable slo se le pueden asignar valores que correspondan a su tipo de dato, as, por ejemplo, no se le puede asignar un nmero flotante a una variable entera.
16
29/08/2011
Asignacin en Pseint: <variable> <- <expresin> ; Primero evala la expresin de la derecha y luego asigna el resultado a la variable de la izquierda. Deben coincidir en tipo. Ejemplo: var<-1; // asigna 1 a var
Ejemplo: Definidas las variables a y b, estas pueden usarse en la construccin de trminos y se les pueden asignar los valores representados por estos:
Dim a As Integer /*Se declara la variable entera a*/ Dim b As Integer /*Se declara la variable entera a*/ a=5; /*Se asigna a a el valor 5*/ b=7+2*(4/2); /*Se asigna a b el valor del trmino 7+2*(4/2)*/
17
29/08/2011
6.6. Contadores:
Los contadores en Pseint/VISUAL BASIC 6.0 se implementan como una expresin de programacin (A=A + 1) que consistente en almacenar en una variable (A) el valor de ella misma (A) ms un valor constante (1). Es muy til para controlar el nmero de veces que debe ejecutarse un grupo de instrucciones. EJEMPLO: Contar los nmeros entre 1 y 10.
Proceso Contador n<-1 cont<-0 Mientras n <= 10 Hacer cont<-cont + 1 n<-n + 1 FinMientras Escribir 'La cantidad de numeros es: ' Escribir cont FinProceso
6.7. Acumuladores:
Estructura muy utilizada en la algoritmia y en la programacin (A=A + B) y que consiste en almacenar en una variable (A) el valor de ella misma (A) ms otro valor variable (B). Es muy til para calcular sumatorias. EJEMPLO: Calcular la sumatoria de los nmeros entre 1 y 10.
Proceso Suma n<-1 suma<-0 Mientras n <= 10 Hacer suma<-suma + n n<-n + 1 FinMientras Escribir 'La suma es: ' Escribir suma FinProceso
18
29/08/2011
Los dispositivos de entrada / salida permiten que el usuario interacte con la mquina. Por medio de los dispositivos de entrada el usuario ingresa los datos a procesar en el sistema y los dispositivos de salida presentan los resultados en un formato legible. Las instrucciones de E/S dan acceso al programador a las funciones bsicas de estos dispositivos, permitindole capturar datos de los dispositivos de entrada y asignarlos a variables para operar con ellos y mostrar resultados del proceso en los dispositivos de salida.
Lee desde el ambiente (en este caso el teclado) los valores y los asigna a la o las variables respectivamente. Puede leer una o mas variables. Ejemplos: Leer Cantidad; Leer Valor1,Valor2,Valor3;
19
29/08/2011
Devuelve al exterior (en este caso la pantalla) los resultados de las expresiones, o los contenidos de las variables. Tambin pude tener uno o mas parmetros separados por comas. Ejemplos: Escribir 'Ingrese el nombre:'; Escribir 'Resultado:' , x*2 ;
En Visual Basic, una forma comn de introducir datos es utilizando la caja de dialogo provista por InputBox.
Su sintaxis es:
Variable = InputBox(Mensaje,Titulo, Por_omisin, posX, posY)
Donde: Mensaje: Contiene el mensaje que indica al usuario que tipo de datos debe ingresar. Titulo: Ser visualizada en la barra de titulo de la caja de dialogo. Por_omisin: Indica la cadena de caracteres que aparecen de manera predeterminada.
20
29/08/2011
Mtodo Print:
Funcin Spc: Inserta n espacios antes de imprimir la expresin especificada: Spc (n) Ejemplo: Print Spc(12); Nombre; Spc(16); Edad
Funcin Tab: Indica la columna donde se desea que comience la impresin de una determinada expresin: Tab (n) Ejemplo: Print Tab(13); Nombre; Tab(35); Edad
21
29/08/2011
Un tipo de datos es una estructura matemtica que agrupa un conjunto de elementos con caractersticas comunes, sobre los cuales se definen determinadas operaciones. Consta de dos partes: el conjunto de valores y un conjunto de operaciones sobre dichos valores. Los tipos de datos, indican el tipo de valor que puede almacenar una variable. Valores: Se denomina valores al conjunto de datos manipulados en un proceso. Los valores son los elementos individuales que al agruparse de acuerdo a sus caractersticas y operaciones, forman un tipo de dato, por tanto, cada valor tiene un tipo correspondiente, y de acuerdo a ese tipo se determina su representacin en memoria, su rango y precisin.
Los tipos de datos simples se determinan automticamente cuando se crean las variables. Las dos acciones que pueden crear una variable son la lectura (LEER) y la asignacin (<). Por ejemplo, la asignacin "A<0;" est indicando implcitamente que la variable A ser una variable numrica. Una vez determinado el tipo de dato, deber permanecer constante durante toda la ejecucin del proceso; en caso contrario el proceso ser interrumpido. Los arreglos son estructuras homogneas (es decir, que todos sus elementos son del mismo tipo simple de dato). Los arreglos pueden pensarse como vectores, matrices, etc.
22
29/08/2011
Operadores en Pseint:
La jerarqua de los operadores matemticos es igual a la del algebra, aunque puede alterarse mediante el uso de parntesis.
23
29/08/2011
Operadores:
7. Estructuras de Control
24
29/08/2011
Para desarrollar programas se hacen necesarias construcciones del lenguaje que permitan desviar el flujo de ejecucin por diferentes caminos de acuerdo a parmetros desconocidos al momento de la codificacin y cambiantes en cada ejecucin. A estas construcciones se les conoce como sentencias de control de proceso o de control de flujo. Mediante ellas podemos controlar, mediante una condicin, que se ejecute una determinada lnea o bloque de lneas de cdigo o que no se ejecuten. En Visual Basic 6.0 se dispone de las siguientes estructuras de control:
IfThen (SiEntonces) IfThenElse (SiEntoncesSino) Select Case (Segun Hacer) ForNext (Para) WhileWend (Mientras) DoLoop (HacerBucle)
La estructura selectiva o condicional se utiliza para indicarle al computador que debe evaluar una condicin y, a partir del resultado, ejecutar el bloque de instrucciones correspondiente. Por su parte, un bloque de instrucciones puede contener una o varias instrucciones que se ejecutan una detrs de otra. La estructura condicional tiene tres variantes:
25
29/08/2011
Seleccin Simple (SiEntonces/IfThen): La estructura condicional de seleccin simple ejecuta un bloque de instrucciones cuando la proposicin (condicin) es verdadera; si esta es falsa, no hace nada.
Para la estructura condicional de seleccin simple, Pseint ofrece la sentencia SiEntonces. La sintaxis es:
Para la estructura condicional de seleccin simple, VISUAL BASIC 6.0 ofrece la sentencia IfThen. La sintaxis es:
26
29/08/2011
Seleccin Doble (Si..EntoncesSino /If..ThenElse/): La estructura condicional de seleccin doble ejecuta un bloque de instrucciones (A) cuando la proposicin (condicin) es verdadera y un bloque diferente (B) cuando esta es falsa.
Para la estructura condicional de seleccin doble, Pseint ofrece la sentencia SiEntoncesSino. La sintaxis es:
Si (a>b) Entonces a=a-b; //Este cdigo se ejecuta solo si a es mayor a b Sino a=a+b; //Este cdigo se ejecuta solo si a no es mayor a b FinSi
Para la estructura condicional de seleccin doble, VISUAL BASIC 6.0 ofrece la sentencia IfThenElse. La sintaxis es:
If (a>b) Then a=a-b; Este cdigo se ejecuta solo si a es mayor a b Else a=a+b; Este cdigo se ejecuta solo si a no es mayor a b End If
27
29/08/2011
Para la estructura condicional de seleccin mltiple, Pseint ofrece la sentencia SegunHacer. La sintaxis es:
el cdigo aqu si X = el cdigo aqu si X = el cdigo aqu si X = Para cualquier otro 0 ; 1 ; 2 ; caso;
Para la estructura condicional de seleccin mltiple, VISUAL BASIC 6.0 ofrece la sentencia SelectCase. La sintaxis es:
Select Case X Case 0: Escriba el cdigo aqu si X = 0. Case 1: Escriba el cdigo aqu si X = 1.... Case 2: Escriba el cdigo aqu si X = 2.... Case Else: End Select
28
29/08/2011
La estructura iterativa o de repeticin permite ejecutar una o varias instrucciones, un nmero determinado de veces o, indefinidamente, mientras se cumpla una condicin. Esta estructura ayuda a simplificar los algoritmos, ahorrando tiempo valioso a quien resuelve problemas con ayuda del computador. En programacin existen al menos dos tipos de estructuras repetitivas, las cuales a su vez tienen variantes en los diferentes lenguajes de programacin. La caracterstica comn es que ambos tipos permiten ejecutar una o varias instrucciones:
Un nmero determinado de veces. (Sentencia Para Repetitiva) Mientras se cumpla una condicin. (Sentencia Mientras Iterativa)
Estructura de Control Para (For): La sentencia Para ejecuta un ciclo controlado por un contador. Al entrar al ciclo el contador se inicializa al valor indicado en el argumento, se chequea la condicin de salida, y luego de ejecutar el cdigo se aumenta el contador en la cantidad indicada en el argumento, se chequea la condicin y se repite el ciclo mientras que esta sea VERDADERA.
29
29/08/2011
Para contador=inicio Hasta fin [ Con Paso incremento] Hacer Cdigo del ciclo FinPara
Para la estructura repetitiva, VISUAL BASIC 6.0 ofrece la sentencia For. La sintaxis es:
Estructura de Control Mientras (While): Esta sentencia permite ejecutar un ciclo controlado por una condicin. El cdigo del ciclo se ejecuta repetidamente hasta que la condicin sea FALSA o mientras la condicin sea VERDADERA.
30
29/08/2011
Para esta estructura iterativa, Pseint ofrece la sentencia Mientras. La sintaxis es:
Para esta estructura iterativa, VISUAL BASIC 6.0 ofrece la sentencia WhileWend. La sintaxis es:
Estructura de Control HacerBucle (DoLoop): El bucle DO...LOOP (Visual Basic 6.0) es muy verstil. Con l se pueden crear gran variedad de bucles distintos, bucles que comprueben una condicin antes de ejecutar el bucle una vez, despus de la primera ejecucin y con combinaciones con mientras (WHILE) que se cumple una condicin o hasta (UNTIL) que esa condicin se cumpla.
Condicin expresada al lado del DO: En este caso la condicin se evala antes de empezar a ejecutarse el bucle. Condicin expresada al lado del LOOP: en este caso la condicin se evala despus de ejecutarse el bucle. Tiene como diferencia principal frente al otro mtodo que en este caso el bucle se ejecutar por lo menos una vez.
31
29/08/2011
Do WhileLoop Dim entrada entrada = "" Do While (entrada <> "migue") entrada = InputBox ("Dime el nombre del autor","seguridad","migue",2,3) If (entrada = "out") Then MsgBox "salgo por la puerta de atras" Exit Do End If Loop
Option Explicit Dim cont Dim respuesta cont = 0 Do cont = cont +1 respuesta = MsgBox(cont,69,"Variable del bucle, con valor 6 se sale") If (respuesta = 2) Then MsgBox "Cuenta Cancelada",16,"Cancelaste!" Exit Do End If Loop Until (cont = 6)
32
29/08/2011
Puede salir de un bucle ForNext mediante la instruccin Exit For. La instruccion Do WhileLoop puede ser terminada mediante la instruccin Exit Do. Ambas Instrucciones deben estar dentro del bucle indicado.
NOTA: Adems, a fin de evitar ciclos infinitos, el cuerpo del ciclo debe contener alguna instruccin que modifique la o las variables involucradas en la condicin de modo que en algn momento la condicin sea verdadera/falsa y se finalice la ejecucin del ciclo.
Para esta estructura iterativa, Pseint ofrece la sentencia RepetirHasta Que. La sintaxis es: Repetir Counter = Counter + 1 Hasta Que Counter = 1000
33
29/08/2011
FIN !!!
34