Elementos de Programación

Slides:



Advertisements
Presentaciones similares
Tema 2: Los tipos de datos
Advertisements

Elementos básicos del lenguaje
Fundamentos de Programación
EL TIPO DE DATO LOGICO y constantes.
Unidad 1: Conceptos fundamentales Instituto Tecnológico de Toluca Ing. Sistemas Computacionales Asignatura: Programación Lógica y Funcional Presentan Nieto.
Programación II Sesión 3. TABLA DE CONTENIDO  Tipos de Datos en C  Delimitadores  Tipo Char  Tipo Int  Tipo Float  Tipo Double  Constantes  Operadores.
ALGORITMOS Y TIPOS DE DATOS Un algoritmo es un método para resolver un problema. Para la creación de un programa (resolver un problema) en un lenguaje.
¿Qué es un Diagrama de Flujo? UN DIAGRAMA DE FLUJO, TAMBIÉN LLAMADO FLUJOGRAMA DE PROCESOS O DIAGRAMA DE PROCESOS, REPRESENTA LA SECUENCIA O LOS PASOS.
Flujos de datos Un flujo es un canal por donde fluyen los datos.
Traducción dirigida por la Sintaxis Teoría de Autómatas y Lenguajes Formales Alma María Pisabarro, 2007.
PROGRAMACIÓN ORIENTADA A OBJETOS SEGUNDA UNIDAD: “CLASES, OBJETOS Y MÉTODOS” IRVING YAIR SALAS CHÁVEZ ING. EN SISTEMAS COMPUTACIONALES - ITSLP.
Control, adquisición y monitoreo con Arduino y Visual Basic .net
FUNCIONAMIENTO BÁSICO
Ingreso , proceso y salida de datos
Taller de Java Universidad de los Andes
Convenciones de nomenclatura y diseño
Tema 6: Elementos de programación adicionales
Operadores Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++.
¿Cómo almacenar datos dentro del computador?
Repaso Programacion en C
ROBERTO PINEDA FLORES. ALEXIS JULIAN VELAZQUEZ NAVA.
Programación en C - manejo de Archivos
Tema 4 Elementos para el Desarrollo de Algoritmos
5. Fundamentos de algoritmos
PSEUDOCÓDIGO Prof. Rafael Mourglia.
¿Qué es un OPERADOR? “Un operador es un elemento de programa que se aplica a uno o varios operandos en una expresión o instrucción. Los operadores que.
Tema 6. Conceptos básicos de programación (Clase 2)
TUTORIAL PSeint.
Leccion 5: Escogiendo un Tipo de Variable
Constantes y variables
ETAPAS PARA SOLUCIONAR UN PROBLEMA
LÓGICA DE PROGRAMACIÓN
EXPRESIONES Una expresión es una forma especial de asignación.
Unidad 3. Introducción a la programación
Tema 7. Introducción a lenguaje de programación Visual Basic (clase 1)
FLUJOS (Flujos de Bytes-Caracteres)
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
PROGRAMACION: Que es un computador: Es un aparato electrónico que tiene el fin de recibir y procesar datos para realización de diversas operaciones..
HERRAMIENTAS DE PROGRAMACIÓN
Fundamentos de programación
Estructuras de Repetición Pseudocodigo1 Estructuras de Repetición Algoritmos Mientras Hacer-Mientras Para.
U NIVERSIDAD S AN P EDRO F ILIAL B ARRANCA F ACULTAD DE I NGENIERÍA E SCUELA P ROFESIONAL DE I NG. I NFORMÁTICA Y DE S ISTEMAS C URSO : ALGORITMOS Tema.
Introducción práctica la uso de la tarjeta Arduino.
INFORMÁTICA II BLOQUE I: ALGORITMOS Y DIAGRAMAS DE FLUJO
Características de “C”
¿Para qué se utiliza el PSEINT?
CURSO PROGRAMACIÓN BÁSICA SEMANA 3 ¿Qué es un programa?
Programación I MC José Andrés Vázquez Flores
Procesamiento de señales Introducción a Matlab 2014
Fundamentos de la Programación I
Datos Numéricos Capítulo 3 Libro: Programación en Java - Thomas C. Wu 4to. Semestre – Opt. I – POO Introducción en Java.
PROGRAMACIÓN (2).
M. en TI. Omar Téllez Barrientos DOCENTE DE INFORMÁTICA GENERACIÓN DE PSEUDOCÓDIGOS Y ALGORITMOS
SC-115 Programación Básica Lección número 2. Agenda 1.Comprobación del trabajo extra-clase. 2.Conceptos fundamentales 1.Tipos de datos 2.Identificadores,
Estructura general de un programa. Estructura general de un programa. Pseudocódigo Diagrama de flujo Concepto de programas. Concepto de programas. Instrucciones.
TUTORIAL PS EINT FUNDAMENTOS DE PROGRAMACIÓN Ing. Elizabeth Díaz Orea.
Informática Ingeniería en Electrónica y Automática Industrial
TUTORIAL PS EINT FUNDAMENTOS DE PROGRAMACIÓN Ing. Elizabeth Díaz Orea.
Tema 6. Conceptos básicos de programación (Clase 2)
Algunas Características de C++ no presentes en C
Tema 7. Introducción a lenguaje de programación Visual Basic (clase 1)
Estructuras de Repetición Algoritmos
NATURALEZA DE LOS DATOS Valores Numéricos Son los valores que se pueden hacer cálculos aritméticosritméticos Tipos de valores Entero Real Cadena ( “ h”
Unidad I Introducción a la Lógica Algorítmica
CONTROLES Y ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN  1. Algoritmos: conjunto de instrucciones programadas para resolver una tarea específica.  2. Datos:
INTRODUCCIÓN A LA INFORMÁTICA
Prof. Marcos Heredia.  Primitivos y No Primitivos.
Fundamentos Algorítmicos 1
Fundamentos Algorítmicos 1
UNIDAD II Generalidades sobre Algoritmos
Transcripción de la presentación:

Elementos de Programación Introducción Tipos de datos primitivos Variables y asignación Entrada y salida Operadores aritméticos Decisiones Iteración Desarrollo de programas Algoritmos Escuela Superior de Informática. UCLM

Elementos de programación - Introducción Pasemos a ver los elementos básicos en programación El Capítulo 3 se centra en: tipos de datos declaración y uso de las variables operadores y expresiones decisiones y bucles (lazos) entrada y salida Escuela Superior de Informática. UCLM

Tipos de Datos Primitivos Un tipo de dato es definido por un conjunto de valores y los operadores que pueden operar sobre ellos Cada valor almacenado en memoria se asocia con algún tipo de dato en particular. El lenguaje Java posee diversos tipos predefinidos, llamados tipos de datos primitivos. Las siguientes palabras reservadas representan ocho tipos primitivos diferentes. byte, short, int, long, float, double, boolean, char Escuela Superior de Informática. UCLM

Escuela Superior de Informática. UCLM Valores Enteros Existen cuatro tipos de datos primitivos para los enteros. Difieren por la cantidad de memoria que requieren para ser guardados: Tipo byte short int long Memoria 8 bits 16 bits 32 bits 64 bits Valor Mínimo -128 -32,768 -2,147,483,648 < -9 x 1018 Valor Máximo 127 32,767 2,147,483,647 > 9 x 1018 Escuela Superior de Informática. UCLM

Valores en Punto Flotante Hay dos tipos de valores en punto flotante (Reales): El tipo float almacena 7 dígitos significativos El tipo double almacena 5 dígitos significativos Valor Mínimo Aproximado -3.4 x 1038 -1.7 x 10308 Valor Máximo Aproximado 3.4 x 1038 1.7 x 10308 Tipo float double Memoria 32 bits 64 bits Escuela Superior de Informática. UCLM

Escuela Superior de Informática. UCLM Caracteres Un valor char almacena un carácter simple del conjunto de caracteres Unicode Un conjunto de caracteres es una lista ordenada de caracteres El conjunto de caracteres Unicode utiliza 16 bits para representar cada carácter pudiendo representar 65,536 caracteres diferentes Unicode es un conjunto internacional de caracteres y contiene los caracteres y símbolos provenientes de muchas lenguas del mundo. Escuela Superior de Informática. UCLM

Escuela Superior de Informática. UCLM Caracteres El conjunto de caracteres ASCII se utiliza aún en muchos lenguajes de programación. ASCII es un subconjunto de Unicode e incluye: Letras mayúsculas Letras minúsculas Signos de puntuación Dígitos Símbolos especiales Caracteres de control A, B, C, … a, b, c, … punto, punto y coma, … 0, 1, 2, … &, |, \, … retorno, tab, ... Escuela Superior de Informática. UCLM

Valores lógicos o Booleanos Un valor boolean representa una condición verdadera o falsa Pueden usarse para representar dos estados cualesquiera como que un foco esté encendido o apagado Las palabras reservadas true y false son los únicos valores válidos para los datos booleanos. Escuela Superior de Informática. UCLM

Clases Contenedoras (Wrappers) Para cada tipo de dato primitivo hay una clase contenedora que le corresponde. Por ejemplo: Las clases contenedoras son útiles en situaciones en las cuales se necesita un objeto en lugar de un tipo primitivo Estas clases contienen también algunos métodos útiles Tipo Primitivo int double char boolean Clase contenedora Integer Double Character Boolean Escuela Superior de Informática. UCLM

Escuela Superior de Informática. UCLM Variables Una variable es un identificador que representa una localización en la memoria y pertenece a algún tipo de dato Las variables tienen que declararse antes de usarse La sintaxis de la declaración de una variable es: tipo-de-dato nombre-de-la-variable; Por ejemplo: int total; Escuela Superior de Informática. UCLM

Escuela Superior de Informática. UCLM Variables Pueden declararse varias variables en una misma línea: int total, cuenta, suma; Las variables pueden inicializarse (darles un valor inicial) en la propia declaración: int total = 0, cuenta = 20; float precio_unitario = 57.25; Ver Piano_Keys.java Escuela Superior de Informática. UCLM

La instrucción de asignación Una instrucción de asignación tiene la forma: nombre-de-variable = expresión; La expresión es evaluada y el resultado es almacenado en la variable, escribiendo su valor sobre el valor que hubiera antes en la variable. Ver United_States.java Una expresión puede ser un valor simple o representar un cálculo mas complicado que involucre varias operaciones Escuela Superior de Informática. UCLM

Escuela Superior de Informática. UCLM Constantes Una constante es similar a una variable excepto que ellas conservan su valor durante todo el tiempo de existencia Se especifican utilizando la palabra reservada final en la declaración Por ejemplo: final double PI = 3.14159; final int ESTUDIANTES = 25; Escuela Superior de Informática. UCLM

Escuela Superior de Informática. UCLM Constantes Cuando se utilizan adecuadamente, las constantes resultan útiles porque: se previene la aparición de errores inadvertidos ya que no pueden cambiar de valor Son más apropiadas que los valores literales porque: Hacen el código más legible al darle significado al valor Facilitan los cambios porque su valor es especificado en un solo lugar Escuela Superior de Informática. UCLM

Escuela Superior de Informática. UCLM Entrada y Salida La E/S en Java se basa en corrientes de entrada y corrientes de salida (streams) Hay tres corrientes standard predefinidas: Los métodos print y println escriben hacia la salida standard Stream System.in System.out System.err Propósito lectura entrada escritura salida errores escritura Dispositivo por defecto teclado monitor Escuela Superior de Informática. UCLM

Escuela Superior de Informática. UCLM Entrada y Salida La API de Java le permite crear diversos tipos de streams para realizar varios tipos de entrada y salida Para leer cadenas de caracteres, podemos convertir la corriente System.in en otro tipo de corriente usando: BufferedReader stdin = new BufferedReader (new InputStreamReader (System.in)); Esta declaración crea un nuevo stream llamado stdin Discutiremos en detalle la creación de objetos mas adelante Escuela Superior de Informática. UCLM

Escuela Superior de Informática. UCLM Secuencias de escape Ver Echo.java Una secuencia de escape es una secuencia de caracteres especial precedida por un backslash (\) Indican algún propósito especial, por ejemplo: Secuencia de escape \t \n \" \' \\ Significado tabulación nueva línea dobles comillas comilla simple backslash Escuela Superior de Informática. UCLM

Escuela Superior de Informática. UCLM Buffers A medida que uno escribe, los caracteres se almacenan en un área especial de memoria llamada buffer de entrada. Al terminar la entrada (poner enter), el programa comienza a procesar los datos Del mismo modo, la información de salida se almacena temporalmente en un buffer de salida El buffer de salida puede ser explícitamente descargado (flushed) (enviado a pantalla) usando el método flush Ver Python.java Escuela Superior de Informática. UCLM

Escuela Superior de Informática. UCLM Entrada numérica La conversión de una cadena que contiene un entero a un valor entero puede hacerse a través del método parseInt de la clase contenedora Integer: valor = Integer.parseInt (mi_cadena); Un valor puede ser leído y convertido en una sola línea: num = Integer.parseInt (stdin.readLine()); Ver Addition.java y Addition2.java Escuela Superior de Informática. UCLM

Escuela Superior de Informática. UCLM Expresiones Una expresión es una combinación de operadores y operandos Los operadores aritméticos incluyen: adicción (+), sustracción (-), multiplicación (*), y división (/) Los operandos pueden ser valores literales, variables, u otras fuentes de datos El programador determina que hacer con el resultado de una expresión (almacenarlo, imprimirlo, etc.) Escuela Superior de Informática. UCLM

Escuela Superior de Informática. UCLM División Si los operandos en el operador / son ambos enteros, el resultado es un entero (se trunca la parte fraccionaria) Si uno o ambos operandos en el operador / son valores de punto flotante, el resultado será un valor de punto flotante El operador resto (%) devuelve el entero restante después de dividir el primer operando entre el segundo Ambos operandos en el operador % deben ser enteros Ver Division.java El resultado restante toma el signo del numerador Escuela Superior de Informática. UCLM

Escuela Superior de Informática. UCLM División Expresión 17 / 5 17.0 / 5 17 / 5.0 9 / 12 9.0 / 12.0 6 % 2 14 % 5 -14 % 5 Resultado 3 3.4 0.75 4 -4 Escuela Superior de Informática. UCLM

Precedencia de Operadores El orden en que los operandos de una expresión son evaluados se determina por una jerarquía de precedencia bien definida Los operadores con el mismo nivel de precedencia se evalúan de acuerdo a su asociatividad (de derecha a izquierda o de izquierda a derecha) Los paréntesis se utilizan para forzar la precedencia Escuela Superior de Informática. UCLM

Precedencia de Operadores Los operadores de multiplicación, división, y resto tienen mayor precedencia que la adición y la sustracción Ambos grupos se asocian de izquierda a derecha Expresión: Orden de evaluación: Resultado: 5 + 12 / 5 - 10 % 3 6 3 1 4 2 Escuela Superior de Informática. UCLM

Precedencia de Operadores Expresión 2 + 3 * 4 / 2 3 * 13 + 2 (3 * 13) + 2 3 * (13 + 2) 4 * (11 - 6) * (-8 + 10) (5 * (4 - 1)) / 2 Resultado 8 41 45 40 7 Escuela Superior de Informática. UCLM

Escuela Superior de Informática. UCLM La instrución if La instrucción if de Java tiene la siguiente sintaxis: if (condición) instrucción; Si la condición booleana es verdadera, se ejecuta la instrucción, pero si es falsa no se ejecuta Esta es la forma básica de realizar la toma de decisiones Escuela Superior de Informática. UCLM

Escuela Superior de Informática. UCLM La instrucción if instrucción condición false true Escuela Superior de Informática. UCLM

Expresiones Booleanas La condición de una instrucción if siempre debe dar un resultado verdadero o falso Java posee varios operadores de igualdad y de relación: Ver Temperature.java Operador == != < <= > >= Significado igual que no igual que menor que menor o igual que mayor que mayor o igual que Escuela Superior de Informática. UCLM

Bloques de instrucciones Varias instrucciones pueden agruparse para formar un bloque de instrucciones Los bloques se delimitan con llaves Un bloque de instrucciones puede colocarse en cualquier lugar en que pueda usarse una instrucción simple Ver Temperature2.java Escuela Superior de Informática. UCLM

La instrucción if-else En una instrucción if puede añadirse una cláusula else obteniéndose la instrucción de control if-else : if (condición) instrucción1; else instrucción2; Si la condición resulta true, se ejecuta instrucción1 si resulta false, se ejecuta instrucción2 Ver Temperature3.java y Right_Triangle.java Escuela Superior de Informática. UCLM

La instrucción if-else condición false true instrucción2 Escuela Superior de Informática. UCLM

Instrucciones if anidadas El cuerpo de la una instrucción if o la cláusula else pueden ser, a su vez, otra instrucción if Esto se denomina anidamiento de instrucciones if Ver Football_Choice.java Nota: una cláusula else corresponde al último if no ejecutado Escuela Superior de Informática. UCLM

Escuela Superior de Informática. UCLM La instrucción while La instrucción while posee el siguiente formato: while (condición) instrucción; Si la condición es verdadera, la instrucción es ejecutada; y la condición es evaluada nuevamente La instrucción se ejecuta una y otra vez hasta que en algún momento, la condición devenga falsa Escuela Superior de Informática. UCLM

Escuela Superior de Informática. UCLM La instrucción while instrucción condición false true Escuela Superior de Informática. UCLM

Escuela Superior de Informática. UCLM La instrucción while Si la condición de una instrucción while es false inicialmente, la instrucción nunca llega a ser ejecutada Por eso decimos que una instrucción while se ejecuta ninguna o varias veces Ver Counter.java, Factors.java, y Powers_of_Two.java Escuela Superior de Informática. UCLM

Bucles (lazos, loops) infinitos El cuerpo de un bucle while debe en algún momento provocar el valor falso en la condición Si esto no ocurriese, tendríamos un bucle infinito, el cual estaría ejecutandose sin parar hasta que el programa fuera interrumpido Este es un tipo de error lógico muy frecuente. Siempre chequee dos o tres veces que sus bucles terminarán normalmente Ver Forever.java Escuela Superior de Informática. UCLM

Desarrollo de programas La creación de software involucra cuatro actividades básicas: establecer los requerimientos crear un diseño implementar el código (escribirlo y editarlo) probar y poner en funcionamiento el programa El proceso de desarrollo de programas es mucho mas elaborado, pero éstos pasos básicos pueden constituir un buen punto de partida para nuestro trabajo Escuela Superior de Informática. UCLM

Escuela Superior de Informática. UCLM Requerimientos En los requerimientos, especificamos las tareas que nuestro programa deberá realizar (que hay que hacer, no cómo hacerlo) Es usual que dispongamos de un conjunto inicial de requerimientos pero también es normal que posteriormente sean criticados, modificados o ampliados A veces es difícil establecer requerimientos completos, detallados y sin ambigüedades El prestar atención cuidadosa a los requerimientos nos ahorrarán mucho tiempo y recursos en el desarrollo posterior del proyecto Escuela Superior de Informática. UCLM

Diseño (programación imperativa) Un programa sigue un algoritmo que es un proceso paso a paso para resolver un problema Con el diseño especificamos el algoritmo y los datos necesarios. En el esquema orientado a objetos, el diseño incluye el establecimiento de las clases, objetos y métodos requeridos Una práctica usual es la de expresar los métodos en seudocódigo el cual es parecido al código de un lenguaje pero sin seguir reglas sintácticas necesariamente fijas Escuela Superior de Informática. UCLM

Escuela Superior de Informática. UCLM Implementación La implementación es el proceso de traducción de un diseño a código fuente Muchos programadores inexpertos creen que la escritura del código es lo mas importate en el desarrollo del software. En realidad esta actividad es muy poco creativa Casi todas las decisiones importantes son tomadas durante el análisis de requerimientos y el diseño La implementación se centra en los detalles de la codificación que incluyen el uso de estilos adecuados y realizar la documentación Escuela Superior de Informática. UCLM

Escuela Superior de Informática. UCLM Prueba Todo programa debe ejecutarse muchas veces y con diversas entradas con el fin de detectar posibles errores La depuración es el proceso por el cual descubrimos las causas de los problemas y los resolvemos Los programadores suelen pensar que ”solo habrá un error mas" Las pruebas deben considerar los detalles de diseño así como en los requerimientos generales Escuela Superior de Informática. UCLM

El desarrollo de programas Ver Average.java Siga siempre los pasos del proceso: análisis de requerimientos, diseño, implementación y prueba Siempre habrá diversas maneras de diseñar e implementar un programa Todo diseño tendrá ventajas y desventajas; Siempre habrá posibilidades de hacer cambalaches Ver Average2.java Escuela Superior de Informática. UCLM