Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ALGORITMOS Y PROGRAMAS
Tcnicas de Programacin
Definido:
proporcionndole
( consistente )
Finito:
Entrada:
Salida:
finales
de los procesos realizados.
Tcnicas de Programacin
Especificaciones de entrada
Especificaciones de salida
Verificacin de algoritmos
Tcnicas de Programacin
Fase de implementacin
entero:
Tcnicas de Programacin
real:
cuanto
al tamao, sino tambin en cuanto a la precisin. Suelen
ocupar 4, 6 10 bytes. Se representan por medio de la
mantisa, y un exponente ( 1E-3 = 0001), utilizando 24 bits
para la mantisa (1 para el signo y 23 para el valor) y 8 bits
para el exponente (1 para el signo y 7 para el valor). El
orden es de 10-39 hasta 1038.
Por ejemplo 6.9, 33.00123, 3E-34......
Las operaciones asociadas serian +, -, *, ,etc.
Y las operaciones de sucesor y predecesor?
Tcnicas de Programacin
Carcter:
ordenador
reconoce. se almacenan en un byte. Con 8 bits se podrn
almacenar 28= 256 valores diferentes (normalmente entre 0
y 255; con ciertos compiladores entre -128 y 127).
Un carcter (letra) se guarda en un solo byte como un
nmero entero, el correspondiente en el cdigo ASCII,
que se muestra en la Tabla para los caracteres estndar
(existe un cdigo ASCII extendido que utiliza los 256
valores:
Tcnicas de Programacin
Tcnicas de Programacin
Enumerado o
Escalar
Ejemplo:
tipo
moneda=(peseta,libra,franco,marco)
dia=(L,M,X,J,V,S,D)
Cada elemento tiene un nmero de orden asociado,
y comenzando desde el cero.
Estos tipos no se pueden leer por teclado.
Subrango:
Ejemplo:
tipo
flojas=peseta..franco
laboral=L..V
minusculas=a..z
aceptado=1000..1100
Muy esquemticamente :
Tcnicas de Programacin
Constantes
Son datos cuyo valor no cambia durante todo el desarrollo del programa.
Las constantes podrn ser literales o con nombres. Las constantes literales
sern un valor propiamente dicho y las que tienen nombre se identifican por su
nombre y el valor asignado. Tendremos pues constantes:
Numricas enteras:
12,34,-44,22234, -9837,m=12,n=44592....
Numricas reales:
Lgicas:
Carcter:
n=a, k=1,.....
Cadena:
Variables
Una variable es un dato representado por una posicin determinada
de memoria cuyo valor puede cambiar durante el desarrollo del algoritmo.
Se identifica por su nombre y por su tipo, que podr ser cualquiera, y
es el que determina el conjunto de valores que podr tomar la variable. En los
programas la declaracin de cada una de las variables origina que se reserve
un determinado espacio en memoria etiquetado con el correspondiente
identificador. El nombre asignado a la variable se denomina identificador y
tiene las siguientes reglas:
Tcnicas de Programacin
1.
2.
3.
4.
5.
6.
Ejemplo:
entero velocidad;
Tcnicas de Programacin
Operadores
OPERADORES ARITMTICOS
Los operadores aritmticos son los ms sencillos de entender y de
utilizar. Todos ellos son operadores binarios. Se utilizan los cinco operadores
siguientes:
Suma:
Resta:
Multiplicacin:
Divisin:
Resto:
(*)
Tcnicas de Programacin
OPERADORES DE ASIGNACIN
Los operadores de asignacin atribuyen a una variable es decir,
depositan en su zona de memoria correspondiente el resultado de una
expresin o el valor.
variable (en realidad, una variable es un caso particular de una expresin).
El operador de asignacin ms utilizado es el operador de igualdad (=), que
no debe ser confundido con la igualdad lgica (==). Su forma general es:
nombre_variable = expresin;
variable
2+1
memoria
OPERADORES RELACIONALES
Una caracterstica imprescindible de cualquier lenguaje de programacin es la
de considerar alternativas, esto es, la de proceder de un modo u otro segn
se cumplan o no ciertas condiciones. Los operadores relacionales permiten
estudiar si se cumplen o no esas condiciones.
Tcnicas de Programacin
(3<=3)
(3<3)
(1!=1)
cumple
OPERADORES LGICOS
Los operadores lgicos son operadores binarios que permiten combinar
los resultados de los operadores relacionales, comprobando que se cumplen
las condiciones necesarias. Como operadores lgicos tenemos: el operador Y
(&&), el operador O (||) y el operador NO (!). En ingls son los operadores
AND, OR y NOT. Su forma general es la siguiente:
expresion1 && expresion2,expresion1 || expresin, !expresin
Tcnicas de Programacin
Cuando las operaciones lgicas son bit a bit, tipicas para hacer
testeos de uno o varios bits (o mscaras) disponemos de los siguientes:
~
&
Xor
>>
Desplazamiento a la derecha
<<
Desplazamiento a la Izquierda
// el resultado es 1
// el resultado es 0
// el resultado es 1
// el resultado es 0
((250)&&(330))
// el resultado es 1
250>0,330>0
FUNCIONES
En los lenguajes de programacin existen ciertas funciones predefinidas
o internas que aceptan unos argumentos y producen un valor denominado
resultado. Como funciones numricas, normalmente se usarn :
Funcin
Descripcin
abs(x)
Valor Absoluto
cos(x),sin(x)
Coseno,Seno
cuadrado(x)
x2
ent(x)
Parte entera
exp(x)
ex
ln(x)
Ln(x)
log(x)
Log10(x)
raiz(x)
Raiz Cuadrada)
redondeo (x)
Redondear numero
Tcnicas de Programacin
x=(-b+raiz((b*b)-(4*a*c)))/(2*a);
Tcnicas de Programacin
velocidad=espacio/tiempo ;
velocidad=velocidad+media_velocidad ;
masa = 9.5 ;
m=masa*velocidad_media ;
Tcnicas de Programacin
Escribimos la cadena
Entrada
La instruccin es Leer( ).Toman los valores de forma interactiva desde el
dispositivo de entrada estndar (teclado), introducindolos en las variables que
forman parte de la instruccin. Los tipos de datos introducidos deben coincidir
con los de las variables que los recogen. Hay dos formas de usarlas:
....
....
x=leer() ;
leer(x) ;
Tcnicas de Programacin
El primer programa
Leer(b);
// Leemos la base
Leer(h);
// Leemos la altura
a=(b*h)/2;
// calculamos ...
// Presentamos el resultado
Tcnicas de Programacin
contador
- temporal1
- num_bytes
2temporal
- N_numeros
- Media_Aritm
Valor$curso
- N-terminos
- MeDiaGeom
Sen( x ) + Cos ( y )
2 y
( x 3) 2 + 2( z 5) + 3 y 3 7
x=7;
m=x+1;
y=x;
n=x*x;
z=x-m;
p=z/10.0;
t=m+1;
y=c+1;
s=Hola
c= Concat(Hola,Pepe);
m=Long(Sabado);
c, s: cadena
Tcnicas de Programacin
Secuencial
Selectiva
Repetitiva
Estructura secuencial
x=5;
// asignamos a x el valor 5
y=7;
// lo mismo con y
z=x+y;
x=x+3
// incrementamos x en 3
.....
.....
Tcnicas de Programacin
Pseudocdigo
en
espaol
(varias
acciones)
x=x*x;
// hacemos x2
Escribe (x);
// Escribimos el valor de x
....
Tcnicas de Programacin
se realizar cuando s
Pseudocdigo en espaol
Pseudocdigo en espaol
(con accin compuesta)
si (condicin) entonces
{ accion1;
accion2;
...
}
sino { accin3;
.....
}
Grficamente:
Ejemplo:
leer (x);
si (x>=0) entonces { Escribe (x);
y= raz(x);
}
sino Escribe (No podemos con x<0)
Tcnicas de Programacin
En pseudocdigo:
segn (valor)
V1:
accion1
V2:
accion2
V3:
accion3
V4,V5:
accion4
...
....
Vn:
accionn
Ejemplo:
....
Escribe (Elegir la opcin del men: );
Leer (opcin)
segn (opcin)
1:
{ Leer(x);
Raz(x);
}
2:
{ Leer (x);
x=1/x;
}
Tcnicas de Programacin
entero numero,suma;
suma=0;
Leer (numero);
suma=suma+numero;
Leer (numero);
suma=suma+numero;
....
....
Tcnicas de Programacin
Estructura desde...hasta
En pseudocdigo:
i=indice
<accin>;
si es 1 se omite
desde
i=1
hasta i=10
incr 1
hacer
accion
Estructura mientras
Tcnicas de Programacin
Grficamente:
En pseudocdigo:
mientras (condicion)
{ acciones;
....
....
}
Estructura repetir
Grficamente:
En pseudocdigo:
repetir
< acciones >
hasta (condicin)
Tcnicas de Programacin
que
repetir termina cuando la condicin es verdadera.
-
Tcnicas de Programacin
1 dimensin:
tipo nombre [n_elementos]
2 o mas:
tipo nombre [n_elementos] [n_elementos] .......
Tcnicas de Programacin
memoria
// filas y columnas
Grficamente:
memoria
0
indices del 0 al 4
0,0
0,1
0,2
0,3
0,4
1,0
1,1
1,2
1,3
1,4
Tcnicas de Programacin
No se puede operar con todo un vector o toda una matriz como una
nica entidad, sino que hay que tratar sus elementos individualmente por medio
de bucles o los elementos propiamente dichos.
La forma de introducir o leer el contenido de los elementos en la matriz
es similar a la asignacin o lectura del valor de una variable, pero esta variable
es una posicin de la matriz: Ejemplos
x[4] = 0.8;
x[3] = 30. * x[0];
x[0] = 3. * x[1] - x[1]/x[5];
x[3] = (x[0] + x[2])/x[3];
n=12
real vect[n];
....
desde i=0 hasta i=n-1 incr 1 Leer (vect[i] );
....
real v[6]
real d[ ]
real d[3]
est implcito
por el numero de
valores
Tcnicas de Programacin
Tcnicas de Programacin
Estructuras o Registros
Uno de los inconvenientes que tiene una matriz es que por definicin
todos los datos son del mismo tipo, es decir, no podemos mezclar un real con
un carcter. Una estructura es una forma de agrupar un conjunto de datos de
distinto tipo bajo un mismo nombre o identificador.
Su forma general es mediante la palabra registro o estructura :
estructura nombre_estr {
tipo nombre1;
tipo nombre2;
.....
.....
};
<nombre_variable>
estructura alumno {
carcter nombre[31];
// cadena de caracteres
carcter direccion[21];
entero no_matricula;
entero telefono;
real notas[10];
};
Tcnicas de Programacin
// cadena de caracteres
carcter direccin[21];
entero no_matricula;
entero telefono;
real notas[10];
} alumno1,alumno2 ;
variable . campo
Por ejemplo, para dar valor al telefono del alumno alumno1 el valor
903456, se escribir:
alumno1.telefono = 903456;
y para guardar la direccin de este mismo alumno, se escribir:
alumno1.direccion = "C/ Rios Rosas 1,2-A";
Tcnicas de Programacin
x= alumno1.telefono
calculo=9.7;
alumno1.notas[3]=calificacion;
estructura fecha
{
entero dia,mes,ao;
};
estructura ficha
{
carcter nombre[20];
fecha nacimiento;
}
Tcnicas de Programacin
La declaracin sera:
estructura ficha alumno;
Tcnicas de Programacin
Tcnicas de Programacin
Tcnicas de Programacin
{entrada de datos}
{ clculo de la superficie }
Tcnicas de Programacin
Funciones
De forma general:
Tcnicas de Programacin
En este caso:
es una funcin con dos argumentos. Sin embargo, solamente un nico valor
se devuelve desde la funcin para cualquier conjunto dado de argumentos.
nombre de la funcin
As por ejemplo si queremos hacer una funcin que recoja como datos
de
entrada la base y la altura de un tringulo y nos calcule el rea tendramos el
siguiente prototipo:
entero
^-valor de salida
Area
^-nombre funcin
(entero , entero)
^---------^-------------- argumentos
Tcnicas de Programacin
Inicio
{
real x;
.....
.....
// llamada a la funcin
x= Area (3,5);
.....
.....
}
// Implementacin de la funcin
real Area (entero base, entero altura)
{
real resultado;
...
resultado = base*altura ;
...
devuelve resultado;
}
Tcnicas de Programacin
entero f (entero a, b)
{
entero z;
....
devuelve z;
}
....
....
x= f (3,6);
...
...
}
Tcnicas de Programacin
variables locales
variables globales
Tcnicas de Programacin
entradas:
salidas:
entradas/salidas:
Tcnicas de Programacin
Por ejemplo:
entero f (entero);
Inicio
{
entero x, y;
Leer (x);
x=x+1;
//Prototipo de la funcin f
entero f (m)
{
entero x;
x=m;
x=x*x;
m=x*x;
devuelve (m);
}
y= f(x);
Escribe (x,y)
}
Tcnicas de Programacin
entero x, y;
Leer (x);
x=x+1;
//Prototipo de la funcin f
entero f ( dir m)
{
entero x;
x=m;
x=x*x;
m=x;
devuelve (2x);
}
y= f(dir x);
Escribe (x,y)
}
Tcnicas de Programacin
// Prototipo de la funcin
Inicio
{
Leer (radio)
m= area_circulo (radio, dir y)
si (m) entonces escribe (Calculo correcto, rea = ,a);
j=3.1416 * i * i;
devuelve (1);
}
sino devuelve (0);
}
Si el radio es 2, en la llamada se copia en j la direccin de y, mientras
que en i se copia el valor de radio. Al ser j una variable por valor o direccin su
contenido se vera reflejado en la variable y del prog. ppal.
Bibliografa utilizada:
Tcnicas de Programacin