Algoritmos y programas
Un algoritmo
es un conjunto ordenado y finito de operaciones que permite hallar la solución
de un problema (Diccionario RAE)
Para
programar de forma eficaz es necesario aprender a resolver problemas de una
forma sistemática y rigurosa. Sólo se puede llegar a realizar un buen programa
si previamente se ha diseñado un algoritmo
Un algoritmo
puede ser utilizado para codificar programas en distintos lenguajes
Los
algoritmos son independientes de los lenguajes de programación. Un lenguaje de
programación permite expresar un algoritmo para que sea ejecutado por un ordenador
Un algoritmo
describe los datos de entrada, el proceso y los datos de salida
1. Entrada:
Datos que utiliza el algoritmo para su ejecución
2. Proceso:
Reglas y operaciones del algoritmo para resolver un problema
3. Salida:
Resultados del proceso
Un algoritmo
debe ser claro y preciso, debe especificar las
acciones a
realizar y el orden de realización
Un algoritmo
debe tener un número finito de pasos y, cada vez que se realice con los mismos
datos de entrada, debe dar el mismo resultado
Las fases de desarrollo de
un programa
1. Análisis.
Consiste en entender el problema que se quiere resolver ¿Qué debemos hacer?
2. Diseño.
Plan para resolver el problema ¿Cómo hacer?
3.
Programación. Traducción de un algoritmo en un programa Java o de cualquier
otro lenguaje
4.
Validación del programa. Evaluación de los resultados del programa
Constantes y variables
Las
constantes y las variables son valores almacenados en una dirección de memoria.
El valor almacenado debe tener un tipo de dato: entero, decimal, carácter, etc.
El nombre que se utiliza para hacer referencia a una constante o una variable
se denomina identificador
El valor de
una constante no cambia durante la ejecución de un programa. Por ejemplo pi =
3,1416
Las
variables almacenan los datos utilizados por los programas. El valor de una
variable puede cambiar durante la ejecución de un programa
Identificadores
Representan
las variables de un programa e identifican la dirección de memoria donde se
almacena una variable
El
identificador de una variable debe comenzar con una letra. Después de la
primera letra pueden aparecer más letras o números
Un
identificador no puede tener espacios en blanco
a1 es un identificador válido
1a no es un identificador válido
Herramientas para diseño de
algoritmos
Para diseñar
un algoritmo se dispone de dos herramientas: los diagramas de
flujo y el pseudocódigo
Un diagrama
de flujo representa gráficamente un algoritmo. Muestra la secuencia de
operaciones a realizar para resolver un problema. Cada símbolo de un diagrama de
flujo representa una acción
El
pseudocódigo es un lenguaje que describe algoritmos con una sintaxis similar a
un lenguaje de programación. Normalmente se escribe en inglés o en español. La traducción
de pseudocódigo a un lenguaje de programación es muy sencilla
Diagramas de flujo y
procesos
Un diagrama
de flujo muestra las actividades y las decisiones que definen un proceso
Un diagrama
de flujo tiene un punto de inicio y un número finito de puntos de finalización.
Puede dividirse en “carriles” para identificar a los responsables de realizar
cada actividad
Un diagrama
de flujo es una herramienta útil en las fases de análisis y diseño de software
Para iniciar dos o más flujos en paralelo se utiliza un “fork”
2.) Visualizar en Pantalla el Numero.
1.) Lea desde el Teclado 1 número entero,
2.) Multiplicarlo por 2,
3.) Visualizar en Pantalla el Resultado.
1.) Lea desde el Teclado 2 números enteros,
2.) Obtener la Suma,
3.) Visualizar en Pantalla el Resultado.
2.) Calcular el área de un triangulo
3.) Calcular el área de un circulo
4.) Convertir dolares a pesos
5.) Convertir grados centigrados a fahrenheit
Ejemplo Taller 9
taller final
TALLER CILINDRO
Simbología
Para indicar
un punto de unión de dos o más flujos se utiliza un conector
La entrada y
salida de datos se representa con el símbolo
Para indicar
un punto de unión dos o más flujos de ejecución se utiliza el flujo se utiliza
un “join”. El flujo no continúa hasta que todos los flujos de entrada hayan finalizado
Para iniciar dos o más flujos en paralelo se utiliza un “fork”
Se denomina
pseudocódigo a un lenguaje basado en normas léxicas y gramaticales similares a
las utilizadas por los lenguajes de programación
El
pseudocódigo combina lenguaje coloquial con las normas gramaticales de los
lenguajes de programación
Es una
herramienta útil en las fases de análisis y diseño de software
El
pseudocódigo permite diseñar algoritmos utilizando frases en lenguaje común,
instrucciones de programación y palabras clave para definir las estructuras
básicas de control
Los
algoritmos escritos en pseudocódigo se puede convertir fácilmente a cualquier
lenguaje de programación
El pseudocódigo es una
herramienta muy útil
1. Facilita
la comprensión y la verificación del algoritmo a desarrollar
2. Permite
representar de forma fácil operaciones repetitivas complejas
3. Facilita
la traducción a un lenguaje de programación
4. Permite
observar claramente los distintos niveles de la estructura de un programa
Pseudocódigo y algoritmos
1. El algoritmo
tiene un único punto de inicio
2. El
algoritmo tiene un número finito de posibles puntos de finalización
3. Es
necesario que exista un número finito de caminos, entre el punto de inicio y
los posibles puntos de finalización
Tipos de datos
Los tipos de
datos básicos utilizados en pseudocódigoson: char, int, float, boolean
char carácter
int número entero
float número real
boolean admite un valor falso o verdadero
Las
variables se declaran como se indica a continuación:
<tipo de dato1> variable1 = valor
<tipo de dato2> variable2, variable3, ... , variablen
Instrucciones
Conjunto de
instrucciones que se ejecutan secuencialmente, en su orden natural
La ejecución
del programa comienza por la primera instrucción y continua sucesivamente con
las siguientes en orden secuencial:
Instrucción1
Instrucción2
…
…
Instrucciónn
Control del flujo y
decisiones
Para tomar
decisiones y controlar el flujo de un algoritmo se puede tomar una decisión
simple o múltiple
La decisión
simple puede tomar dos caminos, en función de que la condición sea verdadera o
falsa
La decisión
múltiple puede tomar muchos caminos, no Necesariamente excluyentes entre sí
Flujo
“simple”
if
(expresión lógica)
Conjunto
de instrucciones1
else
Conjunto
de instrucciones2
end
if
Flujo
“múltiple”
switch
(expresión lógica)
<valor1>:
Conjunto de instrucciones1
<valor2>:
Conjunto de instrucciones2
<valor3>:
Conjunto de instrucciones3
…
<valorn>:
Conjunto de instruccionesn
default:
Conjunto de instrucciones alternativas end
switch
Estructuras iterativas
Para repetir
un conjunto de instrucciones un número determinado de veces es necesario
utilizar una estructura iterativa
Existen tres
tipos de estructuras iterativas
for
while
do while
for (inicio; expresion lógica;
incremento)
Conjunto de instrucciones
end for
while (expresión lógica)
Conjunto de instrucciones
end while
do while (expresión lógica)
Conjunto de instrucciones
end do
Operadores aritméticos
+ Suma
- resta
* Producto
/ División
^ Potencia
Div división entera
(cociente)
Mod division entera
(residuo)
Sqr cuadrado
Sqrt raíz cuadrada
Operadores relacionales
Los operadores relacionales evalúan una
expresión y devuelven un valor falso o verdadero
< Menor que
> Mayor que
<= menor o igual que
>= mayor o igual que
<> Diferente de
Operadores lógicos
Los
operadores lógicos evalúan una expresión lógica devuelven un valor falso o
verdadero
AND A AND B es
verdadero si A y B son verdaderos
OR A OR B es verdadero si A o B son verdaderos
NOT negación del operando A, es decir, verdadero
si A es falso, falso si A es verdadero
Arrays y vectores
Un conjunto
de datos del mismo tipo se almacena en un “array” o tabla
<tipo de dato>
nombre variable[d1, ..., dn]
En este
caso, d1, ..., dn representan las dimensiones del array. Cada dimensión tiene
un número de localidades determinadas
Un array de
una dimensión se denomina vector
Funciones
Una función
es un conjunto de instrucciones que tienen por objeto realizar un cálculo. Una
función siempre devuelve un resultado
El uso de
funciones facilita la estructura y organización de un programa
Funciones
<tipo de dato>
function <nombre de la funcion>
(lista de parámetros)
begin
Conjunto de
instrucciones
return (valor de la
funcion)
end function
Dónde:
lista de
parámetros: < tipo de dato> variable1…valor de la función: variable |
valor
Existen
funciones que se especifican a partir de su propia definición. Este tipo de
funciones se denominan “recurrentes” o “recursivas”
Una función
recursiva se define en términos de sí misma, siempre que exista una solución
simple conocida
El factorial
de un número es un ejemplo de una definición Recursiva
Factorial(n)={
Si n=0, entonces Factorial(0) = 1
Si n>0, entonces
Factorial(n) = n * Factorial(n-1)
Crear los Siguientes programas:
1.) Leer desde el Teclado 1 números enteros,2.) Visualizar en Pantalla el Numero.
1.) Lea desde el Teclado 1 número entero,
2.) Multiplicarlo por 2,
3.) Visualizar en Pantalla el Resultado.
1.) Lea desde el Teclado 2 números enteros,
2.) Obtener la Suma,
3.) Visualizar en Pantalla el Resultado.
Crea los siguientes programas:
1.) Calcular el área de un cuadrado2.) Calcular el área de un triangulo
3.) Calcular el área de un circulo
4.) Convertir dolares a pesos
5.) Convertir grados centigrados a fahrenheit
Ejemplo Taller 9
TALLER DE ENTRADA Y SALIDA DE DATOS
TALLER CILINDRO






























































No hay comentarios:
Publicar un comentario