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

Documentos relacionados
Resolución de problemas mediante algoritmos

Resolución de problemas mediante algoritmos

Conceptos. Generales ALGORITMOS

Programación Estructurada

Fundamentos de Programación Visual Basic

Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN

DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE

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

Tema 2. Concepto de Algoritmo

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

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

Operadores. Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++.

Índice general 7. Presentación 15

Fundamentos de programación C++

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

GLOSARIO 1. Qué es bit y byte? Bit: Es la unidad mínima de información. Puede ser 0 o 1. Byte: Es el conjunto de 8 bits. Ejemplo:

LENGUAJE DE PSEUDOCÓDIGO

El pseudocódigo es una herramienta de programación en la que las instrucciones se escriben en palabras similares al inglés o español, que facilitan

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

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

Práctica 2. TIPOS DE DATOS SIMPLES

Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa.

Guía práctica de estudio 05: Pseudocódigo

INDICE. Prólogo de la Segunda Edición

DEFINICIONES BÁSICAS DE LAS ESTRUCTURAS DE DATOS

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

Este método de diseño de algoritmos en etapas, yendo de los conceptos generales a los de detalle, se conoce como método descendente (top-down).

INSTITUTO TECNOLÓGICO

3.2. Programación estructurada. Principal. Modulo 1 Modulo 2 Modulo 3 Modulo 4. Modulo Modulo Modulo 3 1 Modulo 4 1 Modulo 4 2. Pág.

La resolución de problemas es una tarea únicamente humana comprobable en todos los casos con los mismos resultados.

INDICE Prologo Capitulo 1. Algoritmos y programas Capitulo 2. La resolución de los problemas con computadoras y las herramientas de programación

Fundamentos de programación JAVA

TUTORIAL PSEINT. Ing. Ronald Rentería Ayquipa. Fundamentos de Programación

Tipos De Datos. Numéricos. Alfanuméricos (string) Arreglos (Vectores, Matrices) Estructurados Registros (Def. Por el Archivos Usuario) Apuntadores

Tema 4. Estructuras de control

Licenciatura de Matemáticas Informática I Notación algorítmica - Descripción BNF

Tema 2. El lenguaje JAVA

Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales.

FACULTAD DE INGENIERIA

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

TEMÁTICA DE LAS UNIDADES DE LOGICA COMPUTACIONAL

ALGORITMOS II PSEUDOCODIGOS INTRODUCCION AL PSEINT CORPODICES VICTOR ANDRES OCHOA CORREA

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

Arreglos Estructura (struct)

Estructuras de Control Selección o Decisión

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos

Iniciación a La Programación Prof. Carolina Cols

ALGORITMOS Y PROGRAMACIÓN I Unidad 3

Java para no Programadores

Tema 3. Estructuras de Datos

Introduccion a la Programacion. Pablo Sevilla Jarquin

INICIACIÓN A LA PROGRAMACIÓN II

Computación I (CI-2125) Clase 3. Prof. Mireya Morales Primera

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Programación MATLAB: Programas y Funciones.

Java para no Programadores

Programación MATLAB: Programas y Funciones.

INSTITUTO POLITECNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE BIOTECNOLOGIA DEPARTAMENTO DE CIENCIAS BASICAS

Herramientas de Programación. M.C. Juan Carlos Olivares Rojas

Tema 2: Desarrollo de Algoritmos. E.E. de Algorítmica

Programcaión Básica. Secuencias de Control y Repetición. Arturo Vega González.

Introducción a PL/SQL

RECORDAR TIPOS DE DATOS

Sintaxis de PSeInt Tutorial

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

Prefacio 25 Organización de la Unidad Didáctica Cómo utilizar el libro Objetivos docentes... 27

PHP: Lenguaje de programación

El lenguaje C. 1. Identificadores, constantes y variables

INSTITUTO SUPERIOR DE EDUCACION RURAL ISER FUNDAMENTOS DE PROGRAMACION

Lógica: Algoritmo: Archivo: Base de datos: Bit:

Tecnologías en la Educación Matemática

1. Detalle de los Comandos:

Estructuras repetitivas o de ciclo

INTRODUCCIÓN A LA PROGRAMACIÓN. 1º Bachillerato

FUNDAMENTOS DE INFORMÁTICA

Fundamentos PHP. El término puntuación nos referimos a la sintaxis usada en PHP para la terminación de una línea de código (;)

Programación en java. Estructuras algorítmicas

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

UNIVERSIDAD MODULAR ABIERTA FACULTAD DE CIENCIAS ECONOMICAS

CIENCIA DE LA COMPUTACION

El Pseudo-código de PsInt

Capítulo 2 : ALGORITMOS

Tablas de decisión.

abril de 2017 Desarrollo de aplicaciones en Java Tipos de datos primitivos Tipos de datos Elementos de aplicaciones simples

5. ESTRUCTURAS DE REPETICIÓN

ALGORITMOS, ESTRUCTURAS Y PROGRAMACION

Exterior del algoritmo. Entorno. Usuario. Procesador. Escribir. v1 v2 v3. Leer. <acción> {; <acción>}

Informática Ingeniería en Electrónica y Automática Industrial

Comprender las diferencias entre tipos de datos primitivos similares, y aprender a elegir el tipo más conveniente en cada caso.

Sentencias de Procesamiento Iterativo: while y do-while

Arreglos y Subrangos

MODULO SOBRE PROGRAMACION MATLAB

Conceptos Programa Programa objeto Pseudocódigo Algoritmos y Diagramas de flujo 1) Finitud 2) Definición 3) Entrada

Transcripción:

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

Indíce Algoritmo Elementos de un algoritmo: Variables, Constantes, Expresiones Datos: Definición y Tipos de datos Representación de algoritmos: Pseudocódigo Diagramas de flujo Sentencias: Asignación Entrada/salida Estructuras de control: condicional, bucles, funciones.

Algoritmos Algoritmo: : es una secuencia finita de operaciones que resuelve un problema en un tiempo finito. Sus características son: Finito: debe tener un número finito de pasos, por lo que debe estar limitado tanto en tiempo de realización como por el número de pasos que realiza Definido: para los mismos datos de entrada obtienen los mismos de salida Preciso: debe indicarse el orden de realización de cada paso Independiente del lenguaje de programación

Elementos de un algoritmo Un algoritmo consta de datos y de sentencias Datos Se almacenan Variables y constantes En expresiones Son involucrados Las sentencias describen las acciones que pueden ser ejecutadas, en general realizan cálculos, entradas/salidas y control de flujo del algoritmo

Variables, constantes y expresiones Variable: elemento del algoritmo que posee un valor, conocido por un nombre o identificador y que pertenece a un tipo de dato definido al inicio del algoritmo Debe ser declarada antes de usarse!!!!!!!! En un algoritmo la declaración consta de una sentencia que especifica: el tipo de dato, su nombre y un valor inicial en algunas ocasiones

Variables, constantes y expresiones Constante: los elementos del algoritmo que no cambian de valor a lo largo del algoritmo Las constantes deben ser inicializadas de acuerdo con el tipo de dato al que pertenecen Expresión: es una combinación de variables, constantes, valores constantes, operadores y funciones especiales que, en cada momento, al evaluarla tiene un valor concreto Las expresiones más representativas son las numéricas y las lógicas

Expresiones Las expresiones numéricas tienen como resultado datos numéricos Los operadores: ^, Signo: (+,-), *,/, +, - Orden de precedencia de mayor a menor Las operaciones entre paréntesis se evalúan primero Las operaciones aritméticas se evalúan según el orden de prioridad

Expresiones Las expresiones lógicas son las que ofrecen como resultado después de su operación un valor lógico. Los operadores lógicos que involucran son: AND, OR,NOT y los relacionales: <, >, ==, <=, >=, ~= NOT, AND, OR, operadores relacionales Orden de precedencia

Tipos de datos Dato es una información relativa a un objeto que es manipulable por el ordenador, que posee un valor y que es conocido en un programa o algoritmo por un nombre o identificador del dato. El identificador indica una dirección de memoria, y es el nombre por el que se conoce a ese dato. Existen datos elementales y estructurados

Tipos de datos Estructurados Simples Tipos de Datos Entero Real Lógico Carácter Puntero Enumerado Subrango Arrays, cadenas, registros, listas, árboles

Tipos de datos Enteros: Representan números positivos o negativos sin decimales, en el rango [-2 n-1, 2 n-1-1] Reales: Almacenan un valor de la forma N=M*B E Carácter: Representan elementos individuales de un conjunto finito de caracteres. Lógico o booleano booleano: Solo pueden tener dos posibles valores verdadero o falso

Tipos de datos Enumerado: este tipo de dato requiere que el programador defina el rango de valores que puede tomar Subrango: este tipo de dato se define a partir del tipo de dato entero, carácter o enumerado, con solo decir que el tipo de dato definido podrá tomar un conjunto de valores limitado del original Puntero: es aquel cuyo valor es la dirección en memoria de otro dato

Datos estructurados Una estructura es estática cuando el tamaño en memoria ocupado se define antes de la ejecución del programa y no puede modificarse durante la ejecución. Una estructura dinámica es aquella en la que no se define a priori su tamaño en memoria Un conjunto homogéneo es aquel que está formado por datos del mismo tipo, y es ordenado si se puede acceder a cada uno de sus elementos usando un identificador

Datos estructurados Array es una estructura de datos homogénea, estática y ordenada, formada por una cantidad fija de datos de un mismo tipo, cada uno tiene asociado uno o más índices que determinan la posición del dato en el array. A 1 2 3 4 A(3) Cadenas de caracteres está formada por una secuencia de caracteres en un orden determinado, por lo tanto es una estructura homogénea, estática y de acceso por posición

Datos estructurados Registros: formada por varios elementos o campos que se refieren a una misma entidad, es heterogénea, estática y de acceso por nombre Lista: es una estructura de datos homogénea, dinámica y de acceso por clave. Se constituye por una cantidad no prefijada de registros, con al menos dos campos, uno de los cuales sirve para localizar al sgte. elemento de la lista Árbol: es una estructura de datos homogénea y dinámica que ordena los elementos que la integran en forma de árbol, usando nodos y subárboles

Representación de algoritmos Pseudocódigo. Diagramas de flujo. ALGORITMO nombre del algoritmo ENTRADA descripción de los datos de entrada al algoritmo SALIDA descripción de los datos de salida del algoritmo VARIABLES lista de variables usadas separadas por comas INICIO cuerpo del algoritmo FIN

Representación de los algoritmos Sentencias: Describen lo que debe hacer el algoritmo. Varios tipos: Asignación: almacena un valor en una variable o constante. Se representa con el operador : Variable Expresión Identificador declarado anteriormente Deben ser del mismo tipo Una variable, constante, constante literal o fórmula a evaluar. a b

Representación de los algoritmos Entrada/salida: Pueden almacenarse de tres formas: asociados con constantes, asignados a una variable o una sentencia de lectura. Entrada: Leer lista de variables separadas por comas Salida: Escribir lista de variables o expresiones separadas por comas Leer b Escribir a

Representación de los algoritmos En Matlab: Sentencias de asignación: A=23 b = 48*A+b... Sentencias de entada /salida: Entrada: n=input input( dame el valor n ); Salida: nombre de la variable sin ; : N A...

Representación de los algoritmos Sentencias de control de flujo del algoritmo: Secuenciales: todas las instrucciones se ejecutan una detrás de otra: Ejemplo: calcular el área de un triangulo Selectivas (bifurcaciones): se evalúa una expresión lógica o relacional, y en función de su resultado se selecciona cual de las posibles opciones se toma Ejemplo: dados dos números imprime el mayor de ellos

Representación de los algoritmos Speudocódigo Diagrama de flujo SI condición ENTONCES sentencia 1. SI NO sentencia 2. FIN_SI NO CONDICION SI

Representación de los algoritmos En Matlab: if condición sentencia 1. else sentencia 2. end If condición sentencia 1... elseif condicion sentencia 2... else sentencia 3... end

Representación de los algoritmos Otra forma de estructura de control selectiva EN CASO DE QUE expresión VALGA Valor 1: bloque sentencias 1 Valor 2: bloque sentencias 2 Valor 3: bloque sentencias 3 [EN OTRO CASO bloque sentencia x] FIN_CASO

Representación de los algoritmos Repetitivas: (cíclicas, bucles o lazos): Se utilizan para realizar varias veces el mismo conjunto de operaciones. Ciclo determinista: bucle PARA PARA i=0 HASTA i=9 CON INCREMENTO 1 Entrar en el bucle Sentencias del bucle Sentencias del bucle Sentencias del bucle Salida del bucle i=0 i=1 i=9

Representación de los algoritmos En pseudocódigo: PARA contador = vi HASTA vf CON INCREMENTO HACER Bloque de sentencias FIN_PARA n Ejemplo: escribir los números pares del 2 al 50

Representación de los algoritmos En diagrama de flujo En Matlab: : for i=vi:incremento:vf Bloque de sentencias end ENTRADA PARA i=vi HASTA vf CON INCREMENTO n SENTENCIAS BUCLES SALIDA

Representación de los algoritmos Ciclo condicional: : se repiten las sentencias mientras se cumple una condición. Bucle MIENTRAS Entrar en el bucle se cumple la condición? SI NO Sentencias del bucle Salir del bucle

Representación de los algoritmos En pseudocódigo En diagrama de flujo MIENTRAS condición HACER Bloque de sentencias FIN_MIENTRAS En Matlab: While condición end Bloque de sentencias CONDICION SI Sentencias bucle NO

Subalgoritmos Un subalgoritmo es una parte de un algoritmo. Se utiliza para descomponer en varias partes un algoritmo que resuelve un problema complejo. Esta característica permite que los algoritmos sean simples, modulares y reutilizables Suabalgoritmo 1 Suabalgoritmo 2 Paso de parámetros Suabalgoritmo 3

Subalgoritmos Parámetros formales son las variables que utiliza el algoritmo llamado para emitir o recibir datos a o desde el algoritmo llamante Parámetros actuales son las variables, constantes o expresiones utilizadas por el algoritmo llamante. El paso de parámetros se puede realizar por valor o por referencia Existen datos globales y datos locales

Subalgoritmos Las funciones reciben valores de entrada y devuelven un valor que es el resultado de la función Cómo se utiliza una función? El algoritmo invoca a la función con un nombre y una lista de parámetros actuales