Fundamentos de
programación I
Curso 2021-2022
Hadriel Fernando Quintero Ceballos
Contenido
• Tema 1 - Introducción a la programación.
• Tema 2 - Conceptos básico de C.
• Tema 3 - Entrada/Salida Formateada.
• Tema 4 - Tipos de datos.
• Tema 5 - Conversión de tipos de datos.
• Tema 6 - Operadores y expresiones.
• Tema 7 - Control de flujo: Selección.
• Tema 8 - Control de flujo: Iteración.
• Tema 9 - Funciones.
Contenido
• Tema 10 - Recursividad.
• Tema 11 - Arrays.
• Tema 12 - Cadenas.
• Tema 13 - Estructuras.
Introducción a la
programación
Fundamentos de programación I
Programa
• Programa (software en inglés) es una secuencia de instrucciones que
una computadora puede interpretar y ejecutar.
• El proceso de creación de software es materia de la ingeniería del
software, una de las ramas propias de la Ingeniería Informática.
• Según Niklaus Wirth un programa está formado por algoritmos y
estructura de datos.
• Se han propuesto diversas técnicas de programación, cuyo objetivo es
mejorar tanto el proceso de creación de software como su
mantenimiento. Entre ellas se pueden mencionar las programaciones
lineal, estructurada, modular y orientada a objetos.
Lenguaje de programación
• Lenguaje de programación es el idioma utilizado para controlar
el comportamiento de una máquina, particularmente una
computadora.
• Consiste en un conjunto de símbolos y reglas sintácticas y
semánticas que definen su estructura y el significado de sus
elementos y expresiones.
• Hay muchos lenguajes de programación, pero para programar no
es necesario conocer todos los lenguajes, es igual que cuando
hablamos, podemos comunicarnos en español aunque no
sepamos alemán.
Lenguaje de programación
• En la actualidad los lenguajes de programación están escritos para ser
comprensibles por el ser humano, a este código se le llama código
fuente, pero no es comprendido por la máquina ya que esta solo
maneja el lenguaje ensamblador (en inglés assembler).
Tipos de lenguajes de programación
• Lenguajes de programación de alto nivel y lenguajes de bajo nivel.
• Los lenguajes de alto nivel permiten que con pocas palabras se logre
hacer lo mismo que se logra con un lenguaje de bajo nivel.
• Ejemplos de lenguajes de alto nivel: C++,Java,Python.
• Ejemplos de lenguaje de bajo nivel: assembler.
Tipos de lenguajes de programación
• Por la forma como se ejecutan hay lenguajes compilados e
interpretados.
• Los lenguajes compilados necesitan de un programa especial que lea
el código fuente y cree un archivo binario ejecutable para una
plataforma específica. Ejemplo: C++, Pascal.
• Los lenguajes interpretados necesitan de un programa que traduzca
en directo el código fuente escrito a instrucciones de la plataforma en
la que se ejecutan. Ejemplo: Python, Visual Basic, Script.
Tipos de lenguajes de programación
• Los lenguajes compilados son más rápidos, mientras que los
interpretados son más lentos, esto debido a que al compilar un
programa las ordenes son más entendibles para la computadora,
mientras que al interpretarlo la máquina primero debe leer el código
y convertir al paso las instrucciones a instrucciones de máquina
entendibles para ella.
Compilador
• La compilación es el proceso de traducir un programa en código
fuente a programa en código objeto (que usa el lenguaje binario).
• El programa encargado de compilar se llama compilador.
• La mayoría de software de programación trae su propio compilador.
Algoritmo
• Por algoritmo, se entiende a un conjunto finito de instrucciones que
se deben seguir para resolver un problema.
• Desde el punto de vista de la programación de ordenadores, la
definición del algoritmo como la especificación de una serie de pasos,
es incompleta.
• Debe observarse que los ordenadores son equipos que tienen
limitaciones físicas en cuanto a capacidad de almacenamiento y
procesamiento.
• Por consiguiente debemos refinar un poco más nuestra definición de
algoritmo para hacerla aplicable de manera efectiva en el ámbito de
la informática.
Algoritmo
• El algoritmo es un conjunto de pasos, instrucciones o acciones que se
deben seguir para resolver un problema.
• Existen una gran cantidad de algoritmos, hay que escoger el más
efectivo.
• Hay dos tipos de algoritmos que son los cualitativos y cuantitativos.
• Cualitativos son todos aquellos pasos o instrucciones descritos por medio de
palabras que sirven para llegar a la obtención de una respuesta o solución de
un problema.
• Cuantitativos son todos aquellos pasos o instrucciones que involucran
cálculos numéricos para llegar a un resultado satisfactorio.
Algoritmo
Características:
• Tiene que ser preciso.
• Tiene que estar bien definido.
• Tiene que ser finito.
• La programación es adaptar el algoritmo al ordenador.
• El algoritmo es independiente según donde lo implemente.
Algoritmo
Definición:
• Un algoritmo se entiende como una sucesión finita de pasos que
debe cumplir las siguientes especificaciones:
• Cada paso del algoritmo debe estar bien definido: Esto significa que la
definición de un paso debe ser suficientemente clara, para que una persona
pueda entenderla y realizarla.
• Un algoritmo debe tener un principio y un fin: Un programa es un algoritmo
escrito con un objetivo: conseguir un resultado. No tiene sentido crear un
programa que espere segundos y luego escriba en pantalla “¡Hola Mundo!", y
del mismo modo que un algoritmo debe tener un principio bien definido.
Pseudocódigo
• El pseudocódigo es una forma de escribir los pasos que va a realizar
un programa de la forma más cercana al lenguaje de programación
que vamos a utilizar posteriormente.
• Es como un falso lenguaje, pero en nuestro idioma, en el lenguaje
humano y, en nuestro caso, en español.