Sei sulla pagina 1di 13

Unidad Didctica: Lgica de Programacin

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.

METODOLOGA PARA LA SOLUCIN DE PROBLEMAS POR COMPUTADORA


A. DEFINICIN DEL PROBLEMA
Esta fase est dada por el enunciado del problema, el cual requiere una definicin clara y precisa. Es
importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca
del todo no tiene mucho caso continuar con la siguiente etapa.
El planteamiento debe ser tan claro como para que cualquiera entienda exactamente lo que se desea
hacer. No es lo mismo decir:
sumar dos nmeros que,
ingresar dos nmeros enteros, sumar ambos nmeros y mostrar el resultado de la suma.

Carrera: Computacin e Informtica

Unidad Didctica: Lgica de Programacin


2

B. ANLISIS DEL PROBLEMA


Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:
Los datos de entrada. (Nmero1 y Nmero2)
Los mtodos y frmulas que se necesitan para procesar los datos. (Resultado = Nmero1 +
Nmero2)
Cul es la informacin que se desea producir (Resultado)?
Una recomendacin muy prctica es el que nos pongamos en el lugar de la computadora y analicemos
que es lo que necesitamos que nos ordenen y en que secuencia para producir los resultados
esperados.
C. DISEO DEL ALGORITMO
Las caractersticas de un buen algoritmo son:
Debe tener un punto particular de inicio.
Debe ser definido, no debe permitir dobles interpretaciones.
Debe ser general, es decir, soportar la mayora de las variantes que se puedan presentar en la
definicin del problema.
Debe ser finito en tamao y tiempo de ejecucin.
D. CODIFICACIN
La codificacin es la operacin de escribir la solucin del problema, en un cdigo reconocible por la
computadora, la serie de instrucciones detalladas se le conoce como cdigo fuente, el cual se escribe
en un lenguaje de programacin o lenguaje de alto nivel.
Solucin del problema ejemplo (En formato de seudocdigo)
var
Numero1, Numero2, Resultado : numerico
inicio
Leer(Numero1,Numero2);
Resultado=Numero1+Numero2; Imprimir(Resultado);
fin
Como ver el seudocdigo es fcil de implementar a travs de los verbos de la accin. NO USAR
ACENTOS.
Es probable que en algunos textos aparezca Lee por Leer o Ingresa
Asigna(Resultado=Numero1+Numero1); Muestra por Imprimir o Salida por Imprimir.

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

Carrera: Computacin e Informtica

Unidad Didctica: Lgica de Programacin


3

5.

PARTES DE UN ALGORITMO
La definicin de un algoritmo debe describir tres partes: Entrada, proceso y salida.

La informacin proporcionada al algoritmo constituye su entrada, el procedimiento para la solucin


del problema constituye su proceso y la informacin producida por el algoritmo constituye su salida.
A continuacin ejemplos para un mejor entendimiento:
Ejemplo 01:
Leer la base y altura de un paralelogramo. Calcular su rea.
Datos de Entrada
Proceso
Datos de Salida
6.

--->
--->
--->

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.

Carrera: Computacin e Informtica

Unidad Didctica: Lgica de Programacin


4

Igualmente, se evitar la declaracin de magnitudes escalares (Enteras, reales, booleanas, ..)


considerando, a menos que se especifique lo contrario, todas las variables de mbito local.
Se utilizarn las sangras para aclarar el cdigo y sus bloques.
Utilizar las sentencias inicio y fin para englobar bloques de cdigo.
En las funciones solo se declararn los parmetros y el valor de retorno si ello ayuda a entender el
seudocdigo.
Ejemplo:
El programa recibir dos nmeros y devolver la suma, resta, multiplicacin y divisin de ambos
nmeros (no use acentos en el nombre de las variables). Haremos la solucin en lenguaje de
seudocdigo.
//Algoritmo operaciones
Var
numero1, numero2, suma, resta, multiplicacion, division: numerico
inicio
cls()
imprimir("\nIngrese el primer nmero : ");
leer(numero1);
imprimir("\nIngrese el segundo nmero : ");
leer(numero2);
suma=numero1+numero2;
resta=numero1-numero2;
multiplicacion=numero1*numero2;
division=numero1/numero2;
imprimir("\nEl resultado de la suma es : ",suma);
imprimir("\nEl resultado de la resta es : ",resta);
imprimir("\nEl resultado de la multiplicacin es : ", multiplicacion);
imprimir("\nEl resultado de la divisin es : ", division);
fin
Comentario:
cls() se emplea para limpiar la pantalla

Carrera: Computacin e Informtica

Unidad Didctica: Lgica de Programacin


5

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

TIPOS DE DATOS SIMPLES


Aqu slo se vern las simples las otras en otro captulo.
Datos Numricos: Permiten representar valores escalares de forma numrica, esto incluye a los
nmeros enteros y los reales. Este tipo de datos permiten realizar operaciones aritmticas comunes.
Datos Lgicos: Son aquellos que solo pueden tener dos valores (cierto o falso) ya que representan el
resultado de una comparacin entre otros datos (numricos o alfanumricos).
Datos Alfanumricos (String): Es una secuencia de caracteres alfanumricos que permiten representar
valores identificables de forma descriptiva, esto incluye nombres de personas, direcciones, etc. Es
posible representar nmeros como alfanumricos, pero estos pierden su propiedad matemtica, es
decir no es posible hacer operaciones con ellos. Este tipo de datos se representan encerrados entre
comillas.
Ejemplo:
Computacin de Informtica
Palin
Programa 2:
Permite ingresar un nombre, sexo y edad y mostrar dichos valores en una sola expresin
//Algoritmo programa02
var
nombre, sexo : cadena
edad : numerico
inicio

Carrera: Computacin e Informtica

Unidad Didctica: Lgica de Programacin


6

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

Carrera: Computacin e Informtica

Unidad Didctica: Lgica de Programacin


7

Operadores Aritmticos: Los operadores aritmticos permiten la realizacin de operaciones


matemticas con los valores (variables y constantes).
Los operadores aritmticos pueden ser utilizados con tipos de datos enteros o reales. Si ambos son
enteros, el resultado es entero; si alguno de ellos es real, el resultado es real.
Operando1

(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

Carrera: Computacin e Informtica

Unidad Didctica: Lgica de Programacin


8

5.

PRIORIDAD DE LOS OPERADORES ARITMTICOS


Todas las expresiones entre parntesis se evalan primero.
Las expresiones con parntesis anidados se evalan de dentro a fuera, el parntesis ms interno se
evala primero.
Dentro de una misma expresin los operadores se evalan en el siguiente orden.
1. ^ Exponenciacin
2. *, /, mod Multiplicacin, divisin, modulo.
3. +, - Suma y resta.
4. Los operadores en una misma expresin con igual nivel de prioridad se evalan de izquierda a
derecha.
Ejemplos:
4 + 2 * 5 = 14
23 * 2 / 5 = 9.2
46 / 5 = 9.2
3 + 5 * (10 - (2 + 4)) = 23
3 + 5 * (10 - 6) = 3 + 5 * 4 = 3 + 20 = 23
3.5 + 5.09 - 14.0 / 40 = 5.09
3.5 + 5.09 - 3.5 = 8.59 - 3.5 = 5.09
2.1 * (1.5 + 3.0 * 4.1) = 28.98
2.1 * (1.5 + 12.3) = 2.1 * 13.8 = 28.98
Programa 5:
Haga un programa para hallar X,Y, si se sabe que :
= (A+B*C)/8
= (B*D)/A
=( X + Y)/Y*4
//Algoritmo Programa5
var
A,B,C,D,X,Y,Z : numerico
inicio
cls()
imprimir("\nIngrese los valores de A,B,C,D : \n")
leer(A,B,C,D)
X = (A+B*C)/8
Y = (B*D)/A
Z =( X + Y)/Y*4
imprimir("\nEl valor de X : " + str(X))
imprimir("\nEl valor de Y : " + str(Y))
imprimir("\nEl valor de Z : " + str(Z))
fin

Carrera: Computacin e Informtica

Unidad Didctica: Lgica de Programacin


9

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

Carrera: Computacin e Informtica

Unidad Didctica: Lgica de Programacin


10
Operador Not
Operando
Resultado

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))

((a > = b) O (a < d)) Y ((a > = d) Y (c > d))

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 */

Carrera: Computacin e Informtica

Unidad Didctica: Lgica de Programacin


11

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

Carrera: Computacin e Informtica

Unidad Didctica: Lgica de Programacin


12

REGLAS PARA FORMAR UN IDENTIFICADOR


Los identificadores son utilizados para dar nombre a los programas, variables, subrutinas, tipos de
datos, constantes y otros elementos de un programa SL.
Existen algunas reglas a tener en cuenta en la creacin de identificadores:
1. Deben comenzar con una letra o con el carcter _ (guin bajo).
2. Pueden tener hasta 32 caracteres.
3. No deben contener espacios.
4. La combinacin de maysculas y minsculas en los identificadores hace que los mismos sean
considerados diferentes. En otras palabras:
5. CANTIDAD, cantidad y Cantidad representan tres identificadores distintos.
6. Pueden incluir las letras y (ee minscula y mayscula respectivamente).
7. No pueden contener caracteres acentuados.
8. Pueden incluir combinaciones de letras y nmeros y el carcter _ (guin bajo)
11.

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

Carrera: Computacin e Informtica

Unidad Didctica: Lgica de Programacin


13

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

apellido=lopez direccion=Av. Libertad #190

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)

Carrera: Computacin e Informtica

Potrebbero piacerti anche