Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

Documentos relacionados
TEMA 2. CONCEPTOS BÁSICOS DE ALGORÍTMICA

Capítulo 3 CICLO DE VIDA DE UN PROGRAMA. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

TEMA2:LAS HERRAMIENTAS DE PROGRAMACION

FUNDAMENTOS DE PROGRAMACIÓN. Algoritmos y Programas

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

Introducción a la programación: Contenido. Introducción

Organización. Organización. Llenguatges de Programació Curs Gonzalo Besuievsky IMA - UdG. Horario Miércoles de 9:30 a 13:00

2.3 DEFINICIÓN DE LENGUAJES ALGORÍTMICOS

Tema 2 Introducción a la Programación en C.

Programación de Ordenadores. Dept. Ciencias de la Computación e I.A. Universidad de Granada

Acción que el procesador puede ejecutar sin necesidad de información suplementaria

Prof. María Alejandra Quintero. Informática Año

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

2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS

Introducción a la programación

TEMA 1. PROGRAMACIÓN DE UN COMPUTADOR

Algoritmos y solución de problemas. Fundamentos de Programación Otoño 2008 Mtro. Luis Eduardo Pérez Bernal

Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute.

Leer el pedido. Examinar ficha del cliente. Si el cliente es solvente aceptar pedido, en caso contrario rechazar pedido.

La resolución de un problema

INTRODUCCION A LA PROGRAMACION (C.U.) PROGRAMACION (T.I.G.)

TEMA 1: Algoritmos y programas

Programación de Ordenadores

Algoritmo. Programa. Lenguaje algorítmico

Computación Avanzada. Ing. Daniel Capriles M.

Técnicas de Programación

ETAPA Cómo se llaman los profesionales que escriben el código de los programas? Programadores.

CONTENIDO 1 Diagrama de flujo 2 Pseudocodigo 3 Diagrama estructurado (nassi-schneiderman)

INSTITUTO SUPERIOR DE EDUCACION RURAL ISER FUNDAMENTOS DE PROGRAMACION

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

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

INFOTECH. CURSO Excel Advanced Macros MÓDULO 2. Fundamentos de programación

Tema: Introducción a la Programación Estructurada

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

CONTENIDOS. 2. Entidades primitivas para el desarrollo de algoritmos.

Algoritmos. Libro en línea 3/8/18. Ing. Roberto Martínez Román - 1 RESOLVIENDO PROBLEMAS. Cuál es el objetivo del libro?

7/1/18. Algoritmos RESOLVIENDO PROBLEMAS. Libro en línea. Cuál es el objetivo del libro? Ing. Roberto Martínez Román -

Pseudocódigo. La forma en que se escribe un pseudocódigo es la siguiente:

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

CIF 2452 Fundamentos de Programación

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

3. TÉCNICAS DE DISEÑO

CAPITULO ALGORITMOS Y PROGRAMAS CONTENIDO

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

[TEMA #2. ETAPAS Y TÉCNICAS PARA EL DESARROLLO DE PROBLEMAS CON AYUDA DEL COMPUTADOR.]

INDICE. Prólogo de la Segunda Edición

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

Un diagrama de flujo es un dibujo que utiliza símbolos estándar de diagramación de algoritmos para computadora, en el que cada paso del algoritmo se

PRESENTACIÓN DEL ALGORITMO

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

ALGORITMO, ESTRUCTURAS Y PROGRAMACIÓN I. Prof.

PRÁCTICA FUNDAMENTOS DE ALGORITMOS I. Objetivos

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

Instituto José Manuel Estrada - Villa de Soto. Asignatura: Desarrollo de Soluciones Informáticas. Curso: 5to I. Docente: Contreras, María Elena

Razonamiento algorítmico. Analizar problemas y generar una solución algorítmica

Índice de Contenidos Concepto de ordenador y sistema operativo Sistemas de procesamiento de la información.

Unidad III: Introducción a la Programación

Computación I: Fundamentos Unidad III-Fundamentos de la Programación de Computadores

RECORDAR TIPOS DE DATOS

TEMA 3: El proceso de compilación, del código fuente al código máquina

PROGRAMACIÓN. UNIDAD II. ALGORITMO PROFA : HAU MOY

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

Contenidos: Definiciones:

Introducción a la Computación

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

GLOSARIO DE TÉRMINOS DE PROGRAMACIÓN

INSTITUTO TECNOLÓGICO

Fundamentos de programación. Organización de una computadora

IFTS N 18 - Prof. Leandro E. Colombo Viña. Diagramación Lógica. Algoritmos y Representaciones. v.1.0.1

UNIDAD CURRICULAR: ALGORITMICA Y PROGRAMACIÓN UNIDAD I. ALGORITMOS Y PROGRAMAS. Características y elementos para construir un algoritmo

Introduccion a la Programacion. Pablo Sevilla Jarquin

Introducción a la programación

CIENCIA DE LA COMPUTACION

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

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

Introducción a los Algoritmos. Mtro. Manuel Suárez Gutiérrez

Proceso de información en la computadora

CURSO PROGRAMACIÓN BÁSICA. SEMANA 4 El diseño de un programa

La forma general que tiene un condicional (una pregunta) es la siguiente:

M.S.C. Elvia Cristina Márquez Salgado. Unidad 1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS

Concepto de compilador Intérprete Fases de un Compilador Herramientas de construcción de Compiladores

PROGRAMACION DE COMPUTADORES I

INTRODUCCIÓN A COMPILADORES Y LENGUAJES FORMALES FUNDAMENTOS DE COMPILADORES

ALGORITMO. Podemos encontrar muchas definiciones de algoritmo en los textos de programación, todas ellas muy similares:

ESTRUCTURAS ALGORITMICAS

MÓDULO 1: Sistemas de Cómputo

Diferentes Perspectivas de un Ordenador

Conceptos. Generales ALGORITMOS

LENGUAJE DE PROGRAMACIÓN GRADO 10 Empre

Software de Gestión y Programación

UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO

Evolución del software y su situación actual

Lenguajes y Compiladores Introducción. Compiladores 1

Tema 01: Algoritmia y diagramas de flujo. Estructuras de datos (Prof. Edgardo A. Franco)

Computadora y Sistema Operativo

Transcripción:

TEMA 2: CONCEPTOS BÁSICOS DE ALGORÍTMICA 1. Definición de Algoritmo 1.1. Propiedades de los Algoritmos 2. Qué es un Programa? 2.1. Cómo se construye un Programa 3. Definición y uso de herramientas para describir soluciones: Diagramas de flujo, Pseudocódigo 3.1. El Diagrama de Flujo 3.2. El pseudocódigo 4. Traducción de ideas a un lenguaje de programación concreto: El problema de la implementación 4.1. Acciones y Estructuras de control 4.2. Procedimientos 5. Lenguajes de programación. Clasificación. Colocación en la clasificación del lenguaje C 5.1. Clasificación de los lenguajes de programación 5.1.1. Lenguajes máquina 5.1.2. Lenguajes de bajo nivel 5.1.3. Lenguajes de alto nivel 5.2. El lenguaje C Tema 2. Pág. 1

1.Definiciones de Algoritmo: Un algoritmo es la expresión de una secuencia precisa de operaciones que conduce a la resolución de un problema. Sistema de reglas que permiten obtener una salida específica a partir de una entrada específica. Cada paso debe estar definido exactamente, de forma que pueda traducirse a lenguaje de computadora 1.1 Propiedades de los Algoritmos. - Debe ser finito - Toda regla debe definir perfectamente la acción a desarrollar - Todos sus pasos deben ser simples y tener un orden definido. - Un Algoritmo no debe resolver un solo problema particular sino una clase de problemas. - Un Algoritmo debe ser eficiente y rápido. Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo 2. Definiciones de Programa. Un programa para ordenador es la expresión de un algoritmo en un lenguaje artificial formalizado. Conjunto de Instrucciones que controlan el funcionamiento del ordenador Tema 2. Pág. 2

2.1. Cómo se contruye un programa. Fases en la construcción de un programa Análisis del problema: equivale a decidir qué es lo que tenemos que hacer Diseño o desarrollo de la solución: en esta etapa se define cómo vamos a hacerlo Los Métodos más eficaces se apoyan en el conocido Divide y vencerás, (diseño descendente o top down o modular Codificación o construcción de la solución en forma de programa Pruebas Mantenimiento 3.1 Definición y uso de Herramientas para describir soluciones. Diagramas de Flujo. Es una representación gráfica de un algoritmo, mediante símbolos (cajas) que tiene los pasos del algoritmo escritos en cajas unidas por flechas, denominadas líneas de flujo, que indican la secuencia en que se debe ejecutar. Tema 2. Pág. 3

Terminal C F Entrada/Salida Comienzo Fin Proceso Decisión NO SI Decisión Multiple Linea de Flujo Conectores Misma Página Otra Página Llamada a Subrutina Tema 2. Pág. 4

Ejemplo: Diagrama de Flujo para indicar si un Nº es par o impar 3.2. Definición y uso de Herramientas para describir soluciones. Pseudocódigo. Es una herramienta que permite la descripción narrativa de algoritmos, en donde no hay reglas sintácticas estrictas, ya que el interés se centra en la secuencia de instrucciones. Tema 2. Pág. 5

Pseudocódigo para indicar si un Nº es par o impar 1. Inicio 2. Si N=2 escribe par e ir a 6, en caso contrario continuar 3. Si N=1 escribe impar e ir a 6, en caso contrario continuar 4. N=N-2 5. Volver al punto 2 6. Fin Pseudocódigo que permite deducir si un Nº es primo o no. 1. Inicio 2. Solicitar N (N es el Nº que queremos averiguar si es o no primo) 3. Poner X=2 (X representa a la variable que va a contener los divisores del número N) 4. Dividir N por X 5. Si el Resultado de N / X es entero y X <>N entonces N no es primo y bifurcar al punto 9. En caso contrario continuar 6. Si el resultado de N / X es entero y X = N entonces N es un Nº primo y bifurcar al punto 9. En caso contrario continuar 7. Suma 1 a X 8. Bifurcar al punto 5 9. Fin Tema 2. Pág. 6

4. Traducción de ideas a un lenguaje de programación concreto: El problema de la implementación 4.1. Acciones y Estructuras de Control Las acciones marcan el juego de operaciones que se pueden realizar, mientras que las estructuras de control determinan el orden de realización de las mismas. Acciones: Asignación Entradas-salidas Instrucciones Aritmético-lógicas Estructuras de Control Decisiones Ciclos (repetitivo o condicional) 4.2. Procedimientos Es un fragmento de programa que realiza una tarea concreta y recibe un nombre por el que puede ser llamado o activado desde otra parte del programa. Concepto de argumentos. 5. Lenguajes de Programación. Clasificación. Un programa es un conj. Ordenado de Instrucciones que se dan al ordenador indicándole las operaciones a realizar. Estas instrucciones (que son las acciones a realizar), se construyen con elementos o simbolos tomados de un determinado repertorio y siguiendo reglas precisas (Esto es lo que constituye el lenguaje de programación). Tema 2. Pág. 7

5.1. Clasificación de lenguajes 5.1.1 Lenguaje máquina Los lenguajes máquina son directamente inteligibles por el ordenador, ya que sus instrucciones son cadenas binarias (caracteres 0 y 1) que especifican una operación, y las posiciones (dirección) de memoria implicadas en la misma. Estas instrucciones se llaman instrucciones máquina o código máquina - Ventajas: No necesitan traducción lo que supone una gran velocidad de ejecución superior a cualquier otro lenguaje de programación. - Inconvenientes: dificultad y lentitud en la codificación, poca fiabilidad, dificultad grande de verificar y poner a punto los programas Los programas sólo son ejecutables en el mismo procesador 5.1.2. Lenguajes de bajo nivel (ensamblador). Un programa escrito en lenguaje ensamblador no puede ser ejecutado directamente por la computadora, sino que requiere una fase de traducción al lenguaje máquina Los programas en ensamblador son más fáciles de codificar que en lenguaje máquina. Sin embargo siguen dependiendo totalmente de la máquina, y la formación de los programas en ensamblador es más compleja que la correspondiente a los programas de alto nivel Tema 2. Pág. 8

5.1.3. Lenguajes de alto nivel Este tipo de lenguajes presentan las siguientes ventajas: La escritura de programas se basa en reglas sintácticas similares a los lenguajes humanos. Las modificaciones y puestas a punto de los programas son más fáciles. Portabilidad. Y sus inconvenientes son: Se necesitan varias traducciones del programa fuente para conseguir el programa definitivo. No se aprovechan los recursos internos de la máquina. El tiempo de ejecución es mucho mayor. Traducción Compiladores (código fuente + código objeto) Interpretes (análisis, traducción del código fuente) 5.2 Lenguaje C: C combina elementos de lenguajes de alto nivel con la funcionalidad del lenguaje ensamblador. Permite la manipulación de bits, bytes (palabras), direcciones (punteros). Soporta el concepto de tipos de datos (conj. Valores que puede tener una variable junto a conj de operaciones) Tema 2. Pág. 9