48
ALGORITMOS ALGORITMOS

ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

Embed Size (px)

Citation preview

Page 1: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

ALGORITMOSALGORITMOS

Page 2: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

ALGORITMOSALGORITMOS1.1

El objetivo principal de esta El objetivo principal de esta sesión es que identifiquemos sesión es que identifiquemos algunos conceptos y elementos algunos conceptos y elementos claves de la algoritmia, con los claves de la algoritmia, con los cuales podamos construir cuales podamos construir algoritmos, y con nuestro algoritmos, y con nuestro trabajo en casa, desarrollar trabajo en casa, desarrollar habilidad para el diseño de los habilidad para el diseño de los mismos.mismos.

IMCT-UV

Page 3: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

ALGORITMOALGORITMO► Un algoritmo es un procedimiento a seguir, para Un algoritmo es un procedimiento a seguir, para

resolver un problema en términos de:resolver un problema en términos de:

1.1. Las acciones por ejecutar y elLas acciones por ejecutar y el

2.2. El orden en que dichas acciones deben El orden en que dichas acciones deben ejecutarse ejecutarse

► Un algoritmo nace en respuesta a la aparición Un algoritmo nace en respuesta a la aparición de un determinado problema. Una algoritmo de un determinado problema. Una algoritmo esta compuesto de una serie finita de pasos que esta compuesto de una serie finita de pasos que convergen en la solución de un problema, pero convergen en la solución de un problema, pero además estos pasos tienen un orden específico. además estos pasos tienen un orden específico.

Page 4: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

ALGORITMOALGORITMO

►Entenderemos como problema a Entenderemos como problema a cualquier acción o evento que necesite cualquier acción o evento que necesite cierto grado de análisis, desde la cierto grado de análisis, desde la simpleza de cepillarse los dientes simpleza de cepillarse los dientes hasta la complejidad del ensamblado hasta la complejidad del ensamblado de un automóvil. En general, cualquier de un automóvil. En general, cualquier problema puede ser solucionado problema puede ser solucionado utilizando un algoritmo, en este utilizando un algoritmo, en este sentido podemos utilizar los algoritmos sentido podemos utilizar los algoritmos para resolver problemas de computo. para resolver problemas de computo.

Page 5: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

ALGORITMOALGORITMO

►Un algoritmo para un programador es Un algoritmo para un programador es una herramienta que le permite una herramienta que le permite resaltar los aspectos más importantes resaltar los aspectos más importantes de una situación y descartar los menos de una situación y descartar los menos relevantes. Todo problema de relevantes. Todo problema de cómputo se puede resolver ejecutando cómputo se puede resolver ejecutando una serie de acciones en un orden una serie de acciones en un orden específico.específico.

Page 6: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

ALGORITMOALGORITMO

Por ejemplo considere el algoritmo que se Por ejemplo considere el algoritmo que se elaboraría para el problema o situación de elaboraría para el problema o situación de levantarse todas las mañanas para ir al levantarse todas las mañanas para ir al trabajo: trabajo:

► Salir de la cama Salir de la cama ► quitarse la pijama quitarse la pijama ► ducharse ducharse ► vestirse vestirse ► desayunar desayunar ► arrancar el automóvil para ir al trabajo o arrancar el automóvil para ir al trabajo o

tomar transporte. tomar transporte.

Page 7: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

CARACTERISTICAS DE UN ALGORITMOCARACTERISTICAS DE UN ALGORITMO

► ROBUSTEZ DE UN ALGORITMOROBUSTEZ DE UN ALGORITMO► Quiere decir que un algoritmo debe Quiere decir que un algoritmo debe

contemplar todas las posibles facetas del contemplar todas las posibles facetas del problema que queremos resolver, al elaborar problema que queremos resolver, al elaborar un algoritmo no se nos debe escapar ningún un algoritmo no se nos debe escapar ningún detalle que provoque un funcionamiento malo detalle que provoque un funcionamiento malo nuestro algoritmo. Si logramos construir un nuestro algoritmo. Si logramos construir un algoritmo robusto, cualquier giro inesperado algoritmo robusto, cualquier giro inesperado del problema será controlado por el algoritmo, del problema será controlado por el algoritmo, es decir, debe ser flexible a cambios.es decir, debe ser flexible a cambios.

Page 8: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

CARACTERISTICAS DE UN ALGORITMOCARACTERISTICAS DE UN ALGORITMO

CORRECTITUD DE UN ALGORITMOCORRECTITUD DE UN ALGORITMO

►Es correcto cuando da una solución al Es correcto cuando da una solución al problema a tratar y cumple con todos problema a tratar y cumple con todos lo requerimientos especificados tal lo requerimientos especificados tal que cumplamos con los objetivos que cumplamos con los objetivos planteados.planteados.

COMPLETITUD DE UN ALGORITMOCOMPLETITUD DE UN ALGORITMO

►Cuando un algoritmo cuenta con Cuando un algoritmo cuenta con todos los recursos para poder llegar a todos los recursos para poder llegar a una solución satisfactoriauna solución satisfactoria

Page 9: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

CARACTERISTICAS DE UN ALGORITMOCARACTERISTICAS DE UN ALGORITMO

EFICIENCIA Y EFICACIA DE UN ALGORITMOEFICIENCIA Y EFICACIA DE UN ALGORITMO► Un algoritmo es Un algoritmo es eficienteeficiente cuando logra cuando logra

llegar a sus objetivos planteados utilizando la llegar a sus objetivos planteados utilizando la menor cantidad de recursos posibles, es menor cantidad de recursos posibles, es decir, minimizando el uso memoria, de pasos decir, minimizando el uso memoria, de pasos y de esfuerzo humano.y de esfuerzo humano.

► Un algoritmo es Un algoritmo es eficazeficaz cuando alcanza el cuando alcanza el objetivo primordial, el análisis de resolución objetivo primordial, el análisis de resolución del problema se lo realiza prioritariamente. del problema se lo realiza prioritariamente.

► Puede darse el caso de que exista un Puede darse el caso de que exista un algoritmo eficaz pero no eficiente, en lo algoritmo eficaz pero no eficiente, en lo posible debemos de manejar estos dos posible debemos de manejar estos dos conceptos conjuntamente.conceptos conjuntamente.

Page 10: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

CLASIFICACION DE LOS ALGORITMOSCLASIFICACION DE LOS ALGORITMOS

► CONVERSACIONALES:CONVERSACIONALES: Aquellos algoritmos donde Aquellos algoritmos donde la secuencia de los pasos se presentan mediante la secuencia de los pasos se presentan mediante frases o proposiciones.frases o proposiciones.

Ejemplo: Elaborar un algoritmo para determinar la nota Ejemplo: Elaborar un algoritmo para determinar la nota definitiva de estudiantes en el curso de introducción definitiva de estudiantes en el curso de introducción a la programación.a la programación.

Paso 1: ComienzoPaso 1: ComienzoPaso2: Se debe conocer el código, nombre del Paso2: Se debe conocer el código, nombre del

estudiante; además las notas obtenidas durante el estudiante; además las notas obtenidas durante el curso.curso.

Paso 3: Con las notas obtenidas efectuar los cálculos u Paso 3: Con las notas obtenidas efectuar los cálculos u operaciones necesarias para obtener las notas operaciones necesarias para obtener las notas definitivas o finales del curso.definitivas o finales del curso.

Paso 4: Por último debemos entregar o publicar las Paso 4: Por último debemos entregar o publicar las notas definitivas del curso.notas definitivas del curso.

Paso 5: FinalPaso 5: Final

Page 11: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

CLASIFICACION DE LOS ALGORITMOSCLASIFICACION DE LOS ALGORITMOS

► GRAFICOS: Son aquellos algoritmos donde la GRAFICOS: Son aquellos algoritmos donde la secuencia de pasos se representa mediante secuencia de pasos se representa mediante gráficos o figuras geométricas. A estos algoritmos gráficos o figuras geométricas. A estos algoritmos se les llama “Diagramas de flujo”.se les llama “Diagramas de flujo”.

La ventaja de utilizar un algoritmo es que se lo puede La ventaja de utilizar un algoritmo es que se lo puede construir independientemente de un lenguaje de construir independientemente de un lenguaje de programación, pues al momento de llevarlo a programación, pues al momento de llevarlo a código se lo puede hacer en cualquier lenguaje. código se lo puede hacer en cualquier lenguaje. Dichos diagramas se construyen utilizando ciertos Dichos diagramas se construyen utilizando ciertos símbolos de uso especial como son rectángulos, símbolos de uso especial como son rectángulos, diamantes, óvalos, y pequeños círculos, estos diamantes, óvalos, y pequeños círculos, estos símbolos están conectados entre sí por flechas, símbolos están conectados entre sí por flechas, conocidas como conocidas como líneas de flujolíneas de flujo. A continuación se . A continuación se detallarán estos símbolos. detallarán estos símbolos.

Page 12: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

DIAGRAMAS DE FLUJODIAGRAMAS DE FLUJO

Terminal. Representa el inicio y fin de un programa.

Proceso. Son acciones que el programa tiene que realizar

Decisión. Indica operaciones lógicas o de comparación, así como expresiones

Entrada / Salida. Nos permite ingresar datos, de un periférico, así como mostrarlos

Salida. Es usado para mostrar datos o resultados

Conector. Se coloca al principio y fin de un pedazo de programa, enlaza dos partes cualquiera de un programa

Línea de flujo o indicador de dirección.

Page 13: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales
Page 14: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

CLASIFICACION DE LOS ALGORITMOSCLASIFICACION DE LOS ALGORITMOS

►SEUDOCODIGO: SEUDOCODIGO: Aquellos algoritmos donde la Aquellos algoritmos donde la secuencia de pasos se representa o indica secuencia de pasos se representa o indica mediante códigos en español, los cuales tendrán un mediante códigos en español, los cuales tendrán un significado especial de acuerdo a cada paso:significado especial de acuerdo a cada paso:

Inicio : INICIO - COMIENZOInicio : INICIO - COMIENZO

Datos conocidos: ENTRADA - LEERDatos conocidos: ENTRADA - LEER

Cálculos: EJECUTE - HAGACálculos: EJECUTE - HAGA

Resultados: SALIDA - IMPRIMIRResultados: SALIDA - IMPRIMIR

Final: FINAL - FINFinal: FINAL - FIN

Page 15: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

CLASIFICACION DE LOS ALGORITMOSCLASIFICACION DE LOS ALGORITMOS

Seudocódigo para el algoritmo anteriorSeudocódigo para el algoritmo anterior

Paso 1: ComienzoPaso 1: Comienzo

Paso 2: Entrada: Código, nombre y notasPaso 2: Entrada: Código, nombre y notas

Paso 3: Ejecute: Cálculo de la nota Paso 3: Ejecute: Cálculo de la nota definitivadefinitiva

Paso 4: Salida: Entrega de nota Paso 4: Salida: Entrega de nota definitivadefinitiva

Paso 5: FinalPaso 5: Final

Page 16: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

Resolución de ProblemasResolución de ProblemasPara lograr resolver cualquier problema se deben Para lograr resolver cualquier problema se deben

seguir básicamente los siguientes pasos:seguir básicamente los siguientes pasos:► Análisis del ProblemaAnálisis del Problema. en este paso se define el . en este paso se define el

problema, se lo comprende y se lo analiza con problema, se lo comprende y se lo analiza con todo detalle. todo detalle.

► Diseño del AlgoritmoDiseño del Algoritmo. se debe elaborar una . se debe elaborar una algoritmo que refleje paso a paso la resolución del algoritmo que refleje paso a paso la resolución del problema. problema.

► Resolución del Algoritmo en la computadoraResolución del Algoritmo en la computadora. . se debe codificar el algoritmo.se debe codificar el algoritmo.

Page 17: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

RESOLUCION DE PROBLEMAS A TRAVES RESOLUCION DE PROBLEMAS A TRAVES DEL COMPUTADORDEL COMPUTADOR

Se identifican dos fases:Se identifican dos fases:► Fase de resolución del problemaFase de resolución del problema

► Análisis del problema.Análisis del problema.► Modelación y diseño de algoritmos para los métodos.Modelación y diseño de algoritmos para los métodos.► Verificación manual de algoritmos.Verificación manual de algoritmos.

► Fase de implementación en la computadora.Fase de implementación en la computadora.► Codificación.Codificación.► Prueba.Prueba.► Puesta en marcha. Puesta en marcha.

Necesariamente el entendimiento del problema es lo Necesariamente el entendimiento del problema es lo primero y es extremadamente importante comprender primero y es extremadamente importante comprender todos los aspectos del problema: el tipo y la forma de la todos los aspectos del problema: el tipo y la forma de la entrada, la información disponible y los resultados entrada, la información disponible y los resultados deseados.deseados.

Page 18: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

ANALISIS DEL PROBLEMAANALISIS DEL PROBLEMA

► Podemos observar cierta regularidad (patrón) en los algoritmos. Veamos...

► Pasos Iniciales (entrada): captura de datos con los que el algoritmo va a trabajar.

► Pasos centrales (proceso): realización de cálculos y control de errores o posibles situaciones anormales o inesperadas que generen conflicto.

► Pasos Finales (salida): despliegue o devolución de resultados.

Page 19: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

TIPOS DE DATOSTIPOS DE DATOS

► Concepto propio de la informática, más Concepto propio de la informática, más específicamente de los lenguajes de programación, específicamente de los lenguajes de programación, aunque también se encuentra relacionado con aunque también se encuentra relacionado con nociones similares de las matemáticas y la lógica.nociones similares de las matemáticas y la lógica.

► En un sentido amplio, un En un sentido amplio, un tipo de datostipo de datos define un define un conjunto de valores y las operaciones sobre estos conjunto de valores y las operaciones sobre estos valores. valores.

► Todo sistema de computación digital es alimentado Todo sistema de computación digital es alimentado con datos.con datos.

► La representación de los datos, incide en la La representación de los datos, incide en la elaboración de los pasos del algoritmo.elaboración de los pasos del algoritmo.

► Generalmente el sistema de identificación de los datos Generalmente el sistema de identificación de los datos se denomina “estructura de datos”; la cual depende se denomina “estructura de datos”; la cual depende de la característica de los datos.de la característica de los datos.

Page 20: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

TIPOS DE DATOSTIPOS DE DATOS

DATOS NUMÉRICOS:DATOS NUMÉRICOS: Los utilizaremos para efectuar Los utilizaremos para efectuar operaciones aritméticas. Se representan de la operaciones aritméticas. Se representan de la siguiente forma:siguiente forma:

► Enteros:Enteros: Corresponden a números completos, o Corresponden a números completos, o sea que no tienen componente decimal; pueden sea que no tienen componente decimal; pueden ser negativos, positivos y el cero. En general son ser negativos, positivos y el cero. En general son aquellos números que no poseen punto decimal.aquellos números que no poseen punto decimal.

Ejemplo:Ejemplo:

La edad de un estudiante La edad de un estudiante 33 33

El total de estudiantes de un grupo El total de estudiantes de un grupo 4040

Page 21: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

TIPOS DE DATOSTIPOS DE DATOS

►Reales:Reales: Son aquellos números que Son aquellos números que poseen un punto decimal, pueden ser poseen un punto decimal, pueden ser positivos, negativos y el cero. Los positivos, negativos y el cero. Los números reales los podemos números reales los podemos representar de dos formas.representar de dos formas.

►Reales decimales:Reales decimales: Son aquellos Son aquellos números que pueden constar de una números que pueden constar de una parte entera y una parte decimal.parte entera y una parte decimal.

Ejemplo: la nota de un estudiante 4.2Ejemplo: la nota de un estudiante 4.2

Page 22: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

TIPOS DE DATOSTIPOS DE DATOS

► Reales exponenciales:Reales exponenciales: Son aquellos Son aquellos números que se expresan en función de números que se expresan en función de potencias de 10. Se conoce también como potencias de 10. Se conoce también como notación científica o coma flotante. notación científica o coma flotante. Representan números muy grandes o muy Representan números muy grandes o muy pequeños. Se representan de la siguiente pequeños. Se representan de la siguiente forma: forma: “real decimal” E “entero”“real decimal” E “entero”

Ejemplo: 3.675204 * 10Ejemplo: 3.675204 * 101919 = 3.675204E19 = 3.675204E19-3.5E3 = -3500.0-3.5E3 = -3500.01.23E2 = 123.01.23E2 = 123.04.5E- 4 = 0.000454.5E- 4 = 0.00045

Page 23: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

TIPOS DE DATOSTIPOS DE DATOS

►DATOS ALFANUMERICOS: DATOS ALFANUMERICOS: Se agrupan Se agrupan en series o cadenas de caracteres en series o cadenas de caracteres alfabéticas o caracteres numéricos o alfabéticas o caracteres numéricos o caracteres especiales.caracteres especiales.

Los datos alfanuméricos generalmente se Los datos alfanuméricos generalmente se utilizan de referencia, o sea que con utilizan de referencia, o sea que con ellos no efectuaremos operaciones ellos no efectuaremos operaciones aritméticas.aritméticas.

Se representan de la siguiente forma:Se representan de la siguiente forma:

Page 24: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

TIPOS DE DATOSTIPOS DE DATOS

►De caracter:De caracter: Cuando se hace Cuando se hace referencia a un solo carácter. Ejemplo:referencia a un solo carácter. Ejemplo:

El sexo de un empleado: El sexo de un empleado: Masculino = ‘M’Masculino = ‘M’

Femenino = ‘F’Femenino = ‘F’

El estado civil de una persona:El estado civil de una persona:

Soltero ‘S’, Casado ‘C’, Viudo ‘V’, Soltero ‘S’, Casado ‘C’, Viudo ‘V’, Separado ‘Z’.Separado ‘Z’.

Page 25: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

TIPOS DE DATOSTIPOS DE DATOS

►De cadena:De cadena: Cuando se hace referencia Cuando se hace referencia a más de un carácter. Son datos de a más de un carácter. Son datos de tipo cadena los siguientes:tipo cadena los siguientes:

El nombre de un estudiante “Juan Pérez”El nombre de un estudiante “Juan Pérez”

La dirección de una persona “Calle 3 No. La dirección de una persona “Calle 3 No. 3-12”3-12”

El cargo que desempeña “Docente”El cargo que desempeña “Docente”

Page 26: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

TIPOS DE DATOSTIPOS DE DATOS

►Datos Lógicos:Datos Lógicos: Son aquellos que Son aquellos que pueden tomar dos valores: El valor pueden tomar dos valores: El valor verdadero o el valor falso, representan verdadero o el valor falso, representan estados (0 y 1).estados (0 y 1).

Ejemplo: le preguntamos a un alumno Ejemplo: le preguntamos a un alumno que si aprobó el curso; dicho alumno que si aprobó el curso; dicho alumno nos podrá responder verdadero o nos podrá responder verdadero o falso.falso.

Page 27: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

ConstantesConstantes

►Constantes:Constantes: Son aquellos datos que Son aquellos datos que permanecen fijos e invariables en la permanecen fijos e invariables en la solución de un problema. Pueden ser solución de un problema. Pueden ser (enteros, reales, carácter, cadena, (enteros, reales, carácter, cadena, booleanos).booleanos).

Ejemplo:Ejemplo:

El porcentaje de una evaluación 0.20El porcentaje de una evaluación 0.20

El valor PI en geometría 3.1415926El valor PI en geometría 3.1415926

El valor de la gravedad en mts 9.8El valor de la gravedad en mts 9.8

Page 28: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

VariablesVariables

► Las variables son posiciones de memoria en donde Las variables son posiciones de memoria en donde se se pueden guardar valores. pueden guardar valores.

A una variable se le identifica con un nombre, se le A una variable se le identifica con un nombre, se le define un tipo de dato y almacena un valor.define un tipo de dato y almacena un valor.

► A las variables se les asocia un datos el cual puede A las variables se les asocia un datos el cual puede cambiar en la solución de un problema. (un nombre cambiar en la solución de un problema. (un nombre de variable debe existir solo una vez en el ámbito de de variable debe existir solo una vez en el ámbito de la variable).la variable).

► La declaración de una variable origina una reserva La declaración de una variable origina una reserva de una posición en la memoria de la computadora y de una posición en la memoria de la computadora y que sea etiquetada con el correspondiente que sea etiquetada con el correspondiente identificador.identificador.

Page 29: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

VariablesVariables

►Ejemplos:Ejemplos:►Código del estudiante Código del estudiante

codigoEstudiantecodigoEstudiante►Nombre del estudiante nombresEstNombre del estudiante nombresEst►Primera evaluación evaluacion1Primera evaluación evaluacion1►Edad del empleado edadEmpEdad del empleado edadEmp

Page 30: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

IDENTIFICADORESIDENTIFICADORESReglas para la creación de identificadores:Reglas para la creación de identificadores:► 1. 1. Java hace distinción entre mayúsculas y Java hace distinción entre mayúsculas y

minúsculas, por lo tanto, nombres o identificadores minúsculas, por lo tanto, nombres o identificadores como var1, Var1 y VAR1 son distintos.como var1, Var1 y VAR1 son distintos.

► 2. 2. Pueden estar formados por cualquiera de los Pueden estar formados por cualquiera de los caracteres del código Unicode, por lo tanto, se caracteres del código Unicode, por lo tanto, se pueden declarar variables con el nombre:pueden declarar variables con el nombre:

► fechaDeNacimiento, edad, etc. (se acabó la época de fechaDeNacimiento, edad, etc. (se acabó la época de los nombres de variable como fecha_de_nacimiento), los nombres de variable como fecha_de_nacimiento), aunque eso sí, el primer carácter no puede ser un aunque eso sí, el primer carácter no puede ser un dígito numérico y no pueden utilizarse espacios en dígito numérico y no pueden utilizarse espacios en blanco ni símbolos coincidentes con operadores.blanco ni símbolos coincidentes con operadores.

► 3. 3. La longitud máxima de los identificadores es La longitud máxima de los identificadores es prácticamente ilimitada. prácticamente ilimitada.

Page 31: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

IDENTIFICADORESIDENTIFICADORES

► 4. 4. No puede ser una palabra reservada del lenguaje No puede ser una palabra reservada del lenguaje ni los valores lógicos true o false.ni los valores lógicos true o false.

► 5. 5. No pueden ser iguales a otro identificador No pueden ser iguales a otro identificador declarado en el mismo ámbito.declarado en el mismo ámbito.

► 6. 6. Por convenio, los nombres de las variables y los Por convenio, los nombres de las variables y los métodos deberían empezar por una letra minúscula métodos deberían empezar por una letra minúscula y los de las clases por mayúscula. Además, si el y los de las clases por mayúscula. Además, si el identificador está formado por varias palabras la identificador está formado por varias palabras la primera se escribe en minúsculas (excepto para las primera se escribe en minúsculas (excepto para las clases) y el resto de palabras se hace empezar por clases) y el resto de palabras se hace empezar por mayúscula (por ejemplo: fechaDeNacimiento). mayúscula (por ejemplo: fechaDeNacimiento).

Estas reglas no son obligatorias, pero son Estas reglas no son obligatorias, pero son convenientes ya que ayudan al proceso de convenientes ya que ayudan al proceso de codificación de un programa, así como a su codificación de un programa, así como a su legibilidad. Es más sencillo distinguir entre clases y legibilidad. Es más sencillo distinguir entre clases y métodos o variables.métodos o variables.

Page 32: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

IDENTIFICADORESIDENTIFICADORESEJEMPLOSEJEMPLOS

Page 33: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

DECLARACION DE VARIABLESDECLARACION DE VARIABLES

► Hay tres posibilidades:Hay tres posibilidades:

Tipo nombre;Tipo nombre;

Tipo nombre1, nombre2, nombre3;Tipo nombre1, nombre2, nombre3;

Tipo nombre=valor;Tipo nombre=valor;

Por ejemplo:Por ejemplo:float peso; float peso; Se declara una variable de tipo float Se declara una variable de tipo float

int temperatura, edad; int temperatura, edad; Se declaran dos variables del mismo Se declaran dos variables del mismo tipo.tipo.

double iva=16.5; double iva=16.5; se declara una variable y a su vez se se declara una variable y a su vez se lele

asigna un valor de inicio.asigna un valor de inicio.

Page 34: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

OperadoresOperadoresUn operador es un símbolo que se utiliza Un operador es un símbolo que se utiliza

para manipular datos.para manipular datos.

Clasificación: Los operadores pueden Clasificación: Los operadores pueden ser:ser:

►Operadores aritméticosOperadores aritméticosOperador Uso Descripción

+ op1 + op2 Suma op1 y op2

- op1 - op2 Resta op2 de op1

* op1 * op2Multiplica op1 por

op2

/ op1 / op2 Divide op1 por op2

% op1 % op2Calcula el resto de

dividir op1 entre op2

Page 35: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

OperadoresOperadores

Operador Uso Devuelve verdadero si

> op1 > op2 op1 es mayor que op2

>= op1 >= op2op1 es mayor o igual que

op2

< op1 < op2 op1 es menor que op2

<= op1 <= op2op1 es menor o igual que

op2

== op1 == op2 op1 y op2 son iguales

!= op1 != op2 op1 y op2 son distintos

•Operadores de comparación y condicionales (relacionales)

Un operador de comparación compara dos valores y determina la relación existente entre ambos. Por ejemplo, el operador != devuelve verdadero (true) si los dos operandos son distintos. La siguiente tabla resume los operadores de comparación:

Page 36: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

OperadoresOperadores

Operador Uso Devuelve verdadero si...

&& op1 && op2

op1 y op2 son ambos verdaderos,

condicionalmente evalúa op2

|| op1 || op2

op1 o op2 son verdaderos,

condicionalmente evalúa op2

! ! op op es falso

Operadores Lógicos

Page 37: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

OperadoresOperadores

Operador Uso Equivalente a 

+= op1 += op2 op1 = op1 + op2

-= op1 -= op2 op1 = op1 - op2

*= op1 *= op2 op1 = op1 * op2

/= op1 /= op2 op1 = op1 / op2

%= op1 %= op2 op1 = op1 % op2

Operadores de asignaciónEl operador de asignación básico es el = , que se utiliza para asignar un valor a otro. Por ejemplo:int contador = 0;Inicia la variable contador con un valor 0.

La siguiente tabla muestra los operadores de atajo de asignación y sus equivalentes largos:

Page 38: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

OperadoresOperadores

Tipo de operadores Operadores de este tipo

Paréntesis ( )

Multiplicación * / %

Suma + -

Comparación < <= >= >

Igualdad == !=

AND lógico &&

OR lógico ||

Asignación = += -= *= /= %=

Precedencia de operadores

Page 39: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

Tablas de verdadTablas de verdad

p ¬p

V F

F V

p q p^q

V V V

V F F

F V F

F F F

p q p v q

V V V

V F V

F V V

F F F

Page 40: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

ExpresionesExpresiones

►Una expresión es una combinación de Una expresión es una combinación de variables y/o constantes mediante variables y/o constantes mediante operadoresoperadores

Se clasifican en:Se clasifican en:

Expresiones aritméticasExpresiones aritméticas

Expresiones lógicasExpresiones lógicas

Page 41: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

Expresiones aritméticasExpresiones aritméticas

► las expresiones aritméticas se obtienen las expresiones aritméticas se obtienen combinando expresiones aritméticas más combinando expresiones aritméticas más sencillas con operadores aritméticos. sencillas con operadores aritméticos.

►Una expresión aritmética se compone de Una expresión aritmética se compone de operadores y operandos. Los operadores operadores y operandos. Los operadores actúan sobre los operandos para obtener actúan sobre los operandos para obtener un resultado. Los operadores aritméticos un resultado. Los operadores aritméticos más comúnmente utilizados son +, -, *, / más comúnmente utilizados son +, -, *, / y %. y %.

Page 42: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

EXPRESIONES ARITMETICASEXPRESIONES ARITMETICAS

2

22

z

yxJ

a

acbbC

2

42

sr

q

pn

mC

Page 43: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

EXPRESIONES LOGICASEXPRESIONES LOGICAS

Expresiones lógicas: son aquellas expresiones donde Expresiones lógicas: son aquellas expresiones donde intervienen expresiones aritméticas, operadores intervienen expresiones aritméticas, operadores relacionales y/o operadores lógicos.relacionales y/o operadores lógicos.

Simples:Simples: Expresiones donde intervienen expresiones Expresiones donde intervienen expresiones aritméticas con los operadores relacionales. Ejemplosaritméticas con los operadores relacionales. Ejemplos

(df == 3)(df == 3)(sueldo < 245000)(sueldo < 245000)(a + b > c)(a + b > c)Compuestas:Compuestas: Expresiones donde intervienen expresiones Expresiones donde intervienen expresiones

lógicas simples y los operadores lógicos. Ejemploslógicas simples y los operadores lógicos. Ejemplos(A + B < C) && (A + C > D) && ( B + C != A)(A + B < C) && (A + C > D) && ( B + C != A)(DF >= 3) && (DF < 4.5)(DF >= 3) && (DF < 4.5)(ED >= 18) || (ES >= 40)(ED >= 18) || (ES >= 40)

Page 44: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

FUNCIONESFUNCIONES

Son un conjunto de pasos preestablecidos Son un conjunto de pasos preestablecidos internamente en la máquina, los cuales son internamente en la máquina, los cuales son utilizados por el usuario con solo nombrarlos. Las utilizados por el usuario con solo nombrarlos. Las funciones se clasifican por categorías, la clase Math funciones se clasifican por categorías, la clase Math contiene todas las funciones en coma flotante que se contiene todas las funciones en coma flotante que se utilizan en geometría y trigonometría Su forma utilizan en geometría y trigonometría Su forma general o sintaxis de codificación es la siguiente:general o sintaxis de codificación es la siguiente:

Clase.Nombre preestablecido (argumento)Clase.Nombre preestablecido (argumento)Clase es el nombre de la clase que contiene las Clase es el nombre de la clase que contiene las

funciones, El nombre preestablecido indica el código funciones, El nombre preestablecido indica el código que nos identifica la función y el argumento puede que nos identifica la función y el argumento puede ser una variable, constante o expresión aritmética ser una variable, constante o expresión aritmética sobre la cual deseamos evaluar la función. sobre la cual deseamos evaluar la función.

Page 45: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

FUNCIONESFUNCIONES

TRIGONOMETRICASTRIGONOMETRICASSin (double a) devuelve el seno del ángulo a en radianes.Sin (double a) devuelve el seno del ángulo a en radianes.Cos (double a) devuelve el coseno del ángulo a en radianes.Cos (double a) devuelve el coseno del ángulo a en radianes.Tan (double a) devuelve la tangente del ángulo a en radianes.Tan (double a) devuelve la tangente del ángulo a en radianes.Asin (double r) devuelve el ángulo cuyo seno es r.Asin (double r) devuelve el ángulo cuyo seno es r.Acos (double r) devuelve el ángulo cuyo coseno es r.Acos (double r) devuelve el ángulo cuyo coseno es r.Atan (double r) devuelve el ángulo cuya tangente es r.Atan (double r) devuelve el ángulo cuya tangente es r.Atan2 (double a, double b) devuelve el ángulo cuya tangente es Atan2 (double a, double b) devuelve el ángulo cuya tangente es

a/b.a/b.

EXPONENCIALESEXPONENCIALESPow (double y, double x) devuelve y elevado a x; por ejemplo: Pow (double y, double x) devuelve y elevado a x; por ejemplo:

pow (2.0,3.0) devuelve 8.0pow (2.0,3.0) devuelve 8.0Exp (double x) devuelve e elevado a x.Exp (double x) devuelve e elevado a x.Log (double x) devuelve el logaritmo natural de x.Log (double x) devuelve el logaritmo natural de x.Sqrt (double x) devuelve la raíz cuadrada de x.Sqrt (double x) devuelve la raíz cuadrada de x.

Page 46: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

FUNCIONESFUNCIONESFunciones de redondeo:Funciones de redondeo:

Ceil (double a) devuelve el número completo más pequeño Ceil (double a) devuelve el número completo más pequeño mayor o igual que a.mayor o igual que a.

Floor (double a) devuelve el número completo más grande Floor (double a) devuelve el número completo más grande menor o igual que a.menor o igual que a.

Rint (double a) devuelve el valor double truncado de a.Rint (double a) devuelve el valor double truncado de a.Round (float a) devuelve a redondeado al int más cercano.Round (float a) devuelve a redondeado al int más cercano.Round (double a) devuelve a redondeado al long más cercano.Round (double a) devuelve a redondeado al long más cercano.

EjemplosEjemplos Math.cos ( X )Math.cos ( X )Math.sen ( X )Math.sen ( X )Math.pow (X,2)Math.pow (X,2)

Page 47: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

“No existen reglas fijas para construir programas claros, comprensibles y

comprobables. Hay, por supuesto, guías muy generales y muy buenas además;

pero el estilo individual del programador (o la ausencia de él), la claridad de su pensamiento (o la oscuridad de él), su

creatividad (o falta de ella), podrán contribuir significativamente al éxito de

esa tarea.” Peter J. Denning,

Acm Computing Surveys

Page 48: ALGORITMOS. ALGORITMOS 1.1 El objetivo principal de esta sesión es que identifiquemos algunos conceptos y elementos claves de la algoritmia, con los cuales

El esquema general de un El esquema general de un algoritmo es:algoritmo es:

► INICIOINICIO► /*Nombre:SumaDosNumeros/*Nombre:SumaDosNumeros► Objetivo:El algoritmo solicita dos números Objetivo:El algoritmo solicita dos números ► cualquiera y calcula la suma de ellos.cualquiera y calcula la suma de ellos.► Autor:Martha López.Autor:Martha López.► Fecha:15 de Noviembre del 2006.*/Fecha:15 de Noviembre del 2006.*/► //sección de declaración de variables.//sección de declaración de variables.► entero numero1;entero numero1;► //sección de lectura de datos.//sección de lectura de datos.► imprimir (“Ingrese un número”);imprimir (“Ingrese un número”);► leer (numero1);leer (numero1);► //sección de procesamiento de los datos//sección de procesamiento de los datos► /* aquí se efectúan los cálculos con base en el diseño/* aquí se efectúan los cálculos con base en el diseño► planteado*/planteado*/► //sección de impresión de resultados//sección de impresión de resultados► imprimir (“El resultado es: “, variable2);imprimir (“El resultado es: “, variable2);► FINFIN