Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios

Slides:



Advertisements
Presentaciones similares
Nuestro reto es educar al pensamiento, para que razone de acuerdo a ciertas reglas; con ello podremos ser más eficientes al momento en que ordenamos.
Advertisements

PROF. ING. JULIO CESAR CANO RAMIREZ
Pippy (Python para niños)‏ 1.
ALGORITMOS Y LENGUAJES Estructuras de Control CONDICIONAL
Unidad 1 DISEÑO DE ALGORITMOS ING. Nelwi Baez. MSC
Estructuras de Repetición Algoritmos
Introducción a los Algoritmos
Lenguajes de programación
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Técnico en programación de Software
Unidad 4. Estructuras de selección
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
Metodología de la Programación
Curso de Programación I Parte III
3. INTRODUCCIÓN A LA PROGRAMACIÓN
DSUPE Pseudocódigo.
METODOLOGIA DE LA PROGRAMACION
Área Académica: Informática
PSEUDOCÓDIGO. DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE REPRESENTACIÓN DE ALGORITMOS.
APLICACIONES DE PILAS Estructuras de Datos.
Fundamentos 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
Programación II Profesor A.S. MOLINA, Carlos
Academia de Informática
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Nivel medio. Y Es un compilador. YContiene un conjunto de palabras.
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
Análisis y Diseño de Algoritmos. Propiedades : f ( n )  O ( f ( n ) ) a ) O ( f ( n ) )  O ( g ( n ) )  f ( n )  g ( n )
ANALISIS SINTACTICO Parte I
Algoritmos ¿Que es un algoritmo?
ESTRUCTURA DE DATOS ESD-243
Introducción al lenguaje de programación SLE 2
Juego de Preguntas y Respuestas
Teoría – Alejandro Gonzalez
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
VBA – Elementos del Lenguaje

INTRODUCCION A LOS ALGORITMOS
PENSAMIENTO ANALÍTICO SISTÉMICO DAISY KATERINE RODRÍGUEZ DURÁN
Algoritmo Ing. Maria Rosana Heredia
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Alto Nivel. Y Es un compilador. YContiene un conjunto de palabras.
A continuación… Repaso Repaso Estructuras de Decisión Ejemplos
Términos algoritmo diseñar algoritmo implementar algoritmo
Sesión 13: Python (4) – Estructura Repetición. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática.
ALGORITMO QUE ES ??.
PRINCIPIOS DE PROGRAMACIÓN
Presente un cuestionario con los aspectos mas importantes sobre los
Dirección General de Educación Superior Tecnológica Instituto Tecnológico de Salina Cruz CARRERA INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN Y LAS COMUNICACIONES.
Lic. Carla Aguirre Montalvo
* Cuando nos permite desarrollar un programa que necesitamos para tomar un conjunto de buenas prácticas para hacer eso. Esto se debe a que podemos ahorrar.
Conceptos Generales Programación I Docente: Ing. Marleny Soria M.
Universidad Domingo Savio
Programación I Docente: Ing. Marleny Soria M..  Es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar.
Conceptos Generales PROGRAMACIÓN I DOCENTE: ING. MARLENY SORIA M. 1.
 Inicio/Final Se utiliza para indicar el inicio y el final de un diagrama; del Inicio sólo puede salir una línea de flujo y al Final sólo debe llegar.
INFORMÁTICA II TEMA: DISEÑA Y ELABORA ALGORITMOS DOCENTE: MARÍA DOLORES GARCÍA PONCE CAMPUS TONALÁ JALISCO.
Tema 8: Programación estructurada Introducción La importancia del conocimiento de programación es mucho mayor de lo que se piensa. Aprender a programar.
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 3 – Diseño de Programas.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
ALGORITMOS Asignatura: Informática. Algoritmos Conjunto de instrucciones ordenadas de forma lógica y precisa, con un inicio y fin que permite resolver.
Ing. Barros Rodriguez D. Ronald Introducción a la Programacón.
Transcripción de la presentación:

Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios 1

Pasos para resolver un problema Entender el problema. Identificar las constantes y variables (de entrada, de salida e intermedias). Identificar los procesos de transformación. Establecer una estrategia de solución. Representación del problema. Codificar el algoritmo en un lenguaje de programación determinado. Ejecutar y depurar el programa con base en los resultados obtenidos. 2

Tipos de datos comunes 3

Nombres de variables Para nombrar una variable en la mayoría de los lenguajes de programación es necesario seguir ciertas reglas: Debe empezar obligatoriamente con una letra (a-z o A-Z) No pueden contener espacios en blanco El resto de los dígitos pueden ser números Se pueden incluir caracteres especiales como el guión bajo (underline). 4

Asignación Para darle valor a una variable dentro de un algoritmo existen dos alternativas: Leer la variable (obviamente cuando se trata de una variable de entrada) Ej: Leer X Asignarle un valor directamente, o el resultado de una operación Ej: A = 3 Z = (X+Y)*2 5

Precedencia de los operadores Cuando hay de las operaciones aritméticas es necesario considerar el orden en que se evalúa la expresión cuando aparecen dos o más operaciones. En general los lenguajes de programación coinciden en evaluar primero lo que se encuentra entre paréntesis comenzando por los paréntesis más internos. Dentro de cada paréntesis o en una expresión libre de paréntesis es común evaluar de la siguiente forma: Se recorre de izquierda y se evalúan (en ese orden): Funciones especiales (raíz cuadrada, valor absoluto, logaritmo, seno, coseno, tangente elevar a potencia, etcétera) Divisiones (/), multiplicaciones (*), división entera (%). Sumas (+) y/o restas (-). 6

Ejemplo Dado que al ejecutar un algoritmo este trabaja en secuencia, determinar los valores finales de las variables suponiendo que se tienen las siguientes instrucciones: 1. i = 3 2. j = 5 3. k = i + j 4. j = k / 2 5. i = i - 1 6. m = i + k * 3 7. n = k * (3 + i) Línea i j k m n 1 2 3 4 5 6 7 7

Estructura IF En los lenguajes de programación es común el uso de condicionales que sirven para denotar diferentes alternativas que pueden llevarse a cabo dado el valor de una expresión lógica, el cual siempre será verdadero o falso. La forma más simple que tiene un condicional (una pregunta) es: SI (expresión lógica) Instrucciones que se realizan si la expresión lógica es verdadera FIN SI 8

Ejemplo Diseñar un algoritmo para leer la edad de una persona y decir si es mayor de edad INICIO Leer e SI (e ≥ 18) Mostrar “Mayor de edad” FIN SI FIN 9

Estructura IF Los condicionales también sirven para representar alternativas de ejecución, es decir, que se haga una cosa u otra dependiendo del valor de una expresión lógica. La forma en este caso es: SI (expresión lógica) Instrucciones que se realizan si la expresión lógica es verdadera DE LO CONTRARIO FIN SI 10

Ejemplo Diseñar un algoritmo para leer un número y decir si es par o impar INICIO Leer n SI (n % 2 = 0) Mostrar “El número es par” DE LO CONTRARIO Mostrar “El número es impar” FIN SI FIN 11

Estructura IF Cuando hay más de dos alternativas (no es sólo la parte verdadera y falsa de una única expresión lógica), se puede emplear el condicional múltiple de la siguiente manera: SI (expresión lógica 1) Instrucciones que se realizan si la expresión lógica 1 es verdadera DE LO CONTRARIO SI (expresión lógica 2) Instrucciones que se realizan si la expresión lógica 1 es falsa y la expresión lógica 2 es verdadera … DE LO CONTRARIO Instrucciones que se realizan si todas las expresiones lógica son falsas FIN SI 12

Ejemplo Diseñar un algoritmo para leer la nota final de un estudiante y decir si ganó, perdió definitivamente o si puede habilitar (suponiendo que se pueda) INICIO Leer nota SI (n ≥ 2.95) Mostrar “El estudiante ganó” DE LO CONTRARIO SI (n ≥ 2.65) Mostrar “El estudiante puede habilitar” DE LO CONTRARIO Mostrar “El estudiante perdió” FIN SI FIN 13

Operadores lógicos y conectores Las expresiones lógicas que se utilizan en los condicionales pueden ser simples (sólo es necesario evaluar una pregunta) o compuestas (varias preguntas), y pueden usar cualquier operador lógico Operador En VBA > < ≥ >= ≤ <= = ≠ <> Conector Acción En VBA Y P Y Q es verdadera sólo si tanto P como Q son verdaderas, en caso contrario es falsa AND O P O Q es verdadera si cualquiera de las dos es verdadera, y sólo es falsa si ambas son falsas OR No No P cambia el valor de P Not 14

Si A=10, B=8 y C=6, cual es el valor de: Ejemplo Si A=10, B=8 y C=6, cual es el valor de: A>B B<=C A>=B or B<C A>B and B<C True False Not (A>C) B<C or A<=C B<>A and B>C Not(B>A and B>C) False True

Técnicas para representar los algoritmos Pseudocódigo (P-código) Diagramación estructurada (diagrama de caja) Diagramación libre (diagrama de flujo) … Sintaxis de un lenguaje de programación determinado. Véase Cap. 2 en http://www.unalmed.edu.co/~walvarem. También puede descarcar el archivo CAP2A.PDF de la página http://xue.unalmed.edu.co/~walvarem/APdocs, carpeta DOCS_PDF

Diagramación libre Proceso: cualquier tipo de operación que pueda originar cambio de valor o impresión de datos Condicional: corresponde a la estructura de IF descrita previamente. Normalmente, los posibles caminos se rotulan como Sí y No, como en la figura adjunta, pero también pueden ser Verdadero (V) y Falso (F).

Diagramación libre Indican el flujo lógico, o el orden de la secuencia de operaciones del algoritmo Terminal (representa el comienzo, “inicio” y el final, “fin”, de un algoritmo. Puede representar también una parada o interrupción programada que sea necesario realizar en un algoritmo.

Diagramación estructurada Proceso Condicional Iteración definida: Se emplea para representar un proceso repetitivo del cual se sabe de antemano cuántas veces se ejecutará cierta secuencia de operaciones

Comparación a<b+c? NO SI Acción 1 Acción 2 SI ( a > c+b) Pseudocódigo SI ( a > c+b) Acción 1 DE LO CONTRARIO Acción 2 FIN SI SI NO a<b+c? Acción 1 Acción 2 Diagrama de caja Diagrama de flujo

Otros ejercicios Triángulo de Herón de Alejandría: Dadas las longitudes de tres segmentos de recta determinar si es posible formar un triángulo con ellos. En caso afirmativo calcular el área del triángulo usando la fórmula: Tenga en cuenta que todo lado debe ser menor que la suma de los otros dos a b c 21

Sí forman triángulo y cual es el area o NO forman triángulo Etapas del proceso… DATOS DE ENTRADA PROCESAMIENTO Cálculos Relaciones lógicas SALIDA (resultados) a, b, c Verificar c<b+a b<c+a a<b+c Sí forman triángulo y cual es el area o NO forman triángulo

Diagrama de flujo del algoritmo Leer a, b, c a<b+c y b < a + c y c < a + b? NO Mostrar “No forma triángulo” Mostrar Area SI Mostrar “Sí forma triángulo”

Cuáles son las etapas para el cálculo de las posibles raíces? Ejercicio Ecuación Cuadrática Desarrollar un algoritmo para resolver la ecuación cuadrática de la forma: AX2 + BX + C = 0 Cuáles son las etapas para el cálculo de las posibles raíces? 24

Estructura general de un programa secuencial PROCESAMIENTO Cálculos Relaciones lógicas Decisiones ENTRADA DE DATOS SALIDA DE RESULTADOS 25

Solución de la Ecuación Cuadrática Para resolver la ecuación cuadrática de la forma: AX2 + BX + C = 0 Se hace uso de la siguiente fórmula: R/. 26

Pasos para solucionar el problema Paso 1: calcular B^2 Paso 2: calcular B^2 - 4AC Paso 3: calcular (B^2 - 4AC)^(1/2) Paso 4: -B±(B^2 - 4AC)^(1/2) Paso 5:

Etapas del proceso… X1, X2 SALIDA A 0 DATOS DE ENTRADA A, B, C PROCESAMIENTO Cálculos Relaciones lógicas SALIDA (resultados) A, B, C X1, X2 A 0 28

A = 0 ? B = 0 ? D>=0? NO SI Leer A, B, C SI SI NO NO X = -C / B Mostrar mensaje “No hay ecuación” NO NO D=B^2-4AC X = -C / B Mostrar X D>=0? SI NO 29 29

D>=0? NO SI C=  + *i =-B/(2A) Mostrar Mostrar X1 y X2 X1=(-B+D^(1/2))/(2A) =-B/(2A) X2=(-B-D^(1/2))/(2A) =(-D^(1/2))/(2A) Mostrar X1 =  + *i X2 =  - *i Mostrar X1 y X2 Ejemplo: “X1 =” &  “+” &  & “*i” 30

Tarea Hacer un algoritmo que permita hallar cuál es el mayor de tres valores numéricos distintos a, b y c. Elaborar algoritmo para el problema de determinar si tres segmentos forman triángulo y en caso afirmativo qué tipo de triángulo es.