Subido por Wilson Fernando Castro Ortiz

ACTIVIDAD ALGORIDMO

Anuncio
FUNDAMENTOS DE PROGRAMACIÓN
Estructura de contenidos
Introducción
1.
Conceptos generales de programación ....................................................4
1.1 ¿Qué es computador? ................................................................................4
1.2
Software y hardware ................................................................................5
2.
Organización física del computador .........................................................5
3.
Algoritmos y programa...............................................................................7
3.1 Ejemplo........................................................................................................7
3.2 Características de un algoritmo ................................................................8
3.3 Algoritmos cualitativos y algoritmos cuantitativos ................................9
4.
Proceso de programación ..........................................................................10
4.1 Definición y análisis del problema.............................................................10
4.2 Diseño de algoritmo ...................................................................................10
4.3 Codificación del programa ........................................................................10
4.4 Implantación del programa .......................................................................10
4.5 Mantenimiento del programa ...................................................................11
5.
Técnica de representación de algoritmos ................................................11
5.1 Diagrama de flujo .......................................................................................11
5.2 Pseudocódigo .............................................................................................12
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
2
ORGANIZADOR GRÁFICO
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
3
INTRODUCCIÓN
La computadora es uno de los
elementos más importantes
y esenciales en laactualidad,
es una herramienta fundamental
para las empresas industriales,
lasinvestigaciones científicas y la
educación; prácticamente se puede
afirmar que seencuentra implícita en
todos los campos de la vida.Hoy en
día, la computadora es utilizada para
almacenar y visualizar cualquierforma
de datos, los cuales son procesados
generando información. Estos datos yel
procedimiento utilizado se encuentran
almacenados en forma de un
programa,el cual está constituido por
una serie de instrucciones secuenciales
y codificadasen un lenguaje de
programación.
En el documento se encuentran
definiciones básicas como
algoritmo, definidocomo una serie
de instrucciones secuenciales, a
través del cual es posibleresolver
un problema. Esta secuencia ordenada
de instrucciones que se ejecutaen
un tiempo determinado, es un
procedimiento con un uso de recursos
finito, porconsiguiente los algoritmos
tienen un inicio y un final; los
algoritmosposteriormente se codifican
en los lenguajes de programación.
1-Conceptos generales de
programación
En las últimas décadas, el computador
se ha convertido en una herramienta
indispensable para realizar cualquier tipo
de trabajo, ya sea en el hogar, la industria
o el estudio.
Actualmente se destaca por su gran
capacidad de almacenamiento de datos
y procesamiento de información, los
cuales son necesarios para generar
resultados en muy poco tiempo.
En el desarrollo de un programa, el
computador interpreta las instrucciones
que se le dan y las ejecuta gracias a la
secuencia dada por el programador;
dicha secuencia debe cumplir con
reglas ya establecidas en el lenguaje de
programación; este proceso es la forma
de comunicarle a la máquina lo que debe
hacer.
El papel de los programadores es
fundamental en la solución del problema
planteado, traduciendo el problema en
lenguaje de programación entendible
para la máquina, el cual se convierte en
código ejecutable o programa final.
FAVA - Formación en Ambientes Virtuales de Aprendizaje
Todo lo anterior no sería posible sin el
computador, por esta razón es necesario
delimitar ¿Qué es esta herramienta?,
¿Cuáles son sus partes y cuál es su
funcionalidad básica?
1.1 ¿Qué es un computador?
Un computador es un dispositivo
electrónico utilizado para procesar
información y obtener resultados.
Los datos y la información se pueden
introducir en la computadora por la
entrada, la cual se denomina input y a
continuación se procesan para producir
una salida denominada output (ver
Figura 1).
El computador se puede considerar
como una unidad en la que se almacenan
ciertos datos; hay entrada de datos, luego
se procesan los mismos, con el fin de
producir unos datos de salida. Los datos
de entrada y los datos de salida pueden
ser cualquier tipo de archivo, ya sea una
hoja de texto o de cálculo, fotos o videos.
La forma más sencilla que una persona
se pueda comunicar con el computador,
es mediante un ratón (mouse), un teclado
y una pantalla (monitor). Hoy día existen
otros dispositivos muy populares como:
SENA - Servicio Nacional de Aprendizaje
4
escáneres,
micrófonos,
altavoces,
cámaras de vídeo, cámaras digitales;
de igual manera, mediante módems,
es posible conectar su computador con
otros computadores, a través de redes,
siendo Internet, la red más importante.
COMPUTADORA
SOFTWARE
Datos de entrada
Datos de salida
encuentra el sistema operativo, el cual
permite funcionar correctamente los
demás programas.
2. Organización física del
computador
Por lo general, la mayoría de
computadores ya sean grandes o
pequeños, constan de tres componentes
principales entre ellos están: la Unidad
Central de Proceso (CPU) o procesador,
la memoria principal y el programa.
Procesador (CPU)
Figura 1. Elementos que componen el computador
Fuente: Prieto y Torres (2005)
La unidad central de proceso, es el
cerebro del computador, su función es
controlar el perfecto funcionamiento
de todos los componentes y ejecutar
las instrucciones aritméticas y lógicas.
La memoria es utilizada para que los
programas del computador puedan
iniciar o se ejecuten y queden a
disposición del usuario.
Ver representación gráfica en la figura 2.
Memoria principal
UAL
1.2 Hardware y software
Todos los componentes físicos o
tangibles que conforman el computador
al igual que los dispositivos de entrada y
salida, se conocen como hardware.
El conjunto de programas o instrucciones
que permiten el correcto funcionamiento
del computador, se le denomina
software. El software es la parte lógica
que conforma el computador para la
realización de tareas específicas, allí se
Unidad de
control,
UC
Entrada de datos
Programa
Salida de datos
Figura 3. Organización Física del computador
Fuente: Prieto y Torres (2005)
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
5
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
6
3. Algoritmos y programa
3.1 Ejemplo
Un algoritmo es un conjunto de
instrucciones ordenadas, definidas y
finitas con el cual se realiza una tarea en
la solución de un problema determinado.
Entre los pasos que se utilizan para la
realización de un algoritmo, siempre
debe existir un punto de inicio y un punto
de terminación o fin, deben ser únicos y
de fácil identificación.
Las personas que realizan diariamente
tareas asociadas con acciones que
buscan alcanzar un resultado o la
solución de un problema, ejecutan
tareas siguiendo unos pasos de forma
ordenada y adecuada, que comparados
con un algoritmo, son exactamente lo
mismo.
Un ejemplo práctico de la vida diaria es
abrir y cerrar una puerta. Como es lógico,
en la cotidianidad se repite la misma
acción una y otra vez y no se presta
atención a los pasos que se deben
seguir para poder realizar esta actividad
sin contratiempos.
A continuación, se tiene un ejemplo
que fue tomado en su totalidad del
texto Fundamentos de programación de
Cairó. La tarea es construir un algoritmo
para preparar la siguiente receta: chiles
morita rellenos con salsa de nuez.
Primero hay que tener en cuenta los
ingredientes y luego el algoritmo que
ayudará a preparar este delicioso plato.
Ingredientes:
A continuación, se desarrollará un
algoritmo con todos los pasos a seguir
para finalizar con un objetivo, en este
caso, preparar un plato internacional
mexicano.
150 g de chiles morita (unos 20)
2 cucharadas de aceite
12 dientes de ajo
1 cebolla cortada en aros finos
2 tazas de vinagre de vino tinto
Sal
10 granos de pimienta negra
11/2 cucharadas de orégano seco
185 g de piloncillo rallado
Relleno:
1 cucharada de aceite
1/2 cebolla finamente picada
2 dientes de ajo finamente picados
1/2 taza (125 g) de tomate finamente
picado
1/4 taza (30 g) de almendras peladas y
picadas
FAVA - Formación en Ambientes Virtuales de Aprendizaje
1/4 taza (30 g) de uvas pasas sin semillas
1 pechuga entera de pollo cocida y
finamente desmenuzada
1 cucharadita de sal
1/2 cucharada de pimienta recién molida
Salsa:
2 huevos, separadas las claras de las
yemas
3/4 taza (90 g) de harina
Aceite para freír
3/4 taza (90 g) de nueces
1 taza de crema de leche espesa, no
azucarada
Algoritmo (preparación):
•
Lave los chiles y séquelos bien.
Caliente el aceite en un sartén grande y
saltee los chiles, los ajos y la cebolla.
•
Añada el vinagre, la sal, los granos
de pimienta, el orégano y el piloncillo y
continúe salteando durante 10 minutos.
Retire del fuego, deje que se enfríe
la mezcla y póngala en una cazuela,
preferentemente de barro, tapada.
Refrigere 24 horas.
•
Para preparar el relleno, caliente
el aceite en un sartén y saltee la cebolla
durante cinco minutos o hasta que este
quede transparente. Agregue los ajos,
el tomate, las pasas, las almendras y
dos cucharadas de vinagre en el que se
SENA - Servicio Nacional de Aprendizaje
7
cocieron los chiles. Mezcle bien y añada
el pollo, la sal y la pimienta. Cueza a
fuego lento durante ocho minutos, sin
dejar de mover. Reserve. Muela el ajo, la
pimienta y un poco de sal y únteselos a
las pechugas.
•Con unos guantes (para evitar que se
irrite la piel), corte cada chile a lo largo.
Quíteles las semillas y desvénelos.
Ponga el relleno a cada chile con una
cuchara pequeña. Ponga poca cantidad
para evitar que se desparrame al freír los
chiles.
•Bata las claras al punto de nieve.
Agregue una a una las yemas, pero sin
agitar demasiado para evitar que las
claras pierdan volumen.
•En un sartén grande, caliente entre 2 y 3
cm de aceite y déjelo al fuego hasta que
esté muy caliente. Ponga la harina en un
plato y revuelque en ella cada chile hasta
que este quede cubierto; sumérjalo en el
huevo batido e inmediatamente póngalo
en el aceite. Fría cada chile hasta que se
dore por un lado y luego dele vuelta para
que se dore el otro lado.
•En un procesador de alimentos o
similar, haga un puré con las nueces y
la crema con una pizca de sal. Sirva los
chiles con un poco de la crema de nuez
encima de ellos (el resto se presenta en
una salsera).
En la siguiente figura se pueden observar claramente las etapas a seguir, para
solucionar el problema planteado.
Pr oblem a
Análisis del
programa
Construcción
de algoritmo
Etapa 1E
tapa 2E
tapa 3
Figura 4. Etapas para la solución de un problema
Fuente: Cairó (2006)
3.2 Características del algoritmo
Existen unas características que debe cumplir el algoritmo, estas son:
Preciso: los pasos a realizar en el algoritmo deben ser claros
Determinado: debe arrojar los resultados esperados
Finito: independientemente de lo complejo que sea, el algoritmo debe tener
longitud finita
Por definición, un algoritmo debe cumplir con tres partes fundamentales: entrada,
proceso y salida. En el algoritmo de la receta de cocina del ejemplo 1, citado
anteriormente, se tiene lo siguiente:
Entrada: ingredientes y utensilios empleados
Proceso: preparación de la receta
Salida: plato terminado
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
8
3.3 Algoritmos cualitativos
algoritmos cuantitativos
y
Se dice que un algoritmo es cualitativo
cuando sus instrucciones dadas son
descritas por medio de palabras y no
incluye cálculos numéricos; por ejemplo
cambiar una llanta de un automóvil o
hacer una llamada telefónica, como se
plantea el siguiente ejemplo:
Ejemplo 2
Una persona desea realizar una llamada
telefónica a través de su teléfono celular.
El algoritmo sería el siguiente:
1. Inicio
2. Marca el número de telefónico
3. Presiona el botón para llamar
4. Hablar
5. Terminar la llamada
6. Fin
Mientras que los algoritmos cuantitativos
son una serie de pasos o instrucciones
ordenadas y lógicas que involucran
cálculos matemáticos para llevar a cabo
una solución.
Ejemplo 3
Realizar un algoritmo para encontrar el
área de un triángulo:
1. Inicio
2. Definir variables área, base, altura:
real
3. Solicitar base y altura
4. Calcular área = base * altura /2
5. Imprimir área
6. Fin
Programa
Un programa o software de computadora,
es un conjunto de instrucciones
encaminadas a la realización de una
tarea o actividad específica.
El programa puede clasificarse según las
funciones que este realiza: un ejemplo
de ello es un software de sistema, el cual
sirve para que el computador funcione
correctamente; otro claro ejemplo, es
un software de aplicación para que el
usuario realice tareas cotidianas, por
ejemplo, un procesador de texto como
Word, un programa para elaborar hojas
de cálculo como Excel, o un software
para realizar presentaciones como
PowerPoint.
Por último y de gran importancia, hay que
destacar que hoy en día los programas
se codifican usando lenguajes de
programación.
En la figura 5 se observan las partes
fundamentales de un programa.
FAVA - Formación en Ambientes Virtuales de Aprendizaje
Entrada de datos
PROCESO
Salida de datos
Figura 5. Partes de un Programa
Fuente: Cairó (2006)
SENA - Servicio Nacional de Aprendizaje
9
4. Proceso de Programación
4.1 Definición y análisis del problema
Es importante tener en cuenta que los programas se hacen con un lenguaje de
programación.
Este proceso inicia cuando se presenta
la necesidad de resolver un problema
específico, esta es la parte más crítica;
por esta razón se debe entender el
problema que se quiere solucionar.
Elaborar un programa para computador implica varias etapas, en cada una de ellas se
realiza una serie de pasos ordenados, con el propósito de dar solución al problema
propuesto.
Con el fin de que se lleve a buen término la solución del problema propuesto, se
debe tener en cuenta los siguientes puntos:
4.2 Diseño de algoritmo
En esta etapa se procede a diseñar la
parte lógica para la solución del problema,
a través de técnicas existentes de
representación de algoritmos, entre las
más conocidas se encuentra el diagrama
de flujo y el pseudocódigo.
4.3 Codificación del programa
Mantenimiento
de programa
Diseño de
algoritmo
En esta etapa se realiza el código fuente
utilizando un lenguaje de programación.
El código fuente debe ser compilado para
que pueda se entendible por la máquina.
4.4 Implantación del programa
Implantación del
programa
FAVA - Formación en Ambientes Virtuales de Aprendizaje
Finalmente después de haber realizado
las anteriores etapas, el programa se
instala para poner en funcionamiento la
solución planteada en la primera etapa.
SENA - Servicio Nacional de Aprendizaje
10
4.5 Mantenimiento del programa
de mediana complejidad.
En el caso de detectar fallas o algún
cambio en el desarrollo de la solución al
problema, se realizan ajustes necesarios
para producir los resultados esperados.
Los siguientes son los símbolos básicos
para la creación de diagramas de flujo
para representar la solución a crear. A
continuación se muestran algunos de
los símbolos más utilizados:
5. Técnicas de representación de
algoritmos
Los métodos más usados son:
- Diagramas de flujo
- Pseudocódigo
A continuación se explicará en qué
consisten estos métodos:
5.1 Diagrama de flujo
Un diagrama de flujo es una
representación gráfica y lógica de un
problema, para el diseño se utilizan
símbolos
simples
y
aprobados
universalmente, de tal manera que por
su sencillez cualquier persona puede
interpretarlos; los diagramas de flujo
se conectan con flechas denominadas
líneas de flujo, las cuales indican la
secuencia de operación.
Es importante destacar que el diagrama
de flujo es una herramienta útil en la
etapa de análisis y diseño de software
Indica repetición
Líneas de flujo que indican la secuencia en la
que se realizan las operaciones
Indica el envío de datos
a la impresora
Indica el inicio o el final
del diagrama de flujo
Símbolo de proceso, indica la asignación de un
valor a memoria o la ejecución de un proceso
Representa la continuidad del diagrama dentro
de la misma página
Indica la entrada y salida
de datos
Símbolo de decisión, indica la realización de una
comparación de valores
Representa la continuidad del diagrama en otra
página
FAVA - Formación en Ambientes Virtuales de Aprendizaje
Antes de continuar, se debe tener en
cuenta algunas recomendaciones para
elaborar unos diagramas de flujo:
•Use solamente líneas horizontales y
verticales
•Use conectores solo cuando sea
necesario
•No deje líneas sin conectar
•Evite cruce de líneas
•Redacte el texto escrito que va dentro
de los símbolos de manera clara y concisa
SENA - Servicio Nacional de Aprendizaje
11
5.2 Pseudocódigo
Para mayor claridad, observe como
se representa un problema en un
diagrama de flujo:
Inicio
Se requiere obtener el salario
neto de un trabajador, para ello,
se debe capturar el nombre, las
horas trabajadas y el valor de la
hora. Además, se debe realizar un
descuento correspondiente al 10%
por impuestos.
Leer nombre,
horas precio
Tenga en cuenta que para elaborar
el diagrama con los símbolos
respectivos y obtener su correcta
elaboración,
existen
algunos
programas, ya sean libres o de
propiedad que se pueden adquirir
para realizar estos diagramas.
Algunos de ellos son: SmartDraw,
DFD,
Microsoft
Office
Visio
Professional 2010, GPL, Pseint,
entre otros.
Calcular jornal bruto =
horas * precio
Calcular neto bruto =
bruto -0.10 * bruto
Escribir nombre
horas ,
, neto
El pseudocódigo es una técnica para
diseño de programas (algoritmos), el cual
permite definir las estructuras de datos,
las operaciones que se aplican a los
datos y la lógica que tendrá el programa
de computadora para solucionar un
determinado problema.
Se utiliza un lenguaje muy parecido
al idioma español, pero que respeta
las directrices y los elementos de
los lenguajes de programación. A
continuación, se presenta el siguiente
ejemplo:
Ejemplo 5
Escribir el requerimiento planteado en
el ejemplo 4, salario neto, utilizando
pseudocódigo.
1. Inicio
2. Lea nombre, horas, valor_hora
3. Neto = salario-(salario*10%)
4. Imprima nombre, salario, neto
5. Final
Fin
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
12
CD-ROM (Compact Disk - Read Only Memory): Disco compacto de solo lectura. Tiene
una capacidad de almacenamiento de hasta 650 megabytes.
Controlador: programa que comanda los periféricos conectados a la computadora.
CPU (Central Processing Unit): en español significa unidad central de procesamiento,
es el procesador que contiene los circuitos lógicos que realizan las instrucciones de
la computadora.
DVD (Digital Versatile Disc): en español Disco Versátil Digital, en sus inicios sus
siglas se tomaron como Disco de Video Digital.
Este disco posee gran capacidad de almacenamiento y sirve para almacenar cualquier
tipo de información incluidos datos, video o música.
Gigabyte (GB): unidad de medida de una memoria. 1 gigabyte = 1024 megabytes =
1.073.741.824 bytes.
Hardware: todos los componentes físicos de la computadora y sus periféricos.
Lenguaje de programación: sistema de escritura para la descripción precisa de
algoritmos o programas informáticos.
Memoria caché: pequeña cantidad de memoria de alta velocidad que incrementa el
rendimiento de la computadora almacenando datos temporalmente.
Microprocesador (microprocessor): es el chip más importante de una computadora.
Su velocidad se mide en MHz (Megahertz).
Monitor: unidad de visualización, comúnmente conocida como pantalla.
Periférico: todo dispositivo que se conecta a la computadora; por ejemplo: teclado,
monitor, mouse, impresora, escáner.
Procesador (processor): conjunto de circuitos lógicos que procesa las instrucciones
básicas de una computadora.
RAM (Random Acces Memory): en español significa memoria de acceso aleatorio. En
esta memoria es donde la computadora almacena datos que le permiten al procesador
acceder rápidamente al sistema operativo, las aplicaciones y los datos en uso. Tiene
estrecha relación con la velocidad de la computadora. Se mide en megabytes.
ROM (Read Only Memory): en español memoria de sólo lectura. Memoria incorporada
que contiene datos que no pueden ser modificados. Permite a la CPU (Central
Processing Unit): en español significa unidad central de procesamiento, es el
procesador que contiene los circuitos lógicos que realizan las instrucciones de la
computadora.
DVD (Digital Versatile Disc): en español Disco Versátil Digital, en sus inicios sus
siglas se tomaron como Disco de Video Digital.
Este disco posee gran capacidad de almacenamiento y sirve para almacenar cualquier
tipo de información incluidos datos, video o música.
Gigabyte (GB): unidad de medida de una memoria. 1 gigabyte = 1024 megabytes =
1.073.741.824 bytes.
Hardware: todos los componentes físicos de la computadora y sus periféricos.
Lenguaje de programación: sistema de escritura para la descripción precisa de
algoritmos o programas informáticos.
Memoria caché: pequeña cantidad de memoria de alta velocidad que incrementa el
rendimiento de la computadora almacenando datos temporalmente.
Microprocesador (microprocessor): es el chip más importante de una computadora.
Su velocidad se mide en MHz (Megahertz).
Monitor: unidad de visualización, comúnmente conocida como pantalla.
Periférico: todo dispositivo que se conecta a la computadora; por ejemplo: teclado,
monitor, mouse, impresora, escáner.
Procesador (processor): conjunto de circuitos lógicos que procesa las instrucciones
básicas de una computadora.
RAM (Random Acces Memory): en español significa memoria de acceso aleatorio. En
esta memoria es donde la computadora almacena datos que le permiten al procesador
acceder rápidamente al sistema operativo, las aplicaciones y los datos en uso. Tiene
estrecha relación con la velocidad de la computadora. Se mide en megabytes.
ROM (Read Only Memory): en español memoria de sólo lectura. Memoria incorporada
que contiene datos que no pueden ser modificados. Permite a lacomputadora arrancar.
A diferencia de la RAM, los datos de la memoria ROM no se pierden al apagar el
equipo.
Sistema Operativo (OS): programa que administra los demás programas en una
computadora.
Software: término general que designa los diversos tipos de programas usados en
computación.
USB (Universal Serial Bus): es una interfase de tipo plug & play entre una
computadora y ciertos dispositivos, por ejemplo: teclados, teléfonos, escáneres e
impresoras.
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
13
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
14
PROGRAMA
NOMBRE DEL OBJET O
EXPERTO TEMÁTICO
DISEÑADORES GRÁFICOS
GESTOR DE REPOSITORIO
PROGRAMADORES
GUIONISTA Y PRODUCTOR DE MEDIOS AUDIOVISUALES
GUIONISTA
ASESORAS PEDAGÓGICAS
LÍDER DE L A LÍNEA DE PRODUCCIÓN
Metodología de la programación de sistemas informáticos
Fundamentos de programación
Carlos Felipe Domínguez Illera
Caren Xiomara Carvajal Pére z
y
Luis Guillermo Roberto Báez
Luis Carlos Reyes Parada
Nancy Astrid Barón López
Nilda Inés Camargo Suescún
Fr edy Velandia Figueroa
Jheison Edimer Muñoz R amírez
Adriana Carolina Acosta Caycedo
Kennia Andrea Peña Barrera
Janet Lucia Villalba Triana.
Zulma Yurany Vianchá Rodríguez
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
g
15
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
16
Descargar