Vous êtes sur la page 1sur 45

1 Fundamentos de

programacin



CONCEPTOS BSICOS:
Instruccin: Es un conjunto de smbolos
que representa una orden de operacin o
tratamiento para el ordenador.
Programa: Conjunto ordenado de
instrucciones que indican las tareas u
operaciones que el ordenador debe
realizar.
 Es

la representacin de un algoritmo,
escrito en algn lenguaje de programacin.
1

1 Fundamentos de
programacin



CONCEPTOS BSICOS:
Lenguaje de programacin (DEF1):
 Es

una notacin para escribir programas.


 Permite comunicarnos con el hardware y
dar as las rdenes adecuadas para la
realizacin de un determinado proceso.
Viene definido por una gramtica o
conjunto de reglas que se aplican a un
alfabeto constituido por el conjunto de
smbolos utilizados.
2

1 Fundamentos de
programacin



CONCEPTOS BSICOS:
Lenguaje de programacin (DEF2): Es
el conjunto de smbolos y el conjunto de
reglas para combinar dichos smbolos que
se utilizan para realizar programas.
 Lxico

(cjto. de smbolos permitidos).


 Sintaxis (reglas para realizar las
construcciones del lenguaje).
 Semntica (reglas para determinar el
significado de dichas construcciones).
3

1 Fundamentos de
programacin



CONCEPTOS BSICOS:
INSTRUCCIONES BSICAS:
 Instrucciones

de asignacin.
 Instrucciones selectivas (o bifurcaciones
o condicionales)
 Instrucciones repetitivas (o iterativas o
bucles)
 Instrucciones de entrada y salida (o de
transferencia de datos entre perifricos y
memoria central).
4

1 Fundamentos de
programacin


CONCEPTOS BSICOS:
ALGORITMO:
Un algoritmo es un conjunto ordenado y
finito de operaciones que permite hallar
la solucin de un problema (Diccionario
RAE).
Un algoritmo puede ser utilizado para
codificar programas en distintos lenguajes
5

2 Algoritmo


Los algoritmos son independientes de los


lenguajes de programacin. Un lenguaje de
programacin permite expresar un algoritmo
para que sea ejecutado por un ordenador.
Un algoritmo debe ser claro y preciso, debe
especificar las acciones a realizar y el orden de
realizacin
Un algoritmo debe tener un nmero finito de
pasos y, cada vez que se realice con los mismos
datos de entrada, debe dar el mismo resultado

2 Algoritmo


Un algoritmo describe los datos de entrada, el


proceso y los datos de salida:
 1.

Entrada: Datos que utiliza el algoritmo para su


ejecucin
 2. Proceso: Reglas y operaciones del algoritmo
para resolver un problema
 3. Salida: Resultados del proceso.

2 Algoritmo



CONCEPTOS BSICOS:
Ejemplo de ALGORITMO: Determinar si
un nmero es par:
1.
2.
3.
4.
5.
6.
7.

Leer N
Si N=2  Escribe: es par
Si N=1  Escribe: es impar
Si N=1 o N=2 ir a 7
N=N-2
Ir a 2
Fin del procedimiento
8

2 Algoritmo


ALGORITMOS:
Conjunto ordenado de pasos a seguir para
resolver un problema concreto, en un tiempo
finito y sin ambigedad.
 Acciones

bien definidas
 Secuencia finita y ordenada
 Tiempo finito

2 Organizacin de los
programas


ALGORITMOS:
Para resolver un mismo problema se
pueden definir varios algoritmos.
Factores para decidir que algoritmo usar:
 Tiempo

que tarda en hallar la solucin


 Recursos utilizados para implantar el
algoritmo.
10

Las fases de desarrollo de un


programa


1. Anlisis. Consiste en entender el problema


que se quiere resolver Qu debemos hacer?
2. Diseo. Plan para resolver el problema
Cmo hacer?
3. Programacin. Traduccin de un algoritmo
en un programa Java o de cualquier otro
lenguaje
4. Validacin del programa. Evaluacin de
los resultados del programa

Algoritmos



DISEO DE ALGORITMOS:
Herramientas para el diseo de algoritmos:
 Pseudocdigo

o lenguaje de descripcin de

algoritmos
 Organigramas o diagramas de flujo
Son una herramienta til en las fases de anlisis
y diseo de software

12

Algoritmos. Pseudocdigo


REPRESENTACIN DE ALGORITMOS:
 Pseudocdigo o lenguaje de descripcin de
algoritmos:
 El pseudocdigo es un lenguaje que describe
algoritmos con una sintaxis similar a un lenguaje
de programacin. Normalmente se escribe en
ingls o en espaol. La traduccin de
pseudocdigo a un lenguaje de programacin es
muy sencilla.


Reglas:
Cada identificador (variable, constante...) debe tener un
nombre significativo
Cada sentencia debe ir en una lnea
13
Los nombres de las sentencias son nicos.

Algoritmos. Pseudocdigo


REPRESENTACIN DE ALGORITMOS:
 Pseudocdigo
 Ejemplo:

Suma de dos nmeros introducidos


por el usuario.
algoritmo Sumar
inicio
leer( a )
leer( b )
ca+b
escribir( La suma es , c )
fin
14

Algoritmos. Pseudocdigo


REPRESENTACIN DE ALGORITMOS:
 Pseudocdigo
 Ventajas
 Es

sobre las representaciones grficas

ms compacto

 Ms

fcil de escribir

 Ms

fcil de traducir a un lenguaje de


programacin concreto.
15

Algoritmos


REPRESENTACIN DE ALGORITMOS:
 Organigramas

o diagramas de flujo
Herramienta grfica de descripcin de
algoritmos fcil y extendida.
 Los smbolos representan acciones
 Las flechas representan el orden de
ejecucin.

16

Algoritmos.Diagramas de flujo


REPRESENTACIN DE ALGORITMOS:
 Organigramas

o diagramas de flujo

Smbolos:
Procesos: Por ejemplo la asignacin:

M=3
Terminal:
Inicio

Fin

17

Algoritmos.Diagramas de flujo


REPRESENTACIN DE ALGORITMOS:
 Organigramas

o diagramas de flujo

Smbolos:
Seleccin:
Si

N<>0

Entrada/Salida:

No

Leer Dato
18

Algoritmos.Diagramas de flujo
Ejemplo: Suma de un numero variable de
datos:
Inicio
Leer a
Leer b

C a+b

Escribir La suma es c
Fin
19

3. Pseudocdigo.
Datos y Tipos de Datos
Los algoritmos operan sobre datos.
Tipos de datos simples:
Un dato simple es indivisible (atmico), es decir,
no se puede descomponer.
 Entero. Valores { ..., -3, -2, -1, 0, 1, 2, 3, ... }
 Real. Nmeros racionales-irracionales. Ej (17,8)
 Carcter (tambin llamados alfanumricos) c
 Lgico, dos valores: verdadero o falso.
Datos compuestos: Cadena o String Castelar
Compuesto por varios caracteres

Tipos de Datos simples

Tipo carcter o alfanumricos


Los datos de tipo carcter o alfanumricos estn
compuestos por el conjunto finito y ordenado de
caracteres que la computadora reconoce:
caracteres alfabticos: A,B,C,.......Z; a,b,c,.......z
caracteres numricos: 0,1,2,...9 (que no son
nmeros)
caracteres especiales : +, /, *, ?,%,$, #, !,
,,,{},~,etc.

Cadena o string


Es una sucesin de caracteres que se encuentran


delimitados por comillas ( " " ).
La longitud de la cadena es la cantidad de
caracteres que la forma, incluyendo los espacios
que son un carcter ms.

"Asuncin, Paraguay" es una cadena de longitud 18.


"123456" es una cadena de longitud 6, no es el nmero 123.456 no
se puede realizar ninguna operacin aritmtica como sumar,
restar, etc,

Variables y constantes


Una variable y constante representa una zona o


posicin de memoria donde se almacena informacin.
Las variables almacenan los datos utilizados por los
programas. El valor de una variable puede cambiar
durante la ejecucin de un programa
El valor de una constante no cambia durante la
ejecucin de un programa. Por ejemplo pi = 3,1416
El nombre que se utiliza para hacer referencia a una
constante o una variable se denomina identificador.
A = 50; Variable tipo numrica A cuyo valor es 50.
Ciudad = "Asuncin"; Variable alfanumrica o de tipo carcter
Ciudad, cuyo valor es "Asuncin.

Operaciones


Las variables se pueden procesar utilizando


operaciones apropiadas para su tipo.
Los operadores son de 4 clases:
Relacionales.
Aritmticos.
Alfanumrico.
Lgicos.

Operadores relacionales
Operadores relacionales:
Los operadores relacionales evalan una expresin
y devuelven un valor falso o verdadero
 < menor que
 > mayor que
 <= menor o igual que
 >= mayor o igual que
 <> diferente de, distinto de (en java !=)
 == igual que

Ejemplos. Operadores
relacionales
Ejemplo

Resultado

25 <= 25

Verdadero

25 <> 25

Falso

25 <> 4

Verdadero

50 <= 100

Verdadero

500 >= 1

Verdadero

1=6

Falso

Operadores aritmticos.
Signo

Significado

Suma

Resta

Multiplicacin

Divisin

Potenciacin

MOD
%

Resto de la divisin entera


Resto de la divisin (en java)

Operadores Alfanumricos
El nico operador alfanumrico (tipo carcter) se
utiliza para unir o concatenar datos de este
tipo:
Signo

Significado

Concatenacin

Expresin

Resultado

"Pseudo" + "cdigo"

"Pseudocdigo"

"3" + "4567"

"34567"

"Hola " + "que tal ?"

"Hola que tal ?"

Ejemplos:

Operadores lgicos.
Los operadores lgicos evalan una expresin
lgica devuelven un valor falso o verdadero.
Signo

Significado

OR(en java || )

Suma lgica (O). A OR B es


verdadero si A o B son
verdaderos
Producto lgico (Y) A AND B es
verdadero si A y B son
verdaderos
Negacin (NO). negacin del
operando A, es decir, verdadero
si A es falso, falso si A es
verdadero

AND(en java && )

NOT(en java ! )

Ejemplos. Operadores lgicos


Expresin

Resultado

Verdad AND Falso

Falso

NOT Falso

Verdad

Verdad OR Falso

Verdad

Expresin

Resultado

Verdad AND Falso

Falso

NOT Falso

Verdad

Por ejemplo, la expresin: (12 + 5) OR (7 + 3) = 10 es verdadera (se cumple una


y Verdad OR Falso es Verdad).
La expresin (12 * 5) AND (3 + 2) = 60 es falsa
(verdad AND falso = Falso).

Pseudocdigo. Asignaciones
La operacin de dar valor a una variable se llama
asignacin. La asignacin vamos a representarla
con el smbolo 
nombre de la variable  expresin
La flecha se sustituye en los lenguajes de programacin por =
(basic); : = (pascal).
Pero para evitar ambigedades en el pseudocdigo utilizaremos la
flecha para la asignacin y el smbolo = para indicar igualdad.
A  100 ; significa que a la variable A se le ha asignado el valor 100,
ahora A vale 100.

Pseudocdigo. Entrada y Salida


de Informacin
Los datos que vamos a obtener del usuario para
procesarlos tambin deben ser asignados a
variables, la operacin de lectura, lee un dato y lo
asigna a una variable.
La instruccin para la lectura de un dato es leer
leer numero
Esta instruccin pide al usuario un valor que ser asignado a la
variable numero, es decir, en numero se almacena el valor ingresado
por el usuario.

leer Edad, Peso, Sexo

Pseudocdigo. Entrada y
Salida de Informacin
Cuando queramos mostrar el resultado del
algoritmo, un mensaje, un valor, etc, vamos a
utilizar el comando escribir o imprimir.
escribir "Hola" ; muestra en la pantalla el mensaje
Hola, Hola va entre comillas porque es una cadena.
escribir A; muestra en la pantalla el valor que est
almacenado en la variable A.

Pseudocdigo. Resumen
Ya conocemos dos comandos que vamos a utilizar en
nuestros pseudocdigos: leer e imprimir.
En resumen: Las instrucciones disponibles para escribir
un programa dependen del lenguaje de programacin
utilizado. Existen instrucciones -o acciones- bsicas que
se pueden implementar de modo general en cualquier
algoritmo y que soportan todos los lenguajes de
programacin.
1- Instrucciones de inicio/fin
2- Instrucciones de asignacin
3- Instrucciones de lectura
4- Instrucciones de escritura

Pseudocdigo. Resumen
Tipo de Instruccin
Comienzo de proceso
Fin de proceso
Entrada (Lectura)
Salida (Escritura)
Asignacin

Pseudocdigo
inicio
fin
leer
escribir


Instrucciones de control. Instrucciones


alternativa simple-doble
Se ejecuta condicionalmente, es decir, si una cierta condicin es
verdadera se ejecuta un bloque de instrucciones, si es falsa se
ejecuta un bloque diferente de instrucciones
si (condicin) entonces
instruccin 1
...................
instruccin n
si no
instruccin a
instruccin b
...................
instruccin z
fin si

Instruccin de control.
Alternativa mltiple
Cuando necesitemos hacer numerosas comparaciones.
Segun sea <expresin>
<lista_valores1>: instruccin o instrucciones1
<lista_valores2>: instruccin o instrucciones2
<lista_valores2>: instruccin o instrucciones3
si no:
instruccin o instrucciones
fin-segun

Instruccin de control.
Alternativa mltiple
algoritmo Dia_de_la_semana
inicio
escribir( "Introduzca da de la semana: " )
leer( dia )
segun_sea ( dia )
1 : escribir( "Lunes" )
2 : escribir( "Martes" )
3 : escribir( "Mircoles" )
4 : escribir( "Jueves" )
5 : escribir( "Viernes" )
6 : escribir( "Sbado" )
7 : escribir( "Domingo" )
sino : escribir( "ERROR: Da incorrecto." )
fin_segun_sea
fin

Instrucciones de control repetitivas


Una instruccin repetitiva mientras permite ejecutar,
repetidamente, (cero o ms veces) un bloque de instrucciones,
mientras que, una determinada condicin sea verdadera.

mientras (condicin)
instruccin 1
instruccin 2
.....
instruccin n
fin_mientras

Instrucciones de control repetitivas


Estructura Repetir
La diferencia es que la estructura mientras comprueba la condicin al
inicio y repetir lo hace al final.
Permite ejecutar repetidamente (una o ms veces) un bloque de
instrucciones, mientras que, una determinada condicin sea
verdadera

hacer
intruccin 1
instruccin 2
instruccin 3
......
mientras (condicin)
instrucin X

Diferencias Mientras y hacer


mientras

Instrucciones de control
repetitivas
Estructura repetitiva Para o Desde, se tiene establecido el nmero
de veces que un conjunto de instrucciones se va a ejecutar (20, 5,
2 veces)
Para contador Vi hasta Vf [incremento] hacer
Instruccin 1
Instruccin 2

Instruccin n
Fin_para
Vi: valor inicial de la variable contador
Vf: valor final de la variable contador
[incremento]: el nmero que se incrementa (o decrementa) a la variable
contador en cada iteracin del bucle, si se omite es 1.

Cundo usar un bucle u otro?


A la hora de elegir un bucle u otro, debemos hacernos la
siguiente pregunta:
Se conoce, de antemano, el nmero de veces
(iteraciones) que tiene que ejecutarse un determinado
bloque de instrucciones?
Si la respuesta es afirmativa, habitualmente se usa un
bucle para.
En caso contrario, nos plantearemos la siguiente
pregunta:
El bloque de instrucciones debe ejecutarse al menos
una vez?
En este caso, si la respuesta es afirmativa, generalmente
haremos uso de un bucle hacer...mientras, y si la
respuesta es negativa, usaremos un bucle mientras.

Estructura de un Algoritmo
Tres secciones: cabecera, declaraciones y cuerpo
algoritmo Sumar
(Cabecera)
variables
entero a, b, c

(Declaraciones)

inicio
(Cuerpo)
escribir( "Introduzca el primer nmero (entero): " )
leer( a )
escribir( "Introduzca el segundo nmero (entero): " )
leer( b )
ca+b
escribir( "La suma es: ", c )
fin

Vous aimerez peut-être aussi