UNIVERSIDAD TECNOLÓGICA DE PANAMÁ

Slides:



Advertisements
Presentaciones similares
PROF. ING. JULIO CESAR CANO RAMIREZ
Advertisements

ESTRUCTURA DE DECISION LOGICA
Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios
Unidad 1 DISEÑO DE ALGORITMOS ING. Nelwi Baez. MSC
Estructuras de Repetición Algoritmos
Introducción a los Algoritmos
Estructuras de Control
Técnico en programación de Software
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Curso de Programación I Parte III
3. INTRODUCCIÓN A LA PROGRAMACIÓN
ESTRUCTURAS DE SECUENCIA
Estructuras de Repetición
METODOLOGIA DE LA PROGRAMACION
Tema 6. Conceptos básicos de programación
PSEUDOCÓDIGO. DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE REPRESENTACIÓN DE ALGORITMOS.
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
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.
Programación Básica con NQC Patricio A. Castillo Pizarro 25/08/2007.
Juego de Preguntas y Respuestas
Teoría – Alejandro Gonzalez
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.

Estructuras de Control.
Introducción a la Ingeniería de Sistemas
Metodología para solución de problemas
PENSAMIENTO ANALÍTICO SISTÉMICO DAISY KATERINE RODRÍGUEZ DURÁN
Algoritmo Ing. Maria Rosana Heredia
Introducción a la programación
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ó.
Representación de Algoritmos
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
DEV- C++ ·include <iostream> Int x x=x+2(x)
PRINCIPIOS DE PROGRAMACIÓN
Elaboración de algoritmos usando lógica de programación
Presente un cuestionario con los aspectos mas importantes sobre los
M.S.C. Ivette Hernández Dávila
Metodología de la programación
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.
REGLAS PARA ELABORAR SEUDOCODIGOS Y DIAGRAMA DE FLUJO
Conceptos Generales PROGRAMACIÓN I DOCENTE: ING. MARLENY SORIA M. 1.
Presenta: Dr. Jorge Rodríguez Arce.
Este material ha sido desarrollado para alumnos que cursan la asignatura de Programación Básica impartida en el primer semestre en la Facultad de Ingeniería.
ESTRUCTURAS SELECTIVAS Elaborado por; Ing. Alberto Pérez.
Informática II Algoritmos Lic. JESSICA JANETH REZA GONZÁLEZ Campus Gómez Palacio.
Equipo: Erika López Coyotecatl María José Cuazitl Popocatl CETis - Centro de Estudios Tecnológicos de Servicio Industrial y Servicio “Daniel Cabrera Rivera”
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.
Transcripción de la presentación:

UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Prof. José González Facultad de Ingeniería Mecánica Computación para Ingeniería Mecánica E-mail: jose.gonzalez33@utp.ac.pa joseph30062005@gmail.com

Algoritmos Programación

Contenido TÉCNICAS ALGORITMICAS. Introducción Reglas para la Evaluar expresiones con diferentes tipos de operadores. Cuerpo básico de un algoritmo Entrada y salida de información Estructuras de control en seudocódigo.

Introducción Un algoritmo es un conjunto finito de instrucciones precisas que realizan una tarea, la cual, dado un estado inicial, culminará por arrojar un estado final reconocible.

Introducción Un algoritmo es un conjunto finito de instrucciones precisas que realizan una tarea, la cual, dado un estado inicial, culminará por arrojar un estado final reconocible.

Expresiones Una expresión es la representación de un cálculo necesario para la obtención de un resultado. Clasificación: Numérica Alfanuméricas Booleanas

Operadores y Expresiones Expresiones: Es un conjunto de constantes, variables, operadores con lo que se realizan las operaciones y permite obtener un resultado. Ejemplo: resultado  a*(2*b+5)/c

Operadores matemáticos Operadores: Es un símbolo que permite manipular los valores de variables y/o constantes. Operadores matemáticos 1) ^ ** 2) / 3) + * - div mod Los operadores con igual nivel de prioridad se evalúan de izquierda a derecha.

Operador de asignación 1) = ó  Sirve para recuperar o guardar los valores obtenidos al realizarse o ejecutarse una expresión. Operador Alfanumérico: + concatenación Paréntesis: ( ) Se utiliza para anidar expresiones

Operadores de relación 1) 2) 3) 4) 5) 6) Mayor que Menor que Mayor igual que Menor igual que Igual Diferencia > < >= <= = < > != •Son empleados para comparar dos ó más valores. •Su resultado produce valores como verdadero y falso. •Tienen el mismo nivel de prioridad.

Operadores Lógicos o booleanos AND OR NOT VAL1 VAL2 RESUL VAL1 VAL2 RESUL VAL1 RESUL Cierto Falso Falso Cierto Cierto Falso Cierto Falso Cierto Falso Cierto Falso Cierto Falso Cierto Falso •Son empleados para comparar dos valores (Falso y verdadero •Su resultado produce valores como verdadero y falso. •Tiene prioridad la negación, luego AND y después OR .

Prioridad entre los Operadores Paréntesis ( de lo más interno a lo más externo) Potencias Producto y División Suma y Resta Concatenación Relacionales Negación  no lógico Conjunción  y lógico Disyunción  o lógico Los operadores que están en la misma prioridad se evalúan de izquierda a derecha

PRACTICA Dadas los siguientes valores a los nombres simbólicos evalué las siguientes expresiones: 1 4 10 3.1415 92 2.718281 X Y Z PI E 2 * X + 0.5 * Y - 1 / 5 * Z PI * X ^ 2 > Y o 2 * PI * X <= Z E ^ (X – 1 ) / ( X * Z) / (X / Z) “DON” + “JUAN” = “DON JUAN” o “A” = “a” (2 * Y ) ^ 2 – 6 * Y + 12 X > 3 y Y = 4 o X + Y <= Z

Conceptos básicos Aspectos que se deben considerar a la hora de escribir un algoritmo: Determinación de las primitivas de las que partimos Lenguaje simbólico a utilizar para desarrollar el algoritmo Representación de los datos Establecer datos de entrada Establecer datos de salida Establecer las relaciones entre los datos de entrada y los de salida

Condiciones que debe cumplir un algoritmo: Conceptos básicos Condiciones que debe cumplir un algoritmo: Ser finito: El algoritmo debe acabar tras un número finito de pasos Estar bien definido: Todas las ejecuciones del algoritmo con los mismos datos de entrada deben devolver los mismos datos de salida. Diferencias entre un algoritmo y un programa: Los algoritmos no son directamente interpretables por el computador => deben ser traducidos a un lenguaje de programación concreto.

Diferencias entre un algoritmo y un programa: Conceptos básicos Diferencias entre un algoritmo y un programa: Los algoritmos no son directamente interpretables por el computador => deben ser traducidos a un lenguaje de programación concreto.

Programa de Aplicación Programa que permite resolver la ecuación de primer grado Programa que permite resolver la ecuación de primer grado #include <stdio.h> int a,b,x; main() { printf(“Ingrese valores de EC”); scanf(“%d %d”,&a,&b); if a ==0 printf (“error”); else x = -b / a; printf(“La solución es %d:”,x); } printf(“Fin programa”); Algoritmo EC 1er Grado Variables a,b,x de tipo entero Inicio Escribir(“Ingrese valores de EC”) Leer (a,b) Si a = 0 entonces escribir (“Error”) sino x=-b/a Escribir (“La solución es:”,x) Fin Escribir(“Fin programa”) ALGORITMO a x + b = 0 Programa ? a b x = -b / a

Pasos en la resolución de un problema Entender el problema Conceptualización Buscar soluciones Elegir solución Diseñar solución Descomposición Especificar tareas Modelar solución Implementar solución Validar solución

¿Qué es un problema? Proceso Es una situación concreta sobre la cual se quiere implementar una solución (ejemplos) Solución: procedimiento que nos lleva a satisfacer ciertos requerimientos Esquema básico para la resolución de un problema a través de un programa con un enfoque sistémico Proceso Entrada Salida Datos Externos Datos auto generados Lectura de dispositivo de almacenamiento Informes Datos para otro programa Datos grabados en dispositivos externos de almacenamiento

Todo algoritmo consta de tres secciones principales: Estructura de un Algoritmo Todo algoritmo consta de tres secciones principales: Entrada Proceso Salida Entrada: Es la introducción de datos para ser transformados. Proceso: Es el conjunto de operaciones a realizar para dar solución al problema. Salida: Son los resultados obtenidos a través del proceso.

Metodología para la descomposición de un algoritmo Conceptos Definición del problema En esta etapa se deben establecer los resultados y objetivos que se desea para poder saber si los datos que se tienen son suficientes para lograr los fines propuestos. Análisis Una vez definido el problema se deberán organizar los datos de tal manera que sean susceptibles de usar en los cálculos siguientes.

Diseño En esta etapa se proponen soluciones a los problemas a resolver, por lo que se realiza una toma de decisiones aplicando los conocimientos adquiridos y utilizando los datos existentes. Verificación o prueba de escritorio Se consideran resultados previstos para datos conocidos a fin de que al probar cada una de sus partes podamos ir comprobando que el algoritmo sirve o requiere modificarse.

Identificadores Análisis del Problema Un identificador es el nombre simbólico que se le asigna a los datos de un programa (constantes, variables, tipos de datos), y que nos permiten el acceso a su contenido. Ejemplo: Calf1 Valor_1 Num_hrs

Tipos de datos Es el valor que puede tomar una constante o variable . Por ejemplo, para representar los datos de un alumno como: Nombre, Num_cta, calf1, calf2, etc. Los tipos de datos más utilizados son: a) Numéricos: Representan un valor entero o real. Ejemplo: Entero: 250, -5 Real: 3.1416, -27.5

Tipos de datos b) Lógicos: Solo pueden tener dos valores (verdadero o falso), y son el resultado de una comparación. Ejemplo: SI (A > B) c) Alfanuméricos: Son una serie de caracteres que sirven para representar y manejar datos como nombres de personas, artículos, productos, direcciones, etc.

Variables Permite almacenar de forma temporal un valor y el cual puede cambiar durante la ejecución del algoritmo ó programa. Toda variable tiene un nombre SIMBÓLICO que sirve para identificarla. Ejemplo: prom=(calf1+calf2+calf3)/3 Las variables son: prom, calf1, calf2, calf3.

Constantes Son datos numéricos o alfanuméricos que contienen un valor y que no cambia durante la ejecución del algoritmo ó programa. Ejemplos: prom=(calf1+calf2+calf3)/3 PI=3.1416 Las constantes son: 3, PI.

Alternativas de solución Diseño de algoritmos Alternativas de solución Es la forma de representar la secuencia lógica de ejecución de instrucciones. Esta puede ser a través de: 1) Diagramas de flujo 2) Pseudocódigo

Leer lista_de_variables; variable  expresion; Pseudocódigo Es empleado para representar la solución de un algoritmo empleando lenguaje natural escrito estableciendo la secuencia de pasos sin imprecisiones y de manera clara. Ejemplo: Proceso Leer lista_de_variables; variable  expresion; Escribir lista_de_expresiones; FinProceso

Uso del pseudocódigo y prueba de escritorio para los tipos de estructuras 1) Secuenciales Implica escribir un paso tras de otro, donde el primero que se haya escrito es el primero que se ejecutará. Inicio Acción1 Acción2 . Acción N Fin

Inicio Leer n1, n2 suma  n1+n2 imprimir suma Fin Secuenciales Ejemplo: Pseudocódigo Inicio Leer n1, n2 suma  n1+n2 imprimir suma Fin

Si <condición> entonces Acción(es) Fin-si Selectivas: Se utilizan para TOMAR DECISIONES.  Simples Lo que se hace es EVALUAR la condición, si la condición es verdadera realiza la acción, en caso contrario termina el programa. Si <condición> entonces Acción(es) Fin-si

si compra > 1000 entonces descuento = compra*0.10 Selectivas Simples Ejemplo: Pseudocódigo Inicio Leer compra si compra > 1000 entonces descuento = compra*0.10 pago = compra – descuento imprimir pago fin si Fin

Selectivas  Doble Luego de evaluar una condición si esta se cumple, es decir si es verdadera realiza una serie de acciones, y si esta es falsa se realiza otra serie de acciones distinta a la primera. Si <condición> entonces Acción(es) si no Acción(es) Fin-si

imprimir “Mayor de edad” si no imprimir “Menor de edad” fin si Selectivas Doble Ejemplo: Pseudocódigo Inicio Leer edad si edad>=18 entonces imprimir “Mayor de edad” si no imprimir “Menor de edad” fin si Fin

fin si Selectivas  Múltiple Se realiza a partir de anidar estructuras simples y/o dobles, de manera tal que se realicen diferentes acciones con base a varias comparaciones, así habrá tantas opciones como se requieran. Si <condición> entonces Acción(es) si no Si <condición> entonces Acción(es) si no . . Varias condiciones . fin si Fin si

imprimir “Número cero” si no si numero>0 imprimir “Número positivo” Ejemplo: Pseudocódigo Inicio Leer numero si numero=0 entonces imprimir “Número cero” si no si numero>0 imprimir “Número positivo” imprimir “Número negativo” fin si Fin

para ejecutar acciones repetidamente, esto se Repetitivas: Este tipo de estructura se utilizan para ejecutar acciones repetidamente, esto se hace posible mediante una secuencia de instrucciones que se repiten una y otra vez y así evitamos escribir múltiples veces las mismas instrucciones.

Repetitiva  Para Esta estructura ejecuta los pasos de la solución del algoritmo un número definido de veces y de modo automático controla el número de iteraciones o pasos a través del cuerpo del ciclo. Para el control se utiliza un contador en el cual se va acumulando el número de veces que se ha repetido las instrucciones.

Repetitiva  Para: Para variable_numerica<-valor_inicial Hasta valor_final Con Paso paso Hacer secuencia_de_acciones Fin Para

Ejemplo: Pseudocódigo Repetitiva Para Proceso sin_titulo Para V=1 Hasta 5 Con Paso 1 Hacer Leer num1,num2; suma<-num1+num2; Escribir "el resultado de sumar ",num1," + ",num2," = ",suma; FinPara FinProceso

Repetitiva Mientras  Mientras Este se utiliza cuando NO sabemos el número de veces que se ha de repetir un ciclo, los ciclos se determinan por una condición que se evalúa al inicio del ciclo, es decir, antes de ejecutarse todas los pasos. Mientras <condición> Hacer Accion1 Accion2 . Acción N Fin Mientras

FinMientras Repetitiva Mientras Ejemplo Pseudocódigo Proceso sin_titulo Escribir "Hay alumno"; Leer alum; Mientras alum="s" Hacer Leer calif1,calif2; prom<-(calif1+calif2)/2; Escribir "El promedio del alumno es ",prom; Escribir "Hay alumno"; Leer alum; FinMientras FinProceso

Accion1 Accion2 . Repetitiva - Repetir  Repetir En esta estructura el ciclo se va a repetir hasta que la condición se cumpla, a diferencia de las estructuras anteriores la condición se escribe al finalizar la estructura. Repetir Accion1 Accion2 . AcciónN Hasta Que <Expresión Lógica>

Ejemplo Pseudocódigo Repetir Proceso sin_titulo Repetir Leer salario; sal_finsalario*1.15; Escribir "El salario con aumento es",sal_fin; Escribir "hay otro empleado"; Leer empleado; Hasta Que empleado="n" FinProceso

Conclusión En conclusión diríamos que el algoritmo es de carácter general y puede aplicarse a cualquier operación matemática o a cualquier problema. La formulación de algoritmos fue uno de los más grandes adelantos dentro de la ciencia matemática ya que a partir de ellos se pudieron resolver infinidad de problemas.

Gracias