Licenciatura en Ingeniería en Sistemas Computacionales
Principios de Programación
Conceptos Básicos de Programación
Guía de estudio
Bloque I
Licenciatura en Ingeniería en Sistemas Computacionales
P á g i n a 1 | 11
Licenciatura en Ingeniería en Sistemas Computacionales
Organizador gráfico
P á g i n a 1 | 11
Licenciatura en Ingeniería en Sistemas Computacionales
Índice
Organizador gráfico ............................................................................................................................................................................. 1
Índice ......................................................................................................................................................................................................... 2
Conceptos Básicos de Programación ........................................................................................................................................... 3
Programar .......................................................................................................................................................................................... 3
Lenguaje ............................................................................................................................................................................................. 4
Algoritmo: análisis y comprensión de un problema........................................................................................................... 7
Programas y paradigmas de un lenguaje .............................................................................................................................. 8
Transformación de un programa ........................................................................................................................................... 10
P á g i n a 2 | 11
Licenciatura en Ingeniería en Sistemas Computacionales
Conceptos Básicos de Programación
Programar
Un programa informático se define como un conjunto de instrucciones
que, una vez ejecutado, realiza una o varias tareas en una computadora.
💡
De esta forma, sin programas, una computadora no puede realizar las
actividades para las que fue diseñada y creada.
Los software de
desarrollo muchas
El conjunto general de programas que posee una computadora se veces se clasifican
dentro del software
denomina software, término que se utiliza para definir al equipamiento de aplicaciones, ya
que dependen de un
o soporte lógico de una computadora. sistema operativo
para funcionar.
El software se puede clasificar en tres tipos:
Software de sistema: Está integrado por un conjunto de programas y rutinas que
controlan la operación y funcionamiento del hardware y otras aplicaciones. Estos
P á g i n a 3 | 11
Licenciatura en Ingeniería en Sistemas Computacionales
son los que conocemos como Sistemas Operativos como Windows, MacOS y
Linux.
Software de aplicación: Es el conjunto de aplicaciones que permiten explotar el
poder de la computadora y ayudan a las personas, grupos de trabajo y a toda la
organización, a resolver problemas y realizar tareas específicas o comunes;
Tenemos como ejemplo Office, Google Chrome, AutoCAD, Photoshop, etc.
Software de desarrollo: Todos los sistemas de software están escritos mediante
un esquema de codificación o lenguaje de programación, que permite construir
paquetes de instrucciones (programas) que le indican al sistema de cómputo lo
que debe hacer.
Lenguaje
En términos generales, un lenguaje de programación es una herramienta que permite
desarrollar software o programas para computadora.
Los lenguajes de programación son empleados para diseñar e implementar programas
encargados de definir y administrar el comportamiento de los dispositivos físicos y
lógicos de una computadora.
Un lenguaje de programación es un caso particular del lenguaje informático; este último
permite hacer programas, pero también describir datos, configuraciones físicas y
protocolos de comunicación entre equipos y programas.
P á g i n a 4 | 11
Licenciatura en Ingeniería en Sistemas Computacionales
Un ejemplo de lenguaje informático es el XML (Extensible Markup
Language). Este lenguaje de marcado por etiquetas permite realizar 💡
almacenar información en un archivo estructurado de una manera
sencilla. Sin embargo, este archivo no genera ningún tipo de Los lenguajes de
alto nivel facilitan el
instrucción.
desarrollo de
sistemas, ya que al
Existen varios tipos de lenguajes de programación, dependiendo si las ser su estructura
muy similar a los
instrucciones son más parecidas a palabras comunes que a claves o lenguajes naturales
permiten enfocarse
abreviaturas simples. Esto se le conoce como nivel de abstracción. en la lógica más
que en el propio
lenguaje.
P á g i n a 5 | 11
Licenciatura en Ingeniería en Sistemas Computacionales
Dependiendo del nivel de abstracción, se clasifican en:
Lenguaje máquina: Es el sistema de códigos interpretable directamente por un
circuito microprogramable, como el microprocesador de una computadora. Este
lenguaje se compone de un conjunto de instrucciones que determinan acciones
que serán realizadas por la máquina. En este lenguaje, todas las instrucciones se
construyen usando unos y ceros por lo que también se le conoce como lenguaje
binario.
Lenguajes de bajo Nivel: son aquellos que proporcionan poca o ninguna
abstracción del microprocesador de una computadora. Consecuentemente, su
traslado al lenguaje máquina es fácil. Estas son palabras claves que representan
código máquina, lo que facilita la lectura y el desarrollo. Estos tipos de lenguajes
están muy relacionados con la arquitectura del hardware.
Lenguajes de alto nivel: se caracterizan porque su estructura semántica es muy
similar a la forma como escriben los humanos, lo que permite codificar los
algoritmos de manera más natural, en lugar de codificarlos en el lenguaje binario
de las máquinas, o a nivel de lenguaje ensamblador.
P á g i n a 6 | 11
Licenciatura en Ingeniería en Sistemas Computacionales
Algoritmo: análisis y comprensión de un problema
Un algoritmo constituye una lista bien definida, ordenada y finita de
operaciones, que permite encontrar la solución a un problema
💡
determinado. Dado un estado inicial y una entrada, es a través de pasos
sucesivos y bien definidos que se llega a un estado final, en el que se
Muchas veces este
obtiene una solución (si hay varias) o la solución (si es única). proceso es
subestimado, sin
embargo es uno de
Un algoritmo puede ser expresado en: los más importantes
en el desarrollo de
sistemas y
Lenguaje natural (a veces, este no resulta muy claro, pero es aplicaciones, ya que
permite entender
muy útil para problemas simples) claramente el
problema.
Pseudocódigo
Diagramas de flujo
Las etapas de desarrollo de un algoritmo, con base en la lógica, son las siguientes:
1. Definición. En esta etapa se especifica el propósito del algoritmo y se ofrece una
definición clara del problema por resolver. Además, aquí también se establece lo
que se pretende lograr con su solución.
2. Análisis. En este punto se analiza el problema y sus características, y se
determinan las entradas y salidas del problema. De igual modo, también se realiza
una investigación sobre si ya se conoce alguna o varias soluciones de este. En el
caso de que ya se conozcan varias soluciones, entonces se determina cuál es la
más conveniente para el problema que estamos tratando. Si no se conoce
ninguna, o no nos satisfacen las soluciones existentes, se propone una nueva.
P á g i n a 7 | 11
Licenciatura en Ingeniería en Sistemas Computacionales
3. Diseño. Aquí es donde se plasma la solución del problema. Con ese fin, se emplea
una herramienta de diseño, que consiste en el diagrama de flujo y el
pseudocódigo.
4. Implementación. En este último paso es donde se realiza o se ve concretado el
programa y, por ende, se hacen varias pruebas.
Programas y paradigmas de un lenguaje
Un programa informático se define como un conjunto de instrucciones que, una vez
ejecutado, realiza una o varias tareas en una computadora. De esta forma, sin programas,
una computadora no puede realizar las actividades para las que fue diseñada y creada.
El conjunto general de programas que posee una computadora se denomina software,
término que se utiliza para definir al equipamiento o soporte lógico de una computadora.
Un programa se escribe con instrucciones en un lenguaje de programación, el cual, a su
vez, está defi nido por su sintaxis, que establece e indica las reglas de escritura (la
gramática), y por la semántica de los tipos de datos, instrucciones, definiciones, y todos
los otros elementos que constituyen un programa.
A su vez, un paradigma de programación provee (y determina) la visión y los métodos de
un programador en la construcción de un programa o subprograma. Existen diferentes
P á g i n a 8 | 11
Licenciatura en Ingeniería en Sistemas Computacionales
paradigmas que derivan en múltiples y variados estilos de programación y en diferentes
formas de solución de problemas:
PARADIGMA IMPERATIVO: En este paradigma se impone que 💡
cualquier programa es una secuencia de instrucciones o
comandos que se ejecutan siguiendo un orden de arriba hacia Cada lenguaje ofrece
ventajas sobre otros
abajo; este único enlace del programa se interrumpe dependiendo del
problema a resolver.
exclusivamente para ejecutar otros subprogramas o Es importante
evaluarlos antes de
funciones, después de lo cual se regresa al punto de elegir con cual
trabajar.
interrupción.
PARADIGMA ESTRUCTURADO: Este paradigma es un caso particular de
paradigma imperativo, por lo que se imponen únicamente algunas estructuras de
código, prohibiendo una continuación del cálculo de manera caótica. Por ejemplo,
se impone que las instrucciones sean agrupadas en bloques (procedimientos y
funciones) que comunican; por tanto, el código que se repite tiene la forma de un
ciclo (loop, en inglés), gobernado por una condición lógica.
PARADIGMA DECLARATIVO: Un programa describe el problema a solucionar y la
manera de resolverlo, pero no indica el orden de las acciones u operaciones que
se deben seguir. En este caso, hay dos paradigmas principales: Funcionales y
Lógicos.
P á g i n a 9 | 11
Licenciatura en Ingeniería en Sistemas Computacionales
Transformación de un programa
Un programa de usuario recorre el siguiente camino hasta su ejecución:
Edición: Con un editor de texto se escribe el programa en el lenguaje elegido.
Compilación: En lenguaje de alto nivel, el código fuente se transforma en
instrucciones para la máquina (código objeto o código ejecutable).
Enlazado: Un ejecutable se construye con códigos objeto (uno o más) y librerías de
funciones, entre otros.
P á g i n a 10 | 11
Licenciatura en Ingeniería en Sistemas Computacionales
El código fuente es el conjunto de archivos que conforman el programa que se está
desarrollando, y esta codificación en algún lenguaje de programación. Estos pasan por un
compilador que es un programa que tiene todas las reglas del lenguaje y verifica que
cumpla con todas ellas: por medio de análisis sintáctico revisa que las instrucciones
están escritas en el formato adecuado. El análisis léxico verifica que se estén usando las
palabras propias del lenguaje, y aquellas que hayamos creado nosotros están definidas;
y el análisis semántico se centra en que las instrucciones tengan sentido entre ellas.
Una vez hecho esto, el compilador empieza a generar un código intermedio el cual es
similar al código máquina pero sin ninguna optimización, el cual es una siguiente etapa
cuyo fin es pulir el código, evitando conversiones innecesarias o ajustando el orden de
ejecución conforme al sistema operativo objetivo. Al final de este paso, se obtiene un
código objeto el cual ya está listo para ser convertido a un programa.
Es muy probable que un programa que se compila y se ejecuta por primera vez tenga
errores de compilación. También es probable que, después de un tiempo de ejecución, el
programa tenga errores lógicos de ejecución; en este caso, se regresa a la edición del
código fuente inicial, con el fin de corregir los errores, y luego se desarrollan las otras
etapas, hasta la construcción del ejecutable
P á g i n a 11 | 11