clase 4 - unlpvalhalla.fcaglp.unlp.edu.ar/computacion/teorias... · capacidades de almacenamiento...

34
CLASE 4 ( Fuentes: DC&IS, IUPUI / Farah Fisher )

Upload: others

Post on 22-Aug-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

CLASE 4

( Fuentes: DC&IS, IUPUI / Farah Fisher )

Page 2: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

• CPU: Unidad de Procesamiento Central

• Memorias

• Dispositivos de almacenamiento masivos

• Dispositivos de entrada

• Dispositivos de salida

Computadora básica: componentes principales

Page 3: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

Computadora básica

CPU

Unidad de control

Unidad aritmético/lógica

Unidad de memoria

Dispositivo de entrada

Dispositivo de salida

Page 4: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

Capacidades de almacenamiento •  bit (binary digit): unidad básica de información usada en

computación. Toma uno de dos valores: 1 o 0 / T o F / yes o no / on u off

•  nibble = 4 bits

•  1 Byte = 8 bits: es también una unidad de información, y es la mínima unidad identificable/accesible de memoria

•  1 kilobyte (KB) = 210 bytes = 1024 bytes

•  1 megabyte (MB) = 210 KB = 1024 KB

•  1 gigabyte (GB) = 210 MB = 1024 MB

Page 5: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

Software

• Software de aplicaciones •  Procesadores de texto •  de bases de datos •  Planillas de cálculo •  Programas para dibujar •  Navegadores •  Programas de e-mail •  De procesamiento de datos

astronómicos, etc

• 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 6: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

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 7: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

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 8: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

Lenguajes ensambladores • Los lenguajes ensambladores son un paso hacia una programación más fácil.

• 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 9: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

Lenguajes de programación

Page 10: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

Lenguajes de programación

Page 11: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

Lenguajes de programación

COMPILADOR

Page 12: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

Lenguajes de programación Una instrucción en lenguaje –o código- de bajo nivel consiste en un código de operación y un operando, o simplemente un código de operación. Un programa en lenguaje de máquina consiste en una serie de instrucciones, almacenadas en la memoria de la computadora.

LD A, 07 00111110 00000111 Assembler

00 07

Registro A Registro A CPU CPU

Antes Después

Page 13: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

Lenguajes de programación

INC A 00111100 Assembler

00 01

Registro A Registro A CPU CPU

Antes Después

Una instrucción en lenguaje –o código- de bajo nivel consiste en un código de operación y un operando, o simplemente un código de operación. Un programa en lenguaje de máquina consiste en una serie de instrucciones, almacenadas en la memoria de la computadora.

Page 14: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

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 de procedimientos 2.  Lenguajes orientados a objetos (OOP:

object oriented programming)

Page 15: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

Lenguajes de procedimientos •  Los primeros leguajes de alto nivel fueron Lenguajes por

(o de) procedimientos (Procedural languages).

•  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 16: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

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 la velocidad de traducción es menor.

Page 17: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

Interpretación • Otros programas son traducidos usando un interpretador. Estos programas, llamados programas interpretados, son traducidos línea por línea, cada vez que se corren, 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 18: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

Elementos de un programa

• Todos los lenguajes de programación tienen ciertos rasgos en común; entre ellos están el uso de 1.  Variables 2.  Comandos/Sintaxis (la forma en que los comandos se

estructuran o escriben) 3.  Loops o lazos (repeticiones) 4.  Decisiones 5.  Funciones

• Cada lenguaje de programación tiene un conjunto diferente de reglas acerca de estos rasgos o características.

Page 19: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

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 20: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

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 21: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

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) •  Enteros (números enteros) •  Números muy grandes o muy chicos

•  Caracteres en cadena (strings) •  Lógicos: true (=verdadero) / false (=falso)

Page 22: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

Variables

• Una variable se puede clasificar como global o local. • Una variable global es aquella que puede compartirse en

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 23: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

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 24: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

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 25: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

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 26: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

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 27: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

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 28: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

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 subrutinas.

•  Las funciones tienen nombre (ejemplo: getName o CALIMP).

Page 29: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

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 30: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

Consejos para escribir “código” • Escribir “código” 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 31: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

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 32: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

Ejercicio • En la porción de diagrama de flujo que sigue, si la

variable X es 5, ¿qué imprimirá el programa, (K o 2)?

X > 5?YN Print “1st”Print “K” “2 ”

Page 33: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

Ejercicio • En la porción de diagrama de flujo que sigue, si la

variable X es 5, ¿qué imprimirá el programa, (K o 2)?

X > 5?YN Print “1st”Print “K” “2 ”

-> 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 34: CLASE 4 - UNLPvalhalla.fcaglp.unlp.edu.ar/computacion/Teorias... · Capacidades de almacenamiento • bit (binary digit): unidad básica de información usada en computación. Toma

FIN CLASE 4