Professional Documents
Culture Documents
CONCEPTOS BSICOS
Introduccin
El hombre se enfrenta constante y habitualmente a innumerables problemas. Muchas soluciones las
alcanza recurriendo a lo aprendido a travs de la experiencia, para otras necesita el apoyo de herramientas aportadas por las diversas ramas de la tecnologa. Una de las herramientas que ha provocado
mayor impacto es la computadora.
La computadora no puede resolver nada sin que el hombre determine la forma y recursos necesarios
para hacerlo. Es claro, que dar respuesta a un problema exige conocimiento, reflexin, razonamiento
lgico y alguna dosis de ingenio y sagacidad. La experiencia indica que aprender un lenguaje de
programacin no resulta tarea complicada, lo complejo resulta encontrar el camino adecuado para la
resolucin de la problemtica planteada.
Algunas personas aplican, generalmente de forma inconsciente, una serie de mtodos y mecanismos
que suelen resultar adecuados para abordar problemas. Estas operaciones mentales se conocen como
procesos heursticos. Una heurstica es una regla prctica basada en la experiencia, sobre la cual no
existe garanta de llegar a una solucin.
Una persona puede aprender estrategias que aumenten su capacidad para resolver problemas que de
otra manera le hubieran resultado difciles. Una estrategia es un mtodo general, una gua que puede
aplicarse para hallar la resolucin de muchas clases de problemas. Existen diferentes estrategias para
enfrentar la resolucin de un problema.
En este taller se brindarn algunas estrategias para resolver problemas , par eso se analizan adems
los tipos de datos y estructuras de control que permitirn expresar las rdenes adecuadas para realizar
luego una codificacin.
La tarea de aprender a programar en un determinado lenguaje, puede resultar ms sencilla si
previamente se utiliza un lenguaje cuya sintaxis resulte ms familiar y cercana al lenguaje coloquial. En
este apndice, a travs del uso de seudo-cdigo, se introducirn los elementos bsicos y estructuras,
que constituyen un lenguaje.
Para un determinado problema, se expresar en seudo-cdigo el algoritmo de resolucin del mismo. Si
bien el seudo-cdigo utiliza vocablos del lenguaje natural, el mismo posee un vocabulario limitado y
reglas que se deben atender, de modo que el algoritmo resultante carezca de ambigedad.
De ah, que el uso de Seudo-cdigo ayuda a expresar, de manera concisa, diferentes algoritmos de
resolucin de problemas, que con posterioridad podrn ser traducidos a cualquier lenguaje de programacin.
Conceptos Bsicos
Una computadora es una mquina digital, controlada por un programa almacenado, con capacidad
para realizar operaciones aritmticas y lgicas, que le permite procesar datos y mostrar los resultados
obtenidos a velocidades muy superiores de las que son capaces los seres humanos.
Programa es el conjunto de instrucciones ordenadas que pueden ser interpretadas por la computadora
y que le permitir resolver un problema planteado.
Se denomina abstraccin al proceso de anlisis del mundo real que permite identificar los aspectos
esenciales de un problema. El resultado de este proceso se expresa a travs de un modelo que
contempla los requerimientos del problema.
Se llama dato a la representacin de los objetos del mundo real que permitir construir el modelo.
Resolucin de Problemas
En la resolucin de problemas se puede distinguir las siguientes etapas:
Formulacin del problema
La primera condicin al momento de resolver un problema, es contar con un enunciado preciso y claro,
que no contenga ningn tipo de ambigedades.
Una vez que est claro qu hacer y quin lo va a hacer, en este caso la computadora, se deben conocer
los recursos con que se cuenta para especificar cmo hacerlo. Al conjunto de todos los recursos
necesarios para se pueda realizar una tarea se denomina Ambiente.
Conceptos Bsicos
Plantea un
PROBLEMA
DEL
MUNDO
REAL
ENUNCIADO
PROGRAMA
Resuelto por un
Traducido en
PROCESADOR
ALGORITMO
Segn un
Operaciones que puede realizar una computadora: Una computadora puede realizar mltiples
operaciones, que en general se pueden sintetizar en:
Almacenar los datos en la memoria.
Realizar operaciones aritmticas, relacionales y lgicas.
Reconocer y ejecutar acciones simples, como las de lectura y escritura, y acciones estructuradas, tales
como las estructuras secuenciales, iterativas y selectivas.
Conceptos Bsicos
Cada dato tiene asociado: un Nombre, un Valor y un Tipo, y ocupa un espacio de memoria de la
computadora.
NOMBRE
DATO
OBJETO
tiene
TIPO
VALOR
EJEMPLO 1:
real monto
monto=1000.50
En el ejemplo se identifica una variable de nombre monto, de tipo real, a la cual se le asigna el valor
1000.50
Generalmente los datos cambian su valor mientras se procesa el algoritmo, en este caso se habla de
datos variables o simplemente VARIABLES. Otros, en cambio, no modifican su valor original, por lo
que se los llama CONSTANTES.
El nombre de un dato est representado por una secuencia de uno o ms caracteres: letras, dgitos y/o
algunos caracteres especiales. El primer carcter debe ser una letra y el nombre no debe contener
espacios en blanco. Generalmente se seleccionan nombres representativos de los objetos para facilitar
su interpretacin y/o su posterior modificacin.
EJEMPLO 2:
Los siguientes son nombres de datos vlidos:
Edad, Busca_mayor, ordena1, fecha, Fecha y FECHA
Estos son nombres de datos no vlidos: 11ordena *fecha /nombre
Tipos de Datos
Un tipo de dato define el rango de valores que puede tomar un dato y de esta manera el programador
puede usar las operaciones apropiadas sobre ese dato.
Los tipos de datos primitivos que definen la mayora de los lenguajes de programacin son:
Tipos de
Numricos
Datos
Carcter
Primitivos
Cadena
Entero
Real
Lgicos
Conceptos Bsicos
EXPRESIONES
Expresiones relacionales
Expresiones lgicas
Expresiones aritmticas:
OPERANDOS
OPERADORES
TIPO DE RESULTADO
4
Conceptos Bsicos
Variables o
Constantes
numricas
+
*
/
suma
resta
multiplicacin
cociente
Numrico
OPERADOR
1
2
*
+
/
-
En caso de operadores con la misma prioridad, las operaciones se realizan de izquierda a derecha, es
decir en el orden en que se encuentran.
Si los operandos de la expresin aritmtica son del mismo tipo, el resultado es del mismo tipo.
Si son de distinto tipo, uno entero y otro real por ejemplo, el resultado es real.
EJEMPLO 7:
Expresiones aritmticas vlidas
entero a,b,c,d
real e
1. a+b+5+d
expresin entera
2. a-b*c/4
expresin entera
3. a/b+c-d
expresin entera
4. (a+b)*(c-d)/e
expresin real
Para a=2, b=8 y d=3, el resultado de la evaluacin de la primera expresin ser 18.
Expresiones relacionales
En una expresin relacional aparecen dos operandos que deben ser del mismo tipo. Los operadores
utilizados se muestran a continuacin:
OPERANDOS
OPERADORES
Datos del mismo tipo: >
Mayor
ambos
numricos, <
Menor
carcter, cadena o == Igual
del tipo lgico.
< > Distinto
> = Mayor o Igual
< = Menor o Igual
TIPO DE RESULTADO
Valor lgico:
Verdadero
Falso
EJEMPLO 8:
Expresiones relacionales vlidas
entero a,b,c,d
a+b > c+d
a <= d
carcter m,n
m <> n
m == n
Conceptos Bsicos
Expresiones lgicas:
Los operandos de las expresiones lgicas son expresiones relacionales, variables o constantes de tipo
lgico; los operadores utilizados se muestran a continuacin:
OPERANDOS
Expresiones relacionales,
Variables o constantes de
tipo lgico.
OPERADORES
NO negacin
Y
conjuncin
O
disyuncin
TIPO DE RESULTADO
Valor lgico :
Verdadero
Falso
El orden de precedencia de los operadores lgicos, es decir, la prioridad que tienen en caso de no estar
entre parntesis es:
ORDEN DE
PRECEDENCIA
1
OPERADOR
NO
El valor booleano que resulta de la evaluacin de una expresin lgica, se deduce de la tabla de verdad
que se obtiene combinando los valores posibles que pueden tomar las variables lgicas A y B:
A
A y B
AoB
NO A
V
V
F
F
V
F
V
F
V
F
F
F
V
V
V
F
F
F
V
V
EJEMPLO 9:
Los siguientes son ejemplos de expresiones lgicas:
carcter a,b,c,d
1. (a <= b) y (c == d)
2. ( a <= b) y (c == d)
3. (a <= b) o (c == d)
Para a=r, b=z, c=m, d=m, el resultado de la evaluacin de la primera expresin ser el valor
booleano Verdadero.
Algoritmos y Seudo-cdigo
En adelante se utilizar seudo-cdigo para construir algoritmos que resuelvan un determinado
problema. Por lo tanto, para evitar algunas ambiguedades en lo que se desee expresar, es importante
respetar las sintaxis de cada una de las acciones y las reglas para la construccin de algoritmos que se
utilizarn en este apndice
El inicio y el final de un algoritmo deben marcarse con las palabras Comienzo y Fin
Antes de las sentencias debe especificarse el ambiente del algoritmo. El ambiente debe incluir
constantes y variables que se requieren para resolver el problema
EJEMPLO 11:
Dado el permetro de un cuadrado calcular la longitud del lado.
Comienzo
real perimetro,lado /*variables del ambiente*/
Leer permetro
lado = perimetro / 4
Escribir lado
Fin
Otra forma de resolver este problema es:
Algoritmos y Resolucin de Problemas
Conceptos Bsicos
Comienzo
constante cant_lados=4 /*constantes del ambiente*/
real perimetro,lado /*variables del ambiente*/
Leer perimetro
lado = perimetro / cant_lados
Escribir lado
Fin
En este ejemplo se observa que se puede asociar un nombre a una constante, esta situacin debe ser
declarada en el ambiente.
ACTIVIDAD 1:
Construir el algoritmo que resuelva los siguientes problemas:
Enunciado 1 :
Indicar la superficie que debe cubrirse de pasto en un terreno rectangular, que tiene en el centro una
piscina circular cuyo dimetro es igual a la mitad del largo del terreno.
Cuntos postes se necesitan para cercar dicho terreno rectangular si se desea colocar un poste cada
dos metros?
Cuntos metros de alambre se debern comprar si se desea colocar 5 hileras de alambre?
Enunciado 2:
Calcular la distancia que recorre un planeta alrededor del sol en un ao, si se conoce la distancia que
los separa y se supone que la rbita es circular.
Enunciado 3:
Calcular la longitud de una escalera, apoyada sobre una pared de y metros de alto, de la que esta
separada x metros.
Enunciado 4:
En el contorno de una pileta circular de 25 m de superficie se desea colocar una hilera de cermico.
Cul es la longitud a cubrir?
Enunciado 5:
Si se desea pintar la siguiente figura, sobre el vidrio de una ventana cuadrada. Cul es la a cubrir de
pintura?
Algoritmos y Resolucin de Problemas