Está en la página 1de 85

FUNDAMENTOS DE

PROGRAMACIN
TEMA 1
CONTENIDO
1.- Lenguajes de programacin
2.- Bloques fundamentales
3.- Variables
4.- Operadores y expresiones
5.- Estructuras
6.- Comentarios y documentacin
7.- Tipos de datos
8.- Literales
9.- Constantes
10.- Palabras reservadas
11.- Conversiones de tipo
12.- Entornos de desarrollo gestores de cdigo
LA PROGRAMACIN

PROGRAMAR PROGRAMA
CORRECCIN Y EFICIENCIA
ALGORITMO Y PROGRAMA
PSEUDOCDIGO
Algoritmo; rea
Entorno: BASE, ALTURA, AREA son nmero enteros
Inicio:
escribir Introduzca la base y la altura
leer BASE, ALTURA
calcular AREA = BASE * ALTURA
escribir El rea del rectngulo es AREA
Finprograma
DIVIDE Y VENCERS
Ms que una tcnica de diseo de
algoritmos

Problema complejo subproblemas ms


simples

Subproblemas divisin en
subproblemas an ms simples
TCNICAS DE PROGRAMACIN
ESTRUCTURADA ORIENTADA A OBJETOS

Procesos en estructuras lo Representa la vida real.


ms simples posibles: Propiedades y mtodos.
secuencia, seleccin e Java es orientado a objetos.
iteracin.
Java Clases
Varios caminos desde
entrada hasta salida.
Todas las instrucciones
pueden ser ejecutables y no
hay bucles infinitos o sin fin.
FASES RESOLUCIN PROBLEMAS

Resolucin

Implementacin

Explotacin y
mantenimiento
RESOLUCIN

ANLISIS DEL DISEO DEL VERIFICACIN


PROBLEMA ALGORITMO MANUAL DEL
ALGORITMO
IMPLEMENTACIN

CODIFICAR DEPURAR PRUEBAS DOCUMENTAR


EXPLOTACIN

ADAPTACIN CORREGIR
ACTUALIZACIN ERRORES
INSTALACIN SCRATCH

Desde casa: Web

Clase: Carpeta compartida


ESCENARIO
INICIO A SCRATCH
DIBUJAR UN CUADRADO
E/S DE INFORMACIN EN SCRATCH

Pedir datos

Ejemplo 2
Contenido
1.- Lenguajes de programacin
2.- Bloques fundamentales
3.- Variables
4.- Operadores y expresiones
5.- Estructuras
6.- Comentarios y documentacin
7.- Tipos de datos
8.- Literales
9.- Constantes
10.- Palabras reservadas
11.- Conversiones de tipo
12.- Entornos de desarrollo gestores de cdigo.
BLOQUES FUNDAMENTALES
Bloque de declaraciones:
Se especifican todos los objetos que utiliza el programa
(constantes, variables, tablas, registros, archivos, etc.).
Bloque de instrucciones:
Conjunto de operaciones que se han de realizar para la
obtencin de los resultados deseados.
Contenido:
1.- Lenguajes de programacin
2.- Bloques fundamentales
3.- Variables
4.- Operadores y expresiones
5.- Estructuras
6.- Comentarios y documentacin
7.- Tipos de datos
8.- Literales
9.- Constantes
10.- Palabras reservadas
11.- Conversiones de tipo
12.- Entornos de desarrollo gestores de cdigo.
VARIABLES
Es como una caja
Lenguajes tipados
VARIABLES EN SCRATCH
Contenido:
1.- Lenguajes de programacin
2.- Bloques fundamentales
3.- Variables
4.- Operadores y expresiones
5.- Estructuras
6.- Comentarios y documentacin
7.- Tipos de datos
8.- Literales
9.- Constantes
10.- Palabras reservadas
11.- Conversiones de tipo
12.- Entornos de desarrollo gestores de cdigo.
Operadores y expresiones en Scratch

Aritmticos
Tipos
Booleanos
Aritmticos Ejemplo 3
Ejercicios 4-6

Los ms usuales: + - * /

Podemos utilizar expresiones mod

CUIDADO con las variables que no son


numricas
Booleanos

Slo admiten dos valores:


True
False
Contenido:
1.- Lenguajes de programacin
2.- Bloques fundamentales
3.- Variables
4.- Operadores y expresiones
5.- Estructuras
6.- Comentarios y documentacin
7.- Tipos de datos
8.- Literales
9.- Constantes
10.- Palabras reservadas
11.- Conversiones de tipo
12.- Entornos de desarrollo gestores de cdigo.
Estructuras

Estructuras declarativas Caractersticas del Sprite


1

Estructuras de E/S say, ask


2

Estructuras de asignacin set, change


3

Estructuras de control
4
Estructuras de control

Secuenciales

De seleccin

De repeticin
Estructura secuencial

Sentencia Sentencia Sentencia


1 2 3
Estructura de seleccin simple

Scratch
Verdadero
Condicin

Instrucciones
Falso
Estructura de seleccin doble

Scratch
Falso Verdadero
Condicin

Instrucciones Instrucciones

Ejercicios 7-11
Estructuras de repeticin
Se repite la misma secuencia
de instrucciones

Un nmero Mientras se Por siempre


determinado cumpla una (bucle
de veces condicin infinito)
Estructuras de repeticin en Scratch
EL LENGUAJE JAVA
JAVA

Creado en
1991 Liberado en
2006/2007
JAVA

Bibliotecas Robusto
Orientado a
Objetos
OBJETOS
POR QU JAVA
No hay punteros
Gestin memoria dinmica
Fcil aprender automtica
Lenguaje ms natural

Independiente Compilacin bytecode


Cdigo fuente .java
de la Cdigo compilado .class
plataforma
QU SE NECESITA

Entorno de
desarrollo

Mquina JDK
virtual de
Java JRE
API DE JAVA
APPLICATION PROGRAMMING
INTERFACE

Conjunto Reduce el Bibliotecas


de tiempo de de
bibliotecas desarrollo terceros
PROGRAMAS EN JAVA Nombre clase= Nombre del fichero

FICHERO .java

Mtodo principal
En todos los programas Java
BLOQUES DE CDIGO
INSTALACIN DE JAVA
http://www.oracle.com/technetwork/java/j
avase/downloads/index-jsp-138363.html
EDITAR VARIABLES DEL SISTEMA
Panel de control Sistema Configuracin avanzada del sistema

PATH
C:\Archivos de
programa\Java\jdkVERSION\bin
PRIMER PROGRAMA EN JAVA
1. Abrir lnea de comandos.
2. Navegar hasta llegar al directorio donde se
encuentra nuestro archivo Ejer1.java.
3. COMPILAR
Escribir en la lnea de comandos javac Ejer1.java
Genera el archivo Ejer1.class
4. EJECUTAR
Escribir en la lnea de comandos "java Ejer1
EXPLICAR System.out.println()
COMENTARIOS

Aclaraciones, anotaciones, indicaciones, etc,

//Comentario //Comentario de lnea

/*Comentario*/
/* Comentario de
varias lneas */
ERRORES EN LOS PROGRAMAS
Al compilar da error
Codificacin Abrir Ejer1 y quitar un ;
Operaciones imposibles
Tiempo de Conversiones de datos errneas
ejecucin

Lgicos El programa no hace lo que debera hacer.

Especificaciones Mal entendido


BLOQUES FUNDAMENTALES
PROGRAMA JAVA
Conjunto de clases que estn formadas por datos y funciones

SIEMPRE UNA CLASE


public static void main (String args[])
CON ESTA FUNCIN

FUNCIN POR DONDE EMPIEZA LA


EJECUCIN DEL PROGRAMA
TIPOS DE DATOS

Constantes
Variables
TIPOS DE DATOS

Zonas de la memoria
Identificador
Tipo de dato
VARIABLES
Pueden cambiar de valor tantas veces
que se desee

Nombre: letras, nmeros, _ $

Declaracin: tipo_dato identificador

int miEdad char miLetra


CONSTANTES

Reciben valor un sola vez

Precedidas de la palabra
final
final int ao_nacimiento
VARIABLES Y CONSTANTES

Tipo de Especificacin de
dato valores vlidos
NORMAS PARA NOMBRAR VARIABLES
Sensible a maysculas y minsculas

Palabras reservadas

Identificadores descriptivos

No se permiten espacios en blanco

Nombre no puede empezar por nmero


PALABRAS RESERVADAS
abstract else interface synchronized
boolean extends long this
break false native throw
byte final new throws
case finally package transient
catch float private true
char for protected try
class goto public void
const if return volatile
continue implements short while
default import static
do instanceof super
double int switch
CONVENIO PARA NOMBRAR VARIABLES
Identificador Convencin Ejemplo
Comienza por letra minscula, y si
numAlumnos, suma
tienen ms de una palabra se
Nombre de variable cantidadTotal
colocan juntas y el resto
numeroAlumnosAprob
comenzando por maysculas
En letras maysculas, separando
las palabras con el guin bajo.
Nombre de constante TAM_MAX, PI
Por convenio el guin bajo no se
utiliza en ningn otro sitio
Nombre de una clase Comienza por letra mayscula String, MiTipo
modificaValor,
Nombre de funcin Comienza por letra minscula
obtieneValor
TIPOS DE DATOS PRIMITIVOS
Tipo Descripcin
boolean 1 byte. Permite representar valores lgicos; true o false.
char 2 bytes. Unicode. Comprende el cdigo ASCII.
byte 1 byte. Entero. Su rango de valores va desde -128 (-27) a +127 (+27-1).
short 2 bytes. Valor entero entre -32768 y 32767
int 4 bytes. Valor entero entre -2.147.483.648 y 2.147.483.647
8 bytes. Valor entero entre -9.223.372.036.854.775.808 y
long
9.223.372.036.854.775.807
4 bytes. Nmero real. De -3.402823E38 a -1.401298E-45 y de 1.401298E-
float
45 a 3.402823E38
8 bytes. Nmero real. De -1.79769313486232E308 a -
double 4.94065645841247E-324 y de 4.94065645841247E-324 a
1.79769313486232E308
TIPO DE DATO ENTERO

Positivos y Nmero de
negativos bytes distintos
TIPO REALES

Nmeros ms
Ms bytes grandes y
mayor precisin
TIPO BOOLEANO

TRUE FALSE
TIPO CARCTER
Elementos individuales del conjunto de caracteres usado
como cdigo de entrada-salida

Unicode: 16 bits / ASCII: 8 bits

Permite almacenar un nmero ASCII

Se usa comilla simple


LITERALES DE TIPOS PRIMITIVOS
Valor concreto que se asigna a una variable

Booleano Real
Entero
True False 13.2 1.65f

Carcter Cadena de NO ES
caracteres PRIMITIVO
a g "Hola mundo"
TIPOS REFERENCIADOS

Almacenan direcciones de memoria de


los datos

Objetos, Arrays, String


CADENA DE CARACTERES

Tratamiento especial -- String

Creacin automtica de objeto String


VARIABLES

DECLARACIN

INICIALIZACIN

USO
DECLARACIN DE VARIABLES

tipo_de_dato nombre_variable
INICIALIZACIN DE VARIABLES
tipo_de_dato nombre_variable = valor
nombre_variable = valor
EJERCICIOS

EJERCICIOS 2 y 3
EJERCICIO 4
OPERADORES ARITMTICOS
OPERADORES
INCREMENTALES/DECREMENTALES
OPERADORES DE ASIGNACIN
OPERADORES DE RELACIN
True False
OPERADORES LGICOS
PRECEDENCIA DE LOS OPERADORES
EJERCICIOS

EJERCICIO 5
EJERCICIOS

EJERCICIO 6
CONVERSIONES DE TIPO

DIVISIN DE NMEROS
ENTEROS

TENDR DECIMALES?
CONVERSIONES AUTOMTICAS

Variable Valor Variable


tipo long tipo int tipo long

+
Variable - Variable Variable
tipo int * tipo long tipo long
/
CONVERSIONES EXPLCITAS
De tipo con ms bits a tipo con menos bits

POSIBLE PRDIDA DE DATOS!

Operador
cast
CONVERSIONES DE TIPO

N: conversin no permitida.
CI: indica que el casting es implcito.
CI*: indica que el casting es implcito pero se puede producir prdida de precisin.
C: indica que hay que hacer casting explcito.
EJERCICIOS

EJERCICIOS 7, 8 y 9
VARIABLES MIEMBRO Y LOCALES

Se declaran dentro de
MIEMBRO una clase pero fuera de
cualquier mtodo.

Se declaran dentro de un
LOCALES mtodo.