Introducción a la Programación y sus Elementos
Introducción a la Programación y sus Elementos
INFORMÁTICA
APLICADA PRÁCTICA
#2
FECHA DE ENTREGA: 23 DE
AGOSTO 2023
ELEMENTOS DE PROGRAMACIÓN DE
INTRODUCCIÓN A LA PROGRAMACIÓN
¿Qué es la programación?
2
dispositivo interpreta después. Estos conjuntos de instrucciones pueden ser llamados de varias
formas. Algunos términos populares son programa, programa informático, aplicación (app)
y ejecutable.
¿Qué es un Programa?
Un programa puede ser cualquier cosa que se escriba con código. Algunos ejemplos de
Websites
Juegos
Aplicaciones de teléfono
pueda ejecutar sistemas, programas y aplicaciones que sean eficaces, accesibles y amigables
para el usuario.
equipos de computación.
Historia de la programación:
3
de las primeras computadoras en la segunda mitad del siglo XX. La historia de la programación
Lenguaje máquina. En este primer período se utilizaban lenguajes máquina muy básicos y
que es el lenguaje que los ordenadores reconocen, por lo que aún hoy todo lenguaje es
convertido a este. Fue reemplazado, ya que resultaba una forma de programación tediosa y
difícil.
Lenguaje ensamblador. Más tarde comenzaron a surgir lenguajes que hacían uso de códigos
porque resultaba más fácil de recordar y realizar por el usuario que el código máquina.
programación desarrollado por IBM que dio inicio a la aparición de lenguajes basados en
Tipos de programación:
subrutinas (subalgoritmos dentro del algoritmo principal que resuelve una tarea).
Programación modular. Divide los programas en módulos para trabajar con ellos y resolver
DATOS:
desarrollar algún software o aplicación, existen conceptos básicos de programación que son
Se tratan de todas aquellas palabras que tienen un significado especial para el lenguaje
de programación que se esté utilizando. Las palabras reservadas no pueden usarse como
Algunos ejemplos de palabras reservadas son: bool, int, char, byte, long, double.
2.- Operadores:
matemáticas. Es decir, son los que indican el tipo de operación que se le va a aplicar a uno o
más datos.
2. Operadores binarios: usan dos operandos, por ejemplo, la suma, resta, multiplicación y división.
3. Operadores ternarios: son los que actúan sobre tres operandos. El ejemplo de esta clase de
3.-Variables:
Variables lógicas: solo pueden tener dos valores (cierto o falso) y estos representan el resultado
Variables de trabajo: son aquellas que reciben el resultado de una operación matemática
4.-Constantes:
Las constantes son aquellos datos, números o alfanuméricos que no varían durante la
5.-Identificadores:
También conocidos como símbolos son una secuencia de caracteres, letras, dígitos y
subrayados que dan nombre a las diferentes variables para identificarlas. El primer carácter
debe de ser una letra, no un subrayado y las letras mayúsculas y minúsculas son diferentes
dX_
Contadores: son las variables que llevan el control del número de veces que se ha cumplido
Acumuladores: sirven para llevar la suma de una serie de valores que se van calculando
Hay otros conceptos clave en cualquier proceso de programación como los siguientes:
Errores de sintaxis: son los errores que se producen cuando se rompen las reglas gramaticales
Errores de regresión: son los que ocurren por accidente al intentar corregir algún otro tipo de
error.
PROCESAMIENTO DE DATOS
7
elementos de datos para producir información significativa". Se debe considerar como equipos
switchs, escritorio, monitores e incluso las grabadoras de CD-ROM, pues son bienes que no
porque los textos no son más que una forma especial de datos.
Validación: Asegurar que los datos suministrados son "limpio, correcto y útil".
DATO E INFORMACIÓN
8
A pesar que generalmente, los términos de datos e información se usan para describir lo
cosas.
Dato es un término que se refiere a hechos, eventos, transacciones, etc., que han sido
Información se refiere a los datos que han sido procesados y comunicados de tal
LENGUAJE DE PROGRAMACION
Es el medio por el cual se comunica a cualquier dispositivo que lo requiera, una serie de
reglas gramaticales bien definidas) que proporciona a una persona, en este caso el
lógico de un sistema informático, para que de esa manera se puedan obtener diversas clases
de datos o ejecutar determinadas tareas. A todo este conjunto de órdenes escritas mediante un
4. C ++ 17. Scheme
5. C # 18. Erlang
13. Swift
LENGUAJE DE MAQUINA:
En esta categoría se encuentran los más utilizados. Se usan palabras del inglés lo cual
facilita que una persona pueda intervenir más fácil que en los dos anteriores.
se clasifican en:
Segunda generación: aquí encontramos los primeros lenguajes de programación de alto nivel,
nivel imperativo, pero mucho más utilizados y vigentes en la actualidad (ALGOL 8, PL/I,
PASCAL, MODULA).
Quinta generación: estos son los más avanzados y fueron pensado para la inteligencia
PROCESOS DE LENGUAJE
definición anterior afecta a una gran variedad de herramientas software, algunas de ellas son
las siguientes:
11
1 Traductores:
host. El texto fuente está escrito en lenguaje fuente (LF), por ejemplo, un lenguaje de alto
nivel.El texto objeto está escrito en lenguaje objeto (LO), por ejemplo, un lenguaje máquina,
El lenguaje fuente (LF) es el lenguaje origen que transforma el traductor (por ejemplo, C,
C++, Pascal, FORTRAN, PL/I, COBOL, ADA, MODULA-2, BASIC, C..). También pueden ser
El lenguaje objeto (LO) es el lenguaje al que se traduce el texto fuente. Los lenguajes
objeto pueden ser por ejemplo otro lenguaje de alto nivel, el lenguaje máquina de un
traductor. Puede ser cualquier lenguaje, desde un lenguaje de alto nivel a un lenguaje máquina.
2. Ensambladores:
sencillos, en los que el lenguaje fuente tiene una estructura simple, que permite una traducción
de una sentencia fuente a una instrucción en lenguaje máquina, guardándose en casi todos los
casos esta relación uno a uno. Hay ensambladores que tienen macroinstrucciones en su
3. Compiladores:
Un traductor que transforma textos fuente de lenguajes de alto nivel a lenguajes de bajo
El tiempo que se necesita para traducir un lenguaje de alto nivel a lenguaje objeto se
4. Montadores de enlaces
que se produce cuando el lenguaje fuente permite una fragmentación de los programas en
unidad de compilación. Dichas partes o trozos pueden compilarse por separado, produciéndose
produciendo el módulo de carga, que es el programa objeto completo, siendo el cargador quien
significado es que las posiciones de memoria que utiliza son relativas. El montador de enlaces
se encarga de colocar detrás del programa principal del usuario, todos los módulos reubicables.
5. Cargadores:
programa incluido con el sistema operativo. Así en el sistema operativo MS-DOS el cargador
6. Intérpretes:
Los intérpretes son programas que simplemente ejecutan las instrucciones que
programa intérprete. Nótese que en este caso todo se hace en tiempo de ejecución.
mismo programa interpretado. Sin embargo, los intérpretes son más interactivos y facilitan la
puesta a punto de programas. Algunos lenguajes de programación tan sólo pueden ser
incrementales que pueden recompilar los módulos modificados en tiempo de ejecución. Los
7. Descompiladores:
Los descompiladores realizan la tarea inversa a los compiladores, es decir son un caso
particular de los traductores en los cuales el programa fuente es un lenguaje de bajo nivel y el
lenguaje objeto es un lenguaje de nivel superior. Esta tarea es difícil, sobre todo si se desea
que el lenguaje objeto tenga una cierta lógica, a no ser que se conozca la forma en que se
obtuvo el programa de bajo nivel (por ejemplo, si se generó con un compilador determinado, y
8. Desensambladores
14
código máquina a ensamblador, quizá es un caso más fácil dado que hay una correspondencia
Java (JVM).
9. Depuradores
encontrar y corregir los errores de los programas (denominados en inglés bugs, parásitos).
Estas herramientas suelen ir ligadas a los compiladores de forma que el programador pueda
ejecución los valores de las distintas posiciones de memoria, de los registros del
microprocesador, etc…
del código trabajan eficientemente y cuáles deberían ser revisadas por su bajo rendimiento.
en los compiladores e invocarse por medio de opciones de compilación, siendo esta última
Una opción habitual de optimización es elegir entre velocidad de ejecución y tamaño del
etc…
12. Compresores:
Los compresores de ficheros son una herramienta habitual (PKZIP, ARJ, …) de uso en
el campo de la informática. Un caso particular son los compresores de ficheros ejecutables que
reducen el tamaño de los ejecutables, existen varios en el mercado: por ejemplo, la opción
13. Preprocesadores:
definidas. El preprocesador realiza las Sustituciones, pero no hace ningún tipo de análisis del
16
contexto donde las realiza, ésta es la principal diferencia entre un preprocesador Y otros tipos
compiladores de lenguaje C.
14. Formateadores:
Los formateadores pueden ser de muchos tipos y con diferentes fines, desde los
resaltan su sintaxis o su estructura, para lo cual es necesario conocer la sintaxis del lenguaje A
formatear. También pueden entrar dentro de este grupo los conversores de formatos.
15. Editores:
Los editores de lenguajes de programación con sintaxis resaltada por medio de colores
o tipos de letra permiten llamar a la Atención al programador en el momento mismo que está
escribiendo el programa, sin necesidad de compilar, dado que llevan incorporada la sintaxis del
lenguaje.
COMPILADORES
¿Qué es un compilador?
Una utilidad conocida como «enlazador» combina todos los módulos de lenguaje de máquina
El término «compilador» fue acuñado a principios de 1950 por Grace Murray Hopper. La
seleccionadas.
17
computadora Harvard Mark I, fue una pionera en programación que inventó una de las primeras
El primer compilador del lenguaje de alto nivel FORTRAN se desarrolló entre 1954 y
INTÉRPRETES
capaz de analizar y ejecutar otros programas, escritos en un lenguaje de alto nivel. Los
primeros (los intérpretes) sólo realizan la traducción a medida que sea necesaria, típicamente,
un intérprete, un solo archivo fuente puede producir resultados iguales incluso en sistemas
sumamente diferentes (ej. una PC y un PlayStation 3). Usando un compilador, un solo archivo
Los programas interpretados suelen ser más lentos que los compilados debido a la
necesidad de traducir el programa mientras se ejecuta, pero a cambio son más flexibles como
entornos de programación y depuración (lo que se traduce, por ejemplo, en una mayor facilidad
para reemplazar partes enteras del programa o añadir módulos completamente nuevos), y
ejecuta el intérprete, sino del propio intérprete (lo que se conoce comúnmente como máquina
de programación pueden interpretar o compilar el código fuente original en una más compacta
PROGRAMA
que nos permite realizar una tarea específica. El programa suele contar con una interfaz de
usuario, es decir, un medio visual mediante el cual interactuamos con la aplicación. Algunos
etc.
entre otros. Estos programas corren sobre un sistema operativo, por ejemplo, Windows, Linux,
Los programas para poder correr se deben cargar en la memoria, el responsable de esta
tarea es el sistema operativo. Un programa puede diseñarse para una computadora o para otro
INSTRUCCIONES
acción que debe realizar. Las instrucciones a realizar se indican en el archivo fuente y el equipo
pasa de una instrucción a otra siguiendo las instrucciones que se indican de arriba hacia abajo
(ya que la lectura de un archivo se realiza en una secuencia de arriba hacia abajo).
19
computadora, requiere de siete pasos, dispuestos de tal forma que cada uno es dependiente de
los anteriores, lo cual indica que se trata de un proceso complementario y por lo tanto cada
paso exige el mismo cuidado en su elaboración. Los siete pasos de la metodología son los
siguientes:
completo. Es fundamental conocer y delimitar por completo el problema, saber qué es lo que se
desea que realice la computadora, mientras esto no se conozca del todo, no tiene caso
que establece el problema, para poder determinar si se cuenta con los elementos suficientes
ordenados que nos proporcione un método explicito para la solución del problema.
computadora; es decir un lenguaje de programación (ya sea de bajo o alto nivel), a esta serie
aspectos:
20
¿Existe el problema?
¿Cuál es el problema?
necesidad.
encontrada
problema identificado.
¿Se cuenta con toda la información relevante suficiente acerca del problema para hacer un
estudio completo?
afectan el contexto del mismo. Su definición clara y precisa es un requisito esencial para
El desarrollador de software y el cliente deben reunirse para definir los objetivos del
producto y su ámbito. En muchos casos, esta actividad empieza como parte del proceso de
ingeniería del sistema o del negocio y continúa como el primer paso en el análisis de los
requisitos del software. Los objetivos identifican las metas generales del proyecto sin considerar
Los problemas más comunes que se dan en tu ordenador y que son causados por un
problema en el software.
Funcionamiento lento del ordenador, la causa principal suele ser la infección por un
maldware. Para solucionar este problema debemos realizar una limpieza de virus del ordenador
mediante un buen antivirus. un funcionamiento lento del ordenador también puede deberse a la
encendemos el PC, para solucionar este problema bastará con cambiar la configuración de
El ordenador tarda mucho tiempo en encenderse o apagarse, en este caso, una de las
causas puede ser la infección de un maldware como en el punto anterior, en ese caso se
deberá realizar una limpieza como se apuntó en el apartado anterior. Por otro lado, también
puede provocarse por un mal mantenimiento del ordenador o una mala optimización del
programas.
22
Problemas en la tarjeta gráfica, unos problemas en esta parte del ordenador se suelen
traducir en tres consecuencias principales: que el ordenador no reconozca la tarjeta gráfica, que
el ordenador se apague por una temperatura demasiado alta, o que el rendimiento de la misma
a la hora de jugar a un videojuego, baje de manera notable. En este punto el mayor problema
será que tu ordenador no reconozca la tarjeta gráfica, en este caso, en la mayoría de las
ocasiones la única solución en adquirir una nueva tarjeta. Si lo que le ocurre a tu ordenador es
una de las otras opciones, la causa principal será un aumento excesivo de la temperatura, en
este caso, se podrán utilizar programas disponibles en internet para medir la temperatura del
mismo, y si las temperaturas son demasiado altas, una posible solución será limpiar el disipador
de la tarjeta gráfica.
en que el ordenador no sea capaz de arrancar, en este caso, y si el problema se debe a un fallo
deben a fallos en los sistemas asociados al mismo, por lo que la solución sería encontrar el
extremo de los VRM (Módulos reguladores del voltaje), lo que puede provocar cambios en la
los problemas más comunes en las placas base, son los derivados de su colocación en el
23
ordenador, que producen que los pines donde se coloca se vean deformados y que puede
el conocido como pantallazo azul. Lo más común es que los fallos en este componente se
deban a desajustes de sus ranuras, que son producidos habitualmente por nosotros mismos
cuando tratamos de limpiar la memoria y que con volver a sacar los módulos de la tarjeta e
El primer paso, análisis del problema, requiere un estudio a fondo del problema y de
a una cierta comprensión de la naturaleza del problema. Una buena definición del problema,
junto con una descripción detallada de las especificaciones de entrada/salida, son los requisitos
Definición del problema: Tenemos que entender y comprender la naturaleza del problema,
tenemos que dominar los conceptos con los que estamos trabajando y conocer que
operaciones hay que realizar para solucionar el problema y obtener la información de salida.
Especificación de los datos de entrada: Hay que determinar qué datos de entrada
Especificación de los datos de salida: También hay que determinar los datos de salida que
A partir de los requerimientos, resultados del análisis, empieza la etapa de diseño donde
Los algoritmos son independientes tanto del lenguaje de programación como del
Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo
Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento; o
El pseudocódigo, nos permite una aproximación del algoritmo al lenguaje natural y por tanto
DIAGRAMA DE FLUJO
mejorar y comunicar procesos que suelen ser complejos en diagramas claros y fáciles de
comprender. Los diagramas de flujo emplean rectángulos, óvalos, diamantes y otras numerosas
figuras para definir el tipo de paso, junto con flechas conectoras que establecen el flujo y la
secuencia. Pueden variar desde diagramas simples y dibujados a mano hasta diagramas
exhaustivos creados por computadora que describen múltiples pasos y rutas. Como una
representación visual del flujo de datos, los diagramas de flujo son útiles para escribir un
programa o algoritmo y explicárselo a otros o colaborar con otros en el mismo. Puedes usar un
general y ofrecer una guía cuando llega el momento de codificar. Más específicamente, los
programa.
o programa.
pseudocódigo, una combinación de lenguaje natural y lenguaje informático que puede ser leído
por personas. Esto puede permitir más detalle que el diagrama de flujo y servir como reemplazo
Llevan el nombre de sus creadores: Isaac Nassi y Ben Shneiderman, quienes los desarrollaron
"estructogramas".
términos. Estas personas incluyen a expertos publicados, como Alan B. Sterneckert, Andrew
unidades de negocio".
Diagramas de flujo de datos: Estos indican "los controles que rigen los flujos de datos en un
sistema. (...) Los diagramas de flujo de datos se usan principalmente para mostrar los canales
donde se transmiten los datos a través del sistema en lugar de como se controla el flujo".
27
Diagramas de flujo de sistemas: Estos "indican el flujo de datos que pasa hacia los
describió tres tipos de diagramas de flujo en función del alcance y nivel de detalle:
Bohl, en su libro escrito en 1978 llamado A Guide for Programmers, enumera solo dos:
But Fryman, en su libro escrito en 2001 titulado Quality and Process Improvement,
distinguió los tipos de muchas maneras, más desde una perspectiva orientada a los negocios
que a la informática:
Diagrama de carriles, también conocido como "diagrama de flujo de carriles": detalla los roles
proceso de negocio.
Diagrama de flujo de lenguaje de descripción y especificación (SDL): realiza una lluvia de ideas
sobre los algoritmos informáticos mediante tres componentes básicos: proceso, bloqueo y
definición de sistema.
29