Sunteți pe pagina 1din 47

UNIVERSIDAD TECNOLGICA DE

PANAM
Prof. Jos Gonzlez
Facultad de Ingeniera Mecnica
Computacin para Ingeniera Mecnica
E-mail: jose.gonzalez33@utp.ac.pa
joseph30062005@gmail.com

2
Algoritmos
Programacin
Contenido
TCNICAS ALGORITMICAS.
Introduccin
Reglas para la Evaluar expresiones con diferentes tipos de
operadores.
Cuerpo bsico de un algoritmo
Entrada y salida de informacin
Estructuras de control en seudocdigo.

Introduccin

Un algoritmo es un conjunto finito de
instrucciones precisas que realizan una tarea, la
cual, dado un estado inicial, culminar por
arrojar un estado final reconocible.
Introduccin

Un algoritmo es un conjunto finito de
instrucciones precisas que realizan una tarea, la
cual, dado un estado inicial, culminar por
arrojar un estado final reconocible.
Expresiones
Una expresin es la representacin de un clculo necesario para la
obtencin de un resultado.

Clasificacin:

Numrica
Alfanumricas
Booleanas
Operadores y Expresiones
Expresiones: Es un conjunto de constantes, variables,
operadores con lo que se realizan las operaciones y permite
obtener un resultado.
Ejemplo:
resultado a*(2*b+5)/c
Operadores: Es un smbolo que permite manipular los
valores de variables y/o constantes.

Operadores matemticos
1) ^ **
div mod 2) /
3) +
*
-
Los operadores con igual nivel de prioridad se evalan de
izquierda a derecha.

1) =
Sirve para recuperar o guardar los valores obtenidos al realizarse
o ejecutarse una expresin.
Operador de asignacin
Operador Alfanumrico:
+ concatenacin
Parntesis:
( ) Se utiliza para anidar expresiones
Operadores de relacin
1)
2)
3)
4)
5)
6)
Mayor que
Menor que
Mayor igual que
Menor igual que
Igual
Diferencia
>
<
>=
<=
=
< > !=
Son empleados para comparar dos ms valores.
Su resultado produce valores como verdadero y falso.
Tienen el mismo nivel de prioridad.
Operadores Lgicos o booleanos
Son empleados para comparar dos valores (Falso y verdadero
Su resultado produce valores como verdadero y falso.
Tiene prioridad la negacin, luego AND y despus OR .
VAL1 VAL2 RESUL
Cierto
Cierto
Falso
Falso
Cierto
Falso
Cierto
Falso
Cierto
Falso
Falso
Falso
AND
VAL1 VAL2 RESUL
Cierto
Cierto
Falso
Falso
Cierto
Falso
Cierto
Falso
Cierto
Cierto
Cierto
Falso
OR
VAL1 RESUL
Cierto
Falso
Falso
Cierto
NOT
Prioridad entre los Operadores
1. Parntesis ( de lo ms interno a lo ms externo)
2. Potencias
3. Producto y Divisin
4. Suma y Resta
5. Concatenacin
6. Relacionales
7. Negacin no lgico
8. Conjuncin y lgico
9. Disyuncin o lgico
Los operadores que estn en
la misma prioridad se evalan
de izquierda a derecha
PRACTICA
Dadas los siguientes valores a los nombres simblicos evalu las
siguientes expresiones:
1 4
10 3.1415 92 2.718281
X Y Z PI E
1. 2 * X + 0.5 * Y - 1 / 5 * Z
2. PI * X ^ 2 > Y o 2 * PI * X <= Z
3. E ^ (X 1 ) / ( X * Z) / (X / Z)
4. DON + JUAN = DON JUAN o A = a
5. (2 * Y ) ^ 2 6 * Y + 12
6. X > 3 y Y = 4 o X + Y <= Z
Conceptos bsicos
Aspectos que se deben considerar a la hora de escribir un algoritmo:
Determinacin de las primitivas de las que partimos
Lenguaje simblico a utilizar para desarrollar el algoritmo
Representacin de los datos
Establecer datos de entrada
Establecer datos de salida
Establecer las relaciones entre los datos de entrada y los de
salida
Conceptos bsicos
Condiciones que debe cumplir un algoritmo:
Ser finito: El algoritmo debe acabar tras un nmero finito de
pasos
Estar bien definido: Todas las ejecuciones del algoritmo con
los mismos datos de entrada deben devolver los mismos datos de
salida.
Diferencias entre un algoritmo y un programa:
Los algoritmos no son directamente interpretables por el computador => deben ser
traducidos a un lenguaje de programacin concreto.
Conceptos bsicos
Diferencias entre un algoritmo y un programa:

Los algoritmos no son directamente interpretables por el
computador => deben ser traducidos a un lenguaje de
programacin concreto.
Programa de Aplicacin
Programa que permite resolver la ecuacin de primer grado
Programa
que permite
resolver la
ecuacin de
primer grado
a x + b = 0
?
a

b
x = -b / a
#include <stdio.h>
int a,b,x;
main()
{
printf(Ingrese valores de EC);
scanf(%d %d,&a,&b);
if a ==0 printf (error);
else
{
x = -b / a;
printf(La solucin es %d:,x);
}
printf(Fin programa);
}
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(Ingrese valores de EC)
Leer (a,b)
Si a = 0 entonces
escribir (Error)
sino
Inicio
x=-b/a
Escribir (La solucin es:,x)
Fin
Escribir(Fin programa)
Fin
Pasos en la resolucin de un problema
Entender el problema
Conceptualizacin
Buscar soluciones
Elegir solucin
Disear solucin
Descomposicin
Especificar tareas
Modelar solucin
Implementar solucin
Validar solucin
Qu es un problema?
Es una situacin concreta sobre la cual se quiere
implementar una solucin (ejemplos)
Solucin: procedimiento que nos lleva a satisfacer
ciertos requerimientos
Esquema bsico para la resolucin de un problema a
travs de un programa con un enfoque sistmico
Proceso
Entrada
Salida
Datos Externos
Datos auto generados
Lectura de dispositivo de almacenamiento
Informes
Datos para otro programa
Datos grabados en dispositivos externos
de almacenamiento

Todo algoritmo consta de tres secciones principales:
Entrada: Es la introduccin de datos para ser transformados.

Proceso: Es el conjunto de operaciones a realizar para dar
solucin al problema.

Salida: Son los resultados obtenidos a travs del proceso.
Entrada Proceso Salida
Estructura de un Algoritmo
Metodologa para la descomposicin de un
algoritmo
Conceptos
Definicin del problema
En esta etapa se deben establecer los resultados y objetivos
que se desea para poder saber si los datos que se tienen son
suficientes para lograr los fines propuestos.
Anlisis
Una vez definido el problema se debern organizar los datos
de tal manera que sean susceptibles de usar en los clculos
siguientes.
Diseo
En esta etapa se proponen soluciones a los problemas a
resolver, por lo que se realiza una toma de decisiones
aplicando los conocimientos adquiridos y utilizando los datos
existentes.
Verificacin o prueba de escritorio
Se consideran resultados previstos para datos conocidos a
fin de que al probar cada una de sus partes podamos ir
comprobando que el algoritmo sirve o requiere modificarse.
Anlisis del Problema
Un identificador es el nombre simblico que se le asigna a los
datos de un programa (constantes, variables, tipos de datos), y
que nos permiten el acceso a su contenido.
Ejemplo:
Calf1
Valor_1
Num_hrs
Identificadores
Es el valor que puede tomar una constante o variable . Por
ejemplo, para representar los datos de un alumno como:
Nombre, Num_cta, calf1, calf2, etc.

Los tipos de datos ms utilizados son:
a) Numricos: Representan un valor entero o real.

Ejemplo:
Entero: 250, -5 Real: 3.1416, -27.5
Tipos de datos
Tipos de datos
b) Lgicos: Solo pueden tener dos valores (verdadero o
falso), y son el resultado de una comparacin.

Ejemplo: SI (A > B)

c) Alfanumricos: Son una serie de caracteres que sirven
para representar y manejar datos como nombres de
personas, artculos, productos, direcciones, etc.
Variables
Permite almacenar de forma temporal un valor y el cual
puede cambiar durante la ejecucin del algoritmo
programa.
Toda variable tiene un nombre SIMBLICO que sirve para
identificarla.
Ejemplo:
prom=(calf1+calf2+calf3)/3
Las variables son: prom, calf1, calf2, calf3.
Constantes
Son datos numricos o alfanumricos que contienen un
valor y que no cambia durante la ejecucin del algoritmo
programa.
Ejemplos:
prom=(calf1+calf2+calf3)/3
PI=3.1416
Las constantes son: 3, PI.
Diseo de algoritmos
Alternativas de solucin
Es la forma de representar la secuencia lgica de
ejecucin de instrucciones.
Esta puede ser a travs de:
1) Diagramas de flujo
2) Pseudocdigo

Es empleado para representar la solucin de un
algoritmo empleando lenguaje natural escrito estableciendo la
secuencia de pasos sin imprecisiones y de manera clara.

Ejemplo:
Proceso
Leer lista_de_variables;
variable expresion;
Escribir lista_de_expresiones;
FinProceso
Pseudocdigo
Uso del pseudocdigo y prueba de escritorio
para los tipos de estructuras
1) Secuenciales
Implica escribir un paso tras de otro, donde el primero
que se haya escrito es el primero que se ejecutar.
Inicio
Accin1
Accin2
.
.
Accin N
Fin
Secuenciales
Ejemplo:
Pseudocdigo

Inicio
Leer n1, n2
suma n1+n2
imprimir suma
Fin
Selectivas: Se utilizan para TOMAR DECISIONES.
Simples
Lo que se hace es EVALUAR la condicin, si la condicin
es verdadera realiza la accin, en caso contrario
termina el programa.
Si <condicin> entonces
Accin(es)
Fin-si
Selectivas Simples
Ejemplo:
Pseudocdigo

Inicio
Leer compra
si compra > 1000 entonces
descuento = compra*0.10
pago = compra descuento
imprimir pago
fin si
Fin
Selectivas
Doble
Luego de evaluar una condicin si esta se cumple, es
decir si es verdadera realiza una serie de acciones, y si
esta es falsa se realiza otra serie de acciones distinta a
la primera.
Si <condicin> entonces
Accin(es)
si no
Accin(es)
Fin-si
Selectivas Doble
Ejemplo:
Pseudocdigo

Inicio
Leer edad
si edad>=18 entonces
imprimir Mayor de edad
si no
imprimir Menor de edad
fin si
Fin
Selectivas
Mltiple
Se realiza a partir de anidar estructuras simples y/o
dobles, de manera tal que se realicen diferentes
acciones con base a varias comparaciones, as habr
tantas opciones como se requieran.
Si <condicin> entonces
Accin(es)
si no
Si <condicin> entonces
Accin(es)
si no
.
. Varias condiciones
.
fin si
Fin si
Ejemplo:
Pseudocdigo

Inicio
Leer numero
si numero=0 entonces
imprimir Nmero cero
si no
si numero>0
imprimir Nmero positivo
si no
imprimir Nmero negativo
fin si
fin si
Fin
Repetitivas: Este tipo de estructura se utilizan
para ejecutar acciones repetidamente, esto se
hace posible mediante una secuencia de
instrucciones que se repiten una y otra vez y as
evitamos escribir mltiples veces las mismas
instrucciones.
Para
Esta estructura ejecuta los pasos de la solucin del
algoritmo un nmero definido de veces y de modo
automtico controla el nmero de iteraciones o
pasos a travs del cuerpo del ciclo. Para el control se utiliza
un contador en el cual se va acumulando el nmero de
veces que se ha repetido las instrucciones.
Repetitiva
Para:
Repetitiva
Para variable_numerica<-valor_inicial Hasta valor_final Con Paso paso Hacer
secuencia_de_acciones
Fin Para
Ejemplo:
Pseudocdigo
Proceso sin_titulo
Para V=1 Hasta 5 Con Paso 1 Hacer
Leer num1,num2;
suma<-num1+num2;
Escribir "el resultado de sumar ",num1," + ",num2," = ",suma;
FinPara
FinProceso
Repetitiva Para
Repetitiva Mientras
Mientras
Este se utiliza cuando NO sabemos el nmero de
veces que se ha de repetir un ciclo, los ciclos se
determinan por una condicin que se evala al inicio
del ciclo, es decir, antes de ejecutarse todas los
pasos.
Mientras <condicin> Hacer
Accion1
Accion2
.
.
Accin N
Fin Mientras

Ejemplo
Pseudocdigo
Proceso sin_titulo
Escribir "Hay alumno";
Leer alum;
Mientras alum="s" Hacer
Leer calif1,calif2;
prom<-(calif1+calif2)/2;
Escribir "El promedio del alumno es ",prom;
Escribir "Hay alumno";
Leer alum;
FinMientras
FinProceso
Repetitiva Mientras
Repetitiva - Repetir
Repetir
En esta estructura el ciclo se va a repetir hasta que la
condicin se cumpla, a diferencia de las estructuras
anteriores la condicin se escribe al finalizar la
estructura.
Repetir
Accion1
Accion2
.
.
AccinN
Hasta Que <Expresin Lgica>

Ejemplo
Pseudocdigo
Proceso sin_titulo
Repetir
Leer salario;
sal_finsalario*1.15;
Escribir "El salario con aumento es",sal_fin;
Escribir "hay otro empleado";
Leer empleado;
Hasta Que empleado="n"
FinProceso
Repetir
En conclusin diramos que el algoritmo es de
carcter general y puede aplicarse a cualquier
operacin matemtica o a cualquier problema.


La formulacin de algoritmos fue uno de los
ms grandes adelantos dentro de la ciencia
matemtica ya que a partir de ellos se
pudieron resolver infinidad de problemas.
Conclusin
Gracias

S-ar putea să vă placă și