PDF de programación - Algoritmos y Estructuras de Datos II - Conceptos básicos

Imágen de pdf Algoritmos y Estructuras de Datos II - Conceptos básicos

Algoritmos y Estructuras de Datos II - Conceptos básicosgráfica de visualizaciones

Publicado el 26 de Abril del 2020
795 visualizaciones desde el 26 de Abril del 2020
118,8 KB
17 paginas
Creado hace 13a (12/08/2010)
Conceptos Básicos

Algoritmos y Estructuras de Datos II

Magter. Oscar Adolfo Vallejos
FaCENA - UNNE

La Resolución de Problemas útilizando la Computadora

La resolución de problemas con computadoras se pueden dividir en tres

fases:

• Análisis del problema
• Diseño del algoritmo
• Resolución del algoritmo en la computadora

El análisis y el diseño del algoritmo requiere la descripción del problema

en subproblemas a base de refinamientos sucesivos y una
herramienta de programación:

– Diagrama de flujo
– Diagrama N-S
– Pseudocódigo

Durante la tercera etapa se implementa este algoritmo en un código

escrito en un lenguaje de programación, reflejando las ideas
obtenidas en las fases de análisis y diseño.

Magter. Oscar Adolfo Vallejos
FaCENA - UNNE

La Resolución de Problemas útilizando la Computadora

¿Qué es Algoritmo?

• Se deriva de la traducción al latín de la palabra árabe Alkhowarismi,

nombre de un matemático y astrónomo árabe que escribió un tratado
sobre manipulación de números y ecuaciones en el siglo IX.

• Un algoritmo es un método para resolver un problema mediante una

serie de pasos precisos, definidos y finitos.

Características del Algoritmo

• preciso, tiene que indicar el orden de realización en cada paso.
• definido, es decir, si el algoritmo se prueba dos veces, en estas dos



pruebas, se debe obtener el mismo resultado.
finito, es decir, que el algoritmo tiene que tener un número
determinado de pasos.

• Debe producir un resultado en un tiempo finito.

Magter. Oscar Adolfo Vallejos
FaCENA - UNNE

Fases para la Resolución de Problemas

Análisis del Problema



Se da una clara definición de lo que debe hacer el programa y el resultado o solución
deseada.

• Dado que se busca una solución se precisan especificaciones de entrada y salida.


Para poder definir bien un problema es conveniente responder a las siguientes preguntas:

– ¿Qué entradas se requieren? (cantidad y tipo)
– ¿Cuál es la salida deseada? (cantidad y tipo)
– ¿Qué método produce la salida deseada?

Diseño del Algoritmo




Se determina como hace el programa la tarea solicitada.
Los métodos utilizados para el proceso del diseño se basa normalmente en el diseño
descendente (top-down) o modular.

Implementación del Algoritmo

Se debe ejecutar los siguientes pasos:

– Codificación
– Compilación y ejecución
– Verificación
– Depuración
– Documentación

Magter. Oscar Adolfo Vallejos
FaCENA - UNNE

Herramientas de Programación

Las herramientas de programación mas utilizadas

comunmente para diseñar algoritmos son:

• Pseudocodigos

• Diagramas N-S

• Diagramas de flujo

Siendo el pseudocodigo el mas popular por su

sencillez y su parecido a el lenguaje humano.

Magter. Oscar Adolfo Vallejos
FaCENA - UNNE

Tipos de Datos

Los diferentes objetos de información con los que

un programa trabaja se denominan datos.

• Todos los datos tienen un tipo asociados con

ellos que nos servirá para poder conocer con que
información trabajaremos.

La asignación de tipos a los datos tiene dos

objetivos principales:

• Detectar errores de operaciones aritméticas en

los programas

• Determinar como ejecutar las operaciones

Magter. Oscar Adolfo Vallejos
FaCENA - UNNE

Tipos de Datos Comunes

Estos son los tipos de datos mas útilizados en los lenguajes

de programación:

• Númericos: Dentro de estos tipos se puede hacer

mención de los tipos enteros, reales o de coma flotante, y
de los exponenciales.

• Carácter: Se dividen también en caracteres ASCII, como

por ejemplo: a A & * , etc.. El otro grupo de caracteres son
los strings o cadenas de caracteres, como por ejemplo:
"Hola Mundo".

• Lógicos: Pueden tomar los valores verdadero o falso

Magter. Oscar Adolfo Vallejos
FaCENA - UNNE

Identificadores

Representan los nombres de los objetos de un

programa (constantes, variables, tipos de datos,
procedimientos, funciones, etc.).

Es un identificador es un método para nombrar a las
celdas de memoria en la computadora, en lugar
de memorizarnos una dirección de memoria.

Se utilizan para nombrar variables, constantes,

procedimientos y funciones.

Magter. Oscar Adolfo Vallejos
FaCENA - UNNE

Constantes

Identificadores

Son valores que no pueden cambiar en la ejecución del programa.

Recibe un valor en el momento de la compilación del programa y este
no puede ser modificado.

Variables

Son valores que se pueden modificar durante la ejecución de un

programa. Al contrario de las constantes estos reciben un valor, pero
este valor puede ser modificado durante la ejecución o la compilación
del programa.

Funciones/Procedimientos

Conjunto de instrucciones y/o variables para la obtención de un

resultado. Necesario para el proceso global. Subrutina.

Magter. Oscar Adolfo Vallejos
FaCENA - UNNE

Operadores utilizados en Programación

Operadores aritméticos: Una expresión es un

conjunto de datos o funciones unidos por
operadores aritméticos (suma, resta,
multiplicación, división, exp, mod, etc.)

Operadores Lógicos: En ocasiones en los

programas se necesitan realizar comparaciones
entre distintos valores, esto se realiza utilizando
los operadores relaciones.

Magter. Oscar Adolfo Vallejos
FaCENA - UNNE

Definición de Variables

Los datos se definen de tres maneras:

Asignación: A = 0; 0  A

Resultado de una expresión algebraica:

A = (2 * Pi) + ( B / C )

Lectura: Leer ND, ED, CE

Magter. Oscar Adolfo Vallejos
FaCENA - UNNE

Entrada y Salida (I/O) de Datos

La lectura de datos permite asignar valores

desde dispositivos hasta archivos
externos en memoria, esto se denomina
operación de entrada o lectura.

A medida que se realizan calculos en el
programa, se necesitan visualizar los
resultados. Está se conoce como
operación de escritura o salida.

Magter. Oscar Adolfo Vallejos
FaCENA - UNNE

Estructuras de Control

Las estructuras de control de un lenguaje de

programación se refieren a el orden en que las
instrucciones de un algoritmo se ejecutarán.
Determinán el flujo de control.

Las tres estructuras de control básico son:

– secuencia
– selección
– repetición (Hacer mientras, Hacer hasta)

En mayo de 1996, Bôhm y Jacopin demostrarón que un programa

propio puede ser escrito útilizando solamente tres tipos de

estructuras de control: secuenciales, selectivas y repetitivas.

Magter. Oscar Adolfo Vallejos
FaCENA - UNNE

Enunciado de un problema de complejidad baja

Enunciado: A partir de la base de alumnos con los siguientes datos,

entre otros, documento, edad, código extranjero.

Se desea obtener el promedio de edad de los alumnos extranjeros e

informar al final.

Entrada: Base de datos de alumnos.

Salida: Promedio de edad de los alumnos extranjeros.

Proceso: Calcular el promedio. Para ello, por cada alumno leído deberá

determinar si es extranjero (a través del código de extranjero) y contarlos y
acumular su edad.

AL final del proceso se calcula el promedio (acumulador de edades partido por
el contador de alumnos extranjeros) y se informa dicho promedio.

Magter. Oscar Adolfo Vallejos
FaCENA - UNNE

Tipos de Datos

Datos Entrada:
ND; Numero de documento, numerico
ED; Edad del alumno, numerico, mayor que 0.
CE; Codigo extranjero, numerico con valor igual a
“1” para los Argentinos, “2” para los extranjeros.

Variables del proceso
CA: Contador de alumnos extranjeros
AE: Acumulador de edad de alumnos extranjeros
PR; variable para contener el promodio de edad de

extranjeros.

Magter. Oscar Adolfo Vallejos
FaCENA - UNNE

Inicio

Solución en Pseudo

CA := 0
AE := 0
Leer ND, ED, CE;
Hacer Mientras no es el ultimo

Si CE = “2” entonces

CA := CA + 1
AE := AE + ED

Fin_Si
Leer ND, ED, CE;

Fin_Hacer
PR := AE / CA
Informar “Promedio de Edad de Alumnos Extranjeros, “, PR;

Final

Magter. Oscar Adolfo Vallejos
FaCENA - UNNE

Ahora lo vamos a ver al mismo problema

codificado en PASCAL

Magter. Oscar Adolfo Vallejos
FaCENA - UNNE
  • Links de descarga
http://lwp-l.com/pdf17566

Comentarios de: Algoritmos y Estructuras de Datos II - Conceptos básicos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad