You are on page 1of 23

2016

TALLER CONOCIMIENTOS ESPECFICOS


Licenciatura en Sistemas de Informacin
Licenciatura en Ciencias de la Computacin

Dr. Mario DAZ


Lic. Magdalena ARRN

Departamento de Informtica
Facultad de Ciencias Exactas, Fsicas y Naturales
UNSJ

Indice

INDICE
INTRODUCCIN ....................................................................................................................................... 3
FORMALIZACIN DE CONCEPTOS PARA LA CONSTRUCCIN DE ALGORITMOS ............................ 3
CONCEPTO DE ALGORITMO ........................................................................................................................ 3
RESOLUCIN DE PROBLEMAS .............................................................................................................. 4
ETAPAS EN LA RESOLUCIN DE PROBLEMAS ................................................................................................ 4
FORMULACIN DEL PROBLEMA .................................................................................................................... 4
DETERMINACIN DEL ALGORITMO ............................................................................................................... 4
CODIFICACIN .......................................................................................................................................... 4
EJECUCIN .............................................................................................................................................. 5
DATOS...................................................................................................................................................... 6
TIPOS DE DATOS ....................................................................................................................................... 7
Tipos de Datos Simples o Primitivos ................................................................................................... 7
Tipos de Datos Estructurados ............................................................................................................. 9
EXPRESIONES ......................................................................................................................................... 9
Expresiones aritmticas: ................................................................................................................... 10
Reglas de evaluacin de una expresin aritmtica ............................................................................ 10
Expresiones relacionales .................................................................................................................. 10
Expresiones lgicas: ......................................................................................................................... 11
ACCIONES.............................................................................................................................................. 12
Acciones Primitivas o Simples ........................................................................................................... 12
ALGORITMOS Y SEUDOCDIGO .......................................................................................................... 13
ACCIONES ESTRUCTURADAS..................................................................................................................... 14
ESTRUCTURAS DE CONTROL .............................................................................................................. 14
Secuencia ......................................................................................................................................... 14
Seleccin .......................................................................................................................................... 14

PRCTICA .............................................................................................................................................. 18

Taller de Conocimientos Especficos

Introduccin

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 curso se brindarn algunas estrategias para resolver problemas, para 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 curso, a travs del uso de seudocdigo, se introducirn los elementos bsicos
y estructuras, que constituyen un lenguaje.
Para un determinado problema, se expresar en seudocdigo la resolucin del mismo; utiliza
vocablos del lenguaje natural, el mismo posee un vocabulario limitado y reglas.

FORMALIZACIN DE CONCEPTOS PARA LA CONSTRUCCIN DE ALGORITMOS


Ahora se tratar de formalizar algunos conceptos, que nos conducirn a la expresin de los
procesos representados grficamente, utilizando un seudolenguaje llamado seudocdigo
Concepto de Algoritmo
Un algoritmo es un mtodo para resolver problemas, que consiste de una secuencia
ordenada y finita de acciones o pasos, cada una de las cuales con un significado preciso,
que debe ejecutarse en un tiempo finito.
Es importante hacer notar, que el concepto de algoritmo, aunque similar y obviamente
relacionado, no debe confundirse con el concepto de programa. Algoritmo, es la especificacin
de un conjunto de pasos orientados a la resolucin de un problema, mientras que un programa1
es ese conjunto de operaciones especificadas en un determinado lenguaje de programacin.
Un algoritmo constituye la documentacin principal que se necesita para iniciar la fase de
codificacin y para representarlo se utilizan dos tipos de notacin: pseudocdigo y diagramas de
flujo. El diseo de un algoritmo es independiente del lenguaje que se utilice en la codificacin.

Programa es el conjunto de instrucciones ordenadas que pueden ser interpretadas por la computadora y que le
permitir resolver un problema planteado.

Taller de Conocimientos Especficos

Resolucin de Problemas

RESOLUCIN DE PROBLEMAS
El primer inconveniente que se presenta cuando se debe resolver un problema es su
interpretacin, ya que para enunciar un problema, en general, se utilizan textos narrativos y
expositivos. La comprensin de estos textos requiere establecer una serie de relaciones, para
identificar lo que se desea obtener, con qu informacin se cuenta y cmo organizarla para
proponer una solucin.
Por eso, buscar la solucin de problemas es una tarea difcil de sistematizar, puede pensarse
como un proceso que requiere la adquisicin de ciertas capacidades.
Una estrategia para interpretar enunciados de problemas, podra ser:
Leer detenidamente TODO el enunciado.
Comprender claramente el significado de cada palabra y cada frase.
Poner especial atencin a los signos de puntuacin.
Detectar imprecisiones o ambigedades.
Identificar la salida o resultados del problema.
Identificar datos implcitos y explcitos
Identificar las entradas o informacin con la que se cuenta (pueden ser datos relevantes o
irrelevantes).
En resumen
Resolver un problema requiere transformar mediante un proceso, los datos de entrada para
obtener la salida.
Entrada

Proceso
(estrategias)

Salida

Algunas preguntas bsicas que debieran ser respondidas para intentar resolver un problema son:
Qu se debe obtener?
Con que datos se cuenta?
Existen restricciones?

Etapas en la 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.
Determinacin del Algoritmo
Una vez abstrados los elementos esenciales del problema a resolver, el procedimiento elegido
para su solucin se debe expresar como una secuencia ordenada de acciones, que el
procesador deber ejecutar para obtener los resultados pretendidos. Esta secuencia de acciones
expresadas en un lenguaje simblico se conoce con el nombre de Algoritmo.
Codificacin
Este proceso consiste en traducir el algoritmo a un lenguaje de programacin que pueda ser
interpretado por la computadora; se obtiene de esta manera un Programa.

Taller de Conocimientos Especficos

Resolucin de Problemas

Operaciones que puede realizar una computadora:


Almacenar los datos en la memoria.
Realizar operaciones aritmticas, relacionales y lgicas.
Reconocer y ejecutar acciones simples, como las de lectura y escritura,
estructuradas, tales como las estructuras secuenciales, iterativas y selectivas.

y acciones

Ejecucin
Utilizando un editor del lenguaje seleccionado, se podr depurar el programa de los errores de
sintaxis y ejecutarlo para obtener los resultados esperados.
La siguiente figura esquematiza lo expuesto:

PROBLEMA DEL
MUNDO REAL

PROGRAMA

Plantea un
Traducido en
ENUNCIADO

AMBIENTE

Resuelto por un

Utilizando
RECURSOS
A travs de un

PROCESADOR

ALGORITMO
(solucin del
problema

Para formalizar:
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.
Datos de entrada a aquellos que son conocidos y son proporcionados como informacin
relevante del problema
Ejemplo:
La mutual de los empleados de la Universidad de San Juan, ha elaborado un proyecto, a
llevarse a cabo en un plazo de 6 meses, con el objeto de realizar algunas refacciones en su
predio ubicado en el departamento de Pocito.
En un terreno rectangular cuyas dimensiones se conocen, est construida una piscina circular de
dimetro igual a la mitad del largo del terreno.
Debido a algunos accidentes ocurridos en las ltimas temporadas de verano, se desea cubrir el
fondo con un material especial que evite dichas contingencias. Con el mismo objetivo se
colocarn dos hileras de mosaico antideslizante en el contorno de la pileta.
Por otra parte, una vez finalizada la obra, se quiere parquizar nuevamente los alrededores de la
piscina.

Taller de Conocimientos Especficos

Datos

Se ha solicitado al departamento construcciones de la universidad, un informe que especifique la


superficie a cubrir con cada uno de los materiales mencionados, con el objeto de realizar la
licitacin para la compra de los mismos.
Una vez que se ha ledo el enunciado y se tienen claros los objetivos del problema, se debe
determinar qu hacer, respondiendo a las preguntas: Qu salidas se deben generar?Qu
entradas se ofrecen?,Cul es el proceso que permite a partir de los datos de entrada obtener la
solucin del problema?
Una manera de ayudarnos en esta tarea de anlisis del enunciado, es sistematizar la informacin
especificando: Salida, Datos de entrada y proceso; como se muestra en la siguiente tabla.
Salida

Datos de Entrada

1.Superficie del fondo de la Largo y ancho del terreno


pileta
2.Permetro de la pileta

Proceso
Clculo de Superficie pileta
Clculo del Permetro
Clculo de
csped.

3.Superficie a cubrir de
csped (superficie sombreada en la figura)

la

Superficie

de

Informar resultados

DATOS
La forma de representar a los objetos del mundo real, para ser procesados por una computadora
se denomina dato. Elegir la representacin adecuada de los datos resulta indispensable para
optimizar la solucin de un problema.
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:
real sueldo
sueldo=16087.50
En el ejemplo se identifica una variable de nombre sueldo, de tipo real, a la cual se le asigna el
valor 16.087,50

Valor de dato
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.
Constantes
Clases
de Datos
Variables
Taller de Conocimientos Especficos

Datos

Nombre o Identificador de dato


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:
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
Los datos que utilizan los programas se pueden clasificar en base a diferentes criterios. Uno de
los ms significativos es aquel que dice que todos los datos que utilizan los programas son
simples o compuestos.
Un tipo de dato define el rango de valores que puede tomar un dato y las operaciones que se
pueden realizar con l.
Para determinar el proceso que permitir obtener el resultado o salida requerida de un problema
que debe ser resuelto por una computadora, es necesario conocer el tipo de datos que sta
puede manipular.
Si un dato contiene un valor que siempre se trabaja como una unidad, se dice que es un dato
simple. Cuando el dato est formado por una coleccin de otros datos, se dice que es una
estructura de datos o un tipo de dato estructurado.
Esto permite visualizar una primera clasificacin de los datos en:
Simples
Tipos de
datos
Estructurados
Tipos de Datos Simples o Primitivos
Un dato simple es indivisible (atmico), es decir, no se puede descomponer .
Los tipos de datos simples que definen la mayora de los lenguajes de programacin son:

Numricos
Tipos de
Datos simples
o Primitivos

Entero
Real

Carcter
Lgico

Tipo de Dato Numrico


Tipo entero: este tipo permite representar los valores enteros, por lo tanto son tiles para
simbolizar edades, cdigos numricos, nmeros de calles, resultados provenientes de procesos
de conteo etc.
Tipo real: este tipo permite representar valores con punto decimal. Ejemplos de variables de
tipo real son las que representan notas, temperaturas, presin arterial, altura, peso, costos, etc.
Ejemplo:
Un ao es un dato simple.
Ao...: 2008
Taller de Conocimientos Especficos

Datos

Un ao se expresa con un nmero entero, el cual no se puede descomponer.


Sin embargo, una fecha es un dato compuesto porque est formado por otros tres datos simples
(da, mes, ao).
Fecha: Da...: 30
Mes...: 11
Ao...: 2008
Las siguientes son las declaraciones de algunas variables de los problemas presentados:
real largo, ancho
entero edad, anio, dia
real x,y,z
Toda variable que se utilice en un algoritmo debe ser declarada, esto es, se debe especificar su
nombre y el tipo de dato asociado. La declaracin de variables permite a la computadora
reservar el espacio de memoria necesario para el almacenamiento de la misma, como as
tambin verificar si las operaciones que se realizan con ella corresponden al tipo declarado. Por
convencin, para declarar una variable colocaremos el identificador de la misma precedido por
su tipo.
Tipo de Dato Carcter
Un variable de tipo carcter es aquella que puede tomar uno de los caracteres del cdigo ASCII.
La sigla ASCII se refiere a Cdigo Estndar Americano para el Intercambio de Informacin, y es
un cdigo normalizado que cuenta con 128 caracteres, que incluye nmeros, letras maysculas,
minsculas y caracteres especiales. Actualmente, la mayora de los procesadores utilizan el
cdigo ASCII ampliado que cuenta de 256 caracteres, entre los que se han agregado los
caracteres del alfabeto griego.
En general, todas las computadoras manipulan los siguientes caracteres:
Letras maysculas: A..Z. (excepto CH, , LL)
Letras minsculas: a..z. (excepto ch, , ll)
Dgitos decimales: 0..9.
Carcter de espacio en blanco.
Caracteres especiales: +, -, %,...@,. .,
Signos de puntuacin: , ; :
Estos caracteres estn ordenados de 0 a 255, caracterstica que permite la comparacin entre
ellos. Los dgitos estn ordenados en su propia secuencia numrica y las letras estn dispuestas
acorde al orden alfabtico, precediendo las maysculas a las minsculas.
Muchos problemas requieren trabajar con variables cuyos valores son caracteres. Supongamos
el caso de una variable que se utiliza para identificar el resultado del tratamiento iniciado por un
paciente, que puede tomar los valores E o F por ejemplo, que representan el xito o fracaso del
mismo en cada uno de los pacientes. Otro ejemplo es el referido al rendimiento acadmico de los
alumnos donde se puede utilizar una variable que puede tomar los valores E, B, R y M, para
representar el nivel de rendimiento.
Como se dijo, las variables de tipo carcter pueden tomar uno de los valores de este conjunto,
el que se debe escribir entre apstrofes , para evitar confundirlo con el nombre de una
variable, operador o nmero.
Ejemplo:
Una letra es un ejemplo de dato simple tipo caracter.
Letra...: t
Entonces, para el caso del rendimiento de un alumno, la variable se deber declarar de la
siguiente forma:
caracter rendim
Nombre del dato rendim
Tipo de dato Caracter
Valor M
Taller de Conocimientos Especficos

Expresiones

Tipo de Dato Lgico


Existen variables que pueden tomar los valores Falso o Verdadero, corresponden al tipo de dato
lgico o Booleano.
La variable result, usada para identificar el xito o fracaso del tratamiento iniciado por un
paciente, puede ser tambin considerada de tipo booleano. As al tomar esta variable el valor
Falso, indica que el tratamiento no dio resultado en ese paciente.
booleano result
Nombre del dato result
Tipo de dato booleano
Valor Falso
Se llaman tipos ordinales, aquellos cuyos elementos estn ordenados discretamente, esto es,
para cada elemento, salvo el primero y el ltimo, existe un anterior y otro posterior. De los tipos
de datos estudiados, el nico que no es ordinal es el conjunto de los nmeros reales. Dado un
nmero real no se puede determinar el anterior ni el siguiente, ya que entre dos nmeros reales
siempre existe otro nmero real.

Tipos de Datos Estructurados


Tipo de Dato Cadena
En muchos casos es necesario trabajar con variables cuyos valores son un conjunto de
caracteres, por ejemplo las que se utilizan para representar nombres. En estos casos no es
posible el uso del tipo carcter, por ello la mayora de los lenguajes de programacin cuentan
con el tipo de dato cadena, que permite resolver la situacin planteada.
Un dato tipo cadena puede tomar como valor una cadena de caracteres, esto es, una secuencia
finita de caracteres encerrada entre comillas .
Si la variable nomb es utilizada para representar los nombres de las carreras que se cursan en la
Facultad de Ciencias Exactas, se puede declarar:
cadena nomb
Nombre del dato nomb
Tipo de dato Cadena
Valor Tecnicatura en Programacin WEB

EXPRESIONES
Las expresiones son descripciones de clculos que al evaluarse devuelven un nico resultado.
El tipo de resultado depende de los operadores y operandos que intervienen, por lo que se las
clasifica en:
Expresiones aritmticas

EXPRESIONES

Expresiones relacionales

Expresiones lgicas

Taller de Conocimientos Especficos

Expresiones

Expresiones aritmticas:
Las expresiones aritmticas son descripciones de clculos matemticos que al evaluarse
devuelven un nico resultado numrico.
OPERANDOS

Variables o
Constantes
numricas

OPERADORES
+
*
/
div
raiz
resto

suma
resta
multiplicacin
cociente
divisin entera
raz cuadrada
mdulo

TIPO DE RESULTADO

Numrico

Reglas de evaluacin de una expresin aritmtica


Son las mismas reglas que se utilizan en matemtica. Se comienza a evaluar la expresin de
izquierda a derecha. Si aparece un clculo entre parntesis se debe resolver primero. Si
aparecen parntesis anidados, es decir un par de parntesis dentro de otro, primero se resuelve
la expresin del parntesis interior.
Las operaciones de una expresin aritmtica se ejecutan de acuerdo con el siguiente orden de
precedencia:
ORDEN DE
PRECEDENCIA
1
2
3

OPERADOR
*

/ div
+

raz mod

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:
Expresiones aritmticas vlidas
entero a,b,c,d
real e
a+b+5+d
expresin entera
a-b*c/4
expresin entera
a/b+c-d
expresin entera
(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
Las expresiones relacionales son descripciones de clculos de comparacin que al evaluarse
devuelven un nico resultado lgico.
En una expresin relacional aparecen dos operandos que deben ser del mismo tipo.
Los operadores utilizados se muestran a continuacin:

Taller de Conocimientos Especficos

10

Expresiones

OPERANDOS

OPERADORES
>
<
=
<>
>=
<=

Datos del mismo tipo:


Ambos numricos, carcter,
cadena o de tipo lgico.

TIPO DE RESULTADO

Mayor
Menor
Igual
Distinto
Mayor o Igual
Menor o Igual

Valor lgico
(Verdadero o Falso

Ejemplo:
Expresiones relacionales vlidas
entero a,b,c,d
a+b >= c+d
caracter m,n
m == n
Expresiones lgicas:
Las expresiones lgicas son descripciones de clculos de operaciones lgicas que al evaluarse
devuelven un nico resultado lgico.
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

conjuncin

disyuncin

TIPO DE RESULTADO
Valor lgico
(Verdadero o 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

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:

Taller de Conocimientos Especficos

A Y B

AOB

NO A

11

Acciones

Ejemplo:
Los siguientes son ejemplos de expresiones lgicas:
caracter a,b,c,d
(a <= b) y (c = d)
( a <= b) y (c = d)
(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.

ACCIONES
Se llama accin a cada uno de los pasos que el procesador ejecuta para resolver el problema.
Las acciones pueden ser simples o estructuradas.
Una accin simple es un paso que es entendido en forma inmediata por el procesador y no
puede ser descompuesto en otros pasos.
Una accin estructurada es un paso compuesto por otras acciones simples o estructuradas.

PRIMITIVA O
SIMPLE
ACCION

es
ESTRUCTURADA

Acciones Primitivas o Simples


Lectura:
La accin primitiva de lectura permite ligar a una variable, un valor especificado desde un
dispositivo externo como el teclado. Por tanto, esta accin permite introducir al ambiente valores
desde fuera de l.
El formato de esta accin es:
Leer <nombre de variable,.. >
donde:
<nombre de variable> representa uno o ms nombres de variables del ambiente.
Ejemplo:
entero a
real b
caracter c
Leer a
Leer b
Leer c
Asignacin:
La accin primitiva de asignacin permite almacenar en una variable un valor que proviene de
una constante, de otra variable o del resultado de una expresin.

Taller de Conocimientos Especficos

12

Algoritmos y Seudocdigo

El formato de esta accin es:


<nombre de variable> = <valor>
donde:
<nombre de variable> es el nombre de la variable a la que el procesador le asignar un valor
= representa el smbolo de asignacin y
<valor> puede ser una constante, una variable o el resultado de una expresin.
Una asignacin altera el valor almacenado en la variable que aparece a la izquierda de la
asignacin, sin producir ningn efecto en la expresin que se encuentra a la derecha de la
misma.
Existen por lo tanto, dos formas de ligar un valor a una variable, a travs de una accin de
lectura (Leer) o por medio de una asignacin desde el mismo programa ( =).

Escritura:
La accin primitiva de escritura, permite comunicar al exterior valores del ambiente, a travs de
un dispositivo, tales como pantalla o impresora.
El formato de esta accin es:
Escribir <constante, nombre de variable, expresin...>
donde:
<constante> es el valor de un dato constante.
<nombre de variable> representa una o ms nombres de variables que contienen los valores
que se quieren mostrar.
<expresin> puede ser una expresin aritmtica, relacional o lgica.

ALGORITMOS Y SEUDOCDIGO
En adelante se utilizar seudocdigo para construir algoritmos que resuelvan un determinado
problema. Por lo tanto, para evitar algunas ambigedades 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.
Un algoritmo escrito en pseudocdigo siempre se suele organizar en tres secciones: cabecera,
declaraciones y cuerpo.
En la seccin de cabecera se escribe el nombre del algoritmo.
En la seccin de declaraciones se declaran los datos (variables, constantes,...) que va a utilizar
el algoritmo, es decir se especifica su ambiente.
En el cuerpo estn descriptas las acciones necesarias para resolver el problema planteado.
El inicio y el final de un algoritmo deben marcarse con las palabras Comienzo y Fin
Ejemplo:
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

Cuerpo del programa

Fin

Taller de Conocimientos Especficos

13

Estructuras de control

Otra forma de resolver este problema es:


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.
Acciones estructuradas
El orden en que se ejecutan las acciones de un algoritmo se llama flujo de control.
Recordemos que cuando el algoritmo cuenta con un nmero reducido de acciones que se
ejecutan una tras otra, en el mismo orden en el que aparecen, se habla de ejecucin
secuencial.
Tambin se vio que el flujo de control de un algoritmo puede ser alternativo , cuando se deben
tomar decisiones que dependen de ciertas condiciones o iterativo cuando es necesario repetir
acciones varias veces.
Se llaman acciones estructuradas a aquellas que determinan un flujo de control especfico; de
ah que tambin se denominan estructuras de control. Las sentencias estructuradas se ejecutan
teniendo en cuenta los distintos tipos de flujo de control: secuencia, seleccin e iteracin.
Secuencia
Estructuras de Control

Seleccin
Iteracin

ESTRUCTURAS DE CONTROL
Secuencia
Una secuencia est representada por un conjunto de acciones que se ejecutan en forma
consecutiva, una sola vez. En este caso el orden de ejecucin coincide con el orden fsico en
que se representan las rdenes.
El siguiente esquema representa esta estructura:
Accin 1
Accin 2
:
Accin n
Esquema de estructura Secuencial

Seleccin
Una seleccin es una sentencia estructurada que provoca la ejecucin de una accin entre
acciones alternativas.
Taller de Conocimientos Especficos

14

Estructuras de control

Las estructuras de seleccin o alternativa utilizadas son: Alternativa doble, Simple y Mltiple.
Alternativa Doble
El esquema de la estructura de seleccin doble es el siguiente:
F
Acciones b

Condicin

V
Acciones a

Alternativa Doble
El seudocdigo para esta estructura es:
Si <condicin>
Entonces
<accin simple o estructurada>
Sino
<accin simple o estructurada>
Finsi
Donde:
Condicin es una variable lgica, expresin lgica o relacional, cuyo valor puede ser
verdadero o falso.
Las palabras Si, Entonces, Sino y FinSi, se llaman delimitadores
Esta estructura se interpreta as, primero se evala la condicin, si el resultado obtenido es
verdadero, el procesador deber ejecutar la acciones que estn entre los delimitadores
Entonces y Sino, en caso contrario ejecutar la accin simple o estructurada que est entre los
delimitadores Sino y Finsi.
Las acciones que siguen a Entonces (alternativa verdadera) o al Sino (alternativa falsa),
dependiendo del estado de la condicin evaluada, se ejecutarn en forma excluyente y una vez.
Situacin Problemtica
La emergencia energtica por la que atraviesa nuestro pas debido a la falta de inversin de las
empresas responsables de esa rea en los ltimos aos, ha llevado a que en la actualidad deba
tomarse medidas que afectan directamente al usuario. Ante la necesidad de un ahorro de
energa en los domicilios particulares, para no perjudicar el normal desarrollo de las industrias,
Energa San Juan ha implementado un sistema de castigos. Se ha puesto en vigencia una
disposicin que consiste aplicar a aquellos usuarios que incrementaron su consumo en ms de
100KW, un recargo del 20% al subtotal correspondiente a energa.
El total a pagar que figura en una boleta de energa, est constituido por la suma de tres
subtotales: Subtotal Energa, Subtotal Impuestos y Contribuciones y Subtotal subsidio y/o
Bonificacin.
El subtotal energa est constituido por la suma de un Cargo Fijo mensual de $9.05 y un Cargo
variable que se obtiene de multiplicar la mitad del consumo bimestral registrado, por el precio
unitario correspondiente al KW/hora, que en la actualidad es de $0.0699. Se necesita informar a
un usuario, del cual se conoce los consumos bimestrales del mismo perodo en los dos ltimos
aos, el importe a pagar y en caso de haber sido sancionado especificar el valor del recargo
aplicado.
Como ejemplo se muestra el algoritmo correspondiente a la situacin problemtica anterior:
Algoritmo Consumos
Comienzo
constante Precio_KW =0.0699
Taller de Conocimientos Especficos

15

Estructuras de control

constante Cargo fijo =9.05


real consumo_actual,consumo_anterior , Valor_limite, SubtEnergia
Escribir Ingrese consumos bimestrales actual y del mismo periodo ao anterior
Leer consumo_actual, consumo_anterior
SubtEnergia = Cargo fijo + ((consumo_actual / 2) * Precio_KW)
Valor_limite = consumo_anterior + 100
Si (Consumo_actual > valor_limite)
Entonces
Escribir El usuario debe pagar un recargo de, SubtEnergia * 0.20
Escribir Importe Subtotal Energa, SubtEnergia*1.20 /*equivale a SubtEnerga + SubtEnerga
*0.2

Sino
Escribir El usuario no debe pagar recargo, Importe Subtotal Energa , SubtEnergia
Finsi
Fin
El seguimiento del algoritmo para los lotes de prueba es:
Lote a: Consumo_actual = 550 KW
consumo_anterior= 420 KW
Lote b: Consumo_actual = 450 KW
consumo_anterior = 420 KW
Lote a
Accin Consumo_actual Consumo_anterior SubtEnerga Valor_limite

550

Salida

420

28.27

520

El usuario debe pagar


un recargo de 5.65

Importe Subtotal
Energa 33.92

Lote b
Accin Consumo_actual Consumo_anterior SubtEnerga Valor_limite

450

Salida

420

2
3
5

24.78
520
El usuario no debe
pagar recargo,
importe subtotal
energa 24.78

Alternativa Simple
Si el departamento informes de Energa San Juan, dispone que slo debe notificar al usuario
cuando deba pagar recargo, no ser necesario realizar acciones cuando la condicin es falsa.
ste, como muchos problemas a modelar, pueden requerir el uso de la estructura Si - Finsi sin
necesidad de usar el delimitador Sino. Esta estructura se conoce como Alternativa Simple.
El seudocdigo asociado es:
Si (<condicin>)
Entonces <accin simple o estructurada>
Finsi
Taller de Conocimientos Especficos

16

El esquema de la estructura de seleccin simple es:

Condicin

Acciones a

F
Alternativa Simple
El siguiente algoritmo muestra una posible solucin al problema planteado
Algoritmo Consumos1
Comienzo
constante Precio_KW =0.0699
constante Cargo fijo =9.05
real consumo_actual,consumo_anterior , Valor_limite
Escribir Ingrese consumos bimestrales actual y del mismo periodo ao anterior
Leer consumo_actual, consumo_anterior,
SubtEnergia = Cargo fijo + ((consumo_actual / 2) * Precio_KW)
Valor_limite = consumo_anterior + 100
Si (Consumo_actual > valor_limite)
Entonces
Escribir El usuario debe pagar un recargo de , SubtEnergia * 0.20
Escribir Importe Subtotal Energa , SubtEnergia *1.20
Finsi
Fin

Taller de Conocimientos Especficos

17

Prctica

PRCTICA
Ejercicio 1
Los siguientes enunciados deben realizarse siguiendo los pasos planteados en la estrategia para
anlisis de enunciados. Se deben identificar los datos relevantes para resolver el problema
(datos de entrada), los pasos realizados (proceso) y el resultado obtenido (datos de salida).
A. Un tenista gan el 75% de los 24 partidos que jug. Cuntos partidos gan y cuntos
perdi?
B. Se realiz una encuesta entre 300 chicos de los cuales 195 contestaron que estudian ingls
como segundo idioma. Cul es el porcentaje de los chicos que estudian ingls?
C. En una fiesta hay 120 mesas, algunas de tres patas y otras de cuatro patas. Cuntas mesas
de cada clase hay si suman 400 patas?
D. Los alumnos de un colegio concurren al mismo de la siguiente forma, la mitad caminando,1/3
en bicicleta y 105 en colectivo.
Cuntos alumnos tiene el colegio?
Cuntos alumnos concurren en bicicleta?
E. Se ha parquizado la mitad de un terreno y 1/3 del resto se cultiv con arbustos. Si quedan 80
metros cuadrados en blanco, Cul es la superficie del terreno?
F. 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.

En el contorno de una pileta circular se desea colocar una hilera de cermico. Cul es la
longitud a cubrir?
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?
G. 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.

H. Calcular la longitud de una escalera, apoyada sobre una pared de y metros de alto, de la que
esta separada x metros.

x
Taller de Conocimientos Especficos

18

Prctica

Ejercicio 2
Escribir las siguientes expresiones aritmticas para que sean vlidas en pseudocdigo:

x+ y

+ 3
21

1
2

3 4

2 + 3 2 4

7 + 4
2

Nota: la operacin raz cuadrada se indicar del siguiente modo: raiz (operando) donde operando es un
dato numrico o expresin aritmtica.

Ejercicio 3
Escribir expresiones lgico-matemticas para expresar los siguientes conceptos
Concepto

Expresin

N es positivo
N resto 2 = 0

N es un nmero par
N es mltiplo de 7 y mltiplo de 4
N no es mltiplo de 5 ni mltiplo de 8

no (N resto 5 = 0) y (N resto 8 <>0)

N es mltiplo de 3 pero no es mltiplo de 8


N es positivo o impar
N no es divisor de P
N es mltiplo de k
N es sucesor de y
N ms su doble es par

Ejercicio 4
Complete el cuadro indicando el tipo de dato solicitado:
Expresin

Operadores
(Tipo)

Operandos
(Tipo de dato)

Resultado
(Tipo de dato)

(a-b) > (x+y)


(m/n)+x*y-6
((k-y)=58) y (k >0)
H >=h
(((a*c)+58)/F)>0) o Y
Q/2-68+q*5-J

Taller de Conocimientos Especficos

19

Prctica

Ejercicio 5
Complete el cuadro. Considerando los valores que se presentan para el clculo.
a) T = -2

C= 7 K= c

Expresin

Tipo de expresin

Resultado

Tipo de resultado

Tipo de expresin

Resultado

Tipo de resultado

Resultado

Tipo de resultado

3*T >= C*2


(K < = f) o ((T*2) >C)
T * (-1) + 3 * C T* 4

b) P = 6 Q = -5

B = falso

Expresin
P+7 Q*3+2
8 Q*3*2 + P/2
no B y (Q (-1)< P+2)

c) M = 8 N = -3 Z =verdadero A = m
Expresin

Tipo de expresin

(A >=m) o ((M / 2) >3)


Z y (((-3) * N) < = M*2)
M * (-1) + ((M * N)/4)

Ejercicio 6
Suponiendo que M, N, Z son nmeros enteros, proponga expresiones que verifiquen:
a) Z es mayor que M o N
b) M est entre N y Z
c) M es menor que N y Z, y adems N es menor que Z y mayor que M
d) M es menor que N mas Z, pero mayor que ambos y adems no es par
e) La quinta parte M mas 150
f) Un nmero ms su doble es par
g) El mdulo 3 de N es mayor o igual a la diferencia entre la variable M y 29

Ejercicio 7
Construir la expresin correspondiente a cada uno de los siguientes enunciados lgicos
A. Datos del alumno: Reg-alumno, nombre, cod-carrera y cant-mat-rend
a) Registro de alumno igual a diez mil y cuyo cdigo de carrera sea I G.
b) Alumnos con cdigo de carrera igual a G y que tengan entre cinco y ocho materias
rendidas.
c) Alumnos cuyo cdigo de carrera es igual a A con al menos 10 materias rendidas
B. Datos de un artculo: Cdigo-artculo, nombre-artculo, precio y stock
a) Cdigo de artculo menor que cien y mayor que cuarenta cuyo precio no supere los noventa
pesos.
b) Cdigo de artculo comprendido entre 80 y 150 cuyo stock no sea menor a 25.
c) Nombre de artculo que cueste como mximo 38 pesos.

Taller de Conocimientos Especficos

20

Prctica

C. Datos del usuario: Nombre-usuario, departamento, consumo electricidad


a) Nombre de usuario igual Jos Gonzalez cuyo consumo no es mayor a 1500 Kw.
b) Usuarios cuyo consumo no supere los 1800 Kw
c) Usuarios con domicilio en Rawson con un consumo que que no sea inferior a 950 Kw y no
sea superior 1300 kw.
D. Datos del empleado: Cdigo de empleado: Num_empl, Edad: E; Provincia donde naci:
Prov, Sexo: S (codificada F:femenino M:masculino), Sueldo bsico: Sueldo y Aos de
antigedad: Antig
a. Empleados hombres mayores de 35 aos que tienen sueldo bsico superior a $500
b. Empleados de sexo femenino mayores a 25 aos o de sexo masculino entre 30 y 45 aos.
c. Empleados nacidos en San Juan con menos de 5 aos de antigedad.
d. Empleados de sexo masculino nacidos en Mendoza con cdigo de empleado inferior a 100.
E. Datos del paciente: Identificacin de paciente: ID_pac, Edad: E; Sexo: S (codificada F:
femenino M: masculino), Estado civil: Est_civil (codificado S:soltero, C:casado, V:Viudo),
Especialidad mdica atendida: Esp_medica (codificada 1:Clinica Mdica, 2:Ginecologia:
3:Pediatra 4:. 10: Urologa) Cdigo doctor que atiende: Cod_dr (codificado 1:Sanchez
2:Guzmn 3: Clavel 4:Perez . 15: Jofr )
a. Pacientes hombres mayores de 40 aos que los atiende el doctor Jofr
b. Pacientes de sexo femenino solteras de menos de 30 aos y ms de 20 aos que necesitan
atencin en la especialidad de ginecologa
c. Pacientes del doctor Guzmn casados y con identificacin de paciente que no sea superior a
950.
d. Pacientes de la especialidad pediatra entre 0 y 4 aos atendidos por el doctor Clavel.
F. Datos del alumno: Nro inscripcin del alumno: Num_insc, Edad: E; Sexo: S (codificada F:
femenino, M: masculino), Estado civil: Est_civil (codificado S:soltero, C:casado, V:Viudo) Nota
promedio de la secundaria: Nota_prom, Cdigo ingreso a la UNSJ: Cod_ing (codificado S:
ingres N: no ingreso)
a. Alumnos ingresantes varones cuya edad sea entre 18 y 20 aos
b. Alumnos aspirantes solteros de sexo femenino con nota promedio superior a 6.50
c. Alumnos ingresantes que no sean solteros con nmero de inscripcin inferior a 1000.
Ejercicio 8
Escriba un algoritmo que permita pasar una distancia medida en metros a pies.
NOTA:1 metro equivale a 39.27 pulgadas y 12 pulgadas equivale a 1 pie.

Ejercicio 9
Escriba un algoritmo que permita calcular la longitud de una escalera, apoyada sobre una pared
de y metros de alto, de la que esta separada x metros.

x
NOTA: Utilizar teorema de Pitagras clculo de la hipotenusa de un tringulo rectngulo, en funcin de los
catetos.

Ejercicio 10
Un estudio biolgico demostr que el nmero de sonidos emitidos por un grillo en un minuto, es
en funcin de la temperatura ambiente expresada en grados Fahrenheit. Como resultado podra
utilizarse al grillo como termmetro ambiental.
Taller de Conocimientos Especficos

21

Prctica

La frmula que obtuvieron y determina esto es: T = N/4 +40 (T: temperatura en grados Fahrenheit;
N: nmero de sonidos emitidos por el grillo)

Se pide realizar un algoritmo que:


Teniendo en cuenta el nmero de sonidos emitidos por el grillo diga la temperatura ambiental en
grados Celsius o centgrados.
NOTA: Para convertir grados Fahrenheit a grados Celsius o centgrados la frmula es: C= (F - 32) x
0,556

Ejercicio 11
Realizar el seguimiento de los siguientes algoritmos.
A.
Lote de prueba
x =22, z = 12
x =39, z = - 11
x= -16, z=9
algoritmo Paridad
Comienzo
constante y=2
entero x, z
Escribir Introduzca primer valor (entero):"
Leer x
Escribir Introduzca segundo valor (entero):
Leer z
SI ((x + z) resto y) = 0
entonces Escribir x , +, z, es Par
sino Escribir x , +, z, No es Par
FinSi
Fin
B.
Lote de prueba
a =58, b = 50
a =25, b = - 50
algoritmo Media
Comienzo
entero a, b
Escribir Introduzca primer nmero (entero):"
Leer a
Escribir Introduzca segundo nmero (entero):
Leer b
Si (( a > 0) y (b > 0 ))
entonces Escribir La media aritmtica de: , a, b, es, ( a + b ) / 2
Finsi
Fin
Ejercicio 12
Dado un nmero entero decir si:
a) es par o impar;
b) es mayor, menor o igual a cero:
c) es primo
Ejercicio 13
Calcular el sueldo de un operario conociendo la cantidad de horas que trabaj en el mes, el valor
de la hora y la categora. El valor de la hora de la categora A es de $54 y el de la categora B es
$62.

Taller de Conocimientos Especficos

22

Prctica

Ejercicio 14
Dadas las 3 notas obtenidas por un alumno, calcular e informar por pantalla su promedio e
informar una leyenda que indique si est aprobado o no. La condicin de aprobacin es obtener
un promedio mayor o igual que 6.
Ejercicio 15
Se tiene el nombre y la cantidad de inasistencias en el ao de los alumnos. Indicar la condicin
de un alumno (REGULAR o LIBRE), sabiendo que queda libre cuando posee ms de 20
inasistencias.
Ejercicio 16
De una prueba de nivel realizada a un alumno se conoce la cantidad total de preguntas
realizadas y la cantidad de respuestas correctas. Informar el nivel registrado de acuerdo a la
siguiente escala:
Nota

% Respuestas Correctas

Aprobado

Entre 75 y 100

Condicional

Entre 40 y 74

Reprobado

Menos que 40

Taller de Conocimientos Especficos

23

You might also like