Introducción a la programación: Algoritmos

Documentos relacionados
Tema 2. Concepto de Algoritmo

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

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

Un algoritmo es una serie de pasos lógicos y organizados que describe el proceso que se debe seguir, para dar solución a un problema específico.

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

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

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

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

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

PRESENTACIÓN DEL ALGORITMO

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

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

LENGUAJE. Tema 4 Vectores, Matrices y Cadenas de caracteres.

Introducción a la programación

LENGUAJE. Tema 5 Estructuras de datos

RECORDAR TIPOS DE DATOS

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

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:

ESTRUCTURA DE ASIGNACIÓN

5. ESTRUCTURAS DE REPETICIÓN

PRÁCTICA FUNDAMENTOS DE ALGORITMOS (Estructuras de Repetición II) Objetivos

Algoritmos. Diagramas de Flujo. Informática IV. L. S. C. Heriberto Sánchez Costeira

INFORMATICA TECNICATURA DE NIVEL SUPERIOR ALGUNOS EJERCICIOS DE SELECCIÓN E ITERACION

INTRODUCCIÓN. Diagrama de flujo:

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

PRÁCTICA FUNDAMENTOS DE ALGORITMOS I. Objetivos

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

Tipos de datos y Operadores Básicos

Departamento de Informática Universidad Técnica Federico Santa María. Tema 1: Algoritmos

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

Etapas en la solución de un problema

Tema 5. Diagramas de flujo. Computacion - FA.CE.NA.

Principios de Algoritmia

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

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

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

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

Área: INFORMÁTICA. Saber- Saber: Identificar DFD como herramienta para escribir los algoritmos de forma lógica.

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

Introducción a la Computación

Conocimientos previos

Y alternativamente se presentarán soluciones de problemas donde se utilicen:

TEMA 1: Algoritmos y programas

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

ESTRUCTURAS DE REPETICIÓN AREA PROGRAMACIÓN 1

LENGUAJE. Tema 2 Elementos de un programa

ALGORITMO, ESTRUCTURAS Y PROGRAMACIÓN I. Prof.

Procesador de texto Apunte N 4

Tema 2. Tipos predefinidos

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

Números enteros (cortos, largos y sin signo) Números reales (precisión simple y doble) Carácter y cadenas de caracteres. Lógicos.

Tema#2. Tipos de Datos 10

Escuela Normal Superior N 40 Mariano Moreno. Cuadernillo Propedéutico 2017 Nivel Superior

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

Conocimientos previos

3. TÉCNICAS DE DISEÑO

Diagramas de flujo. ISCT. Luis Antonio Mancilla Aguilar

Algoritmos. Definiciones básicas y componentes de un algoritmo. Contenido

Autoestudio 2: Variables y Operadores

UNIVERSIDAD AUTÓNOMA DEL ESTADO DE HIDALGO

Estructuras de Repetición

Metodología de Desarrollo de Programas

Componentes Básicos. InCo. InCo Componentes Básicos 1 / 28

Fundamentos de Programación. Unidad 2: ALGORITMOS

Diagramas. En computación existen básicamente dos tipos de diagramas: diagramas de entradaproceso salida

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

2.3 DEFINICIÓN DE LENGUAJES ALGORÍTMICOS

Profesor(a): M. A. Zeferino Galarza Hernández

La resolución de un problema

Fundamentos de Informática 3. Construcción de Software

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

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

Mapas de Karnaugh. Apunte N 4

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

Reales. Caracteres. Cadenas de Caracteres (String)

2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS

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

Inicio del programa. Entrada de datos. Proceso de datos. Salida de datos. Fin del programa

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

ESTRUCTURAS ALGORITMICAS

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

EJERCICIOS ALGORITMOS

LENGUAJE DE PSEUDOCÓDIGO

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

LENGUAJE. Tema 8 Ficheros

Metodología para la solución de problemas programables

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

Guía para el Examen de Computación

DIAGRAMAS DE FLUJO. Tabla de contenido

S i s t e m a s A n a l ó g i c o s y D i g i t a l e s

PRÁCTICO N o 3 Resolución de Problemas - Lenguaje de Problema

Tema 3. Estructuras de Datos

Programación I. Ingeniería Técnica Informática. Ejercicios de los Temas 4, 5, 6 y 7

CAPÍTULO 3: PORCIONES Y NÚMEROS ENTEROS

TÉCNICAS DE PROGRAMACIÓN. Ingeniería de Ejecución en Computación e Informática

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

Estructuras Administrativas

Cadenas de caracteres

ALUMNA: GRADO: MODALIDAD-10. PROFESOR: Hugo Nelson Ramírez Cárdenas

Programación Estructurada

Transcripción:

Introducción a la programación: Algoritmos

Algoritmo La palabra algoritmo proviene del nombre del matemático persa del siglo IX Muhammad ibn Musa al-jwarizmi Un algoritmo es una secuencia ordenada de pasos, sin ambigüedades, que permite la resolución de un problema dado y expresado en lenguaje natural, ej. en castellano. Características de un algoritmo Preciso: Indica el orden de realización de cada uno de sus pasos. Finito: si se sigue el algoritmo, se debe terminar en algún momento, es decir tiene un numero finito de pasos. Definido: si se sigue dos veces el algoritmo con los mismo datos de entrada, la salida debe ser la misma.

Algoritmo para cambiar una lamparita 1. Retirar la lamparita fundida 1. Colocar una escalera debajo de la lámpara 2. Subir la escalera 3. Desenroscar la lamparita en el sentido contrario de las agujas del reloj 4. Bajar la escalera 2. Poner una lamparita nueva 1. Tomar la lamparita nueva 2. Subir la escalera 3. Enroscar la lamparita en el sentido de las agujas del reloj 4. Bajar la escalera 5. Retirar la escalera

Descripción de algoritmos Metodología para describir algoritmos Entrada: Información dada al algoritmo. Proceso: Operaciones o cálculos necesarios para encontrar la solución del problema. Salida: Respuestas dadas por el algoritmo o resultados finales de los procesos realizados. El lenguaje algorítmico debe ser independiente de cualquier lenguaje de programación particular, pero fácilmente traducible a cada uno de ellos. Alcanzar estos objetivos conducirá al empleo de métodos normalizados para la representación de algoritmos, tales como los diagramas de flujo o el pseudocódigo.

Notaciones para describir algoritmos Método informal Lenguaje natural Ventajas: comprensible e intuitivo Inconveniente: impreciso Métodos formales Pseudocódigo Lenguaje natural limitado y sin ambigüedad Diagramas Diagramas de flujo u organigramas Utiliza un conjunto de símbolos para representar cada estructura de control y mediante líneas de flujo se indica el orden en que se realiza el flujo lógico del algoritmo Diagramas de Nassi-Schneiderman o Diagramas N-S Los pasos sucesivos se escriben en cajas con distintas formas según la estructura de control que representen

Notaciones para describir algoritmos Variables Numéricas: Enteros: integer Reales (punto flotante): real Alfanuméricas: Carácter: char Cadena de caracteres: string Lógicas: boolean Otros operadores: Número aleatorio: RANDOM ( ) Raíz cuadrada: SQRT ( ) Parte entera: TRUNC ( ) Concatenar: + Valor absoluto: ABS ( ) Largo de cadena: LEN ( ) Operaciones: Asignación: = Aritméticas: +, -, *, /, ^ (potenciación), MOD (resto división entera) Lógicas: >, <, =,!=, <=, >=, AND, OR, NOT Trigonométricas: SIN ( ), COS ( ), TAN ( ), ASIN ( ), ACOS ( ), ATAN ( )

Algoritmo que calcule la superficie de un rectángulo proporcionándole su base y altura. (Metodología) Especificaciones de entrada: Qué datos son de entrada? Cuántos datos se introducirán? Cuántos son datos de entrada validos? Especificaciones de salida: Cuáles son los datos de salida? Cuántos datos de salida se producirán? Qué formato y precisión tendrán los resultados? El algoritmo que podemos utilizar es el siguiente: Paso 1: Entrada desde el teclado de los datos de base y altura Paso 2: Calculo de la superficie, multiplicando la base por la altura Paso 3: Salida por pantalla de base, altura y superficie calculada.

Algoritmo para calcular el cociente de una división entera sin usar la operación de división (Lenguaje Natural) 1. Leer el numerador N y el denominador D 2. Inicializar el cociente a 0 (C 0) 3. Si N<D ir al paso 7 4. Restar a N el valor de D (N N-D) 5. Incrementar en uno C (C C+1) 6. Si N>=D volver al paso 4 7. Mostrar el valor de C 10 2 5 0

Algoritmo para calcular el cociente de una división entera (Diagrama de flujo)

Diagramas de Flujo Son gráficas detalladas que representan los pasos que se deben ejecutar dentro de la computadora a fin de producir los resultados esperados. Los Diagramas de Flujos son una técnica estándar para representar algoritmos y son independientes del lenguaje de programación utilizado. Inicio y Término de programa o subprograma. Asignación / Acción Entrada de información Salida de información Simbología MQ PARA CIERRE Ciclo iterativo Mientras Ciclo repetitivo Para Cierre de ciclos Condición (Dirección del flujo de control) Sentido del Flujo

Diagramas de Flujo Todo diagrama de flujo debe tener un inicio y un fin. Las líneas utilizadas para indicar la dirección del diagrama deben ser rectas, horizontales o verticales, nunca se deben cruzar entre si. No deben haber líneas sin conexión a los demás elementos del diagrama de flujo. Un diagrama de flujo se debe construir de arriba hacia abajo y de requerirse de izquierda a derecha. La notación o símbolos utilizados son independientes del lenguaje de programación utilizado para la elaboración del programa o aplicación. No puede llegar mas de una línea de conexión a un símbolo.

Estructuras Básicas de los Diagramas de Flujo 1) Secuencia Simple Inicio Leer A, B C= (A+B)*(A-B) Imprimir C Final

2) Decisión Simple Forma 1 Forma 2 F Ejemplos: Condición V Condición V INST INST 1 F A = 20 V F INST 2 A < 20 El objeto decisión selecciona el flujo a seguir de acuerdo al valor lógico de una condición. La condición debe ser siempre una expresión que al ser evaluada de como resultado un valor Lógico. F V A = A + 1 A = B A = C

3) Decisión Múltiple Variable A INST 1 B C INST 2 INST 3 I 1 A = A + 1 2 A = A + 2 A = A + 3 3

4) Iteración El objeto Ciclo Mientras tiene como función el ejecutar un bloque de objetos mientras que una condición sea verdadera. La condición debe ser siempre una expresión que al ser evaluada de como resultado un valor de tipo Lógico. Si al evaluar la condición se obtiene el valor F la ejecución del algoritmo continuará a partir del objeto que sigue al Cierre. MQ Ejemplos: MQ Condición INST A < 10 A = A + 1

5) Repetición Su función es ejecutar un bloque de objetos mientras que la variable contadora no alcance el límite establecido por el valor final. El contador es siempre una variable de tipo de dato entero. Contiene además un valor inicial que será asignado al contador al iniciar la ejecución del ciclo, un valor final y un valor de incremento. Si el contador excede el valor final, la ejecución continuará a partir del objeto que sigue al Cierre. En caso contrario, se ejecutará el cuerpo del ciclo y el contador será incrementado en el valor indicado por el incremento. v = inicio, fin, incremento INST Ejemplos: PARA I = 1, 20, 1 A = A + 1

EJEMPLO Determinar si un número ingresado por el usuario es par o impar. MQ Inicio Leer A A > 0 A = A - 2 V A = 0 F Imprimir par Imprimir impar Final

Pseudocódigo Se denomina notación de pseudocódigo a aquella que permite describir la solución de un problema en forma de algoritmo dirigido a una computadora utilizando palabras y frases del lenguaje natural sujetas a determinadas reglas. El pseudocódigo se considera una herramienta para el diseño que permite obtener una solución mediante aproximaciones sucesivas. Ejemplo 1 Suma el nro 5 y el nro 7 y muestra por pantalla. 1. Inicio 2. Int a, b, c // declara las variables a, b y c como enteras 3. a <- 5 // en la variable a se almacena el valor 5 4. b <- 7 // en la variable b se almacena el valor 7 5. c <- a + b // en la variable c se almacena la suma de a con b 6. Escribir c 7. Fin

Algoritmo para calcular la suma de dos valores ingresados por teclado (Pseudocódigo) 1. Inicio 2. Int a, b, c 3. Escribir Ingrese un valor entero 4. Leer a 5. Escribir Ingrese otro valor entero 6. Leer b 7. c <- a + b 8. Escribir La suma de 9. Escribir a 10. Escribir con 11. Escribir b 12. Escribir es 13. Escribir c 14. Fin

Webgrafía y Licencia: Textos tomados, corregidos y modificados de diferentes páginas de Internet, tutoriales y documentos. Este documento se encuentra bajo Licencia Creative Commons 2.5 Argentina (BY-NC-SA), por la cual se permite su exhibición, distribución, copia y posibilita hacer obras derivadas a partir de la misma, siempre y cuando se cite la autoría del Prof. Matías E. García y sólo podrá distribuir la obra derivada resultante bajo unalicenciaidénticaaésta. Autor: Matías E. García. Prof. & Tec. en Informática Aplicada www.profmatiasgarcia.com.ar info@profmatiasgarcia.com.ar