algoritmos y series numericas
Algoritmo
En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador por parte de su patrón. Algunos ejemplos en matemática son el algoritmo de multiplicación, para calcular el producto, el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para obtener el máximo común divisor de dos enteros positivos, o el método de Gauss para resolver un sistema lineal de ecuaciones.
Historia del Algoritmo
La palabra algoritmo proviene del nombre del matemático llamado Abu Abdullah Muhammad bin Musa al-Khwarizmi (hay muchas variantes para el nombre al usar el alfabeto latin, tales como Al-Khorezmi, Al-Khwarizmi, Al-Khawarizmi, Al-Khawaritzmi o Al-Khowarizmi) que vivió entre los siglos VIII y IX.
Su trabajo consistió en preservar y difundir el conocimiento de la antigua Grecia y de la India. Sus libros eran de fácil comprensión, de ahí que su principal valor no fuera el de crear nuevos teoremas o nuevas corrientes de pensamiento, sino el de simplificar las matemáticas a un nivel lo suficientemente bajo para que pudiera ser comprendido por un amplio público. Cabe destacar cómo señaló las virtudes del sistema decimal indio (en contra de los sistemas tradicionales árabes) y cómo explicó que, mediante una especificación clara y concisa de cómo calcular sistemáticamente, se podrían definir algoritmos que fueran usados en dispositivos mecánicos similares a un ábaco en vez de las manos. También estudió la manera de reducir el numero de operaciones necesarias que formaban el cálculo.
Por esta razón, aunque no haya sido él el inventor del primer algoritmo, merece que este concepto esté asociado a su nombre. Al-Khorezmi fue sin duda el primer pensador algorítmico.
Ya en el siglo XIX, se produjo el primer algoritmo escrito para un computador. La autora fue Ada Byron, en cuyos escritos se detallaban la máquina analítica en 1842. Por ello que es considerada por muchos como la primera programadora aunque, desde Charles Babbage, nadie completó su máquina, por lo que el algoritmo nunca se implementó.
La idea de resolver un problema o de disponer de un algoritmo es bastante antigua, tal es así, que existía la errada creencia que no había problema que no se pudiera resolver y en base a ello, el matemático David Hilbert quiso descubrir un algoritmo para los algoritmos. Hoy en dia gracias a los trabajos de Kurt Gödel, Alonzo Church (calculo lamba), Alan Turing (maquina de turing), se sabe que dentro del universo de problemas, una pequeña parte es computable, luego que el objetivo que perseguia David Hilbert no era computable, es lo que se ha denominado como la computabilidad de los algoritmos.
Características de los Algoritmos:
Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.
Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez.
Un algoritmo debe ser finito. Si se sigue un algoritmo se debe terminar en algún momento; o sea, debe tener un numero finito de pasos.
La definición de un algoritmo debe definir tres partes: Entrada, Proceso y Salida. En el algoritmo de receta de cocina citado anteriormente se tendrá:
Entrada: ingrediente y utensilios empleados.
Proceso: elaboración de la receta en la cocina.
Salida: terminación del plato (por ejemplo, cordero).
Ejemplo del Algoritmo:
Un cliente ejecuta un pedido a una fábrica. Esta examina en su banco de datos la ficha del cliente; si el cliente es solvente entonces la empresa acepta el pedido; en caso contrario rechazara el pedido. Redactar el algoritmo correspondiente.
Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez.
Un algoritmo debe ser finito. Si se sigue un algoritmo se debe terminar en algún momento; o sea, debe tener un numero finito de pasos.
La definición de un algoritmo debe definir tres partes: Entrada, Proceso y Salida. En el algoritmo de receta de cocina citado anteriormente se tendrá:
Entrada: ingrediente y utensilios empleados.
Proceso: elaboración de la receta en la cocina.
Salida: terminación del plato (por ejemplo, cordero).
Ejemplo del Algoritmo:
Un cliente ejecuta un pedido a una fábrica. Esta examina en su banco de datos la ficha del cliente; si el cliente es solvente entonces la empresa acepta el pedido; en caso contrario rechazara el pedido. Redactar el algoritmo correspondiente.
Diseño del Algoritmo:
En la etapa de análisis del proceso de programación se determina que hace el programa. En la etapa de diseño se determina como hace el programa la tarea solicitada. Los métodos mas eficaces para el proceso de diseño se basan en el conocido por Divide y Vencerás, es decir, la resolución de un problema complejo se realiza dividiendo el problema en sub problemas y a continuación dividir estos sub problemas en otros de nivel mas bajo, hasta que pueda ser implementada una solución en la computadora. Este método se conoce técnicamente como diseño descendente (Top Down) o modular. El proceso de romper el problema en cada etapa y expresar cada paso en forma más detallada se denomina refinamiento sucesivo.
Cada sub programa es resuelto mediante un modulo (sub programa) que tiene un solo punto de entrada y un solo punto de salida.
Cualquier programa bien diseñado consta de un programa principal (el modulo de nivel mas alto) que llama a sub programas (módulos de nivel mas bajo) que a su vez pueden llamar a otros sub programas. Los programas estructurados de esta forma se dice que tienen un diseño modular y el método de romper el programa en módulos más pequeño se llama Programación Modular. Los módulos pueden ser planeados, codificados, comprobados y depurados independientemente (incluso por diferentes programadores) y a continuación combinarlos entre si. El proceso implica la ejecución de los siguientes pasos hasta que el programa se termina:
programar modulo.
Comprobar el modulo.
Si es necesario, depurar el modulo.
Combinar el modulo con los módulos anteriores.
El proceso que convierte los resultados del análisis del problema en un diseño modular con refinamiento sucesivo que permitan una posterior traducción al lenguaje se denomina diseño de algoritmo.
Cada sub programa es resuelto mediante un modulo (sub programa) que tiene un solo punto de entrada y un solo punto de salida.
Cualquier programa bien diseñado consta de un programa principal (el modulo de nivel mas alto) que llama a sub programas (módulos de nivel mas bajo) que a su vez pueden llamar a otros sub programas. Los programas estructurados de esta forma se dice que tienen un diseño modular y el método de romper el programa en módulos más pequeño se llama Programación Modular. Los módulos pueden ser planeados, codificados, comprobados y depurados independientemente (incluso por diferentes programadores) y a continuación combinarlos entre si. El proceso implica la ejecución de los siguientes pasos hasta que el programa se termina:
programar modulo.
Comprobar el modulo.
Si es necesario, depurar el modulo.
Combinar el modulo con los módulos anteriores.
El proceso que convierte los resultados del análisis del problema en un diseño modular con refinamiento sucesivo que permitan una posterior traducción al lenguaje se denomina diseño de algoritmo.
PROBLEMAS RESUELTOS DE ALGORITMOS
1.- Mostrar su nombre, sexo edad y estado civil, que son ingresados por teclado
ALGORITMO datopersonal
INICIO
CARACTER nombre[30], sexo, Ec
Entero edad
1.-LEER nombre, sexo, edad, Ec // Ec = estado civil
2.-MOSTRAR nombre, sexo, edad , Ec
FIN
2.- Ingresar por teclado el nombre y la edad de cualquier persona e imprima tanto el nombre como la edad
ALGORITMO edad
INICIO
CARACTER nombre[30].
Entero edad
1.-LEER nombre, edad
2.-MOSTRAR nombre, edad
FIN
3.- Ingresar por teclado el nombre y la edad de cualquier persona e imprima, solo si la persona es mayor de edad, el nombre de la persona.
ALGORITMO adulto
INICIO
CARACTER nombre
Entero edad
1.- LEER nombre, edad
2.- SI (edad >= 18)
ENTONCES
a)MOSTRAR nombre
FINSI
FIN
4.- .- Ingresar por teclado el nombre y la edad de cualquier persona e imprima solo si la persona es mayor de edad, el nombre de la persona, de lo contrario, imprima un mensaje que diga : “no puede votar”.
ALGORITMO votar
INICIO
Cadena nombre
Entero edad
1.-LEER nombre , edad
2.-SI ( edad >= 18) ENTONCES
a)MOSTRAR nombre
SINO
a)MOSTRAR “no puede votar”
FINSI
FIN
5.- Ingresar por teclado el nombre, la edad y el sexo de cualquier persona e imprima, solo si la persona es de sexo masculino y mayor de edad, el nombre de la persona. NOTA: suponga que en el campo denominado sexo el numero 1 es masculino o el numero 2 es femenino
ALGORITMO sex
INICIO
Cadena nombre
Entero sexo , edad
1.-LEER nombre, sexo, edad
2.-SI (sexo = 1) y (edad>= 18)
ENTONCES
a)MOSTRAR nombre.
FINSI
FIN
6.- Ingresar por teclado el nombre, la edad, el sexo (1 o 2) y el estado civil de cualquier persona e imprima solo si la persona es un hombre soltero mayor de edad, el nombre de la persona. NOTA: en el campo de estado civil se graba el numero 1 en vez de soltero, el numero 2 en vez de casado o el numero 3 en vez de otro.
ALGORITMO hombsolt
INICIO
Cadena nombre
Entero edad , sexo, ec // ec =estado civil.
1.-LEER nombre, edad, sexo, ec.
2.-SI (sexo = 1) y (ec = 1) y (edad >= 18)
ENTONCES
a)MOSTRAR nombre
FINSI
FIN
7.-Lea de un registro el nombre, la edad, el sexo y el estado civil de cualquier persona e imprima, solo si la persona es hombre o mujer menor de edad o es hombre casado de cualquier edad, el nombre de la persona y un mensaje que diga “usted no se manda”. En los demás casos imprima el nombre de la persona solamente.
ALGORITMO mensaje
INICIO
CARÁCTER nombre[30] , s, ec // s = sexo, e = edad
Entero, e // ec = estado civil
1.-LEER nombre, e, s, ec
2.-SI (s = “M”) o ((s = “F”) y (e < 18)) o ((s = “M”) y ( ec = “C”))
ENTONCES
a)MOSTRAR nombre, “usted no se manda”
SINO
a)MOSTRAR nombre.
FINSI
FIN
8.-Ingrese un numero e imprima el numero y el valor absoluto del mismo.
ALGORITMO valorabsoluto
INICIO
Real , x, VA // {x es el numero}
1.-LEER x
2.-VA ç abs (x)
3.- MOSTRAR VA // VA es el valor absoluto
FIN
9.-Ingrese un número y calcule e imprima su raíz cuadrada. Si el numero es negativo imprima el número y un mensaje que diga “tiene raíz imaginaria”
ALGORITMO RC
INICIO
Real ,num, RC
1.-LEER num
2.- SI (num >= 0)
ENTONCES
a. RC ß sqrt (num)
b. MOSTRAR RC
SINO
a. MOSTRAR num “tiene raíz imaginaria”
FINSI
FIN
10.-Ingrese dos números desde el teclado e imprima solo los positivos
ALGORITMO pos
INICIO
Real A, B
1.-LEER A, B
2.-SI (A>0)
ENTONCES MOSTRAR A
FINSI
3.-SI (B>0)
ENTONCES MOSTRAR B
FINSI
FIN
11.-Ingrese dos números desde el teclado e imprima ambos números sólo si son positivos
ALGORITMO numpos
INICIO
Real , A, B
1.-LEER A, B
2.-SI (A>0) y (B>0) ENTONCES
a)MOSTRAR A, B
FINSI
FIN
12.-Ingrese dos números desde el teclado e imprima ambos números si por lo menos uno de ellos es positivo
ALGORITMO num
INICIO
Real A ,B
1.-LEER A, B
2.-SI (A>0) o (B>0) ENTONCES
a) MOSTRAR A, B
FINSI
FIN
13.-Ingrese dos números desde el teclado e imprima ambos números solo si son de diferente signo y distintos de cero
ALGORITMO signosop
INICIO
Real A, B
1.-LEER A, B
2.-SI ( A¹ B ) y ( B¹0 ) ENTONCES
a) SI (A<0 ) y (B>0) o (A>0) y (B<0) ENTONCES
1) MOSTRAR A, B
FINSI
FINSI
FIN
14.-Ingrese dos números desde el teclado. Calcule la suma e imprima los números leídos y la suma.
ALGORITMOsum
INICIO
Real, A, B, S // S, es la suma
1.- LEER A, B
2.- Sç A + B
3.- MOSTRAR A, B, S
FIN
15.- Lea dos números de un mismo registro. Calcule la suma de los números. Imprima los números leídos y sólo si suma es negativa. Imprímala también
ALGORITMOsuma
INICIO
Real A, B, S // S es la suma
1.- LEER A, B
2.- S ç A + B
3.- SI ( S < 0 ) ENTONCES
a) MOSTRAR A, B, S
SINO
a) MOSTRAR A, B
FINSI
FIN
16.- Lea dos números de un mismo registro y calcule el cociente de dividir el primero por el segundo. Imprima el cociente. Si el segundo número es cero no ejecute el cálculo e imprima un mensaje que diga : “la división no es posible”.
ALGORITMO cociente
INICIO
Real A, B , COC // COC es el cociente
1.-LEER A, B
2.- SI ( B = 0)
ENTONCES
a. MOSTRAR “la división no es posible”
SINO
a. COC ç A / B
b. MOSTRAR COC “es el cociente”
FINSI
FIN
17.- Leer de un mismo registro el nombre de un empleado, su salario básico por hora y el número de horas trabajadas en el mes. Calcular su salario mensual e imprimir tanto el nombre como su salario mensual
ALGORITMO salario
INICIO
Cadena nombre
Real SxH, SM // SxH es salario por hora, SM, salario mensual
Entero HT // HT es el número de horas trabajadas
1.- LEER nombre SxH, HT
2.- SM ç SxH * HT
3.- MOSTRAR nombre, SM
FIN
18.- Leer un número y calcular el 5% del número leído. Obtener tanto el número como el porcentaje calculado
ALGORITMO porciento
INICIO
Real Num , PC // PC es el porcentaje
1.- LEER , Num
2.- PC ç (5/100) * Num
3.- MOSTRAR PC, Num
series numéricas
DEFINICIÓN DESERIE NUMÉRICA
Una serie es una sucesión ordenada de elementos que guardan un vínculo entre sí. Numérico, por su parte, es aquello vinculado a los números.
Con estas definiciones en claro, podemos comprender a qué se refiere el concepto de serie numérica: se trata de una seguidilla de números. Puede entenderse, por lo tanto, como un conjunto ordenado de números.
Como los números son infinitos, la cantidad de series numéricas que pueden crearse también lo son. Supongamos que alguien desea detallar una serie numérica de números pares: dicha serie nunca tendrá final.
Las series numéricas, de todos modos, suelen acotarse a ciertos parámetros o instrucciones. Es habitual que los docentes pidan a sus alumnos que detallen los componentes de ciertas series numéricas a modo de ejercicio.
De este modo, un ejercicio de matemática puede pedir a los estudiantes que mencionen los componentes de una serie numérica de números impares cuyo número menor es 3 y su número mayor es 9. Esta serie numérica estará formada por 3, 5, 7 y 9.
En un sentido similar, una serie numérica de 5 en 5 que comience en 5 y llegue hasta 40 estará compuesta por los siguientes números: 5, 10, 15, 20, 25, 30, 35 y 40.
Las series numéricas pueden ser ascendentes o descendentes. En los ejemplos mencionados anteriormente, las series eran ascendentes: iban del número menor al mayor. Una serie numérica descendente de números reales positivos y pares que comience en 12sería la siguiente: 12, 10, 8, 6, 4 y 2.
prueba tu conociendo y realiza el
siguiente test :
http://www.psicoactiva.com/tests/series.asp
http://ci-training.com/index.asp
Series numéricas
|
algoritmos y series numéricas by MAURICIO is licensed under a Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional License.
No hay comentarios:
Publicar un comentario