Algoritmos y Desarrollo de Programas I

Slides:



Advertisements
Presentaciones similares
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE (SL-110) CAPÍTULO 5: DECLARACIÓN, INICIALIZACIÓN Y USO DE VARIABLES Ing. Ronald Criollo.
Advertisements

Curso de java básico (scjp)
ING SEC 3 - UCSC Agosto 2009 Laboratorio Lenguaje de Programación ING – Universidad Católica SSMA Concepción Semestre II Tema:
Introducción a la programación en JAVA
Elementos de Pascal Escribir un programa en Pascal que lea los valores de los catetos de un triángulo rectángulo y calcule y muestre la hipotenusa. program.
Fundamentos de la Programación Estructurada
Variables Prof. Gonzalo Pastor.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
3. INTRODUCCIÓN A LA PROGRAMACIÓN
ESTRUCTURAS DE SECUENCIA
Tipos de datos y campos.
Ingeniero Anyelo Quintero
VISUAL BASIC CONSOLA Todas las ordenes o instrucciones se digitan dentro de sub Main() y End Sub ÁREA DE TRABAJO: Las aplicaciones de consola son aquellas.
Vectores en java.
Conceptos Básicos de Java
Material Elaborado por: Lic. Saily González. CONTENIDO 2.1- Estructura de una Aplicación JAVA 2.2- Elementos básicos de la Programación JAVA Comentarios.
La estructura básica de los programas en java, algo a tener en cuenta y que debemos recordar siempre es el archivo debe llevar el nombre de la clase con.
Conceptos Adicionales sobre Variables y Constantes y la clase Math
Métodos Algoritmos y Desarrollo de Programas I. Cuando utilizar métodos  Los métodos se utilizan para romper un problema en pedazos de forma que este.
Estructuración y modularidad de los programas Fundamentos de Programación/ Programación I
Modificadores.
POO Java Módulo 3 Elementos de programas Identificadores
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Tema 6: Clases Antonio J. Sierra.
UNIVERSIDAD DE MANAGUA I CUATRIMESTRE INTRODUCCION A LA PROGRAMACION
Input – Scanner y Cajas de diálogo
Características de “C”
CARACTERÍSTICAS DE LOS PROGRAMAS
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SEMANA TRES ASIGNACION.
JAVA J.A.C..
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
Tema 7. Introducción a lenguaje de programación Visual Basic (clase 1)
Tema 2: Los tipos de datos
Java. Java nació el año 1991, por un par de ingenieros de la Sun Microsystems.
Sintaxis de C# (Declaraciones y Tipos)
ESTRUCTURA DE DATOS EN JAVA
Sistemas decimal, binario, octal y hexadecimal
Tipo de Datos Básicos.
COMPONENTES DE UN ALGORITMOS
Resumen Fundamentos de Programación/ Programación I
VBA – Elementos del Lenguaje
El Concepto de Tipo Los tipos permiten indicar la característica de los valores (datos) manipulados en un programa. Toda variable tiene asociado un tipo.
Informática Ingeniería en Electrónica y Automática Industrial
Algoritmo Ing. Maria Rosana Heredia
Programación orientada a objetos. El método main es el comportamiento por el cual comienzan todos los programas en Java, de la misma forma en la que C,
Introducción a la programación
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
IDENTIFICADORES Un identificador es un "nombre" que nos permite dirigirnos específicamente a una de las entidades propias del lenguaje, es decir, son los.
FUNDAMENTOS DE PROGRAMACIÓN
Términos algoritmo diseñar algoritmo implementar algoritmo
Estructura de un programa C
UNIVERSIDAD TECNICA PERTICULAR DE LOJA
PRINCIPIOS DE PROGRAMACIÓN

Operaciones Algebraicas
Presente un cuestionario con los aspectos mas importantes sobre los
Aspectos Básicos de Programación en JAVA
Fundamentos de Programación
UNIDAD 4: Introducción a la Lógica Computacional Objetivo : Interpretar y aplicar adecuadamente los fundamentos básicos de la estructura y funcionamiento.
Lic. Carla Aguirre Montalvo
Programación de Computadores
Algoritmos y Desarrollo de Programas I
Lenguaje de programación c
Prof. Víctor Aquino Urrutia
EL TIPO DE DATO LOGICO y constantes.
Informática Ingeniería en Electrónica y Automática Industrial
Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos.
Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento.
Ing. Barros Rodriguez D. Ronald Introducción a la Programacón.
Transcripción de la presentación:

Algoritmos y Desarrollo de Programas I Conceptos de Manejo de la Memoria Principal, Tipos de Datos y Expresiones Algoritmos y Desarrollo de Programas I

Objetivos Cuando finalice esta lección, el estudiante: Sabrá cómo declarar variables y constantes simbólicas usando el tipo de datos adecuado. Sabrá como convertir valores de un tipo de datos a otro. Podrá construir correctamente expresiones y enunciados de asignación.

La declaración y uso de variables Los programas trabajan con valores de dos clases: Las variables, que representan valores que pueden cambiar a medida que el programa ejecuta. Las constantes, que representan valores que NO pueden cambiar a medida que el programa ejecuta.

La declaración y uso de variables (cont.) Para poder usar una variable es necesario escribir un enunciado de declaración, como se ve en el siguiente ejemplo: int value; En este enunciado se indica el nombre de la variable (value) y su tipo de datos (int).

La declaración y uso de variables (cont.) El nombre de la variable es un identificador que corresponde a una dirección de memoria principal (RAM) que contiene un valor. Siempre que declaremos variables debemos usar nombres significativos, que permitan deducir para qué la estamos usando.

La declaración y uso de variables (cont.) Los identificadores deben cumplir con estas reglas: Se pueden usar letras, dígitos, subrayado (_) o el signo de dólar ($). NO pueden comenzar con un dígito ni contener espacios. Por costumbre, los nombres de variables y métodos comienzan con una letra minúscula pero los nombres de las clases comienzan con una letra mayúscula.

La declaración y uso de variables (cont.) Los siguientes son nombres válidos para variables: payRate pay_rate payrate test1 test_1 Los siguientes nombres son inválidos: pay rate … por el espacio test#1 … por el caracter ‘#’ 1stTest … porque comienza con dígito

La declaración y uso de variables (cont.) Recuerde que Java es sensitivo a las mayúsculas y minúsculas. Por lo tanto, las siguientes serían variables distintas: payRate payrate pay_rate

La declaración y uso de variables (cont.) El tipo de datos indica qué tipo de valores puede contener la variable. Los principales tipos de datos en los lenguajes de programación son: Numérico: un número que se puede usar en cómputos matemáticos. Ejemplos: -5.1, 0, 2.67, 9 Alfanumérico: uno o más símbolos, incluyendo letras y números que NO se usan en cómputos matemáticos. Ejemplos: ‘A’, ‘@’, ‘a’, “house” Lógico o Booleano: los valores true y false.

La declaración y uso de variables (cont.) Los datos numéricos se pueden clasificar como: Enteros – números que no tienen punto decimal, tales como -41, 0 y 52 Por ejemplo, una variable llamada age debe representar un número entero. Reales – números que tienen punto decimal o están en notación científica, tales como -9.16, 0.7, 2.387 y 52.0 Por ejemplo, una variable llamada salary debe representar un número real.

La declaración y uso de variables (cont.) En Java se utilizan los siguientes tipos de datos para representar números enteros: byte, short, int y long. En nuestro curso utilizaremos int para representar números enteros. En Java se utilizan los siguientes tipos de datos para representar números reales: float y double. En nuestro curso utilizaremos double para representar números reales. Todos estos nombres para los tipos de datos son palabras reservadas.

La declaración y uso de variables (cont.) ¿Por qué existen tantos tipos de datos distintos? El tipo de datos que usamos en la declaración de la variable determina la cantidad de espacio que se reserva en memoria y cómo el dato que contiene la variable se representará como número binario.

La declaración y uso de variables (cont.) Tipo byte short int long float double Tamaño 1 byte 2 bytes 4 bytes 8 bytes

La declaración y uso de variables (cont.) Los siguientes son ejemplos de declaraciones de variables numéricas: int age, yearsInSchool; int numberOfBooks = 0; double salary = 1500.75; double sumOfPrices = 0.0, itemPrice; Note que se pueden declarar varias variables usando un mismo enunciado y que se pueden indicar valores iniciales para las variables.

La declaración y uso de variables (cont.) El siguiente programa muestra cómo declarar y usar una variable: public class VariableExample { public static void main(String[] args) { int value = 5; System.out.println(“Value is " + value); value = 10; System.out.println("Now, value is " + value); } El programa mostrará en pantalla lo siguiente: Value is 5 Now, value is 10

Las constantes Además de variables, un programa puede contener constantes, que representan valores que no cambian. Por ejemplo, en Matemáticas el valor de π es una constante (aproximadamente 3.14159265). Otra constante es la cantidad de horas en un día (siempre es 24) o la cantidad de días en un año (aproximadamente 365.25).

Las constantes (cont.) Consideremos el siguiente programa para determinar la cantidad de días vividos por una persona de 18 años: public class DaysLivedApp { public static void main(String[] args) { final double DAYS_PER_YEAR = 365.25; int age; double daysLived; age = 18; daysLived = age * DAYS_PER_YEAR; System.out.println("You have lived " + daysLived + " days."); } Multiplicación

Las constantes (cont.) En el programa anterior, se declaron las siguientes variables: age – la edad de la persona daysLived – la cantidad de días vividos Además se declaró una constante simbólica: DAYS_PER_YEAR – la cantidad de días en un año (= 365.25)

Las constantes (cont.) El siguiente enunciado declara una constante simbólica en el programa: final double DAYS_PER_YEAR = 365.25; Una constante simbólica es un identificador que representa un valor que NO puede cambiar a medida que se ejecuta el programa.

Las constantes (cont.) En enunciado que declara la constante simbólica se pueden observar dos cosas importantes: La palabra reservada final indica que se declara una constante simbólica. Por costumbre el nombre de una constante simbólica se escribe usando solamente letras mayúsculas y el subrayado.

Las constantes (cont.) Además de constantes simbólicas, los programas también contienen literales. Un literal es un valor que aparece directamente en el código del programa. Por ejemplo: los valores 18, 365.26, “You have lived ” y “ days.” son literales en el programa discutido.

Las constantes (cont.) Los literales también se identifican por su tipo de datos: -452 es un literal que representa un número entero. 64.97 es un literal que representa un número real. ‘s’ es un literal que representa un caracter. “The final value is ” es un literal que representa una cadena de caracteres. true y false son literales que representan valores lógicos o booleanos.

Las constantes (cont.) Cuando se escriben literales que representan números se deben seguir las siguientes reglas: Se pueden usar dígitos y los símbolos + (positivo) o – (negativo). No se pueden usar comas No se pueden incluir unidades monetarias, de medida o de cualquier otro tipo

Las constantes (cont.) Los siguientes son literales válidos usados para inicializar variables: int number = 1235; int age = 6; double commissionPercent = 0.10; double payRate = 50.00; double weight = 100.5; Estos enunciados son inválidos: int number = 1,235; int age = 6 years; double commissionPercent = 10%; double payRate = $50.00; double weight = 100.5 lbs;

Las constantes (cont.) En el caso de lo números reales, los literales pueden representarse en notación científica, utilizando la “notación E”. La siguiente tabla muestra algunos ejemplos: Notación Decimal Notación Científica Notación E 4728.19 4.72819 × 103 4.72819E3 0.00072 7.2 × 10-4 7.2E-4 2900000 2.9 × 106 2.9E6

Las expresiones numéricas En el programa de nuestro ejemplo (DaysLivedApp) se calcula la cantidad de días vividos por la persona evaluando la siguiente expresión: age * DAYS_PER_YEAR Una expresión consiste de conjunto de valores (operandos) a los que se le aplica un proceso (operador) para obtener un resultado.

Las expresiones numéricas (cont.) Las expresiones numéricas son las que, al ser evaluadas, resultan en un valor numérico. Los siguientes son expresiones numéricas: 5 + 3 5 + 2 * 4 8 * 5 – 2 8 * (5 – 2) 12 + 6 / 3 (4 + 17) % 2 - 1

Las expresiones numéricas (cont.) Los operadores aritméticos de Java son: + Suma - Resta * Multiplicación / División % Módulo o Residuo

Las expresiones numéricas (cont.) Los operadores de suma (+), resta (-), multiplicación (*) y división (/) producen un resultado entero si ambos operandos son enteros: Expresión Resultado 76 + 55 131 112 – 34 78 12 * 8 96 17 / 3 5 (¡Cuidado!)

Las expresiones numéricas (cont.) Los operadores de suma (+), resta (-), multiplicación (*) y división (/) producen un resultado real si por lo menos uno de sus operandos es un número real: Expresión Resultado 76.3 + 55.24 131.54 112.9 – 34 78.9 12 * 8.3 99.6 17.0 / 3 5.666666666667

Las expresiones numéricas (cont.) El operador % devuelve el residuo al dividir el primer operando por el segundo. Por ejemplo, 17 % 3 devuelve 2 Cuando se usa el operador % ambos operandos tienen que ser enteros. El operador % se utiliza mucho en problemas en los cuales se necesita obtener el sobrante de una división: Detección de números impares o pares Determinar cantidad de horas y minutos sobrantes dado la cantidad total de minutos

Las expresiones numéricas (cont.) En Java los operadores se ejecutan en el siguiente orden (reglas de precedencia) *, / y % de izquierda a derecha + y – de izquierda a derecha Se pueden utilizar paréntesis, pero no corchetes, para lograr que ciertas operaciones se ejecuten antes de lo establecido.

Las expresiones numéricas (cont.) Los siguientes son ejemplos de expresiones que utilizan operadores aritméticos: Expresión Resultado Expresión Resultado 5 + 2 * 4 13 (5 + 2) * 4 28 20 / 5 – 3 1 20 / (5 – 3) 10 8 + 12 * 2 – 4 28 (8 + 12) * 2 – 4 36 4 + 17 % 2 – 1 4 (4 + 17) % 2 – 1 0 6 – 3 * 2 + 7 – 1 6 (6 – 3) * (2 + 7) – 1 26

Los enunciados de asignación y las expresiones numéricas Lo siguiente es un enunciado de asignación: daysLived = age * DAYS_PER_YEAR; En un enunciado de asignación se evalúa la expresión a la derecha del signo de = y se asigna el resultado a la variable de la izquierda.

Los enunciados de asignación y las expresiones numéricas (cont.) Los siguientes son ejemplos de enunciados de asignación que evalúan expresiones numéricas: cost = 5.99 + 17.50 + 2.35; tax = cost * .07; total = cost + tax - discount; average = (nota1 + nota2 + nota3)/ 3.0; Note en el último enunciado que, si no se colocan los paréntesis, el promedio se calcularía incorrectamente.

Los enunciados de asignación y las expresiones numéricas (cont.) Al símbolo = se le conoce como el operador de asignación. Al lado izquierdo del operador de asignación solamente puede aparecer una variable (la que almacenará el resultado). Al lado derecho del operador de asignación puede aparecer: Un literal Una constante simbólica Una variable Una expresión que combine los anteriores

Los enunciados de asignación y las expresiones numéricas (cont.) Los siguientes son algunos ejemplos de enunciados de asignación: value1 = 15; value2 = HOURS_PER_DAY; value3 = value1; value4 = value2 * 5; value3 = value3 + 1; Note en el último ejemplo que matemáticamente esto no tiene sentido pero en programación esto equivale a aumentar por uno el valor de la variable. Este enunciado lo podemos usar para simular el proceso humano de contar.

Los enunciados de asignación y las expresiones numéricas (cont.) Un enunciado de asignación como value3 = value3 + 1; es tan común en programación que Java incluye una serie de operadores diseñados específicamente para abreviar estos enunciados. Los operadores compuestos combinan la operación de asignación con una operación aritmética.

La conversión entre tipos de datos numéricos Para que se almacene un valor en una variable es necesario que el tipo del valor sea compatible con el declarado para la variable. Java hace algunas conversiones automáticamente de forma que el valor y la variable donde se almacena sean compatibles excepto si esto puede ocasionar perdida de datos.

La conversión entre tipos de datos numéricos (cont.) Por ejemplo, los siguientes enunciados no causarán ningún problema: int number = 60; double value = number; El segundo enunciado declara la variable value como de tipo double y le asigna 60.0 Note que el 60 de la variable number se convirtió de forma automática a 60.0 ya que no se pierde información en la conversión.

La conversión entre tipos de datos numéricos (cont.) Los siguientes enunciados sí causarán problemas: double number = 6.579; int value = number; En este caso, no se puede asignar el valor de number a value a menos que se haga una de dos cosas con el 6.579: Se redondea el valor, convirtiéndolo en 7 Se trunca el valor (se descarta la parte fraccionaria), convirtiéndolo en 6 En ambos casos, la conversión causa pérdida de información y no se realiza automáticamente, causando un error de sintaxis.

La conversión entre tipos de datos numéricos (cont.) ¿Cómo Java sabe si puede hacer la conversión automática? En Java los tipos de datos guardan una jerarquía u orden de precedencia. La conversión de un valor de menor jerarquía a uno de mayor jerarquía (widening) se realiza automáticamente. double Mayor Jerarquía float long int short byte Menor Jerarquía

La conversión entre tipos de datos numéricos (cont.) La conversión de un valor de mayor jerarquía a uno de menor jerarquía (narrowing) causa un error de sintaxis a menos que el programador fuerce esta conversión haciendo type casting. En los siguientes enunciados se utilizó el type casting para convertir el 6.579 a entero truncando y almacenar el nuevo valor (ahora 6) en value. double number = 6.579; int value = (int)number;

La conversión entre tipos de datos numéricos (cont.) Otro ejemplo: int exam1 = 97, exam2 = 88, exam3 = 93; double average = (exam1 + exam2 + exam3) / 3; ¿Qué se almacena en average? Aunque el promedio es 92.66667, se almacena 92.0 debido a que la división de enteros descartó la parte fraccionaria del resultado. Para resolver este problema se puede usar type casting: double average = (double)(exam1 + exam2 + exam3) / 3;

La conversión entre tipos de datos numéricos (cont.) public class StudentAverageApp { public static void main(String[] args) { int exam1 = 97, exam2 = 88, exam3 = 93; double average; average = (double)(exam1 + exam2 + exam3) / 3; System.out.println("The average is " + average); }

Los caracteres y el tipo de datos char Como se indicó al inicio de esta lección, Java provee el tipo de datos char para variables en las que se almacena un solo caracter. Esto quiere decir que dentro de la variable se puede guardar una letra, dígito, espacio o cualquier otro símbolo que aparezca en el teclado.

Los caracteres y el tipo de datos char (cont.) El siguiente programa muestra el uso de char: public class CharExample { public static void main(String[ ] args) { char currentChar = 'A'; System.out.println("The current character is " + currentChar); currentChar = 'B'; System.out.println("The new character is " + }

Las cadenas de caracteres y la clase String Una variable que almacenará una cadena de caracteres debe ser declarada de tipo String. Una cadena de caracteres (String) puede ser un nombre, varias letras, una frase, una oración o cualquier combinación de caracteres entre comillas dobles.

Las cadenas de caracteres y la clase String (cont.) La letra S mayúscula de la palabra String indica que éste es el nombre de una clase. En Java, las clases pueden ser usadas para: Representar programas como los que hemos escrito en el curso. Representar bibliotecas de rutinas (por ejemplo: System, JOptionPane, Math). Representar tipos de datos adicionales a los tipos de datos primitivos (por ejemplo: String).

Las cadenas de caracteres y la clase String (cont.) Los tipos de datos primitivos representan valores atómicos, ésto es, que no se subdividen. En Java los tipos de datos primitivos son: Enteros: short, byte, int, long Reales: float, double Caracteres: char Lógicos o Booleanos: boolean

Las cadenas de caracteres y la clase String (cont.) El tipo String se considera un tipos de datos compuesto ya que se construyen a base de datos primitivos (los caracteres). Otro nombre para los tipos de datos compuestos en Java es tipos de referencia.

Las cadenas de caracteres y la clase String (cont.) Las variables cuyo tipo de datos es de referencia (como String) son particulares ya que no almacenan directamente el valor que se les asigna. Por razones técnicas que veremos en el próximo curso, el valor se almacena en un lugar distinto a donde se almacena la variable.

Las cadenas de caracteres y la clase String (cont.) A este tipo de valor se le conoce como un objeto. La variable de tipo String almacena la dirección donde se encuentra el objeto. Se dice, por lo tanto, que una variable de tipo String contiene una referencia al valor asignado (el objeto).

Las cadenas de caracteres y la clase String (cont.) Por ejemplo: int number = 5; char grade = ‘B’; String cityName = “Bayamón”; Esto es lo que se almacena en RAM: number 5 grade ‘B’ cityName address “Bayamón”

Las cadenas de caracteres y la clase String (cont.) El operador más importante para manejar strings es la concatenación (+). Este operador simplemente une dos valores alfanuméricos. Ejemplos: “Ja” + “va”  “Java” “Puerto ” + “Rico”  “Puerto Rico”

Las cadenas de caracteres y la clase String (cont.) En Java si se utiliza + y uno de los operandos es del tipo String, se convierten los demás operandos al string correspondiente y se concatenan. Por ejemplo: ‘P’ + “uerto Rico”  “Puerto Rico” “Your age is ” + 18  “Your age is 18” “The result is ” + (5 + 3)  “The result is 8” Este comportamiento es usado para mostrar valores de distintos tipos en la pantalla.