La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Introducción a la programación 2.1 Análisis de algoritmos computacionales 2.2 Tipos de datos definidos por el usuario 2.3Declaración de variables y constantes.

Presentaciones similares


Presentación del tema: "Introducción a la programación 2.1 Análisis de algoritmos computacionales 2.2 Tipos de datos definidos por el usuario 2.3Declaración de variables y constantes."— Transcripción de la presentación:

1 Introducción a la programación 2.1 Análisis de algoritmos computacionales 2.2 Tipos de datos definidos por el usuario 2.3Declaración de variables y constantes 2.4Expresiones aritméticas, relacionales y lógicas 2.5Asignaciones de expresiones 2.7Estructura básica del lenguaje 2.7Solución de problemas con expresiones

2 Análisis de algoritmos computacionales La resolución de un problema en una computadora se puede dividir en tres fases importantes: 1- Análisis de problema: Definir con precisión el problema, esto requiere que las especificaciones de entrada y salida sean descritas con detalle. 2.- Diseño o desarrollo del algoritmo. Elaborar un método paso a paso que conduzca a la solución del problema. Para esto se puede utilizar una técnica llamada diseño descendente; La cual consiste en romper un problema complejo en subproblemas mas simples y a continuación dividir estos subproblemas en otros mas simples. 3.- Resolución del algoritmo en la computadora. El algoritmo se debe expresar en un formato que se conoce como programa, y un programa se escribe en un lenguaje de programación.

3 Representación de algoritmos Las herramientas de programación mas utilizadas para representar algoritmos son: Seudocodigos.- Es un lenguaje de especificación de algoritmos que permite planificar un programa mediante estructuras lógicas, sin preocuparse por las reglas de un lenguaje especifico. Utiliza palabras para representar acciones sucesivas, similares a sus homónimas en los lenguajes de programación. Diagramas de Flujo.- Es un diagrama que utiliza símbolos estándar, para representar la secuencia lógica que resuelve un problema.Cada símbolo significa un tipo de operación.Estos diagramas se leen de arriba abajo.

4 Símbolo terminal.- Indica el inicio o el final de un algoritmo Símbolo de entrada o salida.- Indica una operación de I/O Símbolo proceso.- Señala la asignación de un valor a una variable o su cambio de valor mediante un calculo Símbolo decisión.- Indica una elección entre dos alternativas Símbolo preparación.- Señala el inicio de un proceso repetitivo Símbolo terminal.- indica el inicio o el final de un algoritmo Símbolo de proceso predefinido.- Indica la transferencia a un a un procedimiento predefinido (subprograma). Símbolo conector.- Señala la transferencia de un punto a otro Principales símbolos usados en los Diagramas de Flujo

5 Seudocódigos Es un lenguaje de diseño de programas en el cual se especifican los pasos que se deben seguir para resolver un problema dado. Ejemplo. Calculo de la suma de dos números. Inicio Leer los valores de a y b Suma  a + b Imprimir a, b y Suma Fin No existen reglas estándar para un escribir seudocódigos. Sin embargo, el objetivo principal es obtener una descripción lógica de la solución del problema.

6 Análisis: La formula de la superficie lateral de un cilindro recto es: S =2*  *radio*altura donde  = 3.141562 Tabla de variables Entrada: radio, altura, Pi Salida: superficie ( S ) Diagrama de flujo Inicio radio, altura S =2  r h Superficie(S) fin // Instituto Tecnológico de Durango // Departamento de Ingeniería Química y Bioquímica // Programa para calcular el área de un cilindro recto // Programación Scilab * / // Instructor: José Domingo Pope Solis // Entrada de datos Pi = 3.141592; disp('entrada de datos') radio = input('Dame los valores del radio '); altura = input('Dame los valores de la altura '); // Calculo de la superficie S=2*Pi*radio*altura; // Salida de Información disp( 'La superficie del cilindro es') disp(S) // Fin del Programa área de un cilindro recto Ejemplo de un programa Calcular la superficie lateral de un cilindro recto Seudocodigo: inicio Pi 3.141592 leer radio, altura S 2*Pi*radio*altura escribir S fin  = 3.1416

7 Estructura básica de un lenguaje de programación Un programa consta de una secuencia de instrucciones, sentencias o proposiciones, las cuales para casi todos los lenguajes de programación se pueden condensar en cuatro grupos: Instrucciones de entrada/salida Instrucciones selectivas Instrucciones repetitivas Instrucciones especiales

8 Identificadores.- Son los nombres usados para identificar programas, constantes, variables, y otras entidades en un programa. En Scilab deben empezar con una letra seguido de otras letras, dígitos, o resaltadores. No se permiten otros caracteres. Ejemplo: Validas Masa, Velocidad, Velocidad_de_la_luz, etc.. No validas R2-D2, 6pies, etc.. Variables.- Son cantidades cuyo valor se desconoce temporalmente o que puede cambiar durante la ejecución de un programa. En Scilab, el nombre de una variable identifica el contenido de una localización de almacenamiento, cuando se calcula un nuevo valor para la variable, este reemplaza el contenido anterior. Constantes.- Son cantidades que no varían durante la ejecución de un programa..

9 Tipos de datos:- Los valores que toman las variables y constantes se conocen como datos y pueden ser de los siguientes tipos: Enteros.- Tienen solo valores enteros. Pueden ser positivos, negativos o cero, y no contienen parte fraccionaria. Por ejemplo 5, 320, -25, etc. Se recomienda no utilizar enteros para hacer cálculos, excepto cuando se utilizan como exponentes o contadores. Reales.- Tienen una parte fraccionaria. Por lo tanto, es necesario usar el punto decimal, aun que la parte fraccionaria sea cero o no se escriba. Algunas veces conveniente escribirlos en forma exponencial Por ejemplo: 10., -999.9, 1.0E-3, 123.45E20, 0.12E+1, etc. Boléanos.- Pueden ser constantes o variables lógicas que tienen dos posibilidades:.TRUE.(1) o. FALSE.(0) Carácter.- Son constantes o variables que contienen cadenas de caracteres alfanumericos. Por ejemplo: ‘Esta es una prueba!’, ‘ ‘, “3.141593”, etc.

10 Operaciones aritméticas básicas Operador Significado Ejemplo ^ Exponenciación 2 ^ 4 * Multiplicación 2 * 3 / División 56 / 8 + Suma 42.1 + 6.2 - Resta 4.0 - 2.1

11 Jerarquía de Operaciones 1. El contenido de los paréntesis se evalúa primero, empezando del más anidado hacia fuera. 2. Todos los exponentes son evaluados, de izquierda a derecha. 3. Todas las multiplicaciones y divisiones son evaluadas, empezando de izquierda a derecha. 4. Todas las sumas y restas son evaluadas, empezando de izquierda a derecha. 5. Todos los operadores relacionales son evaluados, de izquierda a derecha 6. Todos los.NOT. son evaluados. 7. Todos los.AND. y.OR. son evaluados de izquierda a derecha.

12 Jerarquía de Operaciones Orden de precedencia para operaciones aritméticas, lógicas, y relacionales, con la fila superior teniendo máxima precedencia: ( ) ^.^'.' */\.*./.\ +-~+(signo)-(signo) :><>=<===~= & |

13 Ejemplos de Jerarquía de Operaciones Si A= 2.0000, B=3.0000, C=5.0000, I=2, J=3 Evaluar A * B + C = 11. A * ( B + C ) = 16. A / I / J = 0.3333 B / C * A = 1.2 B / ( C * A ) = 0.3 I / J / A = 0.3333 A * B ^ I / A ^ J * 2 = 4.5 C + ( B / A ) ^ 3 / B * 2.0000 = 7.25 -B ^ A * C = - 45. J / ( I / J ) = 4.5 A ^ B ^ I = 512.

14 Operadores Lógicos de Relación Operador Representa < Menor que (less than) < = Menor que o igual a (less than o equal to) = = Igual a (equal to) ~ = Diferente a (not equal to) > Mayor que (greater than) > =. Mayor que o igual a (greater than o equal to)

15 Ejemplo de Operadores Lógicos de relación Operación Resultado 3 < 4T 3 <= 4T 3 = = 4F 3 > 4F 7 + 3 < 2 + 11T 4 = = 4.0000T 15 + 5 < = 4*10T

16 Operadores Lógicos Básicos Operador Definición AND l 1 & l 2 El resultado es 1 si l 1 y l 2 son TRUE OR l 1 | l 2 El resultado es 1 si l 1 o l 2 o ambas son TRUE NOT ~ l 1 El resultado es 1 si l 1 es FALSE, y 0 si l 1 es TRUE l 1 op l 2 Donde l 1 y l 2 Son expresiones lógicas, y op es un operador lógico básico.

17 Tabla de Verdad entrada andornot ABA&BA|B~A~A 00001 01011 10010 11110

18 Ejemplo de Operadores Lógicos Básicos Si a = -10.0000, b = 0.1000, c = 2.1000 L1 = 1, L2 = 0, L3 = 0 (Lógicos) Evaluar las siguientes expresiones y dar el resultado: a > b | b > cF ~(a>b) | L1T L1 & ~ L2T L1 | L2 & L3T L1 | (L2 & L3)T (L1 | L2) & L3F a > b | b< c & L1T

19 Depuración de programas (debbugging) Un programa rara vez se corre sin errores la primera vez que se ejecuta, aun para los programadores experimentados. En computación estos errores se denominan Bugs(pulgas). Depuración es el proceso de búsqueda y eliminación de errores en un programa. Scilab dispone de un debugger para identificar los errores en los programas Los errores que se pueden corregir en los programas con el debugger son de dos tipos. Errores de sintaxis o construcción. Son los mas frecuentes y fáciles de detectar y corregir ya que los compiladores comerciales generan mensajes de error que indican el tipo de error y la línea donde ocurre en algunos casos, en otros son de poca utilidad. Es necesario corregirlos antes de continuar.

20 Ejecución ( Run-time ).- Si un programa se ha compilado satisfactoriamente, podrá ejecutarse. Los errores que ocurren en esta etapa son fatales y se pueden originan por instrucciones Matemáticas indefinidas o que violan las reglas del lenguaje entre otras cosas. P.E. Calcular la raíz cuadrada o el logaritmo de un numero negativo. Para detectar estos errores se recomienda hacer lo siguiente Quitar los puntos y comas en las declaraciones del programa. Añadir la declaración keyboard en el programa Correr primero el programa como Script Usar el Scilab debugger

21 Errores que no se pueden corregir con el debugger Lógica.- Son fallas en la composición y organización del programa fuente o en los algoritmos de solución, son los mas difíciles de encontrar. P.E. Ciclos sin fin. Se recomienda correr el programa siguiendo estos consejos: Correr el programa para un caso donde se conocen las respuestas. Si no se conocen las respuestas, revisar estas en su orden y magnitud. Intente correr el programa a mano, revisando paso por paso y detectando donde podría estar el error. Redondeo.- Algunas veces la respuestas que el programa proporciona, son diferentes a la solución matemática correcta. Esto es debido a errores de redondeo, los cuales son resultado de la forma en que la computadora almacena los números internamente.

22 Ejemplo Resolver la ecuación de segundo grado: a x 2 + b x + c = 0 para raíces reales Análisis a x 2 + b x + c = 0 Las raíces de la ecuación son: La naturaleza de las raíces depende del valor del discriminante Discriminante < b 2 - 4ac Tenemos raíces imaginarias Especificación de variables Variables de entrada: a, b, c Variables adicionales: Discriminante Variables de salida: x 1, x 2

23 .False..True. D < 0 a, b, c inicio D = b 2 - 4 a c La ecuación tiene raíces reales x 1 = ( - b +  D ) / 2 a x 2 = ( - b -  D ) / 2 a x 1, x 2 fin Seudocodigo Inicio Leer a, b, c Discriminante  b 2 - 4ac Si Discriminante < 0 Parar Imprimir la ecuación tiene raíces reales x 1  (- b + sqrt (Discriminante) ) / 2a x 2  (- b - sqrt (Discriminante) ) / 2a Imprimir x 1, x 2 Fin Diagrama de Flujo

24 Interpretación y ejecución de un programa Matlab // Instituto Tecnológico de Durango // Departamento de Ingeniería Química y Bioquímica // Programa para evaluar las raíces de una ecuación Cuadratica // Realizado por: // José Domingo Pope Solis disp('Este programa calcula las raíces de una ecuación Cuadratica ') disp(' ') //de una ecuación Cuadratica de la forma: ax^2 + bx + c = 0 ') a = input('dame el valor a '); b = input('dame el valor b '); c = input('dame el valor c '); // Calculo del discriminante y las raíces y Salida de Información Disc = b^2 - 4*a*c; if (Disc < 0) disp('El discriminante es menor que cero ') else x1 = (-b + sqrt (Disc))/(2*a); x2 = (-b - sqrt (Disc))/(2*a); disp(x1) disp(x2) end


Descargar ppt "Introducción a la programación 2.1 Análisis de algoritmos computacionales 2.2 Tipos de datos definidos por el usuario 2.3Declaración de variables y constantes."

Presentaciones similares


Anuncios Google