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






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.


No hay comentarios.:

Publicar un comentario