Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos...

40
Tema 2: Desarrollo de Algoritmos E.E. de Algorítmica

Transcript of Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos...

Page 1: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

Tema 2: Desarrollo de Algoritmos

E.E. de Algorítmica

Page 2: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

Temas a tratar• Identificadores

• Variables • Constantes

• Tipos de Datos • Separadores • Operadores

• Aritméticos • Unarios • Relacionales y Condicionales • Nivel de Bits • Asignación

• Manejo de Memoria

Page 3: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

Identificadores• Los identificadores nombran variables, funciones, clases, y objetos; • cualquier cosa que queramos identificar o usar dentro de la programación

se debe identificar. • Se caracterizan por comenzar con:

• una letra, • guión bajo (_) o • un símbolo de peso ($),

• los siguientes caracteres pueden ser letras o dígitos. • Se distinguen mayúsculas y minúsculas y no hay longitud máxima.

Page 4: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

Identificadores

• Ejemplos: • tipo identificador [= valor], [identificador [= valor]]; • int variable; • char nombre, apellido_paterno; • float $cantidad;

Page 5: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

Identificadores

• Los identificadores vistos son hasta el momento para datos variables, además de estos, contamos con identificadores constantes.

• Estos identificadores declarar datos desde un inicio que son constantes y que no van a variar.

• En algunos lenguajes de programación para poder reconocer estos identificadores se les antecede la palabra “final”

Page 6: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

Identificadores

• Ejemplos: • final float Pi = 3.1415926 • final String Autor = “Manuel Suárez” • final int Tamaño = 100

Page 7: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

Identificadores• Puntos importantes a recordar:

• Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo el algoritmo • Los locales solamente sirven dentro de la clase, método,

función o iteración en la que se declaró • Por lo tanto un identificador local sólo es válido dentro del

bloque de código en el que se declaró y no podemos acceder a su valor desde el exterior.

Page 8: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

Identificadores• Como sabemos cuando usar un identificador Global o un Local:

• Sí vamos a usarlo únicamente dentro de un bloque es local. • Sí varias instrucciones interactuan con el identificador, pero

seguimos dentro de un método, sigue siendo local. • Unicamente utilizamos un identificador Global, cuando el

algoritmo nos exige que una variable sea utilizada en toda la lógica.

Page 9: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

Ejercicio• Indica de las siguientes instrucciones que parte corresponde al

indicador

String nombre = “Rosa” String T1 = “hola”, T2 = “martes”

int edad = 20 int N1 = 4, N2 = 5, Suma = 0

boolean opc = True String Nombre_Completo = “Luis Moya”

int arreglo[ ] int $telefono = 12345678

Page 10: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

Tipos de Datos

• El principio de toda computadora es el manejo de información o datos.

• Un dato es la expresión general que describe los objetos con los cuales opera una computadora.

• Los algoritmos pueden trabajar con varios tipos de datos y los programas operan sobre estos tipos de datos.

Page 11: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

• Definición de Tipo de datos: • Conjunto especifico de valores de los datos y un conjunto de

operaciones que actúan sobe esos datos. • Existen dos tipos de datos:

• Básicos; son aquellos que están incorporados a todo lenguaje de programación

• Definidos por el programador o usuario.

Page 12: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

• Dentro de los tipo de datos básicos tenemos: • Numéricos • Lógicos • Carácter

Page 13: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

Datos Numéricos!• Pueden ser:

• Entero o Integer • Real

Page 14: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

• Enteros: son números completos, no tienen fracciones o decimales y pueden ser negativos o positivos.

5 6-15 420 17

1340 26

Page 15: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

• Los enteros se pueden representar en 8, 16, 32 o 64 bits

Enteros -32,768 a 32,767

Enteros Cortos -128 a 127

Enteros Largos -2,147,483,648 a 2,147,483,647

• Se pueden considerar sin signo (unsigned) y con signo (signed)

Page 16: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

• Reales: son aquellos que tienen un punto decimal y pueden ser positivos o negativos.

0.08 3739.41

3.7452 -52.321

-8.12 3.0

Page 17: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

• Tipos de Datos Reales:

Tipo Rango

real (float) -3.4 x 10doble (double) -1.7 x 10

Page 18: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

Datos Lógicos!• También denominado “booleano o boolean” es aquel tipo de dato

que solamente puede tomar dos valores: • Verdadero (true) • Falso (false)

• Muy utilizado en condiciones de (si y no)

Page 19: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

Datos de Carácter!• conjunto finito y ordenado de caracteres reconocido por las

computadoras • Reconocen caracteres de tipo:

• alfabéticos • numéricos • especiales

Page 20: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

• Tipos de Datos de Carácter:

Tipo Rango

char un sólo carácter

String cadena de caracteres

• Se encuentran delimitados por: • comilla simple ‘ ‘ • comilla doble “ “

Page 21: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

ResumenTipo Rango

int -32,768 a 32,767

short -128 a 127

long -2,147,483,648 a 2,147,483,647

float -3.4 x 10

double -1.7 x 10

boolean True o False

char un sólo carácter

String cadena de caracteres

Page 22: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

• VER PRÁCTICA 1

Page 23: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

SeparadoresLos separadores definen la forma y función del código, estos son: • () Paréntesis: Para contener listas de parámetros, llamada a métodos. • {} Llaves: Para contener los valores de matrices y arreglos inicializados

automáticamente, definir un bloque de código, clases, métodos, ámbitos locales y condicionales.

• [] Corchetes: Para declarar tipos arreglos, matriz y para referencia a sus valores.

• ; Punto y coma: Separa sentencias o instrucciones. • , Coma: Separa identificadores consecutivos en la declaración de

variables.

Page 24: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

Operadores

• Aritméticos • Unarios • Relacionales y Condicionales • Nivel de Bits • Asignación

Page 25: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

Operadores Aritméticos

+ Suma (también utilizado para concatenar cadenas) - Resta * Multiplicación / División % Modulo (obtiene el residuo de una división)

Page 26: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

Operadores Unarios

+ Valor Positivo - Valor Negativo ++ Suma 1 al operando - - Resta 1 al operando

Page 27: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

Operadores Relacionales y Condicionales> El operando izquierdo es mayor que el derecho >= El operando izquierdo es mayor o igual que el derecho < El operando izquierdo es menor que el derecho <= El operando izquierdo es menor o igual que el derecho == El operando izquierdo es igual que el derecho != El operando izquierdo es distinto que el derecho && Ambas expresiones son verdaderas, también conocido como AND || Alguna de las expresiones es verdadera, también conocido como OR ! La expresión de la derecha es false

Page 28: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

Operadores de Asignación

Son operadores compuestos de otros operadores para realizar la operación deseada y luego asignar el valor obtenido al operando situado a la izquierda del operador de asignación, de este modo se pueden hacer dos operaciones con un sólo operador. Ejemplos: +=-=*=/=%=

Page 29: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

Reglas de Prioridad

• Toda expresión que tiene dos o más operandos requieren del uso de reglas matemáticas que permitan determinar el orden de las operaciones.

• Estas reglas se denominan “reglas de prioridad o precedencia”.

Page 30: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

• Estas reglas consisten en: • Las operaciones que están encerradas entre paréntesis se evalúan primero. • Si existen diferentes paréntesis anidados (interiores unos a otros), las expresiones más

internas se evalúan primero. • En caso de tener operadores con la misma procedencia evaluamos de izquierda a

derecha. • Las operaciones aritméticas dentro de una expresión suelen seguir el siguiente orden de

prioridad: • Operador ( ) • operadores ++ , - -, + y - • operador ^ • operadores *, /, % • operadores + , -

Page 31: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

¿Cuál es el resultado de las siguientes expresiones?

Solución 3 + 6 * 14

!

3 + 84 !

87

a) 3 + 6 * 14

⎬⎬

Solución 8 + 7 * 3 + 4 * 6

!

8 + 21 + 24 !

29 + 24 !

53

b) 8 + 7 * 3 + 4 * 6

⎬ ⎬

⎬⎬

Solución -4 * 7 + 2^3 / 4 - 5

!

-4 * 7 + 8 / 4 - 5 !

-28 + 8 / 4 - 5 !

-28 + 2 - 5 !

-31

c) -4 * 7 + 2^3 / 4 - 5

⎬⎬⎬

Page 32: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

EjerciciosA. a * ( b + 3) B. 12 + 3 * 7 + 5 * 4 C. 8 + 7 * 3 + 4 * 6 D. -23 ^ 3 E. (33 + 3 * 4) / 5 F. 2 ^ 2 * 3 G. 3 + 2 * (18 - 4 ^2) H. 16 * 6 - 3 * 2

I. 7 + 5 - 6 J. 9 + 7 * 8 - 36 / 5 K. 7 * 5 ^ 3 / 4 % 3

Page 33: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

• VER PRÁCTICA 2

Page 34: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

Manejo de Memoria

• En la mayoría de las computadoras existen dos tipos de memoria: • RAM (Memoria de Acceso Aleatorio): Almacenamiento temporal

de programas y datos. • ROM (Memoria de Sólo Lectura): Almacenamiento de datos y

programas de modo permanente.

Page 35: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

• La memoria central, mejor conocida como RAM o simplemente memoria, es la que usamos cuando creamos nuestros algoritmos, ya que es de uso temporal y una vez terminado el algoritmo este se elimina de la memoria.

• La RAM almacena las instrucciones y los datos • Para que un programa se pueda ejecutar se debe almacenar en la

RAM

Page 36: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

• La memoria principal es la encargada de almacenar los programas y datos que se están ejecutando

• Su principal característica es la velocidad de respuesta, ya que es muy rápida.

• Es una memoria de tipo volátil, ya que su contenido se pierde cuando se apaga la computadora

Page 37: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

• La RAM puede ser: • Estática (SDRAM) • Dinámica (DRAM) !

• La más común es la SDRAM en sus dos tipos DDR y DDR2 (Double Data Rate)

Page 38: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

• En cuanto a la memoria ROM, almacena toda información de modo permanente ya que solamente podemos acceder a ella para lectura.

• Los datos de esta no se pierden cuando se apaga la computadora. • Los programas son almacenados en los chips ROM y no se pueden

modificar • Contiene lo que comúnmente llamamos BIOS para el arranque de la

computadora.

Page 39: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

• Normalmente una computadora tiene más RAM que ROM. • La RAM es una memoria muy rápida y limitada en tamaño • La RAM es la memoria a la que accede normalmente un

programador.

Page 40: Tema2-Desarrollo de Algoritmos · Identificadores • Puntos importantes a recordar: • Tenemos identificadores globales y locales • Los globales son aquellos que sirven en todo

Unidades de medida de almacenamientoByte Byte (B) equivale a 8 bits

Kilobyte Kbyte (KB) equivale a 1,024 bytes (10 Megabyte Mbyte (MB)! equivale a 1,024 Mbytes (10 Gigabyte Gbyte (GB) equivale a 1,024 Gbytes (10 Terabyte Tbyte (TB) equivale a 1,024 Tbytes (10 Petabyte Pbyte (PB) equivale a 1,024 Pbytes (10 Exabyte Ebyte (EB) equivale a 1,024 Ebytes (10 Zettabyte Zbyte (ZB) equivale a 1,024 Zbytes (10 Yotta Ybyte (YB) equivale a 1,024 Ybytes (10