Anda di halaman 1dari 7

UNIVERSIDAD POLITÉCNICA

SALESIANA

Programación 1

Analizar y desarrollar algoritmos

GME
“Grupo con garantía, GME te facilita la
vida”
Coordinador: María José Michelena
Integrantes: Giovanna Simbaña
Eduardo Rubio
ALGORITMOS

DEFINICION:

Un algoritmo se define como un conjunto de instrucciones para resolver un


problema. En otros términos, un algoritmo es una sola prescripción
determinante de un proceso de cálculo que, partiendo de diversos datos
iniciales, conducen en todos los casos al resultado que le corresponde.

Es un método para resolver un problema mediante una serie de pasos


definidos, precisos y finitos.

La habilidad para manejar algoritmos tiene un valor estratégico en el uso de la


computadora como herramienta para resolver un problema, después de que se
ha dicho como resolverlo.

Un algoritmo se transforma en una herramienta de computadora cuando se han


preparado instrucciones adecuadas para que la computadora pueda llevarlo a
cabo.
Estas instrucciones deberán comunicarse a la computadora en un lenguaje que
pueda entenderse, tal lenguaje se conoce como lenguaje de programación.
Requisitos para un algoritmo:

1. Carácter finito. "Un algoritmo siempre debe terminar después de un


número finito de pasos".
2. Precisión. "Cada paso de un algoritmo debe estar precisamente definido;
las operaciones a llevar a cabo deben ser especificadas de manera
rigurosa y no ambigua para cada caso".
3. Entrada. "Un algoritmo tiene cero o más entradas: cantidades que le son
dadas antes de que el algoritmo comience, o dinámicamente mientras el
algoritmo corre. Estas entradas son tomadas de conjuntos específicos
de objetos".
4. Salida. "Un algoritmo tiene una o más salidas: cantidades que tienen una
relación específica con las entradas".
5. Eficacia. "También se espera que un algoritmo sea eficaz, en el sentido
de que todas las operaciones a realizar en un algoritmo deben ser
suficientemente básicas como para que en principio puedan ser hechas
de manera exacta y en un tiempo finito por un hombre usando lápiz y
papel".

FORMA DE EXPRESAR UN ALGORITMO:


Los algoritmos pueden ser expresados de muchas maneras, incluyendo al
lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de
programación entre otros. Las descripciones en lenguaje natural tienden a ser
ambiguas y extensas. El usar pseudocódigo y diagramas de flujo evita muchas
ambigüedades del lenguaje natural. Dichas expresiones son formas más
estructuradas para representar algoritmos; no obstante, se mantienen
independientes de un lenguaje de programación específico.

• Formulas
• Diagramas de flujo Norte-Sur,Top-Down
• Pseudo código

Diagramas de flujo Norte-Sur,Top-Down.- son descripciones gráficas de


algoritmos; usan símbolos conectados con flechas para indicar la secuencia de
instrucciones y están regidos por ISO.
Los diagramas de flujo son usados para representar algoritmos pequeños, ya
que abarcan mucho espacio y su construcción es laboriosa. Por su facilidad de
lectura son usados como introducción a los algoritmos, descripción de un
lenguaje y descripción de procesos a personas ajenas a la computación.

Pseudo código.- es la descripción de un algoritmo que asemeja a un lenguaje


de programación pero con algunas convenciones del lenguaje natural. Tiene
varias ventajas con respecto a los diagramas de flujo, entre las que se destaca
el poco espacio que se requiere para representar instrucciones complejas. El
pseudocódigo no está regido por ningún estándar. pseudo viene de falso y por
ende es un código al que aunque es entendible no se aplica al proceso que
debe realizar la maquina.

ELABORACION DE ALGORITMOS:

Los conocimientos adquiridos anteriormente son las herramientas necesarias


para llevara a cabo la elaboración de un algoritmo a través de un problema.
Se recomienda tomar en cuenta cada una de las propiedades de un algoritmo,
ya que de ahí se inicia el proceso de elaboración.
A continuación se mostrara el desarrollo de un problema con su respectivo
algoritmo como solución.

Supongamos que se necesita calcular e imprimir el área de una triangulo cuya


base y altura se suministraran de un disco.

Procedimiento:
a) Escribir correctamente el enunciado del enunciado del problema.
“calcular e imprimir el área de un triangulo cuya base y altura se
suministraran de un disco”
b) Analizar la solución general del problema
1. Entender concretamente la solución que se desea obtener del
problema.
2. Buscar las variables a utilizar.
c) Buscar diferentes alternativas de solución al resultado del problema.

EJERCICIOS:
1. Dada las horas trabajadas de una persona y el valor por hora.
Calcular su salario e imprimirlo.

ENTEROS horas, valor, salario


INICIO
LEER hora, valor
Salario = hora * valor
ESCRIBIR salario
FIN

2. A un trabajador le descuentan de su sueldo el 10% si su sueldo es


menor o igual a 1000, por encima de 1000 y hasta 2000 el 5% del
adicional, y por encima de 2000 el 3% del adicional. Calcular el
descuento y sueldo neto que recibe el trabajador dado su sueldo.
ENTEROS sueldo,sueldo_neto, descuento
INICIO
LEER sueldo
SI sueldo<=1000 ENTONCES
descuento<-sueldo *0.1
SI NO
SI sueldo<=2000 ENTONCES
Descuento<-(sueldo-1000)*0.05+1000*0.1
SI NO
Descuento<-(sueldo-2000)*0.03+1000*0.1
FINSI
FINSI
ESCRIBIR descuento
FIN
En lenguaje java:
int mcd(int a, int b)
{
int r[1000]; //Reservamos 1000 espacios para el Array que va a guardar los
restos sucesivos
for(int i = 0; i < 1000; i++) //Inicializamos los valores a 0
{
r[i]=0;
}
int i = 1;
r[0] = a; //Damos al resto r[0] el valor de a
r[1] = b; //Damos al resto r[1] el valor de b
while(r[i] != 0) //Vamos calculando los restos hasta llegar al mcd
{
r[i+1] = r[i-1] % r[i];
i++;
}
int mcd = r[i-1]; //Damos el valor d r[i-1] al mcd
return mcd; //Se retorna el mcd
}
public int max( int c[] ) {
int n = c.length, m = c[0];
for( int i = 1 ; i < n ; i++ )
if( c[i] > m ) m = c[i];
return m;
}