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.

Slides:



Advertisements
Presentaciones similares
Algoritmo: Es una serie de procesos a seguir para la solución de un problema. Diagrama de Flujo: Es la representación de un algoritmo en forma jerárquica.
Advertisements

PROF. ING. JULIO CESAR CANO RAMIREZ
Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios
Elementos de Pascal Escribir un programa en Pascal que lea los valores de los catetos de un triángulo rectángulo y calcule y muestre la hipotenusa. program.
Resolución de Problemas Algoritmos y Programación
Técnico en programación de Software
Introducción a la Estadística Informática
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERIA DIVISIÓN DE INGENIERÍA ELÉCTRICA COMPUTACIÓN PARA INGENIEROS NOTA IMPORTANTE: Para complementar.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
3. INTRODUCCIÓN A LA PROGRAMACIÓN
Introducción a la Programación
METODOLOGIA DE LA PROGRAMACION
IINTRODUCCION A LA CIENCIA DE LA COMPUTACION Y A LA PROGRAMACION
Tema 6. Conceptos básicos de programación
ESTRUCTURAS DE CONTROL
UNIVERSIDAD DE MANAGUA I CUATRIMESTRE INTRODUCCION A LA PROGRAMACION
INTRODUCCIÓN A LA COMPUTACIÓN 12va Semana – 19va Sesión Miércoles 18 de Mayo del 2005 Juan José Montero Román
Fundamentos de Programación
Programación de Computadores
Tema 1 Algoritmos.
Proceso de información en la computadora
Academia de Informática
Diseño de diagramación Diagrama: es una representación gráfica del flujo información de y el proceso de ejecución del programa. Plateo del problema en.
Programación en Matlab
CARACTERÍSTICAS DE LOS PROGRAMAS
Fundamentos de programación
Algoritmos ¿Que es un algoritmo?
ESTRUCTURA DE DECISION LOGICA
ESTRUCTURA DE DATOS ESD-243
Tema 6. Conceptos básicos de programación (Repaso) Prof. María Alejandra Quintero Informática Año 2013.
Fundamentos de programación Organización de una computadora.
SEMANA 04 – 1 Algoritmos.
Figure: Algoritmos Conceptos básicos. Programación: 1.Establecer una secuencia de acciones que: puedan ser ejecutadas por el procesador realicen una.
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
ETAPAS PARA SOLUCIONAR UN PROBLEMA
INTRODUCCION A LOS ALGORITMOS
PENSAMIENTO ANALÍTICO SISTÉMICO DAISY KATERINE RODRÍGUEZ DURÁN
Introducción a la programación
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
ALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió.
Departamento de Informática Universidad Técnica Federico Santa María Temas 2,3,4: Estructura de un Programa Pascal Declaraciones Tipos de Datos Simples.
Elementos básicos para el desarrollo de algoritmos
Representación de Algoritmos
TEMA 2: DIAGRAMAS DE FLUJO
POR: MÓNICA MARÍA RÚA BLANDÓN
Objetivo Mostrar los fundamentos de la programación a través de ejemplos y prácticas utilizadas cotidianamente en el desarrollo de aplicaciones.
Términos algoritmo diseñar algoritmo implementar algoritmo
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
ALGORITMO QUE ES ??.
 Un lenguaje se puede definir como un conjunto de palabras y formas de expresión por medio de las cuales se comunican y relacionan miembros de una comunidad.
Computación I (CI-2125) Clase 2 Prof. Mireya Morales.
PRINCIPIOS DE PROGRAMACIÓN
Elaboración de algoritmos usando lógica de programación
Presentado por: carolina gallardo Universidad metropolitana de B/quilla.
Presente un cuestionario con los aspectos mas importantes sobre los
M.S.C. Ivette Hernández Dávila
Metodología de la programación
“CURSO PROPEDÉUTICO PARA EL MEJORAMIENTO DEL PENSAMIENTO MATEMÁTICO”
Lic. Carla Aguirre Montalvo
Programación de Computadores
REGLAS PARA ELABORAR SEUDOCODIGOS Y DIAGRAMA DE FLUJO
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
Algoritmos y Programación. Objetivos de Aprendizaje: Al finalizar esta unidad ud. debe estar en la capacidad de: Definir el propósito y el contenido de.
MC. J. D. Pope S. ITD Unidad II. Introducción a la programación 2.1 Ejemplo de programas 2.2 Identificadores, constantes y variables 2.3 Tipos de datos:
Algoritmos Computacionales
Estatutos en Scilab 3.1 De entrada y salida estándar.
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 3 – Diseño de Programas.
Equipo: Erika López Coyotecatl María José Cuazitl Popocatl CETis - Centro de Estudios Tecnológicos de Servicio Industrial y Servicio “Daniel Cabrera Rivera”
ALGORITMOS Asignatura: Informática. Algoritmos Conjunto de instrucciones ordenadas de forma lógica y precisa, con un inicio y fin que permite resolver.
Transcripción de la presentación:

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

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.

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.

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

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.

Análisis: La formula de la superficie lateral de un cilindro recto es: S =2*  *radio*altura donde  = 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 = ; 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 leer radio, altura S 2*Pi*radio*altura escribir S fin  =

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

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..

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., , 1.0E-3, E20, 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!’, ‘ ‘, “ ”, etc.

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

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.

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) :><>=<===~= & |

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

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)

Ejemplo de Operadores Lógicos de relación Operación Resultado 3 < 4T 3 <= 4T 3 = = 4F 3 > 4F < T 4 = = T < = 4*10T

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.

Tabla de Verdad entrada andornot ABA&BA|B~A~A

Ejemplo de Operadores Lógicos Básicos Si a = , b = , c = 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

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.

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

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.

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

.False..True. D < 0 a, b, c inicio D = b 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

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