clase 4 - unlpvalhalla.fcaglp.unlp.edu.ar/computacion/teorias/... · clase 4 ( fuentes: dc&is,...
TRANSCRIPT
![Page 1: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias/... · CLASE 4 ( Fuentes: DC&IS, IUPUI / Farah Fisher ) Principales componentes de una computadora](https://reader034.vdocumento.com/reader034/viewer/2022052005/6018a3af2ce87004d929bec8/html5/thumbnails/1.jpg)
CLASE 4
( Fuentes: DC&IS, IUPUI / Farah Fisher )
![Page 2: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias/... · CLASE 4 ( Fuentes: DC&IS, IUPUI / Farah Fisher ) Principales componentes de una computadora](https://reader034.vdocumento.com/reader034/viewer/2022052005/6018a3af2ce87004d929bec8/html5/thumbnails/2.jpg)
Principales componentes de una computadora
• CPU: Unidad de Procesamiento Central
• RAM (memoria de acceso aleatorio)
• Dispositivos de almacenamiento masivos
• Dispositivos de entrada
• Dispositivos de salida
![Page 3: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias/... · CLASE 4 ( Fuentes: DC&IS, IUPUI / Farah Fisher ) Principales componentes de una computadora](https://reader034.vdocumento.com/reader034/viewer/2022052005/6018a3af2ce87004d929bec8/html5/thumbnails/3.jpg)
Capacidades de almacenamiento • bit – la capacidad más pequeña • nibble = 4 bits • byte = 2 nibbles = 8 bits (para un caracter)
• 1 kilobyte (KB) = 1024 bytes • 1 megabyte (MB) = 1024 KB • 1 gigabyte (GB) = 1024 MB
![Page 4: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias/... · CLASE 4 ( Fuentes: DC&IS, IUPUI / Farah Fisher ) Principales componentes de una computadora](https://reader034.vdocumento.com/reader034/viewer/2022052005/6018a3af2ce87004d929bec8/html5/thumbnails/4.jpg)
Software
• Software de aplicaciones • Procesadores de texto • de bases de datos • Planillas de cálculo • Programas para dibujar • Navegadores • Programas de e-mail
• Software del sistema • Sistemas operativos
• Windows • Macintosh OS • Unix • Linux
• Drivers
El Software es un conjunto de instrucciones que tiene la computadora para realizar una
tarea
![Page 5: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias/... · CLASE 4 ( Fuentes: DC&IS, IUPUI / Farah Fisher ) Principales componentes de una computadora](https://reader034.vdocumento.com/reader034/viewer/2022052005/6018a3af2ce87004d929bec8/html5/thumbnails/5.jpg)
Lenguajes de programación • Los lenguajes de programación le permiten a los
programadores codificar software. • Hay tres grandes familias de lenguajes:
• Lenguajes de máquina • Lenguajes ensambladores • Lenguajes de alto nivel
![Page 6: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias/... · CLASE 4 ( Fuentes: DC&IS, IUPUI / Farah Fisher ) Principales componentes de una computadora](https://reader034.vdocumento.com/reader034/viewer/2022052005/6018a3af2ce87004d929bec8/html5/thumbnails/6.jpg)
Lenguajes de máquina • Compuesto de 1s y 0s • Se le llama el lenguaje “nativo” de una computadora • Difícil de programar – un 1 o 0 mal ubicado causará que
el programa falle. • Ejemplo de código: 1110100010101 111010101110 10111010110100 10100011110111
![Page 7: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias/... · CLASE 4 ( Fuentes: DC&IS, IUPUI / Farah Fisher ) Principales componentes de una computadora](https://reader034.vdocumento.com/reader034/viewer/2022052005/6018a3af2ce87004d929bec8/html5/thumbnails/7.jpg)
Lenguajes ensambladores • Los lenguajes ensambladores son un paso hacia una programación más fácil.
• Los lenguajes ensambladores están compuestos por una serie de comandos elementales que se asocian a un procesador específico.
• El código de lenguaje ensamblador debe ser traducido a lenguaje de máquina antes de que la computadora lo procese.
• Ejemplo: ADD 1001010, 1011010
![Page 8: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias/... · CLASE 4 ( Fuentes: DC&IS, IUPUI / Farah Fisher ) Principales componentes de una computadora](https://reader034.vdocumento.com/reader034/viewer/2022052005/6018a3af2ce87004d929bec8/html5/thumbnails/8.jpg)
Lenguajes de alto nivel • Los lenguajes de alto nivel representan un salto gigante
hacia una programación más fácil. • La sintaxis de los lenguajes de alto nivel es similar a la
del idioma inglés. • Históricamente, los lenguajes de alto nivel se dividen en
dos grupos:
1. Lenguajes procedurales 2. Lenguajes orientados a objetos (OOP)
![Page 9: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias/... · CLASE 4 ( Fuentes: DC&IS, IUPUI / Farah Fisher ) Principales componentes de una computadora](https://reader034.vdocumento.com/reader034/viewer/2022052005/6018a3af2ce87004d929bec8/html5/thumbnails/9.jpg)
OOPs • Se centra en los objetos a manipular. Esos objetos van
desde personas, a viviendas, hasta los pequeños ‘widgets’ de un escritorio de pc (íconos)
• Primer paso: identificar los objetos que el programador va a manipular y cómo se relacionan entre sí (‘data modeling’). Los objetos se ordenan en clases.
• Cada secuencia lógica diferente se llama método. • Los objetos se comunican con interfases bien definidas
llamadas ‘mensajes’. • Ejemplos: C++, Visual Basic.NET, Java, phyton.
![Page 10: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias/... · CLASE 4 ( Fuentes: DC&IS, IUPUI / Farah Fisher ) Principales componentes de una computadora](https://reader034.vdocumento.com/reader034/viewer/2022052005/6018a3af2ce87004d929bec8/html5/thumbnails/10.jpg)
Ejemplo de OOP from datetime import datetime now = datetime.now() mm = str(now.month) dd = str(now.day) yyyy = str(now.year) hour = str(now.hour) mi = str(now.minute) ss = str(now.second) print mm + "/" + dd + "/" + yyyy + " " + hour + ":" + mi + ":" + ss
Fecha-hora.py: Programa que escribe fecha y hora
![Page 11: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias/... · CLASE 4 ( Fuentes: DC&IS, IUPUI / Farah Fisher ) Principales componentes de una computadora](https://reader034.vdocumento.com/reader034/viewer/2022052005/6018a3af2ce87004d929bec8/html5/thumbnails/11.jpg)
Lenguajes de Procedimientos • Los primeros leguajes de alto nivel fueron Lenguajes por
(o de) Procedimientos (Procedural languajes).
• Los lenguajes de procedimientos se caracterizan por tener conjuntos secuenciales de comandos lineales.
• Al programar por procedimientos se pone la atención en la estructura, en la lógica.
• Ejemplos: C, COBOL, Fortran, LISP, Perl, HTML
![Page 12: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias/... · CLASE 4 ( Fuentes: DC&IS, IUPUI / Farah Fisher ) Principales componentes de una computadora](https://reader034.vdocumento.com/reader034/viewer/2022052005/6018a3af2ce87004d929bec8/html5/thumbnails/12.jpg)
Compilación ( = traducción) • Todos los lenguajes de alto nivel necesitan ser traducidos a código de máquina para que la computadora pueda ejecutar el programa.
• Algunos programas son traducidos usando un compilador. Cuando los programas son “compilados”, se traducen completamente de una sola vez. Los programas compilados en general se ejecutan más rápido que los otros, aunque tienen una velocidad de traducción menor.
![Page 13: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias/... · CLASE 4 ( Fuentes: DC&IS, IUPUI / Farah Fisher ) Principales componentes de una computadora](https://reader034.vdocumento.com/reader034/viewer/2022052005/6018a3af2ce87004d929bec8/html5/thumbnails/13.jpg)
Interpretación • Algunos programas son traducidos usando un
interpretador. Estos programas, llamados programas interpretados, son traducidos línea por línea en vez de todo junto. Los programas interpretados generalmente se traducen más rápido, pero tienen una velocidad de ejecución menor que los compilados.
![Page 14: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias/... · CLASE 4 ( Fuentes: DC&IS, IUPUI / Farah Fisher ) Principales componentes de una computadora](https://reader034.vdocumento.com/reader034/viewer/2022052005/6018a3af2ce87004d929bec8/html5/thumbnails/14.jpg)
Elementos de un Programa
• Todos los lenguajes de programación tienen ciertos rasgos en común; entre ellos están: 1. Variables 2. Comandos/Sintaxis (la forma en que los comandos se
estructuran o escriben) 3. Loops o lazos 4. Decisiones 5. Funciones
• Cada lenguaje de programación tiene un conjunto diferente de reglas acerca de estos rasgos o características.
![Page 15: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias/... · CLASE 4 ( Fuentes: DC&IS, IUPUI / Farah Fisher ) Principales componentes de una computadora](https://reader034.vdocumento.com/reader034/viewer/2022052005/6018a3af2ce87004d929bec8/html5/thumbnails/15.jpg)
Variables
• Las variables son parte de los programas. • Una variable es un “lugar donde poner datos” y se
representa usualmente con una letra o una palabra. • El nombre de una variable no puede contener espacio(s) en
blanco. • Algunos lenguajes de programación tienen límites muy
específicos sobre cómo nombrar variables.
![Page 16: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias/... · CLASE 4 ( Fuentes: DC&IS, IUPUI / Farah Fisher ) Principales componentes de una computadora](https://reader034.vdocumento.com/reader034/viewer/2022052005/6018a3af2ce87004d929bec8/html5/thumbnails/16.jpg)
Variables
• Hay distintas formas de poner información en una variable.
• La forma más común es usar el signo igual (=).
• X = Y + 7 significa tome el valor de Y, súmele 7, y póngalo (guárdelo) en X.
• CONT=CONT + 2 significa tome el valor que está guardado en CONT, súmele 2, y guarde el resultado nuevamente en CONT.
![Page 17: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias/... · CLASE 4 ( Fuentes: DC&IS, IUPUI / Farah Fisher ) Principales componentes de una computadora](https://reader034.vdocumento.com/reader034/viewer/2022052005/6018a3af2ce87004d929bec8/html5/thumbnails/17.jpg)
Variables
• A veces debemos especificar el tipo de datos que será guardado en una variable.
• Algunos ejemplos de tipo de dato son:
• Numérico (números de cualquier tipo o clase) • Strings o cadenas (texto, “cadena de caracteres”) • Enteros (números enteros) • Números muy grandes o muy chicos • Lógicos: true (=verdadero) / false (=falso)
![Page 18: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias/... · CLASE 4 ( Fuentes: DC&IS, IUPUI / Farah Fisher ) Principales componentes de una computadora](https://reader034.vdocumento.com/reader034/viewer/2022052005/6018a3af2ce87004d929bec8/html5/thumbnails/18.jpg)
Variables
• Una variables se puede clasificar en global o local. • Una variable global es aquella que puede compartirse por
todas las partes de un programa, incluyendo todo subprograma.
• Una variable local es la que se usa solamente dentro de una
cierta parte de un programa. Por ejemplo, solo en un subprograma.
![Page 19: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias/... · CLASE 4 ( Fuentes: DC&IS, IUPUI / Farah Fisher ) Principales componentes de una computadora](https://reader034.vdocumento.com/reader034/viewer/2022052005/6018a3af2ce87004d929bec8/html5/thumbnails/19.jpg)
Comandos - Sintaxis • Los lenguajes de programación son verdaderos
lenguajes. • Tienen reglas de gramática, deletreo, puntuación, etc. • Hay que aprenderse las reglas de un lenguaje de
programación, así como aprendimos a hablar y escribir en español.
![Page 20: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias/... · CLASE 4 ( Fuentes: DC&IS, IUPUI / Farah Fisher ) Principales componentes de una computadora](https://reader034.vdocumento.com/reader034/viewer/2022052005/6018a3af2ce87004d929bec8/html5/thumbnails/20.jpg)
Loops o lazos • Un loop o lazo es una repetición de una serie de
comandos en un programa. • Algunos loops tienen un contador (una variable) y se
repiten (continúan) una cantidad específica de veces. • Algunos loops continúan hasta que una cierta condición
se cumple (ejemplo, hasta el fin de un archivo o hasta que un número llegue a un valor límite)
![Page 21: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias/... · CLASE 4 ( Fuentes: DC&IS, IUPUI / Farah Fisher ) Principales componentes de una computadora](https://reader034.vdocumento.com/reader034/viewer/2022052005/6018a3af2ce87004d929bec8/html5/thumbnails/21.jpg)
Decisiones • Ya vimos un diagrama de flujo con decisiones (“… si
edad > 90, escriba la palabra ANCIANO...”) • En un programa muchas veces es necesario decidir si
algo es verdadero (true) o falso (false), para elegir una de más posibles formas de continuar.
• Algunos lenguajes usan sentencias IF (o IF THEN o IF THEN ELSE) para implementar esta decisión.
sentencia = instrucción = orden
![Page 22: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias/... · CLASE 4 ( Fuentes: DC&IS, IUPUI / Farah Fisher ) Principales componentes de una computadora](https://reader034.vdocumento.com/reader034/viewer/2022052005/6018a3af2ce87004d929bec8/html5/thumbnails/22.jpg)
Decisiones • Una sentencia IF siempre tiene una condición a verificar.
Muchas veces esa condición se escribe en términos de una variable y un número.
• La sentencia IF también especifica qué hacer si esa condición o comparación es verdadera.
• Las instrucciones (en el caso de verdadera) pueden colocarse luego de la palabra THEN, o simplemente pueden listarse.
![Page 23: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias/... · CLASE 4 ( Fuentes: DC&IS, IUPUI / Farah Fisher ) Principales componentes de una computadora](https://reader034.vdocumento.com/reader034/viewer/2022052005/6018a3af2ce87004d929bec8/html5/thumbnails/23.jpg)
Decisiones • En una sentencia IF THEN, cuando la condición a
verificar es falsa, el programa simplemente ignora los comandos THEN y continúa a la próxima línea.
• En la construcción IF THEN ELSE, se dan comandos
tanto para los casos en que la condición es verdadera como falsa.
![Page 24: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias/... · CLASE 4 ( Fuentes: DC&IS, IUPUI / Farah Fisher ) Principales componentes de una computadora](https://reader034.vdocumento.com/reader034/viewer/2022052005/6018a3af2ce87004d929bec8/html5/thumbnails/24.jpg)
Funciones
• En la mayoría de los lenguajes de programación se usan subprogramas para realizar algunas de las tareas.
• Estos subprogramas son llamados funciones o sub-rutinas. • Las funciones tienen nombre (ejemplo: getName o CALIMP).
![Page 25: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias/... · CLASE 4 ( Fuentes: DC&IS, IUPUI / Farah Fisher ) Principales componentes de una computadora](https://reader034.vdocumento.com/reader034/viewer/2022052005/6018a3af2ce87004d929bec8/html5/thumbnails/25.jpg)
Funciones
• Una function generalmente toma información del programa principal, realiza alguna tarea, y devuelve información al programa principal.
• Las funciones siguen las mismas reglas de sintaxis y demás
que el programa principal.
![Page 26: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias/... · CLASE 4 ( Fuentes: DC&IS, IUPUI / Farah Fisher ) Principales componentes de una computadora](https://reader034.vdocumento.com/reader034/viewer/2022052005/6018a3af2ce87004d929bec8/html5/thumbnails/26.jpg)
Consejos para escribir “código” • “Codigo” quiere decir escribir el programa en un lenguaje
de programación apropiado. • Controlen que el código sea exacto (deletreo,
mayúsculas / minúsculas, puntuación, etc). • Escriban parte del código, pruébenlo, luego escriban otra
parte, y así sucesivamente.
![Page 27: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias/... · CLASE 4 ( Fuentes: DC&IS, IUPUI / Farah Fisher ) Principales componentes de una computadora](https://reader034.vdocumento.com/reader034/viewer/2022052005/6018a3af2ce87004d929bec8/html5/thumbnails/27.jpg)
Verificación o “debugging” (= depuración) • “Depurar” un programa significa probarlo y corregir posibles errores de ser necesario.
• Es raro que un programa funcione correctamente la primera vez que como programadores lo corremos.
• Cuando estén depurando un programa, fíjense en errores de sintaxis.
• Corrijan un error por vez, luego vuelvan a probar el programa.
![Page 28: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias/... · CLASE 4 ( Fuentes: DC&IS, IUPUI / Farah Fisher ) Principales componentes de una computadora](https://reader034.vdocumento.com/reader034/viewer/2022052005/6018a3af2ce87004d929bec8/html5/thumbnails/28.jpg)
Ejercicio • En la porción de diagrama de flujo que sigue, si la
variable X es 5, ¿qué imprimirá el programa, (K o 1º)?
X > 5?YN Print “1st”Print “K” “1º ”
![Page 29: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias/... · CLASE 4 ( Fuentes: DC&IS, IUPUI / Farah Fisher ) Principales componentes de una computadora](https://reader034.vdocumento.com/reader034/viewer/2022052005/6018a3af2ce87004d929bec8/html5/thumbnails/29.jpg)
Ejercicio • En la porción de diagrama de flujo que sigue, si la
variable X es 5, ¿qué imprimirá el programa, (K o 1º)?
X > 5?YN Print “1st”Print “K” “1º ”
-> K La respuesta a la pregunta ¿es X mayor que 5? es NO (falsa la condición), ya que X es menor o igua que 5.
![Page 30: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias/... · CLASE 4 ( Fuentes: DC&IS, IUPUI / Farah Fisher ) Principales componentes de una computadora](https://reader034.vdocumento.com/reader034/viewer/2022052005/6018a3af2ce87004d929bec8/html5/thumbnails/30.jpg)
FIN CLASE 4