You are on page 1of 36

ALGORITMOS Y

PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es  una  secuencia,  finita  y  ordenada  de 
instrucciones  que  han  de  seguirse  para  resolver  un  problema. 
Un  programa  normalmente  implementa  (traduce  a  un  lenguaje 
de  programación  concreto)  uno  o  más  algoritmos.  Un  algoritmo 
puede expresarse de distintas maneras: en forma gráfica, como 
un diagrama de flujo, en forma de código como en pseudocódigo
 o un lenguaje de programación, en forma explicativa, etc.

ALGORITMO: Nombre

El  nombre  en  latín  de 
algoritmo  proviene  de  la 
traducción  que  realizó 
Fibonacci,  de  la  obra  del 
matemático  árabe 
Al'Khwarizmi  llamada  ,
Algoritmi de Numero
Indorum.

ALGORITMO

• Es el método para resolver problemas. Es 
una  serie  de  operaciones  detalladas  a 
ejecutar paso a paso y que conducen a la 
resolución  de  un  problema.  Conjunto  de 
reglas  o  la  forma  de  describir  la  solución 
del  problema.  Es  una  descripción  de 
acciones que deben ser ejecutadas y una 
descripción  de  los  datos  que  son 
manipulados por esas acciones.

siga.. se que paso. NO DEFINIDO AMBIGUO PRECISO ..ALGORITMO: Características LEGIBLE CONCRETO EFICIENTE FINITO Debe realizar las Debe DebeDebe ser. fue creado. Debe Debe Debe Debe generar indicar tener funciones de resultado realizar estarun operaciones estar estructurado realización elbien orden mismo las terminar libre con un usiempre deen operaciones para de cada que su mínimo errores. algún de momento utilización (Validado)de para fácil lasentendimiento. recursos.

Proceso: Elaboración o Desarrollo • 3. PARTES DE UN ALGORITMO • 1.Salida: Resultado y Terminación ...Entrada: Datos e Información • 2..

. ALGORITMO: Estructura Corresponden a los datos  requeridos para realizar el  Datos algoritmo (datos de entrada) y  los datos que son generados  (datos de salida) Conforma el grupo de  Procesos instrucciones que  realizan las operaciones  con los datos. Estructuras de Control Determinan la  organización de las  instrucciones que  deben ser realizadas.

  cuales sirven de forma auxiliar y  cuales se van a generar. . con el fin de  evitar  Proceso Entrada Salida inconsistencias en  Estructuras  el resultado. ALGORITMO: Elementos Las instrucciones  que se van a  realizar deben estar  Definición bien estructuradas y   de variables y constantes tener un orden  lógico. de control Es necesario identificar que  Cuerpo del algoritmo datos se necesitan ingresar.

ALGORITMO: Quienes pueden hacer un algoritmo? Toda persona.  implícitamente y  diariamente diseña y  realiza algoritmos. diseña el  algoritmo consiente de que al realizar  cada paso obtendrá la solución de un  problema específico. para  dar solución a  situaciones cotidianas  de forma natural. Sin embargo el programador.  .

 Apuntar el  nombre del cine. buscando entre los títulos existentes. su dirección y los horarios Si no se encuentra el título en la cartelera. .  4 esperar una semana y volver a empezar el  proceso a partir del punto 1 de esta lista. lo haría de este otro modo: Buscar la página de cines en el diario  1 local. con fecha de hoy 2 Revisar la cartelera de arriba abajo y de izquierda a derecha. 3 Si se encuentra el título La Guerra de las   Galaxias.ALGORITMO: Cómo se hace? El programador sin embargo. no seguir buscando.

7. llamar a la grúa. 2. . 5. 6. 4. Si el auto no arranca. dejar  la llave en la posición “encendido”. Si el motor arranca antes de 6 seg.ALGORITMO: Otro ejemplo Encender un automóvil 1. Pisar el el acelerador. Girar la llave hasta la posición “arranque”.  volver al paso 3 (como máximo 5 veces). 3. Si el motor no arranca antes de 6 seg. Poner la llave. Asegurarse que el cambio esté en neutro.

Seguir  los  pasos  del  algoritmo  debe        llevarnos  a  la  Debe evitar la resolución del problema.  ALGORITMO: describamos claramente el problema que éste  nos permite resolver. ambigüedad Siempre que sea posible seguiremos  personalmente  los  pasos  de  nuestro        algoritmo  para  comprobar que son efectivamente  correctos  y  conducen  efectivamente  a  la  solución esperada.  definir  si  la  distancia  problema debe ser en metros.Los algoritmos se crean para resolver problemas.  Debe resolver el Es  necesario  establecer  lo  que  se  problema necesita y dónde se debe comenzar.  es  necesario. Requisitos Por ejemplo:  Si  se  requiere  hallar  la  velocidad  de  un  Debe Definirse el automóvil.  .  Es importante que junto al algoritmo. etc y  el tiempo  estará  dado  en  segundos  u  horas.  ya  que  la  velocidad  puede  representarse  en  Km/h  ó  Debe estar dentro mts/seg. kilómetros. de contexto No  debemos  omitir  el  contexto  de  nuestros algoritmos.

punto de inicio y uno de finalización.  Pseudocódigo Es una técnica que permite  Inicio representar gráficamente las    Instrucción 1 operaciones  y estructuras que se    Instrucción 2 van a realizar. con un único      Instrucción 3   .   .  facilitando  su  posterior  Diagrama de Flujo codificación. ALGORITMO: Técnicas de Representación Está  técnica  permite  representar  el  algoritmo  mediante  un  lenguaje  más  estructurado. mediante una    Si condición entonces simbología estándar.    Instrucción n Fin .   .

PSEUDOCÓDIGO: Cómo se Hace? Cada instrucción que se va a realizar  1 debe comenzar por un verbo. repita_hasta. Lea. 2 Se debe mantener una identación o sangría  sobre el margen izquierdo para identificar  fácilmente el comienzo y final de las estructuras  3 La representación de las estructuras son  similares u homónimas de los lenguajes de  programación. ejemplo:  Muestre. mientras  que. etc. ejemplo: inicio. Haga. fin. si_entonces_sino. . etc.

Imprimir : Representa la acción de enviar datos desde variables a un dispositivo estándar de salida. Fin: Denota el punto de finalización del algoritmo. Leer : Denota la acción de introducir datos o variables desde un dispositivo estándar de entrada. . Calcular : Denota la realización de cualquier operación aritmética que genere valores para ser almacenados en una variable.PSEUDOCÓDIGO:Cómo se Hace? Inicio : Denota el punto de inicio del algoritmo.

  Entrada de datos desde  inicio y finalización del  un dispositivo estándar  o una operación de  diagrama asignación .DIAGRAMA DE FLUJO: Simbología Lectura Inicio Proceso Captura Fin Permite indicar la  Se utiliza para Permite indicar la  realización  indicar el punto de   de un proceso matemático.

. el otro símbolo  alternativos de  único  símbolo de partida  se define como un  ejecución.) dentro de la misma  deducen 2 flujos  de ellas debe tener un  página. y un único símbolo de  conector a otra página.  un valor de verdadero o  llena.DIAGRAMA DE FLUJO: Simbología Conectores Impresión Decisión Flujo Permiten enlazar los  Permiten dar continuidad  Permite establecer una  símbolos de un sentido  al diagrama si la página  condición relacional ó  único pueden ser  lógica que puede tomar  o área de trabajo esta  Indica la realización de horizontales o verticales. destino.         el círculo se   operaciones de salida a un  Estas no pueden   dispositivo estándar  falso. de este símbolo se  utiliza como un conector  entrecruzarse y cada una   (el monitor o  impresor.

DIAGRAMA DE FLUJO: Simbología Estructuras de Decisión (Condición) Decisión Decisión Decisión DecisiónMúltiple Simple Compuesta Anidada Caso condición Si condición entonces   Val1:       Si condición entonces         Instrucciones            Instrucciones Si condición entonces Si No   Val2: Condición si no       Instrucciones Si condición entonces No No         Instrucciones        Si condición entonces si no Si Condición No       Instrucciones   Val3: No Condición Condición Si No        Instrucciones Condición Condición             Instrucciones         Instrucciones Val1 Val2 Val3 Otro Si Si si no   Otros:              Instrucciones         Instrucciones Fin Caso .

.... .      Instrucciones Repita v=valini.DIAGRAMA DE FLUJO: Simbología Estructuras de Ciclo Ciclo Ciclo Ciclo Para Mientras Hasta . inc  . . ..v=valfinal. Si valfinal: valor final Condición inc: incremento Instrucciones Si .. Instrucciones    Instrucciones No . Para v=valini. valini: valor inicial Instrucciones No . incremento Mientras que condición Mientras Fin Para que condición Instrucciones . v=valfinal. v: variable . Hasta que condición Condición Fin Mientras .. .

SIMBOLO. REPRESENTACIÓN Y SIGNIFICADO DIAGRAMA DE FLUJO Representación gráfica del algoritmo: diagramas de flujo Símbolo Representación Significado Flechas o líneas de flujo Indica el sentido de ejecución de las acciones Rectángulo Proceso o acción a realizar (por ejemplo. asignación) Paralelogramo Representa una entrada o salida Rombo Representa el constructor de selección (decisión lógica) Rectángulo redondeado Representa el inicio y fin del diagrama Círculo Se usa como conector entre dos partes del diagrama .

ALGORITMO: Fases de Diseño Definición del problema Algoritmo Análisis del problema Selección de la mejor alternativa Diagramación Prueba de escritorio .

 no  tiene caso pasar a la siguiente etapa. el cuál debe ser claro y  problema. no  Mientras qué esto no se comprenda. exactamente que se desea.  tiene caso pasar a la siguiente etapa.  . el cuál debe ser claro y  completo  completo  Es importante que conozcamos  Es importante que conozcamos  exactamente que se desea. Mientras qué esto no se comprenda.ALGORITMO: Definición del Problema  Está dada por el enunciado del   Está dada por el enunciado del  problema.

ALGORITMO: Análisis del Problema Los datos de  entrada que nos Recursos  suministran  Fórmulas Proceso Área de Trabajo  Los datos de  salida o  resultados que  Entendido el problema  para   se esperan resolverlo es preciso analizar  .

5 Analizado el problema  resultados  Esperados    en  el  Lo importante es determinar cuál Posiblemente  tengamos   es la mejor alternativa  menor  tiempo    y  al  menor  varias formas de resolverlo costo  .1 Solución  .3  Se debe tener en cuenta  el principio de que las  cosas siempre se podrán  hacer de una mejor  forma..ALGORITMO: Selección de Alternativa Solución  .. Solución  ..2 La  que  produce  los  Solución  ..

ALGORITMO: Diagramación Dibujar gráficamente  la lógica de la  alternativa  seleccionada  Una vez que  sabemos  cómo resolver el  problema Plasmar la  solucion  mediante el Pseudocódigo .

ALGORITMO: Prueba de Escritorio Esta prueba consiste en: Se  Es utiliza  Recomendable para  Al realizar lo anterior se puede Dar diferentes datos corroborar  comprobar que  el  Dar diferentes datos de entrada  si el algoritmo es  de entrada al programa  y considerar todos  los posibles  algoritmo  correcto plasmado  o casos. aún los de excepción o  si hay necesidad en  cualquier  no esperados. para asegurar  de hacer ajustes herramienta  presenta   seguir la secuencia indicada  (volver al paso anterior)  que el programa no produzca  la  solución  errores en ejecución cuando   al  se presenten estos casos.  problema inicial hasta  obtener los resultados  .

espacio de memoria que  almacenarse en un  almacena un dato que  Se refiere a los elementos que  almacena un dato que  espacio de memoria  se utilizan en los algoritmos  dentro del programa en  dentro del programa en  definido y a la cantidad  para realizar alguna operación  ejecución mantiene  ejecución cambia o varía  de espacio que requiere  sobre estos. ALGORITMO: Conceptos Tipo Constante Variable Dato de Dato Corresponde al tipo de  Corresponde a un  Corresponde a un  valor que puede  espacio de memoria que  Minima parte de la información. (valor). . su contenido (valor).. siempre su contenido  para almacenar un valor.

ALGORITMO: Tipos de Datos Boleano Real cadena Lógicos Entero Caracter Numéricos Carácter Tipos de Datos .

ALGORITMO: Operadores + Aritméticos - >= > < / % <= = Relacionales ^ != No Lógicos <> Y && O || .

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

  Ejemplos: Cálculo de la media aritmética de Ir al trabajo dos números con una calculadora 1.Teclear el número 2 (transporte) 8. EJEMPLO DE ALGORITMOS Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.Tomar el bus  7.Levantarse 1.Pulsar la tecla = .Desayunar 5.Darse una ducha 3.Teclear el segundo número 4.Vestirse 4.Pulsar la tecla + 3.Pulsar la tecla + 6.Pulsar la tecla AC 2.Teclear el primer número 2.Pulsar la tecla / 5.

Búsqueda Secuencial    Consiste en ir comparando el elemento que se busca con cada elemento del arreglo hasta que se encuentra.    0       1        2       3        4       5        6       7       8       9           I N F O M Á T I C A Índice resultado = 4 M M M M M 1 .

25 25 25 15 15 1 32 15 15 25 1 15 15 32 1 1 25 25 1 1 32 32 32 32 1 . Ordenamiento Burbuja  El algoritmo consiste en que los elementos mÁs pesados se hundan y los mÁs livianos salgan a flote.

  Escribir “Área del rectángulo: ”. pe = 2*(b + a) 1.   pe ← 2*(b + a)  5. Inicio 2. pe 7.   Leer base y altura (b. ar 6. Fin  .   ar ← b*a 4.   Escribir “Perímetro del rectángulo: ”.Un primer ejemplo de algoritmo El siguiente algoritmo calcula el área y el perímetro de un rectángulo Datos de entrada: b y a (base y altura) Análisis resumido  Datos de salida: ar y pe (área y perímetro) del problema Procesos: ar = b*a. a) 3.

ACTIVIDADES 1. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno  preguntas y respuestas)  http://www.daypo. COPIAR DIAPOSITIVAS EN EL CUADERNO. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar  en el cuaderno preguntas y respuestas)  http://www.creartest.com/hacertests-63959-EXAMEN_ DE_ALGORITMICA.php   4. REALIZAR TEST: (Copiar en el cuaderno preguntas y  respuestas)   .com/test-logica-algoritmos. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN  EL CUADERNO (Llegar al colegio.  3. 2.html  5.

• Describa los pasos para llevar a una • Describa los pasos para cambiar la amiga a cine. • Describa los pasos para cambiar un bombillo quemado. GENERALIDADES SOBRE LOS ALGORITMOS • Describir los pasos para cruzar la calle. llanta pinchada de una cicla. .

 Toma de decisión. Diagrama de flujo.  Funciones  . Ciclos. Lenguaje de  programación. Compilador. Memoria. Hardware. Variable. PALABRAS CLAVES Computadora. Interprete. Algoritmos. Informática.  Código binario. programador. Software.  Constante.  Programación estructurada. Periféricos. Diagramas de  flujo.  Programación de computadoras.