Está en la página 1de 7

Unidad 1.

Introduccion a la Los recursos de hardware son todos aquellos


elementos de la computadora que se pueden
programación.
palpar como, por ejemplo: el monitor, el
teclado, el disco duro y la memoria, entre
otros (Sánchez, 2005). Los recursos de
- Definición de ingeniería de software: Es la software son aquellos elementos intangibles
disciplina que usa métodos, herramientas y sin los cuales la computadora no funcionaría,
técnicas para desarrollar programas es decir, el soporte lógico: programas y datos,
informáticos que resuelven problemas entre los que se encuentran los sistemas
específicos. operativos, editores de texto, compiladores,
- Importancia de la programación: Es la etapa bases de datos, videojuegos, etc. (Sánchez,
final o una de las fases de desarrollo de un 2005).
proyecto de software, dependiendo de la Los elementos que componen la
escala. Es la acción de codificar un algoritmo arquitectura de la computadora según el
en un lenguaje que la computadora pueda modelo de Von Newman son:
procesar y ejecutar.
 la Unidad Central de Procesamiento
- Concepto de programa informático: Es una (CPU por sus siglas en Inglés –
serie de instrucciones con una secuencia Central Processor Unit) [que está
lógica que siguen un algoritmo para resolver integrada por la Unidad Aritmética-
un problema. Lógica (ALU por sus siglas en Inglés -
- Relación entre computadora y problema: Arithmetic Logic Unit) y la Unidad de
Para resolver problemas mediante la Control (CU por sus siglas en Inglés –
computadora, se necesita desarrollar Control Unit)],
programas que la computadora pueda  la memoria, y
entender y manipular los datos y recursos.  los dispositivos de entrada como el
teclado, el ratón, un escáner, etc., y
La acción de programar consiste en indicarle los de salida como el monitor, una
a la computadora qué es lo que tiene que impresora, una bocina o altavoz, por
hacer. Para esto, los desarrolladores de ejemplo.
software escriben programas compuestos de
un conjunto de instrucciones que son Programas
interpretadas y ejecutadas por la
computadora para buscar la resolución de un Un programa es la forma en que el usuario o
problema. Se concibe un programa como “un programador establece comunicación con la
sistema para transformar datos” Winder, computadora, de acuerdo a un conjunto de
1995, p.3). instrucciones, para obtener nuevos datos
que son el resultado del proceso.
Una computadora es una máquina
electrónica que recibe datos de entrada y los Un programa se compone, entre otras cosas,
procesa de acuerdo al conjunto de de:
instrucciones, llamado programa, para • Datos: variables o constantes.
obtener nuevos datos que son el resultado
del proceso. • Operadores: lógicos, aritméticos,
relacionales y jerárquicos.
• Estructuras de control: secuenciales, programación se define a partir de un
selectivas y repetitivas. conjunto de símbolos básicos, llamado
alfabeto; un conjunto de reglas, llamado
sintaxis, que definen la forma de
Ejecución de programas en la manipularlos o combinarlos para representar
instrucciones; y las reglas que especifican los
computadora efectos de dichas instrucciones cuando son
Según Joyanes y Zohanero (2005), al ejecutar ejecutadas por la computadora, conocidas
cualquier programa una vez que el programa como semántica. De esta manera se puede
y los datos fueron almacenados en la decir que los elementos que conforman un
memoria principal, se realiza el siguiente lenguaje de programación son:
proceso en el interior de la CPU: 𝐿𝑒𝑛𝑔𝑢𝑎𝑗𝑒 𝑑𝑒 𝑝𝑟𝑜𝑔𝑟𝑎𝑚𝑎ción = 𝑎𝑙𝑓𝑎𝑏𝑒𝑡𝑜 +
1. La Unidad de Control consulta en la 𝑠𝑖𝑛𝑡𝑎𝑥𝑖𝑠 + 𝑠𝑒𝑚á𝑛𝑡𝑖𝑐𝑎
memoria la instrucción indicada en el Los lenguajes de programación se clasifican
contador del programa y la almacena en el en lenguajes de bajo nivel (se caracterizan
registro de instrucciones, actualizando el porque sus instrucciones se parecen más a
contador del programa con la dirección de las acciones elementales que ejecuta una
memoria de la siguiente instrucción. computadora, como son: sumar, restar,
2. Una vez almacenada la instrucción en el guardar en memoria, etcétera. Describen a
registro del programa, la unidad de control la detalle lo que sucede a nivel de hardware) y
decodifica, detectando los dispositivos lenguajes de alto nivel (son más parecidas a
implicados en su ejecución. un lenguaje humano, por lo regular en
idioma inglés. Son más fáciles de entender
3. Una vez detectados los dispositivos, la para las personas, son independientes de la
misma Unidad de Control, les envía las arquitectura de las computadoras) [Algunos
señales de control, indicándoles la acción a ejemplos son: FORTRAN y COBOL (que son
realizar y, si es el caso, los datos y/o la los primeros lenguajes que aparecieron y en
dirección de memoria correspondiente. sus inicios se utilizaron para aplicaciones
4. Cuando cada dispositivo concluye con las científicas), C, Pascal, Ada, Lisp y Prolog
acciones designadas, envía una señal a la (utilizados principalmente en inteligencia
unidad de control, para que ésta continúe artificial), Java, C++, C#, entre otros.]
con el mismo procedimiento para la siguiente dependiendo de su legibilidad para el ser
instrucción, así hasta ejecutar todo el humano.
programa.
Estructura de un lenguaje
Al período en el que se ejecuta una
Como en muchos otros lenguajes, una
instrucción se le conoce como ciclo de
función es un código de programación que
instrucción o ciclo fetch.
tiene una tarea específica y forma parte del
Lenguaje de programación programa original. Es una secuencia de
instrucciones precisas, para realizar una
El lenguaje de programación sirve para tarea en específico.
escribir código orientado a resolver algún
problema o necesidad. Cada lenguaje de
Una función está definida por los siguientes Evolución de los lenguajes de
elementos:
programación
• Cabecera de la función. Está integrada por
Con las primeras computadoras surgió el
un tipo de dato, un nombre de la función y
primer lenguaje de programación que fue
una la lista de parámetros.
precisamente el lenguaje de máquina, el cual
• Código de programación. Es único para es considerado el lenguaje de primera
cada función. Se incluye el valor devuelto por generación. Las instrucciones en lenguaje de
la función. máquina dependían de las características de
cada equipo, por lo que dada la dificultad de
Los aspectos más importantes en el diseño
desarrollar programas en unos y ceros, los
de una función son:
investigadores de la época desarrollaron el
• Tipo de resultado. Se refiere al tipo de dato lenguaje ensamblador, cuyo conjunto de
que devuelve la función. instrucciones consta de palabras
nemotécnicas que corresponden a las
• Lista de parámetros. operaciones básicas que una computadora
• Cuerpo de una función. Se encierra entre puede ejecutar.
llaves {}. Para traducir de lenguaje ensamblador a
• Paso de parámetros. lenguaje de máquina, se desarrollaron
programas llamados ensambladores (en
• Declaración de variables de forma local. inglés, assemblers). Este lenguaje fue
Dentro de una función pueden declararse considerado de segunda generación.
variables de distintos tipos, pero estas
perduran únicamente dentro la función. Al igual que el lenguaje ensamblador, los
programas escritos en un lenguaje de alto
• Valor devuelto por la función. nivel deben ser codificados a lenguaje de
Una función devuelve un único valor, puede máquina, así que junto con ellos se
ser de cualquier tipo de datos reconocido. El desarrollaron programas traductores, que de
nombre de una función comienza con una acuerdo con la forma en que trabajan se
letra o un subrayado (_) y puede contener las dividen en dos tipos: compiladores e
letras y subrayados que se desee. intérpretes.

Tipos de datos Compiladores. Traducen todo el programa


escrito en un lenguaje de alto nivel, llamado
Los tipos de datos que suelen utilizarse en la programa o código fuente, generando un
mayoría de los lenguajes de programación nuevo programa objeto que está escrito en
son: lenguaje de máquina y a partir de éste se
genera un programa ejecutable, el cual
• Cadena (texto).
puede ejecutarse cada vez que se desee sin
• Entero (número entero). tener que compilar el programa fuente
nuevamente. Además, como parte del
• Decimal (número con punto decimal)
proceso de traducción el compilador detecta
los errores que hay en el código fuente,
informándole al programador para que los
corrija, pues un programa sólo se compila si
no tiene errores.
Metodología de la programación
Intérprete. Revisa cada línea de código
individualmente, la analiza y enseguida la Son el conjunto de estrategias usadas para
ejecuta, sin revisar todo el código y sin abordar un problema y transformarlo en un
generar un programa objeto, así que cada vez programa codificado que tendrá una
que se quiere ejecutar el programa se vuelve estructura o arquitectura acorde con un
a traducir el programa fuente línea por línea. paradigma de programación.
Conforme han ido evolucionando las Fases de la metodología de
computadoras también lo han hecho las
estrategias para solucionar problemas,
programación
generando nuevos programas con diferentes
filosofías, llamadas paradigmas de
programación.

 Planteamiento del problema. Es la


primera fase del ciclo, consiste en
Paradigmas de programación seleccionar y plantear el problema
“Los paradigmas de programación se definen que se quiere resolver para poder
como las diversas maneras que a lo largo de comenzar su análisis. Es muy
la transformación de los lenguajes de importante tener bien claro y
programación se han reconocido como delimitar desde un inicio el problema
estilos para programar y resolver problemas. a resolver pues de esto dependerá el
[…] Cuando se describen los distintos éxito de las siguientes fases del
enfoques del desarrollo de un programa y las proceso. En el planteamiento del
técnicas y lenguajes correspondientes, se problema se deben considerar los
habla de paradigma de programación. Éste insumos (datos de entrada) que se
define la forma en que se estructura el necesitan para resolver el problema;
código, y la relación de éste con los datos.” los pasos a seguir para su solución y
(Ibidem, p. 165). el producto final (datos de salida).
 Análisis del problema. En esta fase
Un lenguaje de programación siempre sigue se determina ¿qué hace el
un paradigma de programación, aunque programa? Por lo cual debe definirse
también podemos encontrar lenguajes con la de manera clara y concisa el
influencia de dos paradigmas (tal es el caso problema en cuestión, se debe
del lenguaje C, que surgió bajo el paradigma establecer el ámbito del problema,
procedimental y se transformó al paradigma las características, limitaciones y
orientado a objetos, de tal manera que modelos de lo que se desea resolver.
puede soportar ambos paradigmas) Este paso debe conducir a una
especificación completa del
Los paradigmas de programación más
problema en donde se describa
importantes son: imperativo, funcional,
cuáles son los datos requeridos para
lógico y orientado a objetos.
resolverlo (datos de entrada) y cuál
es el resultado deseado (salida).
más pequeños y resolver por
separado cada uno de ellos. A esta
¿Cuál es la El área de un
metodología se le conoce como
salida rectángulo, la
diseño descendente (top-down) o
deseada? cual
identificaremos modular. Existen diferentes formas
como área de representar un algoritmo, algunas
¿Qué método El área de un formales como una fórmula
(s) se pueden rectángulo se matemática, o informales, como es el
utilizar oara puede calcular caso del lenguaje natural.
llegar a la con la siguiente  Implementación (codificación). El
solución? fórmula: algoritmo no puede ser ejecutado
Á𝑟𝑒𝑎 = 𝐵𝑎𝑠𝑒 ∗ por una computadora, por ello debe
𝐴𝑙𝑡𝑢𝑟a traducirse a un lenguaje de
¿Qué datos de Por el programación (como por ejemplo el
entrada se planteamiento lenguaje C) para obtener un
requieren? del problema y
programa fuente que se traduzca a
dado el método
lenguaje de máquina que pueda ser
anterior, los
únicos datos que ejecutado por la computadora.
se requieren son:  Validación y pruebas. Esta fase se
la medida de la lleva a cabo una vez que se ha
base que se codificado el algoritmo previamente
representa por b diseñado con el fin de verificar que
y la medida de la su ejecución sea correcta. Existen
altura indicada diferentes formas de probar que la
por h solución es correcta, algunas de ellas
¿Qué datos o En este caso no son formales y otras informales: las
información se requiere más primeras se utilizan para garantizar
adicional es información. que el programa o algoritmo siempre
necesaria para
calcule el resultado deseado para
solucionar el
cualquier conjunto de datos de
problema?
entrada; en cambio, en las segundas
¿Existe algún Las únicas
problema o restricciones son sólo se prueba que funciona
condiciones que las medidas correctamente para algunos datos de
que deban de la base y entrada, tratando de encontrar
cumplirse? altura sean posibles errores, en este caso no se
mayores a cero. puede garantizar que el programa o
algoritmo calcule la salida correcta
 Diseño del algoritmo. En esta fase se para cualquier conjunto de datos. En
define ¿cómo el programa resuelve cualquiera de los dos casos, si se
el problema? Para ello, se describe encuentra alguna falla se debe
paso a paso la solución del mismo, lo corregir y volver a realizar pruebas.
cual se conoce como algoritmo.  Documentación. Cualquier proyecto
Cuando el problema es grande se de software por la complejidad que
recomienda dividirlo en problemas tiene requiere que tanto las ideas
principales como el desarrollo de conjunto de archivos, que puede o no estar
principio a fin sea documentado con en un formato que puede ser leído por el
el fin de que se pueda entender la usuario (es decir, en un formato que respeta
lógica del programa y de ser las reglas)” (Juganaru, 2014, p.2).
necesario se pueda modificar o darle
Es preciso realizar dos acciones dependiendo
mantenimiento posteriormente, sin
del tipo de problema a resolver o acciones a
tantas complicaciones. Como parte
realizar:
de la documentación también deben
incluirse manuales de usuario y las  Conocer las herramientas, los
normas de mantenimiento para que formalismos y los métodos para
se haga un buen uso del software y transformar un problema en un
éste se mantenga al día. programa escrito en un lenguaje (que
 Mantenimiento. Esta fase tiene posiblemente no será el lenguaje
sentido una vez que fue terminada y máquina), y para que dicho
liberada una primera versión del programa pueda ser transformado en
programa, misma que ya está siendo un código ejecutable.
utilizada. En esta fase se actualiza y  Saber transformar el problema
modifica dicho programa para inicial en un algoritmo y luego en un
corregir errores no detectados o para programa.
cambiar y/o agregar una nueva
función. Un algoritmo se define como una secuencia
finita de instrucciones precisas y eficaces
La metodología de programación sirve para para resolver un problema, que trabaja con
desarrollar software desde el inicio con su uno o más datos (entrada) y devuelve un
diseño hasta el final con su implementación, resultado (salida) (Viso & Peláez, 2007).
de ahí la importancia de entender las
diferentes fases y las actividades involucradas Existen dos maneras de representar un
en cada una de ellas, con el fin de dar una algoritmo: una gráfica, conocida como
solución óptima al problema en cuestión. diagramas de flujo; y otra, similar a un
lenguaje humano, la cual se denomina
pseudocódigo. Los diagramas de flujo son
una representación totalmente gráfica de un
Los algoritmos en la programación algoritmo que utiliza símbolos para
Las computadoras necesitan recibir representar las instrucciones y flechas para
indicaciones en un formato entendible para unirlas e indicar el orden en el que deben
ellas, con el fin de que realicen las acciones ejecutarse llamadas líneas de flujo, lo
deseadas. Las indicaciones u órdenes se anterior hace más fácil seguir la secuencia de
agrupan en un programa, al conjunto de la ejecución de las instrucciones. Dichos
programas se le conoce como software. Para símbolos fueron normalizados por el Instituto
analizar la estructura de un programa, éste Norteamericano de Normalización ANSI
"se puede dividir en dos partes que son: el (American National Standards Institute, por
formato de representación interno del sus siglas en inglés). Algunos de los símbolos
programa, que constituye el lenguaje más utilizados se muestran en el siguiente
máquina o código ejecutable, y el formato de cuadro:
presentación externa, que es un archivo o un
El pseudocódigo es un lenguaje de
especificación formal de algoritmos. La
solución de un problema se representa de
manera narrativa utilizando palabras claves,
generalmente verbos, escritos en un lenguaje
natural. Es una de las representaciones de
algoritmos más utilizadas por su parecido
con el lenguaje natural y porque su
codificación en un lenguaje de
programación estructurado y modular es
directa.

También podría gustarte