Ayudantia 1

14
Ayudantia inf 140 Daniel Barraza [email protected]

Transcript of Ayudantia 1

Ayudantia inf 140

Daniel [email protected]

Algoritmos

¿Que es un algoritmo? “Una lista de instrucciones donde se

especifica una sucesión de operaciones necesarias para resolver cualquier problema de un tipo dado”.

Ejemplo sumar dos números

Algoritmos

1. 5+1=62. Anotar 63. 2+9=114. Anotar 1 y guardar

15. 4+0=46. 4+1=57. Anotar 58. El resultado es 516

491+ 25

516

Algoritmos

Entrada ¿Qué se necesita para realizar los pasos?

Salida ¿Que se obtiene al final del algoritmo?

Tipos de datos Números: enteros, reales,etc. Carácter: letras, palabras, frases Lógicos

Algoritmos

Sirven para resolver un tipo de problema especifico.

Son secuencias de pasos concretos. Requiere la definición de la entrada y la

salida. Adecuados para ser ejecutados por un

computador

Algoritmos

¿Qué tiene que ver con la programación? La programación consiste en crear

programas de computador que resuelvan problemas específicos.

Un programa de computador es la implementación de un algoritmo.

Pregunta

Un algoritmo se caracteriza por tener un conjunto finito de instrucciones para resolver un problema determinado, en donde el orden de las instrucciones existentes en él no altera mayormente el resultado final.

respuesta

Falso. Por definición, un algoritmo es un conjunto finito de instrucciones que especifican la secuencia de operaciones a realizar, en orden, para resolver un problema determinado. Por lo anterior, si se altera el orden de las operaciones o instrucciones en un algoritmo, no existe forma de asegurar que dicho algoritmo continuará resolviendo de manera adecuada el problema abordado.

Descripción de un algoritmo

Es necesario contar con formas de expresar algoritmos Diseño del algoritmo antes de codificar Diseño del algoritmo de manera independiente del

lenguaje de programación

Diferentes alternativas Pseudo - código Diagramas de flujo Diagramas de Nassi-Schneidermann

Descripción de un algoritmo

Pseudo – código El algoritmo se expresa en lenguaje natural Expresa de manera genérica los pasos del

algoritmo No provee detalles de la implementación

particular del código final

Partes de un algoritmo

Cabecera Nombre del algoritmo

Bloque del algoritmo Bloque de declaraciones

Variables Contantes

Bloque de pasos

Ejercicio prueba: Calcular la hipotenusa de un triangulo

rectángulo

/*Cabecera*/Algoritmo Hipotenusa_de_un_triangulo

/*Bloque de declaraciones*/Var Real: hipotenusa, auxiliar, cateto_a, cateto_b

/*Bloque de pasos*/inicio

escribir("Ingrese el valor del cateto a")leer(cateto_a)escribir("Ingrese el valor del cateto b")leer(cateto_b)auxiliar<-cateto_a*cateto_aauxiliar<-auxiliar+cateto_b*cateto_bhipotenusa=root(auxiliar) /*sqrt(auxiliar)*escribir("La hipotenusa vale :",hipotenusa)

Fin

Algoritmo que calcule el factorial de un número cualquiera

Algoritmo Factorial /*Cabecera*/

Var numero, factorial /*Bloque de declaraciones*/

inicio /*Bloque de pasos*/factorial<-1escribir("Ingrese el valor del numero que desea la factorial ")leer(numero)desde i<-1 hasta numero

hacerfactorial<-factorial*i

fin_desdeescribir("La factorial vale :",factorial)

Fin

Ejercicios

Desarrollar un algoritmo que calcule la raíz cuadrada de un número, con 3 cifras significativas.

Obtener un algoritmo que permita multiplicar dos números enteros por medio de sumas sucesivas.

Desarrollar un algoritmo que determine todos los números primos existentes entre 1 y unnúmero ingresado.