Análisis de problemas



Documentos relacionados
PROGRAMACIÓN ALGORITMOS y DIAGRAMAS

Estructuras de control

Capítulo 1. Algoritmos, diagramas de flujo y programas.

Introducción a las sentencias de control

UNIDAD I. ALGORITMOS

Expresión, Operador, Operando, Asignación, Prioridad

Etapas para la solución de un problema por medio del computador

Algoritmos y Diagramas de flujo

san + sano sansano V + F F. Algoritmos. Tema 1. Algoritmos. Algoritmos. Algoritmos. Algoritmos. Que es un algoritmo?

2. ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS

Operando1 operador de relación Operando2

Práctica 3. CÁLCULO DE LA FUNCIÓN SENO UTILIZANDO UN DESARROLLO EN SERIE

SISTEMA DE NUMERACIÓN BINARIO

UNIVERSIDAD INTERAMERICANA DE PUERTO RICO RECINTO METROPOLITANO

UNIVERSIDAD TECNOLÓGICA NAIONAL FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica Informática I 1R2 : Guía de Estudios - Año 2013

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

UNIDAD 2: INTRODUCCIÓN AL LENGUAJE DE PROGRAMACiÓN R


Programación de los problemas de Física en.

Puertas lógicas NAND, NOR y OR exclusiva Práctica # 10

Estructuras de control. Secuencial, condicional y repetitivas.

Torruco, Rubén Jerónimo Yedra Fecha de elaboración: Mayo de 2010 Fecha de última actualización: Programación. F1101 Algoritmos 1/9

Ejercicio ejemplo resuelto de uso de arrays (arreglos) dinámicos en pseudocódigo I (CU00214A)

Introducción al análisis numérico

Tema 2: Introducción a los algoritmos

Introducción. Reglas para dibujar un diagramas de flujo.

ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS Tipos de datos Expresiones Operadores y operandos Identificadores como localidades de memoria

INSTITUTO SUPERIOR DE FORMACIÓN TÉCNICA Nº 177

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria.

1. Algoritmo, Pseudocódigo, Diagramas de flujo.

CAPITULO II. ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS

PRIMITIVAS ALGORITMICAS Y METODOS DE REPRESENTACIÓN DE ALGORITMOS

LENGUAJES DE PROGRAMACION I. Propósito del curso :

ESTRUCTURAS DE CONTROL

TIPOS DE BUCLES O CICLOS DE REPETICIÓN EN PHP: WHILE, DO WHILE Y FOR. EJEMPLOS Y EJERCICIOS RESUELTOS. (CU00822B)

Declaración de variables (integer, single, double, boolean, etc.) en Visual Basic. Dim. Ejemplos. (CU00309A)

Diagramas de Flujo Programación Estructurada. Diagramas de Flujo y Pseudocódigo

El lenguaje C. 3. Una instrucción que se ejecutará si la condición es verdadera.

UNIVERSIDAD AUTÓNOMA DEL ESTADO DE HIDALGO

CLAVE ASIGNATURA REQUISITOS HORA/SEMANA CREDITOS TI-8 PROGRAMACION II 80% DE ASISTENCIA 4 6

MANUAL DE EXCEL AVANZADO

Lenguaje de Diseño. Primera Parte. Segundo Cuatrimestre 2017

Tema 3 Constantes, Variables y Tipos

LECCIÓN 1. CIRCUITOS ARITMÉTICOS DE SUMA Y RESTA DE ENTEROS

FUNDAMENTOS DE PROGRAMACIÓN C#

Complejidad algorítmica. Algoritmos y Estructuras de Datos II (Programación I) Mgter. Vallejos, Oscar A.

Lenguaje de Diseño. Primera Parte. Resolución de Problemas y Algoritmos. Primer Cuatrimestre Ing. En Informática e Ing.

Introducción a la Algorítmica Transparencias correspondientes a las clases impartidas por los profesores: Lourdes Miró Amarante Ignacio García Vargas

Palabras reservadas de C++ y C. Una palabra reservada no puede declararse como un identificador, esto haría un conflicto entre conectores y funciones.

INSTITUTO NACIONAL SUPERIOR DEL PROFESORADO TÉCNICO - TÉCNICO SUPERIOR EN INFORMÁTICA APLICADA - PROGRAMACIÓN I

IDENTIDAD EN PRECISIÓN VARIABLE

Conceptos. Generales ALGORITMOS

Titulo de hoy 25/09/2017 COLEGIO SAN ANTONIO MARIA CLARET 1

Universidad Autónoma del Estado de México Facultad de Medicina

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR INGENIERÍA EN TECNOLOGÍA COMPUTACIONAL. ASIGNATURA Programación I. Básica ETAPA DE FORMACIÓN.

Programación Digital I

Capítulo 2 : ALGORITMOS

Sucesiones y series de números reales

Dpto. de ATC, Universidad de Sevilla - Página 1 de 16

Flujo del programa. Este flujo puede alterarse mediante: El ordenador ejecuta cada sentencia y va a la siguiente hasta el final del programa.

DISEÑO CURRICULAR ALGORITMOS, ESTRUCTURAS Y PROGRAMACIÓN I

CIENCIA DE LA COMPUTACION

Complejidad de Algoritmos

OPERADORES LÓGICOS JAVASCRIPT. EJEMPLOS. RELACIONALES MAYOR, MENOR, IGUAL, DISTINTO. AND, OR, NOT. CORTO- CIRCUITO (CU01117E)

Informática General 2018 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales

Unidad Académica de Ingeniería Eléctrica. Programa del curso: Lenguaje de Programación I y Lab.

Programación Estructurada

Lógica y compuertas (Parte 2): Circuitos Combinacionales y Secuenciales

Fundamentos de Programación y Bases de Datos

Representación de Algoritmos Fundamentalmente, dos tipos de notación: Pseudocódigo Diagramas de flujo.

ALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid.

TEMA 2: Algoritmos y Programas. Fundamentos de Informática (Grados en Ingenierías Industriales)

Objetivo específico: Maneja los elementos básicos de algoritmos utilizados para resolver un problema por computadora.

TUTORIAL INTRODUCTORIO DE MATLAB

Manual avanzado Excel 2007

Programación y matemática

Definición(2) La base (r) de un sistema de numeración especifica el número de dígitos o cardinal* de dicho conjunto ordenado. Las bases más utilizadas

Competencias que se favorecen. Validar procedimientos y resultados. Manejar técnicas eficientemente.

Nociones de Estadística Descriptiva. Medidas de tendencia central y de variabilidad

Sistemas Operativos. Clase 2: Administración de procesos.

GUIA PRACTICA PARA LA APLICACIÓN DE MS EXCEL TECNOLOGIA/ INFORMATICA

No hay un acuerdo universal sobre una definición de proceso, pero sí algunas definiciones aceptadas:

FUNCIONES. Definición de función. Ejemplos.

Facultad de Ciencias Exactas, Ingeniería y Agrimensura UNR INFORMATICA

Trabajo Práctico N 1: Números enteros y racionales

INSTRUCCIONES PARA EL USO DEL SOFTWARE (IS)

Conceptos Básicos de Funciones

CLASE 11 USO DE CONDICIONALES Y VECTORES

Asignatura de Organización de Computadoras. Alberto Hernández Cerezo. Cristian Tejedor García. Rodrigo Alonso Iglesias. Universidad de Valladolid

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

Características del lenguaje SQL

Informática General 2016 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales

CLASE Nº7. Patrones, series y regularidades numéricas

Organización de Computadoras Apunte 2: Sistemas de Numeración: Punto Flotante

Contenidos mínimos 4B ESO. 1. Contenidos. Bloque I: Aritmética y álgebra.

Construcción de Expresiones Programación Estructurada. Semestre: A-2012

Guía práctica de estudio 04: Diagramas de flujo

Transcripción:

Análisis de problemas La resolución de problemas implica el desarrollo de habilidades del pensamiento. Nuestra capacidad d de enfrentar problemas aumenta con la práctica. Existen algunos textos con problemas que se consideran clásicos. Uno de estos textos de fácil lectura es El hombre que Uno de estos textos de fácil lectura es El hombre que calculaba de Malba Tahan.

Introducción Una computadora que al igual que una calculadora sirve para hacer operaciones con números. Logra trabajar bj con otro tipo de información ió al asignarle un código numérico a los datos. Históricamente las máquinas para realizar cálculos son antiguas como el uso del ábaco. La gran utilidad de las computadoras consiste en que estas realizan cálculos repetitivos con precisión y rapidez.

Algoritmo Las computadoras necesitan algoritmos para procesar la información. Un algoritmo es un conjunto ordenado d de instrucciones que sirven para transformar los datos en información que nos resulte útil. Las instrucciones de un algoritmo deben ser precisas para ofrecer resultados consistentes. Además para que un algoritmo sea útil se pide que el conjunto de instrucciones sea finito para obtener respuestas en tiempos razonables.

Teorema de Bohm Jacopini Todo programa propio puede ser expresado utilizando únicamente tres estructuras de control básicas. Secuenciales Selectivas Repetitivas t Un programa propio es aquel que tiene al menos un camino de ejecución para cada instrucción en el mismo. Un programa propio no contiene bucles infinitos y tiene solo un punto de inicio y de finalización.

Estructura secuencial La estructura secuencial es la más simple de todos e implica seguir el orden de izquierda derecha arriba abajo. Este orden puede verse alterado por la precedencia de los operadores involucrados en algunas instrucciones. Típicamente entre los operadores aritméticos, la multiplicación/división tienen prioridad sobre la suma/resta.

Estructura secuencial(cont). Asignación se refiere a la asignación de un valor a una variable, por medio de una constante o como resultado de una operación. Entrada/salida estas operaciones sirven para ingresar datos y mostrar los resultados. Las instrucciones secuenciales son la base de todo algoritmo y de la combinación de estas se pueden muchas veces encontrar soluciones distintas.

Estructura selectiva La estructura selectiva permite romper el orden estrictamente secuencial de un algoritmo y condicionar la ejecución de alguna o algunas de sus instrucciones. Por lo general implican una instrucción de salto para el caso en que el resultado de la condición sea negativo. La más simple es si condición entonces Implica que la siguiente instrucción deberá ejecutarse si la condición se cumple, en caso contrario deberemos saltarla. l

Estructura selectiva(cont). Una variación permite elegir entre dos opciones que se realizarán dependiendo de si el resultado de la condición es falso o verdadero. Si condición entonces instrucción1 en caso contrario instrucción2. En la estructura anterior el algoritmo ejecutará o bien la instrucción 1 o 2 pero no ambas, dado que la condición es verdadera o bien falsa. Existe la posibilidad de que la estructura elija entre un conjunto definido id de valores de una variable.

Estructura selectiva(cont). La estructura de selección múltiple ejecuta la instrucción que hace que la variable de control coincida con algún valor particular. En caso de que x sea Valor1: instrucción1 Valor2: instrucción2 ValorN: instrucciónn En algunos casos puede admitirse que el control sea un rango de valores.

Estructura de repetición La idea de repetir significa romper el orden secuencial para regresar a una instrucción previamente ejecutada. Db Debe existir i un control cuidadoso d con este tipo de estructuras para evitar que el algoritmo entre en un ciclo infinito de repeticiones al no cumplirse nunca la condición de paro. Existen dos variantes para este tipo de estructuras: las de condición previa y las de condición posterior. Una variante que puede implementarse a partir de las anteriores es aquella controlada ld por un contador.

Estructura de repetición(cont). La estructura de condición previa es de la forma mientras condición repetir instrucción La estructura de condición ió posterior es de la forma repetir instrucción hasta condición Si se permite en el lenguaje elegido la estructura controlada por contador es de la forma para contador desde valor inicial hasta valor final con incrementos de valor. Por defecto los incrementos son de uno en uno en sentido creciente.

Ejemplo1 cont = 0 Suma = 0 Mientras cont < 11 hacer suma = suma + x(cont) cont = cont + 1 Fin mientras Promedio = suma / 10 Mostrar promedio

Ejemplo2 Grupo1 = 0 Grupo2 = 0 Para i desde 1 hasta 100 hacer si x(i) >= 5 y x(i) < 10 entonces grupo1 = grupo1 + 1 fin si si x(i) >= 10 y x(i) < 20 entonces grupo2 = grupo2 + 1 fin si Fin para Mostrar grupo1 Mostrar grupo2

Ejemplo3 Factorial = 1 N = 5 Repetir Factorial = factorial *n n = n 1 Mientras n > 0 Mostrar factorial

Herramientas para programar Existen una enorme cantidad de lenguajes de programación por lo que elegir el más apropiado no es una tarea fácil ni trivial. Muchas veces depende de la preferencia y la experiencia, sin embargo de la elección adecuada de la herramienta depende d el esfuerzo para programar alguna tarea determinada. En el caso de los algoritmos, estos pueden escribirse en un seudocódigo usando el Rockefer Basic. También pueden probarse con dfd usando diagramas de flujo.

Conceptos generales Variable es un nombre que se le asigna a un lugar en la memoria. En una variable ibl es posible almacenar datos de los siguientes tipos básicos: enteros, números de punto flotante y cadenas de caracteres. Un entero puede tener o no signo como 8 o -5. Un numero de punto flotante puede ser 1.5 e-3. Una cadena puede ser hola mundo

Operadores Además de las variables los algoritmos contienen operadores que trabajan sobre esos datos. Los más conocidos son los operadores aritméticos, i los relacionales y los lógicos. Los aritméticos son +,, *, / y en algunos casos ^. Los relacionales son =, >, <, >=, <=,!=. Los lógicos son y, o y no. Con operadores, variables y constantes se pueden construir expresiones aritméticas o lógicas.

Expresiones Una expresión aritmética da como resultado una constante de tipo numérico ya sea entero o de punto flotante. Ej. x = 2*y + 5 Una expresión relacional o lógica da como resultado los valores de falso o verdadero. Ej. x < 5yx> 0

Pruebas de escritorio Estas consisten en corridas de prueba hechas a mano para el algoritmo con el fin de comprobar que este sea correcto. Por lo regular se construye una tabla con todos los elementos importantes del algoritmo como la evaluación de las expresiones lógicas y de las variables. Lo anterior se hace con el fin de seguir con mayor facilidad la ejecución del algoritmo.

Conclusión En estos apuntes se han resumido los principales puntos, temas y conceptos relacionados con la escritura de algoritmos para computadora. En las siguientes lecciones se irán introduciendo cada uno de estos elementos por medio de ejemplos y ejercicios.