Variables tipos acumuladores 1. Realizar un algoritmo para tener la suma de 15 números dados. Leer num.1, num2, num3……..num15 Suma= num1+num2+num3… Imprimir suma Suma=0 Para cont=1 hasta 15 hacer Inicio Leer número Suma= suma+num. Fin Imprimir suma CICLOS Realizar un algoritmo para obtener el promedio de 50 alumnos. Entrada Tener las calificaciones A+B+C Proceso Sumar A+B+C/3 Salida Imprimir resultado Leer cal A, cal B, cal C Para cont 1 hasta 50 Inicio R=cal A, cal B, cal C/3 Imprimir r= Fin Para cont 1 hasta 50 hacer Leer cal 1, cal 2, cal 3, cal 4 Suma= suma/promedio Inicio Leer cal Suma= suma+promedio Imprimir p Fin Pg= suma/50 Imprimir p.g Ciclos y condicionales 1. Realizar un algoritmo que permita pedir 50 números naturales y determine e imprima cuantos son pares, impares, positivos y negativos Para i= 1 hasta 50 hacer Cont 1= 0, cont 2=0, cont 3=0 Leer número Si num > 0 hacer Si num mod. 2=0 Cont 1= cont 1+1 Si no Cont 2= cont +1 Si num > 0 Cont 3= cont 3+1 Si no cont 1= cont+1 Fin Imprime cont 1, cont 2, cont 3, cont 4 2. Desarrollar un algoritmo para calcular e imprimir el factorial de un número. Para=1 Num. Para i= 1 hasta num. FAC= fac * i Fin Imprimir fac Fin 3. Calcular la media de 100 números e imprima su resultado. Para=1 Num. Para i= 1 hasta num. Fac= fac + i Fin Imprimir Suma =0 Para i= 1 hasta 100 Num. Suma= suma+num. Fin Media suma/100 Imprimir media 4. Calcular e imprimir la suma y el producto de los números pares comprendidos entre 20 y 400 Suma=0 Producto=1 i = 20 Para i=20 hasta 400 hacer Suma= suma+1 Producto= producto * i Fin Imprimir suma Imprimir producto 5. Hacer un algoritmo que permita escoger en un conjunto de números naturales cuales son menores que 15, cuales son mayores de 50, cuales están comprendidos entre 25 y 50. Para i: 1 hasta 100 hacer Leer x Si x > 0 entonces Si x es menor 15 entonces Cont 15= cont 15+1 Fin Si x es mayor a 50 entonces Cont 50= cont 50+ 1 Fin Si (x > 25) and (x < 50) entonces Cont 3= cont 3+1 Fin Entonces I= 100; Imprimir cont 15, cont 50, cont 3 Imprimir (los números son menores cont 15) Imprimir (los números son menores cont 50) Imprimir (los números mayores o menores de 25-50, cont 3) SELECCIÓN MULTIPLE 1. Realizar un algoritmo que calcule las operaciones aritméticas de dos números. Inicio Leer num 1, num 2 Caso 1 Suma= suma + 1 Imprimir suma Caso 2 Resta= num 1- num 2 Imprimir resta Caso 3 Multiplicación= num 1* num 2 Imprimir multiplicación Caso 4 División= num 1 / num 2 Imprimir división Fin FUNCIONES Y PROCEDIMIENTOS EN LOS ALGORITMOS Las funciones son subalgoritmos (o módulos) que resuelven un problema sencillo y devuelven un resultado al algoritmo que las invoca. Las funciones pueden tener argumentos, aunque no es obligatorio. Los argumentos son los datos que se proporcionan a la función en la invocación, y que la función utilizara para sus cálculos. Además, las funciones tienen, obligatoriamente, que devuelva un resultado. Este resultado suele almacenarse en una variable para usuario posteriormente. Por ejemplo, cuando utilizamos las funciones matemáticas de biblioteca (es decir, predefinidas en el lenguaje), siempre escribimos algún dato entre paréntesis para que la función realice sus cálculos con ese dato. Pues bien, ese dato es el argumento o parámetro de entrada: A: raíz (x) B: redondeo (7.8) N: aleatorio (100) en estas tres instrucciones de asignación, se invoca a las funciones raíz ( ), redondeo ( ) y aleatorio ( ), pasándoles los argumentos x y 7.8, estas son funciones que los lenguajes de programación incorporan por defecto, junto con muchas otras que iremos descubriendo con el uso. No solo de funciones de biblioteca vive el programador. Como es lógico, también podemos crear nuestras propias funciones para invocarlas cuando nos sea necesario. Recuerde que una función no es mas que un módulos decir, un subalgoritmo que depende, directamente o a través de otro subalgoritmo principal, por tanto, su estructura debe ser similar a la de cualquier algoritmo. La sintaxis en pseudocodigo de una función es: Tipo _ resultado función nombre _ función (lista_de_argumentos) Constantes Lista_de_constantes Variables Lista_de_variables Inicio Acciones Devolver (expresión) Fin observe que es exactamente igual que cualquier otro algoritmo. Excepto por la primera línea, que ya no contiene la palabra algoritmo e incluye algunos elementos nuevos: El tipo _ resultado es el tipo de datos del resultado que devuelve la función El nombre_funcion es el identificador de la función La lista_de_argumentos es una lista con los parámetros que se le pasan a la función. LENGUAJE DE PROGRAMACION Un lenguaje de programación es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas a cabo por maquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una maquina, para expresar algoritmos con precisión, o como modo de comunicación humana. Esta formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el código fuente de un programa informático se le llama programación. El desarrollo lógico del programa para resolver un problema en particular. Escritura de la lógica del programa empleando un lenguaje de programación específico (codificación del programa). Ensamble o compilación del programa hasta convertirlo en lenguaje de maquina. Prueba y depuración del programa. Desarrollo de la documentación Existe un error común que trata de sinónimos los términos lenguaje de programación y lenguaje informático. Los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como por ejemplo html (lenguaje para el marcado de paginas Web que no es propiamente un lenguaje de programación, si no conjunto de instrucciones que permiten diseñar el contenido de los documentos). Permite especificar de manera precisa sobre que datos debe operar una computadora, como deben ser almacenadas o transmitidos y que acciones debe tomar bajo una variada gama de circunstancias. Todo, esto a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural. Una característica relevante de los lenguajes de programación es precisamente que mas de un programador puede usar un conjunto común de instrucciones que sean comprendidas entre ellos para realizar la construcción de un programa de forma colaborativa. COMPILADORES E INTÉRPRETES Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente que la maquina será capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de maquina, pero también puede ser simplemente texto. Este proceso de traducción se conoce como compilación. Un compilador es un programa que permite traducir el código fuente de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior (típicamente lenguaje de maquina). De esta manera un programador puede diseñar un programa en un lenguaje mucho mas cercano a como piensa un ser humano, para luego compilarlo a un programa mas manejable por una computadora. Un lenguaje interpretado es un lenguaje de programación que esta diseñado para ser ejecutado por medio de un intérprete, en contraste con los lenguajes compilados. Teóricamente, cualquier lenguaje puede ser compilado o ser interpretado, así que esta designación es aplicada puramente debido a la práctica de implementación común y no a alguna característica subyacente de un lenguaje en particular. Sin embargo, hay los lenguajes que son diseñados para ser intrínsecamente interpretativos, por lo tanto un compilador causaran una carencia de la eficacia. Muchos autores rechazan la clasificación de lenguajes de programación entre interpretados y compilados, considerando que el modo de ejecución (por medio de interprete o de compilador) del programa escrito en el lenguaje es independiente del propio lenguaje. A ciertos lenguajes interpretados también se les conoce como lenguajes de script. RECURSION La recursion es un concepto muy utilizado en programación. Se basa en expresar el resultado de un problema como operaciones aplicadas sobre una instancia reducida del mismo problema, hasta que se llega a un caso donde el problema queda bien definido. Este concepto es el mismo que se utiliza al demostrar inductivamente un problema. A modo de ejemplo, veremos la función parcial recursiva que calcula el factorial de un natural