Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CAPITULO II
LA ALGORITMIA
Una computadora no tiene capacidad para solucionar problemas ms que cuando se le proporcionan los
pasos sucesivos a realizar, para ello elaboramos un algoritmo.
1.
QU ES UN ALGORITMO?
Es un mtodo para resolver un problema mediante una secuencia de instrucciones, cada una de las
cuales especifica las operaciones que debe realizar la computadora.
2.
CARACTERSTICAS DE UN ALGORITMO
Las caractersticas fundamentales que debe cumplir todo algoritmo son:
Debe ser preciso e indicar el orden de realizacin de cada paso.
Debe estar definido. Si se sigue un algoritmo dos o ms veces, con los mismos valores iniciales se
debe obtener el mismo resultado.
Debe ser finito. Si se sigue un algoritmo, se debe terminar en algn momento, es decir, debe tener
un nmero finito de pasos.
Tambin hay que tener en cuenta en un algoritmo:
El algoritmo sirve de base para generar un programa, pero no es el programa en s.
El algoritmo no es inteligible directamente por el ordenador.
El mismo algoritmo puede ser implementado de forma distinta en diversos programas, es decir,
dos programadores pueden obtener distintos cdigos fuente a partir del mismo algoritmo.
3.
LENGUAJES ALGORTMICOS
Alude a series de smbolos y reglas que se utilizan para describir de manera explcita un proceso.
Pueden ser:
a. GRFICOS: Es la representacin grfica de las operaciones que realiza un algoritmo (diagrama de
flujo).
b. PSEUDOCDIGO: Representa en forma descriptiva las operaciones que debe realizar un
algoritmo.
4.
por
Leer;
El seudocdigo se ajusta a dichas variantes pero siempre debe tratar que no se pierda la legibilidad.
Obviamente usaremos el lenguaje de seudocdigo del SL.
E. PRUEBA Y DEPURACIN
Probar es ejecutar el programa por primera vez y observar los errores. El proceso de identificar y
eliminar errores, para dar paso a una solucin sin errores se le llama depuracin.
No seremos tan detallistas; bsicamente, lo que pretendemos cubrir es lo concerniente a:
Planteamiento de los problemas
Declaracin del seudocdigo
5.
PARTES DE UN ALGORITMO
La definicin de un algoritmo debe describir tres partes: Entrada, proceso y salida.
--->
--->
--->
base y altura
rea = base x altura
El rea del paralelogramo
EL LENGUAJE DE PSEUDOCDIGO
Un pseudocdigo es un lenguaje de especificacin de algoritmos no existe reglas pero utilizaremos un
estilo de escritura que se define con la siguiente estructura:
Estructura de Pseudocdigo
//Algoritmo Nom_algoritmo
var
NomVar1, NomVar2, NomVar3: numerico
inicio
Leer(Numero1,Numero2);
Resultado=Numero1+Numero2;
Imprimir(Resultado);
fin
Sugerencias:
Se utilizarn siempre letras minsculas, reservando las maysculas para separar trminos en nombres
compuestos o en la nomenclatura de constantes.
Los trminos que representan sentencias o acciones se dispondrn en negrita y las variables,
nombres de funciones o procedimientos y parmetros en oblicuo.
Usaremos Leer e Imprimir para procesos de entrada y salida respectivamente; hasta, para bucles de
n ciclos fijos; mientras o hasta bucles con centinelas; Si para decisiones simples y Si Entonces SinoSi
para decisiones mltiples o eval para las mismas.
La traduccin de pseudocdigo a un determinado lenguaje de programacin puede implicar que una
sentencia se traduzca en una o varias instrucciones.
CAPITULO III
FUNDAMENTOS DE PROGRAMACIM
1.
TIPOS DE DATOS
Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carcter, tal como
b, un valor entero tal como 35. El tipo de dato determina la naturaleza del conjunto de valores que
puede tomar una variable.
Simples
Tipos de
datos
Estructurados
(Def. por el usuario)
2.
Numricos
Lgicos
Alfanumricos (string)
Arreglos (Vectores, Matrices)
Registros
Clases
Archivos Apuntadores
cls()
imprimir("\nIngrese Nombre : ")
leer(nombre)
imprimir("\nIngrese Edad : ")
leer(edad)
imprimir("\nIngrese Sexo : ")
leer(sexo)
imprimir("\nHola " + nombre + " tu edad es " + str(edad,0,0) + " y eres " + sexo)
fin
3.
EXPRESIONES
Son combinaciones de constantes, variables, smbolos de operacin, parntesis y nombres de
funciones especiales.
Por ejemplo:
a+(b + 3)/c
Programa 3:
Ingrese 2 nmeros y muestre la suma de ambos nmeros:
// Algoritmo programa3
var
n1,n2, s: numerico
inicio
cls()
imprimir("\nIngrese primer nmero : ")
leer(n1)
imprimir("\nIngrese segundo nmero : ")
leer(n2)
s=n1+n2
imprimir("\nLa suma de ambos nmeros es " + str(s))
fin
Cada expresin toma un valor que se determina tomando los valores de las variables y constantes
implicadas y la ejecucin de las operaciones indicadas.
Una expresin consta de operadores y operandos.
4.
OPERADORES Y OPERANDOS
Operadores: Son elementos que relacionan de forma diferente, los valores de una o ms variables y/o
constantes. Es decir, los operadores nos permiten manipular valores.
Tipos de Operadores
Aritmticos
Relacinales
Lgicos
(Operador) Operando2
Valor
(constante o variable)
Operadores Aritmticos
+
Suma
Resta
*
Multiplicacin
/
Divisin
Mod
Modulo (residuo de la divisin entera) En Java y C++ es
%
Ejemplos:
Expresin
7/2
12 mod 7
4 +2*5
Resultado
3.5
5
14
Programa 4:
Ingrese un sueldo bsico y otorgue una bonificacin de 15% y muestre el sueldo a cobrar.
// Algoritmo programa4
var
basico, bonif, sueldo: numerico
inicio
cls()
imprimir("\nIngrese Bsico : ")
leer(basico)
bonif=basico * 0.15
sueldo=basico+bonif
imprimir("\nEl basico es " + str(basico))
imprimir("\nla Bonificacin es de " + str(bonif))
imprimir("\nEl sueldo a recibir es " + str(sueldo))
fin
5.
6.
OPERADORES RELACINALES:
Se utilizan para establecer una relacin entre dos valores.
Compara estos valores entre si y esta comparacin produce un resultado de verdad o falsedad.
Los operadores relacinales comparan valores del mismo tipo (numricos o cadenas) Tienen el mismo nivel de prioridad en su evaluacin.
Los operadores relacinales tiene menor prioridad que los aritmticos.
<
<
>=
<=
<>
=
Menor que
Menor que
Mayor o igual que
Menor o igual que
Diferente
Igual (En C++ y Java se usa == y = para asignacin)
Ejemplos:
Si a = 10
b = 20
c = 30
a+b>c
Falso
a-b<c
Verdadero
a-b=c
Falso
a*b<>c
Verdadero
Ejemplos no lgicos:
a<b<c
10 < 20 < 30
T < 30
(no es lgico porque tiene diferentes operandos)
7.
OPERADORES LGICOS:
Estos operadores se utilizan para establecer relaciones entre valores lgicos.
Estos valores pueden ser resultado de una expresin relacional.
Son:
Y
O
No
Operador Y
Operando1
T
T
F
F
Operador O
Operando1
T
T
F
F
And
Or
Not
Operador
Y
Operando2
T
F
T
F
Resultado
T
F
F
F
Operador
O
Operando2
T
F
T
F
Resultado
T
T
T
F
T
F
F
T
Ejemplos
(a < b) Y (b < c)
(10<20) Y (20<30)
Prioridad de los Operadores Lgicos
No
Y
O
Prioridad de los Operadores en General
1.- ( )
2.- ^
3.- *, /, Mod, No
4.- +, -, Y
5.- >, <, > =, < =, < >, =, O
Ejemplos:
a = 10 b = 12 c = 13 d =10
((a > b) O (a < c)) Y ((a = c) O (a > = b))
Programa 6:
Haga un programa que reciba el precio de 3 productos, obtenga el IGV (19%) de la suma de dichos
productos y muestre el total a pagar.
//Algoritmo Programa6
var
pp1, pp2, pp3, ti, igv, tf: numerico
inicio
cls()
imprimir("\nIngrese Precio primer producto : ")
leer(pp1)
imprimir("\nIngrese Precio segundo producto : ")
leer(pp2)
imprimir("\nIngrese Precio tercer producto : ")
leer(pp3)
ti=pp1+pp2+pp3
igv=ti*0.19 /*puedo no usar igv y multiplicar ti*1.19 */
tf=ti+igv imprimir("\nEl precio sin impuestos es " + str(ti)) imprimir("\nEl IGV es de " + str(igv))
imprimir("\nEl Total a pagar es " + str(tf))
fin
8.
PALABRAS RESERVADAS
Las palabras utilizadas por SL para propsitos especiales son llamadas palabras reservadas. Dado
que las mismas tienen un significado especfico para el compilador de SL, no pueden ser utilizadas
como identificadores.
Todas las palabras reservadas deben ser escritas siempre completamente en letras minsculas, de lo
contrario el compilador SL no las reconocer como tales.
9.
DELIMITADORES DE SENTENCIAS
Las sentencias pueden ocupar una o varias lneas, es decir:
a = (b + c) * (b / y) +
(y / c)
es una sentencia vlida, aunque ocupa dos lneas.
Puede escribirse ms de una sentencia en una sola lnea, si se las separa por el carcter punto y
coma (;).
As:
a = b + c; n = a / y
Son dos sentencias escritas en una sola lnea, separadas por el carcter punto y coma (;).
Las expresiones numricas complejas o las sentencias muy largas pueden ser libremente distribuidas
en dos o ms lneas para mejorar la legibilidad del programa fuente SL.
10.
IDENTIFICADORES
Los identificadores representan los datos de un programa (constantes, variables, tipos de datos). Un
identificador es una secuencia de caracteres que sirve para identificar una posicin en la memoria de
la computadora, que nos permite accesar a su contenido.
Ejemplo:
Nombre
Num_hrs
Calif2
CONSTANTES Y VARIABLES
Constante: Una constante es un dato numrico o alfanumrico que no cambia durante la ejecucin
del programa.
Ejemplo:
pi = 3.1416 (Java tiene una constante Math.PI)
Variable: Es un espacio en la memoria de la computadora que permite almacenar temporalmente un
dato durante la ejecucin de un proceso, su contenido puede cambia durante la ejecucin del
programa. Para poder reconocer una variable en la memoria de la computadora, es necesario darle
un nombre con el cual podamos identificarla dentro de un algoritmo.
Ejemplo:
rea = pi * radio ^ 2
Las variables son :
el radio, el rea y la constate es pi
CLASIFICACIN DE LAS VARIABLES
Por su Contenido
Numricas
Lgicas
Alfanumricas (String)
Por su Uso
De Trabajo
Contadores
Acumuladores
Variables
POR SU CONTENIDO
Variable Numricas: Son aquellas en las cuales se almacenan valores numricos, positivos o
negativos, es decir almacenan nmeros del 0 al 9, signos (+ y -) y el punto decimal.
Ejemplo: iva=0.15
pi=3.1416
costo=2500
Variables Lgicas: Son aquellas que solo pueden tener dos valores (TRUE o FALSE O SUS EQUIVALES
SI - NO) estos representan el resultado de una comparacin entre otros datos.
Variables Alfanumricas: Esta formada por caracteres alfanumricos (letras, nmeros y caracteres
especiales).
Ejemplo:
letra=a
POR SU USO
Variables de Trabajo: Variables que reciben el resultado de una operacin matemtica completa y
que se usan normalmente dentro de un programa.
Ejemplo:
suma=a+b/c
Contadores: Se utilizan para llevar el control del numero de ocasiones en que se realiza una operacin
o se cumple una condicin. Con los incrementos generalmente de uno en uno. (Su uso ms comn es
dentro de bucles)
Acumuladores: Forma que toma una variable y que sirve para llevar la suma acumulativa de una
serie de valores que se van leyendo o calculando progresivamente (a=a+3 en un ciclo desde por
ejemplo que es donde ms se usan)