Subido por Humberto Ramos

Fundamentos de programación Unidad 1

Anuncio
INGENIERIA EN DESARROLLO DE SOFTWARE
FUNDAMENTOS DE PROGRAMACIÓN
UNIDAD 1. Preparando el camino hacia la programación
Evidencia de aprendizaje. Paradigmas y metodología de la programación
Autor: José Humberto Ramos Rivera
Matrícula: ES1921010469
Grupo: DS-DFPR-1902-B1-005
Docente: Lic. Rocío Alejandra Vázquez Tzompantzi
INTRODUCCIÓN A LA PROGRAMACIÓN
Introducción
Posiblemente la computadora ha sido uno de los inventos más importantes del
hombre, basta con dar un vistazo a nuestro alrededor para ver que estamos rodeados en
casi todo momento por equipos electrónicos que atienden a nuestras necesidades a través
de instrucciones que se envían a través de un teclado, un mando, una pantalla táctil e
inclusive por medio de la voz. Conforme avanza el desarrollo tecnológico, se vuelve
inevitable la interacción con aparatos inteligentes, que nos ayudan en hacer más práctica
nuestra vida diaria en cualesquiera de los aspectos que nos imaginemos, el educativo,
laboral, entretenimiento, etc. Pero, ¿cómo es posible que estos aparatos entiendan y lleven
a cabo las tareas que pedimos?, pues bien, demos las gracias entonces a los programas.
Lenguaje de programación, programas y programación
Los autores Cedano, Rubio y Vega (2014) definen que:
Un lenguaje de programación es: el conjunto de símbolos y caracteres que se
combinan siguiendo unas reglas de síntaxis predefinida y con esto permitir la
transmisión de instrucciones a la computadora. Los símbolos y caracteres antes
mencionadosson traducidos internamentea un conjunto de señales
eléctricasrepresentadas en lenguaje de máquina. (p. 160)
es decir, es un lenguaje formal diseñado para organizar algoritmos y procesos lógicos que
posteriormente serán ejecutados por una computadora o sistema informático permitiendo
su comunicación con el usuario humano.
Existen dos tipos de lenguaje de programación:
 Lenguaje de bajo nivel. Están diseñados para un hardware en específico, no pueden
migrar a otras computadoras.
 Lenguaje de alto nivel. Son lenguajes más universales, pueden ejecutarse en
diversos tipos de sistemas informáticos ya que son independientes de la arquitectura
del software.
Los lenguajes de programación son la base del conjunto de instrucciones u órdenes
que la computadora interpreta para resolver un problema, a éste conjunto de instrucciones
se le denomina programa. El programa debe ser compilado o interpretado para poder ser
ejecutado y así cumplir su objetivo.
En consecuencia, la programación es el proceso del desarrollo de un programa para
solucionar un determinado problema informáticamente, este proceso se compone de 5
fases para la elaboración de un programa: análisis, diseño, codificación, explotación y
mantenimiento.
La industria del software se ha impuesto sobre todas las demás, desde las ciencias
más avanzadas a la tarea más cotidiana., por lo tanto, en la actualidad programar se trata
de usar nuestra creatividad e ingenio para resolver problemas y automatizar tareas con la
ayuda de una computadora. Dicho de otra forma, la programación trata de entender,
construir y modificar software, hoy presente en miles de dispositivos, de ahí que se
potencialice su importancia.
Paradigmas de programación
Los paradigmas de programación se entienden como los distintos enfoques del
desarrollo de un programa y las técnicas correspondientes, define la forma en que se
estructura el código y la relación que éste guarda con los datos.
Los principales paradigmas de programación son:
 Imperativo. Los programas se componen de un conjunto de sentencias que cambian
su estado. Son secuencias de comandos que ordenan acciones a la computadora.
 Declarativo. Opuesto al imperativo. Los programas describen los resultados
esperados sin listar explícitamente los pasos a llevar a cabo para alcanzarlos.
 Lógico. El problema se modela con enunciados de lógica de primer orden.
 Funcional. Los programas se componen de funciones, es decir, implementaciones
de comportamiento que reciben un conjunto de datos de entrada y devuelven un
valor de salida.
 Orientado a objetos. El comportamiento del programa es llevado a cabo por objetos,
entidades que representan elementos del problema a resolver y tienen atributos y
comportamiento.
El uso de la programación orientada a objetos se popularizó a principios de los 90 y
actualmente son muchos los lenguajes de programación asociados a este paradigma. Las
características del paradigma orientado a objetos son: encapsulamiento, abstracción,
polimorfismo y herencia. Muchos lenguajes utilizados en la actualidad están orientados a
objetos, como Java, C++, Python o Delphi, por mencionar algunos ejemplos.
La importancia de los paradigmas radica en que, como ya se mencionó en los
párrafos anteriores, es en palabras simples el estilo del desarrollo de los programas, es
decir, un modelo para resolver problemas computacionales, de ahí también la relevancia
de conocer las características de los diferentes tipos de paradigmas, puesto que cada
paradigma es ideal para la resolución de un conjunto de problemas en particular, por lo que
no puede decirse que uno sea necesariamente mejor que otro ya que son la forma, que
determinan los métodos y las herramientas que un programador usara en la construcción
de un software, y ello dependerá de la funcionalidad y aplicación de éste último.
PROGRAMACIÓN Y USO COTIDIANO
Como ya lo hemos visto, los programas informáticos están presentes en muchas de
las actividades que se realizan cotidianamente, a título personal en el ámbito laboral el uso
de programas de hojas de datos como Excel son fundamentales para alcanzar los objetivos
de funcionalidad y eficiencia que se requieren al manejar extensas bases de datos,
ayudando de esta manera a la organización, clasificación y análisis de datos, que a su vez
permiten la generación de reportes que servirán como soporte a la toma de decisiones de
diversos escenarios.
Llevando el conocimiento de los conceptos estudiados en esta unidad, aplicaremos
a una problemática real el proceso de desarrollo de un programa para llegar a una solución.
Problemática
La problemática para resolver será saber cuáles son las ganancias obtenidas por el
rendimiento otorgado por el banco si depositamos nuestro ahorro disponible en un periodo
mensual.
Análisis del problema
Hacemos uso de una tabla para darle sentido práctico a este paso.
Salida deseada
Métodos a utilizar
Datos de entrada
Datos adicionales
Condiciones a cumplir
Las ganancias del ahorro en base al
rendimiento ofrecido por el banco en el periodo
de un mes
Primero para calcular el ahorro disponible se
usará el cálculo:
Ahorro = Sueldo mensual – Gasto mensual
Después se calcula la ganancia:
Ganancia = Ahorro * rendimiento
Se requiere conocer el sueldo mensual
representado por sm y los gastos totales
mensuales representados por gm
Conocer el rendimiento otorgado por el banco,
estará identificado por la letra r
Que el gasto mensual sea menor al sueldo
mensual, de lo contrario no se podrá generar
ahorro
Diseño del algoritmo
Generamos el pseudocódigo para poder representar el algoritmo:
Calcular ganancias generadas por el rendimiento otorgado por el banco en el ahorro mensual
__________________________________________________________________________
1. Conocer el sueldo mensual (sm) y el gasto mensual (gm)
2. Calcular: ahorro = sm – gm
3. Imprimir el resultado (ahorro = a)
4. Conocer el rendimiento (r)
5. Calcular: ganancia = a * r
6. Imprimir el resultado (ganancia)
___________________________________________________________________________
Y elaboramos un diagrama de flujo:
Inicio
sueldo mensual
/ gasto mensual
ahorro <- sueldo - gasto
ahorro
ahorro /
rendimiento
ganancia <- ahorro *
rendimiento
ganancia
Fin
Prueba de escritorio
Validamos el pseudocódigo y el diagrama de flujo mediante una prueba de
escritorio.
Datos de entrada
Instrucción a realizar
Resultado
Sueldo mensual / gasto
mensual
Ahorro = sueldo mensual –
gasto mensual
Ahorro
10,000 / 8,500
10,000 – 8,500
1,500
Ahorro / rendimiento
Ganancia = ahorro *
rendimiento
Ganancia
1,500 / 0.05
1,500 * 0.05
75
Una vez hecha la comprobación mediante la prueba de escritorio confirmamos que
el diseño del algoritmo es viable y que puede ser programable, si queremos obtener una
mayor proyección, como oportunidad se puede ampliar el desarrollo del algoritmo para
saber cuanto sería la ganancia por mes y la ganancia que se puede obtener en un año,
considerando que mes con mes puede haber incremento o decremento en el valor de cada
una de las variables.
Conclusiones
Es interesante apreciar la fluidez del desarrollo del ejemplo de programa siguiendo
cada uno de los pasos que se requieren para el planteamiento del problema, el análisis, el
diseño del algoritmo y su comprobación, aunque sinceramente el planteamiento del
problema fue la parte más complicada para llevarla a un plano programático, a pesar de
que la idea la tenía bastante clara, esa transición causó un inicio problemático. Una vez
resuelto ese pequeño escollo, de la mano de la metodología y una buena delimitación de
los datos y variables presentes, el proceso del diseño del algoritmo mediante un
pseudocódigo y un diagrama de flujo resultó menos complicado siendo exitosa la
comprobación del proceso mediante la prueba de escritorio. En realidad, considero que ha
sido un ejercicio muy sencillo en cuanto a la problemática propuesta, pero bastante
revelador y reforzador de los conceptos vistos a lo largo de esta unidad.
Bibliografía
Cedano Olvera, M. A., Cedano Rodriguez, A., Rubio González, J. A., & Vega Gutierrez, A. C. (2014).
Fundamento de computación para ingenieros. México: Grupo Editorial Patria.
Chaves Torres, A. (2017). Algoritmos. Bogotá: UNAD.
Joyanes Aguilar, L. (2008). Fundamentos de programación. Madrid, España: Mc Graw Hill.
Universidad Abierta y a Distancia de México. (2019). Unidad 1. Preparando el camino hacia la
programación. Ciudad de México: DCEIT.
Descargar