Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Sesion 01

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 5

Laboratorio de Metodología de la Programación Página 1

programación
ología de la Programación
UNIVERSIDAD CATÓLICA DE SANTA MARÍA ESCUELA
PROFESIONAL DE INGENIERÍA DE SISTEMAS

SESIÓN N°01: INTRODUCCIÓN A LA PROGRAMACIÓN DE


COMPUTADORAS
I
OBJETIVOS
❖ Conocer los principios básicos para interactuar con las computadoras.
❖ Aprender cómo seguir una secuencia de órdenes para su uso en la computadora.
❖ Apreciar las características de interacción con las computadoras.

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.

Ing. Manuel Zúñiga Carnero, Ing. Oscar Ramírez Valdez


Laboratorio de Metodología de la Programación Página 2
programación
ologíaEndeesta
la Programación
práctica nosotros empezaremos haciendo uso de un software de computadora muy
útil llamado DFD, este software lenguaje tiene un ambiente interactivo y nos permite entender
lo que hace la computadora de forma directa cuando se le ingresa una orden, el propósito
en las primeras prácticas es entender la forma como las computadoras actúan con los
programas que les ingresamos.

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.

4. PROGRAMAS: ALGORITMOS PARA SER EJECUTADOS POR


UN ORDENADOR
Un ordenador o computadora está, desde que se enciende hasta que se apaga totalmente,
ejecutando un algoritmo. Por lo general, estos algoritmos, escritos para que los entienda una
máquina, terminan siendo vagos y confusos para la mayoría de quienes no han estudiado
programación. ¡Una máquina no puede entender “escribe Hola Mundo!" porque no sabe lo
que es "escribe" ni lo que es una letra o un espacio, ni lo que es una pantalla. En cambio,
puede entender "mov eax, 0x23afb31" (escribir en la dirección de memoria eax el número
0x23afb31), aunque nosotros no. Un ordenador es solo un circuito electrónico, no funciona
a base de magia ni nada por el estilo.
Debido a lo difícil que es escribir en lenguaje máquina, e incluso en ensamblador, se crearon
diferentes lenguajes de programación, más o menos parecidos al inglés actual y a cómo se

Ing. Manuel Zúñiga Carnero, Ing. Oscar Ramírez Valdez


Laboratorio de Metodología de la Programación Página 3
programación
ología de la Programación
redacta un algoritmo. Estos lenguajes proveen de cosas tan complejas para una máquina como
los bucles for. Los compiladores se encargan de traducir esos ficheros al lenguaje ensamblador
que corresponda, el ensamblador de traducirlos a lenguaje máquina y el enlazador de juntar
todo ese código máquina en un solo archivo, el programa. Y el microprocesador, se encarga
de ir encendiendo o apagando transistores según lo que le diga el código máquina. Es fácil
entender el lenguaje de alto nivel en comparación al lenguaje máquina, pero de la evolución
surgieron.

5. ¿QUÉ INSTRUCCIONES EJECUTA UN ORDENADOR?

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.

C. LENGUAJES DE ALTO NIVEL


Sobre este lenguaje ensamblador inicial se fueron construyendo otros lenguajes de
programación de más alto nivel; esto significa que ocultan ciertos aspectos de manera que el
programador no se ha de preocupar sobre si en la máquina que quiere que se ejecute el
algoritmo el MC corresponde a la instrucción 101 o 010. Se produce, por tanto, una abstracción
de datos, muy deseable para poder utilizar el trabajo de otros para avanzar un paso más en
vez de tener que "reinventar la rueda", como se suele decir. Estos textos en los que se codifican
los algoritmos son los códigos fuente; siguen las reglas sintácticas de un determinado lenguaje
de programación. Existen numerosos lenguajes de programación, y se utiliza uno u otros según
sus características se adecúen más o menos a la resolución de nuestro problema.

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.

7. LENGUAJES INTERPRETADOS VS. LENGUAJES


Ing. Manuel Zúñiga Carnero, Ing. Oscar Ramírez Valdez
Laboratorio de Metodología de la Programación Página 4
programación
ologíaCOMPILADOS
de la Programación
Los lenguajes interpretados nacen como respuesta a la dificultad de manejo de los
compilados. Un lenguaje compilado es sólo apto para un sistema operativo o formato de
ejecutable (en Linux y Unix System V es ELF, en Windows o incluso en BSD es muy
diferente), y es tedioso de manejar: para comprobar bugs o errores el computador debe:
▪ Compilar cada uno de los ficheros de código.
▪ Ensamblarlos en ficheros objeto.
▪ Enlazar los ficheros objeto.
▪ Volverlos a ensamblar.
Todo eso no es gran derroche de recursos para un ordenador medio actualmente, pero dura
sus 10 o 15 segundos. En cambio, con un lenguaje interpretado, el programa intérprete
analiza el fichero de código y lo va ejecutando en tiempo real, sin compilarlo ni ensamblarlo.
Otra de las ventajas de los lenguajes interpretados es que son multiplataforma: un programa
en Perl, por ejemplo, no debe ser compilado dos veces (una para Unix y otra para Windows).
Con que haya diferentes versiones del intérprete en cada uno de esos ordenadores,
específicamente compilados para ellos, basta.
Sus desventajas:
▪ Consume muchos recursos de memoria, sobre todo RAM.
▪ Se depende del intérprete: si no tienes instalado el intérprete que corresponda, no podrás
ejecutar el programa.
Ejemplos de lenguajes interpretados son PHP, Perl, Python, Tcl/Tk, BASIC, LISP (en
algunas de sus versiones).

IV
(La práctica tiene una duración de 2 horas) ACTIVIDADES

1. Siga los ejercicios que planteará el profesor

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?

Ing. Manuel Zúñiga Carnero, Ing. Oscar Ramírez Valdez


Laboratorio de Metodología de la Programación Página 5
programación
ología de la Programación
VII
BIBLIOGRAFIA Y REFERENCIAS

• Jiménez, J., Jiménez, E., Alvarado, L. (2015). Fundamentos de Programación. Diagramas de


flujo, diagramas N-S, Pseudocódigo y Java. México. Ed. Alfaomega.
• Zúñiga, M. (2021). Metodología de la Programación, UCSM, Arequipa, Perú
• Hinojoza, Á. (2016). Python Paso a Paso. Colombia. Ed. Ra-ma Ediciones de la U. Colombia.
• Sitio oficial de Python http://www.python.org/

Ing. Manuel Zúñiga Carnero, Ing. Oscar Ramírez Valdez

También podría gustarte