Sesion 01
Sesion 01
Sesion 01
programación
ología de la Programación
UNIVERSIDAD CATÓLICA DE SANTA MARÍA ESCUELA
PROFESIONAL DE INGENIERÍA DE SISTEMAS
II
TEMAS A TRATAR
❖ Introducción.
❖ Instrucciones secuenciales
❖ Resumen
III
MARCO TEORICO
1. INTRODUCCIÓN
El mundo actual está dominado por la tecnología, ese dominio está muy influenciado y
dominado por dos aspectos muy importantes, el primero la electrónica, que es una
ingeniería que constantemente crea y produce objetos que mejoran la calidad de vida y la
forma de hacer las cosas y la segunda es la ingeniería de sistemas que produce y administra
el software que los objetos electrónicos usan para hacer las tareas para las cuales han sido
diseñados.
El objeto electrónico más importante de esta corriente tecnológica es la computadora,
gracias a las capacidades de cálculo de este instrumento el ser humano ha sido capaz de
desarrollar mucha tecnología e inventos, la modernidad y actualidad tecnológica esta
siempre asociado al uso de computadoras. Pero no se trata sólo del uso de las
computadoras, existe un binomio hardware/software necesario para el funcionamiento
idóneo de las computadoras, es así que la estrella en el software son los programas.
Los programas de computadora son conjuntos de instrucciones ordenadas y debidamente
estructuradas que nos van a permitir hacer que la computadora lleve a cabo una acción o
un conjunto de tareas.
Al proceso de creación de programas se le llama programación de computadoras, pero este
proceso a pesar de no der difícil ni complicado requiere de cierto tipo de enfoque de parte
del aprendiz, esto debido a que la computadora funciona como una caja negra que recibe
órdenes y las ejecuta en el sentido y dimensión de lo que interpreta como correcto, esto es
sin corregir la forma como se le dieron las ordenes, debido a esto es necesario a que
nosotros antes de aprender a hacer cualquier cosa como aprendices de programación
debemos entender primero que la computadora actúa bajo las órdenes que se le
proporcionan sin hacer ningún tipo de corrección ni alertar de forma clara sobre las
ambigüedades en las órdenes dadas.
2. ¿QUÉ ES UN ALGORITMO?
Es un conjunto finito de instrucciones que se deben seguir para resolver un problema. No
obstante, 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.
A. 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. Si bien no se puede dar un criterio determinístico para decidir si un paso está
bien definido, debemos apelar al sentido común para decidir que un paso está
especificado sin ambigüedades.
▪ 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 (infinitos segundos) y luego escriba en pantalla “Hola Mundo!", del mismo
modo que un algoritmo debe tener un principio bien definido (¡tampoco tiene sentido el
algoritmo “haz nada, y luego escribe Hola Mundo!”).
3. MODELOS COMPUTACIONALES
Un modelo computacional es un modelo matemático en las ciencias de la computación que
requiere extensos recursos computacionales para estudiar el comportamiento de un sistema
complejo por medio de la simulación por computadora. El sistema bajo estudio es a menudo
un sistema complejo no lineal para el cual las soluciones analíticas simples e intuitivas no
están fácilmente disponibles. En lugar de derivar una solución analítica matemática para el
problema, la experimentación es hecha con el modelo cambiando los parámetros del
sistema en la computadora, y se estudian las diferencias en el resultado de los experimentos.
Las teorías de la operación del modelo se pueden derivar/deducir de estos experimentos de
computacionales.
Ejemplos de modelos de computacionales comunes son modelos de el pronóstico del
tiempo, modelos del Earth Simulator, modelos de simulador de vuelo, modelos de
plegamiento molecular de proteínas, y modelos de red neural.
A. LENGUAJE DE MÁQUINA
Cada tipo de microprocesador contiene un conjunto de instrucciones que realizan ciertas
operaciones sobre una o más palabras de bits; las instrucciones van también codificadas en
bits. No queremos hacer aquí una discusión sobre arquitectura de ordenadores, por lo que con
esto debe valer por ahora.
Se entiende que escribir sólo con dos teclas, el 0 y el 1, es incómodo. Históricamente, a la hora
de diseñar un algoritmo para que el ordenador ejecutara, se escribía mediante unas etiquetas
mnemotécnicas; éste fue el origen del lenguaje ensamblador. Por ejemplo, quizás en una cierta
arquitectura la instrucción de borrado de memoria (Memory Clear, en inglés) corresponda al
código 010. Pronto surgieron programas que leían, siguiendo el ejemplo, MC, y lo sustituían
por 010.
B. LENGUAJE ENSAMBLADOR
El código máquina tenía dos grandes inconvenientes para los programadores:
▪ El primero es que se trata de unas instrucciones difíciles de recordar ya que no guardan
relación con la operación que se está realizando.
▪ El segundo inconveniente es que puede haber, y de hecho hay, diferencias entre las
instrucciones de un procesador a otro.
Todo esto ha llevado a "poner nombre" a las instrucciones de código máquina de manera que
a una secuencia concreta de bits que realiza una operación se le pone un nombre sencillo que
identifique la operación. Esta traducción a un lenguaje más sencillo para las personas resulta
en una mayor comodidad para el programador, además el proceso de traducción inverso de
lenguaje ensamblador a código máquina puede ser realizado por un sencillo programa.
6. TRADUCTORES E INTÉRPRETES
Tras la escritura del algoritmo, un compilador o un intérprete (otros programas) transformarán
el texto en código máquina que el procesador es capaz de ejecutar.
Toda esta abstracción permite resolver problemas alejados de sumar números binarios, como
pueden ser la consulta de esta misma enciclopedia o jugar a un videojuego en 3D.
IV
(La práctica tiene una duración de 2 horas) ACTIVIDADES
V
EJERCICIOS
1. Elaborar un algoritmo que nos explique los pasos a seguir para freír un huevo y servirlo en un plato
VI
CUESTIONARIO
1. ¿Qué es un algoritmo?
2. ¿Qué es un programa?
3. ¿Qué es un lenguaje de programación?
4. ¿Qué es una computadora?
5. ¿Qué es un microprocesador?
6. ¿Qué es el lenguaje de máquina?
7. ¿Qué es la sintaxis?
8. ¿Qué es una instrucción?
9. ¿Cómo se ejecutan las instrucciones por la computadora?
10. ¿Qué es una instrucción o sentencia?
11. ¿Qué es una instrucción secuencial?
12. ¿Qué es una variable?
13. ¿Cómo se especifica una instrucción secuencial de operación matemática?
14. ¿Cuál es la función de las variables?
15. ¿cómo visualizamos el valor almacenado por una variable?