Documente Academic
Documente Profesional
Documente Cultură
Los datos son los objetos sobre los que opera una computadora.
Tipos de Datos:
Datos Numricos: los relativos a diferentes clases de nmeros. Son enteros (sin
parte decimal) y reales (con parte entera y decimal).
Datos Lgicos O Booleanos: aquellos que slo pueden tomar dos valores: cierto
o falso (true / false)
Operadores Aritmticos:
suma +
resta multiplicacin *
divisin /
potenciacin ^
divisin entera \ div
resto de divisin entera mod
Prioridad de las operaciones aritmticas:
^
*, /
+, div, mod
Teniendo
en
cuenta
los
datos
anteriores
la
siguiente
expresin tiene
como
resultado:
3 + 5 * (10 - (2
+ 4)) = ?
Prioridad
de
operadores
1.2.3.4.-
los
parntesis
elevar a potencias
multiplicacin y divisin
suma y resta
Expresiones
Las expresiones son combinaciones de constantes, variables, smbolos de operacin,
parntesis y nombres de funciones especiales. Por ejemplo:
a+(b + 3)/c
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. Segn sea el tipo de datos
que manipulan, se clasifican las expresiones en:
- Aritmticas
- Relacinales
- Lgicas
Palabras Reservadas
Son palabras que tienen un significado especial para el lenguaje y no se pueden utilizar
como identificadores: leer, escribir, cout, cin, etc.
Comentarios
Los comentarios pueden aparecer en cualquier parte del programa, mientras estn
situados entre los delimitadores: comillas simples o dobles. Los comentarios son tiles
para identificar los elementos principales de un programa o para explicar la lgica
subyacente de estos.
Qu es un Algoritmo?
Un algoritmo es una secuencia de pasos lgicos y ordenados con las cuales le damos
solucin a un problema determinado.
En la vida diaria cada uno de nosotros disea y realiza algoritmos para solucionar los
problemas cotidianos, es as que al levantarnos de la cama ya tenemos en la mente una
serie de pasos que debemos seguir para llegar al sitio de estudio o al sitio de trabajo. Una
vez en el sitio de estudio, tenemos en nuestra mente una serie de tareas que debemos
realizar en unos horarios ya definidos.
Si quisiramos realizar una comida especial, en nuestra mente construimos un algoritmo
o serie de pasos que debemos seguir en un orden especfico para que todo nos salga
como queremos. Si quisiramos transcribir estos pasos en una hoja de papel, para que
otra persona realizar las mismas tareas y obtenga el mismo resultado que nosotros,
debemos seguir una serie de normas para que esta otra persona nos entienda. Por
ejemplo debe estar escrito en el idioma que ella comprende, se deben enumerar los
pasos etc. Las normas que se deben seguir al momento de transcribir el algoritmo
depende de quien ser el encargado de ejecutarlo, por ejemplo si quisiramos escribir la
receta para que la ejecute una persona adulta las normas sern diferentes a las que
debemos seguir si quisiramos escribir la receta para que le ejecute una nia.
Algunos de los algoritmos diseados para que sean ejecutados por personas son: las
recetas de cocina, los manuales de funcionamiento, itinerarios, gua de matricula etc.
Ejemplos de algoritmos para ser ejecutados por personas:
1. Inicio
2. Leer el pedido
3. Examinar ficha del cliente
4. Si el cliente esta activo aceptar el pedido, en caso contrario rechazar el pedido.
5. terminar
Un cliente llaga a una entidad bancaria para realizar una consignacin, el cajero le
pide el nmero de la cuenta y el dinero a consignar, verifica que la cuenta si existe,
si la cuenta es valida se hace la consignacin (al saldo le aumenta el dinero
recibido) de lo contrario devuelve el dinero.
1. Inicio
2. pedir nmero de la cuenta y el dinero
3. si la cuenta es valida siga en 4 de lo contrario siga en 6
4. saldo= saldo +dinero
5 ir a 7
6 devolver el dinero
7 terminar
1. Inicio
2. Pedir cdula
1 Inicio
2. X=2
3. Si N / X es entero escribir el numero no es primo ir a 6, si no continuar
4. X =X+1
5. Si X = N escribir el numero si es primo y continuar, si no ir a 3
6. terminar
Realizar:
1. un retiro de dinero por parte de un cliente en una entidad bancaria
2. crear un algoritmo que describa los pasos necesarios par ir a la universidad a clase de
6 Am tenga en cuenta que si llega 10 minutos tarde no puede entrar al saln de clase y si
al llegar no trae el carnet no puede entrar a la universidad.
Disear algoritmos que resuelvan los posibles problemas que se presentan para:
1. ir al cine
2. Reparar un pinchazo de una bicicleta.
3. Hacer una llamada a un compaero.
1. Diseo del algoritmo que describa la secuencia ordenada de pasos, que conducen a la
solucin de un problema dado (anlisis del problema y desarrollo del algoritmo).
2. Expresar el algoritmo como un programa en un lenguaje de programacin adecuado
(fase de codificacin). La actividad de expresar un algoritmo en forma de programa se
denomina programacin.
3. Ejecucin y validacin de programa por la computadora.
El primer paso es el mas importante, en el se determina el problema y describimos una
posible solucin, utilizando nuestra malicia, conocimientos y habilidad para dar una
solucin al problema.
Si queremos hacer algoritmos para que las computadoras los ejecuten, debemos seguir
ciertas normas y ese es unode los objetivos de este trabajo, ensear las normas que se
deben seguir para realizar algoritmos que luego sern ejecutados por las computadoras.
el otro objetivo es darle la posibilidad de desarrollar la habilidad de solucionar problemas,
pero como todas las habilidades esta slo se adquiere despues de hacer muchos
intentos.
Partes de un algoritmo
INICIO Y FIN
Una de las caractersticas de los algoritmos es que deben ser finitos. Se
debe indicar claramente donde inicia y donde termina.
para indicar donde comienza nuestro algoritmo vamos a utilizar la palabra
INICIO y para indicar donde se termina nuestro algoritmo vamos a utilizar
las palabras FIN PROGRAMA.
ejemplo: el siguiente algoritmo, que no hace nada slo indica donde inicia
y donde termina.
inicio
fin programa
Declaracin de variables
Los datos son una parte muy importante en un algoritmo, pues son ellos el
punto de partida y son ellos quienes sufren las transformaciones que darn
los resultados deseados. Por esta razn el algoritmo debe guardar los
datos en un sitio donde los pueda leer y modificar cada vez que lo
requiera. los sitios donde el algoritmo guarda los datos los llamaremos
ESPACIOS DE MEMORIA y el tamao de estos dependen del tipo de dato
que se quiera guardar en ellos.
Adems si se tienen varios datos se debe tener la posibilidad de
diferenciarlos de una manera que no se presenten confusiones
asignndoles un identificador vlido y nico a estos espacios de memoria.
Un espacio de memoria se denomina VARIABLE cuando su contenido
puede variar en el tiempo y de CONSTANTE cuando no se permite que su
contenido vari.
Lo primero que se hace en al algoritmo es declarar las variables. Donde se
separan los espacios de memoria del tamao indicado segn el tipo de
dato que guardarn y asignndoles un nombre o identificador vlido, con
el cual nos referiremos a la informacin que se guarda en dicho espacio de
memoria.
para declarar las variables se har de la siguiente forma:
ENUNCIADO:
Hacer un algoritmo que declare una variable para guardar el nmero de das de la
semana y otra variable para guardar el promedio de ventas al mes.
ENUNCIADO:
Hacer un algoritmo que declare una variable para guardar cuantos meses del ao tienen
30 das y otra variable para guardar el porcentaje de meses con 30 dias.
ENUNCIADO:
Hacer un algoritmo que declare una variable para guardar el nombre de una persona, otra
para guardar en nmero de hijos y otra para guardar el sueldo mensual.
ENUNCIADO:
Hacer un algoritmo que declare una variable para guardar el nombre de una persona,
otra variable para guardar el nombre de la fruta que prefiere y otra para guardar la
cantidad de frutas que se come al mes.
ENTRADA DE DATOS
Cuando un algoritmo requiera que el usuario ingrese datos, se utilizar la
instruccin LEER y entre parntesis la lista de variables donde se
guardarn los datos ingresados por el usuario.
leer(identificador1, identificador2)
ENUNCIADO:
Hacer un algoritmo que lea el nombre y la edad de una persona.
VARIABLES:
Los
datos
de
entrada
son
:
NOMBRE:
para
guardar
el
nombre
de
la
persona
(tipo
cadena)
EDAD: para guardar la edad de la persona, como en el enunciado no lo especifican lo
tomaremos de tipo entero.
ENUNCIADO:
Hacer un algoritmo que lea el nombre de un deportista, el nmero de intentos en la
prueba de 100 metros planos y el tiempo registrado.
VARIABLES:
Se declara la variable NOMBRE, de tipo cadena para guardar el nombre del deportista.
Como la cantidad de intentos es un entero, se define la variable INTENTOS de tipo
entero.
Como la medicin del tiempo puede tener parte decimal, se define la variable TIEMPO de
tiempo real.
PROBLEMAS PROPUESTOS
1. Hacer un algoritmo que lea el nmero de meses del ao y la cantidad de meses
que se trabajan.
2. Hacer un algoritmo que lea el nombre de una persona y nmero de horas que
estudia en la semana.
3. Hacer un algoritmo que lea el nombre de un estudiante, la cantidad de materias
perdidas y el porcentaje de materias ganadas.
4. Hacer un algoritmo que lea el nombre de un estudiante, el promedio del semestre
y el nmero de notas perdidas.
5. Hacer un algoritmo que lea el nombre de una persona, la comida preferida y la
cantidad de dinero que posee.
6. Hacer un algoritmo que lea el nombre de un animal, la comida preferida y la
cantidad de patas que tiene.
7. Hacer un algoritmo que lea el nombre de un deportista, la distancia recorrida y la
cantidad de intentos.
SALIDA DE DATOS
Si el algoritmo requiere mostrar la informacin que tiene guardada en
variables (espacio de memoria) hacia el exterior(para el usuario final ), se
utilizar la instruccin MOSTRAR y entre parntesis la lista de variables
donde se guardan los datos que se quieren mostrar.
ENUNCIADO:
PROBLEMAS PROPUESTOS
LA OPERACIN DE ASIGNACIN
Es el modo de copiar un valor especfico en una variable o espacio de
memoria. La operacin de asignacin se representa con el smbolo igual '='
La forma general de una operacin de asignacin es:
variable = valor
hay que tener en cuenta que en una variable determinada slo se podrn
guardar datos que correspondan al tipo con el que fue declarada la
variable. Por esta razn veamos como realizar la asignacin en cada uno
de los tipos de datos.
1.
2.
3.
4.
2.
Ejemplo 10
ENUNCIADO:
Hacer un algoritmo que lea un entero N y muestre el 20 % del nmero.
VARIABLES
Se declara N de tipo entero, para guardar el dato entrado por el usuario.
se declara P de tipo real, para guardar el 20 % del dato (0.2 * N).
PROBLEMAS PROPUESTOS
ENUNCIADO:
Hacer un algoritmo que lea un nmero entero N y muestre un mensaje formado con la
cadena " LA MITAD DEL NUMERO ES " y la mitad del nmero ingresado.
VARIABLES
Se declaran N, de tipo entero , para guardar el dato que ingrese el usuario.
Se declaran MITAD, de tipo real , para guardar la mitad del dato que ingrese el usuario.
EXPLICACION DEL ALGORITMO
Se declaran las variables requeridas, se le pide al usuario que entre N. se calcula la mitad
del nmero N y finalmente se muestra el mensaje pedido.
PROBLEMAS PROPUESTOS
1. hacer un algoritmo que lea el nombre y la edad de una persona y muestre el
nombre y los segundos que ha vivido la persona.
2. hacer un algoritmo que lea el nombre de una persona y muestre un mensaje
formado con el nombre y la cadena " BIEN VENIDO".
3. hacer un algoritmo que lea el nombre de una persona, su edad y muestre un
mensaje formado con el nombre, la cadena " TIENE ESTOS AOS " y la cantidad
de aos..
4. hacer un algoritmo que lea el nombre de una persona y muestre un mensaje
formado con el nombre y la cadena " HASTA PRONTO".
manera.
BANDERA = 2 > 10
Copiara en la variable BANDERA el valor de "falso", pues 2 no es mayor que 10.
ENUNCIADO:
Hacer un algoritmo que lea los datos N1 y N2 de tipo entero y muestre el resultado de la
siguiente expresin lgica:
N1 > 10 && N2 < 30 | | N1< N2
VARIABLES
Se declara N1 y N2, de tipo entero , para guardar los nmeros que ingresa el usuario.
Se declara RESPUESTA, de tipo lgico , para guardar el resultado de la expresin .
EXPLICACION DEL ALGORITMO
Se declaran las variables requeridas. Se leen los datos N1 y N2, en RESPUESTA se
guarda el resultado de evaluar la expresin indicada y final mente se muestra el resultado.
PROBLEMAS PROPUESTOS
1. hacer un algoritmo que lea el dato N de tipo entero y muestre el resultado de la
siguiente expresion lgica x < 3 && X < 20
son
(tipo
tipo
:
cadena).
real).
otros
P : para guardar el pago. recordar que el pago se calcula asi : P = NH* VH
EXPLICACION DEL ALGORITMO
1. se deben declarar las variables a utilizar NOMBRE, NH, VH y P.
2. luego se leen los datos NOMBRE, NH, VH.
3. una vez leidos los datos se hace el clculo para determinar el pago.
4. se muestra el nombre y el pago del trabajador.
datos:
ENUNCIADO:
Hacer un algoritmo que lea las unidades a comprar y el valor de la unidad. Calcule y
muestre el valor a pagar (teniendo en cuenta que se descuenta un 10 % del total).
DATOS:
Los
datos
de
NU:
para
guardar
las
unidades
VU: para guardar el valor de la unidad (tipo real).
entrada
comprar
Otros
DTO: para guardar el valor a descontar (de tipo real)
(tipo
son:
real).
datos:
PROBLEMAS PROPUESTOS
1. Encontrar el valor de la variable B, despues de la ejecucin de las siguientes
operaciones (B,X,Y son variables de tipo entero)
B=2+3
B=8
X=2
Y=6
B = X*Y
B=5
B = B+1
B=2+3
B = B*2
X=2
Y=6
B = B+X*Y
B =5
B = B*2+5
X=6
Y=6
B = X >Y
X=4
Y=6
Z =1
2. INSTRUCCIONES
INSTRUCCIONES DE DECISIN
Las instrucciones de decisin son necesarias cuando en un algoritmo una o muchas
tareas se deben hacer o no, dependiendo de una situacin en particular. esta situacin
nos ayudar a decidir si hacemos o no las tareas indicadas. las instrucciones de
decisin que estudiaremos son las bsicas, la INSTRUCCIN DE DECISIN SI y la
INSTRUCCIN DE DECISIN SI NO.
La estructura es la siguiente:
Inicio
Instruccin 1
.......Instruccin 11
.......Instruccin 12
.......Instruccin 13
fin si
Instruccin n
ENUNCIADO:
Hacer un algoritmo que lea dos nmeros enteros, muestre el mayor de ellos y si son
iguales lo reporta.
DATOS:
los datos de entrada son:
N1,
N2:
para
guardar
los
datos
leidos
de
tipo
entero)
ENUNCIADO:
para
guardar
el
nmero
(de
tipo
entero)
PROBLEMAS PROPUESTOS
1. Realizar un algoritmo que reciba la hora si es menor a 12 muestre el
siguiente mensaje: "hola buenos das".
2. Hacer un algoritmo que calcule la suma de dos nmeros enteros. Si la
suma es mayor que 100 sacar un mensaje comunicndolo.
3. Realizar un algoritmo que lea el nombre y la edad de una persona y si es
menor de edad (edad menor o igual a 18 aos) imprima el nombre y la
cantidad de meses vividos.
4. Hacer un algoritmo que calcule el rea de un tringulo y adems informe
cual longitud es la mayor la altura o la base.
5. Hacer un algoritmo que lea un nmero entero y muestre el cuadrado del
numero si el numero es mayor a 10. el doble del numero, si el numero es
mayor a 20, la mitad del numero si le numero es mayor a 50.
6. Hacer un algoritmo que lea el nombre, la cantidad de horas trabajadas y el
valor de la hora. Que muestre el salario y el nombre si el total a pagar es
mayor a 1000.
7. Hacer un algoritmo que lea un nmero entero N, si N es par y mayor a 200
muestre el doble de N, si N es par y menor a 200 muestre la mitad de N.
8. Hacer un algoritmo que lea un nmero entero N, si N es par muestre el
doble de N, si N mayor a 200 muestre la mitad de N.
9. Hacer un algoritmo que lea el nombre y la edad de una persona, si es
mayor de edad muestre el nombre y los dias vividos, si es menor de edad
mustre slo el nombre.
Inicio
Instruccin 1
.......Instruccin 11
.......Instruccin 12
.......Instruccin 13
si no
.......Instruccin 21
.......Instruccin 22
.......Instruccin 23
fin si
Instruccin n
ENUNCIADO:
Hacer un algoritmo que lea dos nmeros enteros, muestre el mayor de ellos y si son
iguales lo reporta.
DATOS:
los
N1,
N2
datos
para
de
guardar
los
datos
entrada
leidos
de
son
tipo
:
entero)
ENUNCIADO:
Hacer un algoritmo que lea un nmero entero N y diga si es par o no.
DATOS:
N: para guardar el nmero (de tipo entero)
EXPLICACION DEL ALGORITMO
PROBLEMAS PROPUESTOS
1. Lea el nombre, la edad y el sexo (1= femenino, 2= masculino) de una persona y si
esta es de sexo masculino y mayor de edad imprima el nombre, de lo contrario
imprima el nombre y edad de la persona.
2. Lea el nombre, la edad, el sexo (1= femenino, 2= masculino) y el estado civil (1=
soltero, 2 = casado, 3 = otro) de una persona e imprima el nombre y la edad de la
persona slo si esta es mujer menor de edad, de lo contrario indique que estado
civil tiene esa persona.
3. Lea dos nmeros X y Y e imprima ambos nmeros si por lo menos uno de ellos es
positivo.
4. Lea dos nmeros X y Y e imprima ambos nmeros slo si son de diferente signo y
distintos de cero.
5. Lea dos nmeros, calcule el cociente de dividir el primero por el segundo. Imprima
el cociente. Pero recuerde que antes de hacer la divisin debe evaluar que el
divisor no sea igual a cero (0). Por que en este caso debe imprimir "la divisin no
es posible".
6. Para un salario bruto hasta de $ 250.500 no hay retencin. Para un salario bruto
de $ 250.501 a $ 300.000 el porcentaje de retencin es de 5% . para un salario
bruto mayor a $300.000 el porcentaje de retencin es del 8%. Imprimir el nombre
del empleado, el salario bruto, el valor de la retencin y el salario neto( salario
bruto menos la retencin). Se debe leer el nombre el salario hora y las horas
trabajadas.
7. Leer el nombre de un empleado, el salario bsico por hora y el nmero de horas
trabajadas durante una semana. Calcular el salario neto, teniendo en cuenta que si
el nmero de horas trabajadas durante la semana es mayor a 48, esas horas de
mas se consideran horas extras y tienen un 25% de recargo.
INSTRUCCIONES DE REPETICION
Las instrucciones de repeticin son necesarias cuando en un algoritmo hay que realizar
una o muchas tareas varias veces, las instrucciones de repeticin bsicas son: el
MIENTRAS y el PARA, cada una de las cuales tiene su propia representacin y su propia
manera de controlar el nmero de veces que se repetir el ciclo( instrucciones internas ).
estas caractersticas hacen que una instruccin de repeticin sea mas adecuado que la
otra en una situacin particular.
ESTRUCTURA MIENTRAS( while)
Inicio
Instruccin 1
.......Instruccin 11
.......Instruccin 12
.......Instruccin 13
fin mientras
Instruccin n
2.
i
mientras
i
mostrar
i
=
fin mientras
=
<=
i
valorInicial
valorFinal
haga
(
i
)
+
incremento
2.
3.
4.
5.
2.
ENUNCIADO:
Hacer un algoritmo que lea N datos enteros dados por el usuario y muestre su suma.
VARIABLES
N: para guardar la cantidad de datos que entrar ell usuario ( de tipo entero).
DATO: para guardar cada uno de los datos que ingresa el usuario( de tipo entero)
SUMA :
para guardar la suma de los digitos( de tipo entero).
I : para controlar el ciclo( de tipo entero).
EXPLICACION DEL ALGORITMO
se
debe
definir
las
variables
a
utilizar
N,
I, DATO
y
SUMA.
lo primero que se debe hacer es preguantarle al usuario que nos indique en la variable N
la
cantidad
de
datos
que
ingresar.
se inicia la variable SUMA, se debe hacer antes de comenzar a ingresar los datos.
Se construye un ciclo mientras que se repita hasta N veces y en cada repeticion se lee un
dato,el cual se va acumulando en la variable SUMA. al terminar de ingresar todos los
datos se muestra el contenido de la variable SUMA.
ENUNCIADO:
Hacer un algoritmo que lea N datos enteros dados por el usuario y muestre la suma de los
datos impares.
VARIABLES
Los datos de entrada son:
N:
para
guardar
la
cantidad
de
datos
que
ingresar
el
usuario.
DATO: para guardar cada uno de los datos ingresado por el usuario (de tipo entero).
Otros
I:
para
controlar
el
SUMA: para guardar la sumatoria de los datos impares (de tipo entero).
datos:
ciclo.
ENUNCIADO:
Hacer un algoritmo que lea N datos enteros dados por el usuario y muestre la suma de los
datos pares.
VARIABLES
los
datos
de
entrada
son
:
N:
para
guardar
la
cantidad
de
datos
que
ingresar
el
usuario.
DATO: para guardar cada uno de los datos ingresado por el usuario ( de tipo entero).
otros
I
SUMA :
:
para
guardar
para
la sumatoria
controlar
de los datos
el
pares(
de
tipo
datos:
ciclo.
entero).
leer(
fin mientras
ENUNCIADO:
Hacer un algoritmo que lea un nmero entero y muestre el mayor de sus dgitos.
DATOS: Los datos de entrada son:
DATO: para
otros datos:
guardar
el
dato
que
ingresa
el
usuario
(de
tipo
entero)
N: se inicia con el mismo valor que tiene DATO y se utiliza para extraer cada uno de los
dgitos
(de
tipo
entero).
DIGITO: para guardar el dgito extraido del nmero N( de tipo entero).
MAYOR: para guardar el mayor de los digitos( de tipo entero).
ENUNCIADO:
Hacer un algoritmo que lea un dato y muestre el dgito mayor y las veces que se
encuentra en el dato.
VARIABLES
los datos de entrada son :
DATO: para guardar el dato dado por el usuario ( de tipo entero).
otros datos:
K: para guardar una copia del dato entrado por el usuario.
DIGITO : para guardar el dgito extraido ( de tipo entero).
MAYOR : para guardar el dgito mayor( de tipo entero).
C : para contar las veces que se encuentra el dgito mayor en el dato( de tipo entero).
se muestra MAYOR y C.
PROBLEMAS PROPUESTOS
1. Calcular el promedio de las notas que entre el usuario. Se recibir un valor
centinela de -99.
2. Hacer un algoritmo que reciba un dato N y que muestre los datos pares
que hay entre 1 y N.
3. Hacer un algoritmo que reciba un dato N. que calcule y muestre el factorial
de N.
4. Hacer un algoritmo que reciba un dato N. si el dato es par muestre la
sumatoria de N y si es impar muestre el factorial de N.
5. Hacer un algoritmo que muestre los datos impares entre 1 y 100.
6. Hacer un algoritmo que diga cuantos nmeros entre 1 y 100 son divisibles
por 3.
7. Hacer un algoritmo que lea un dato N y diga si es un numero primo o no.
8. Imprimir las 30 primeras potencias de 4, es decir, 4 elevado a la 1, 4
elevado a la 2, etctera.
9. Realizar un algoritmo para obtener la suma de los nmeros pares hasta
2000 inclusive.
10. Leer y mostrar sucesivamente nmeros. Hasta que aparezca un numero
comprendido entre 1 y 5.
11. Determinar el promedio de una lista indefinida de nmeros positivos,
terminados con un nmero negativo.
12. Se desea leer las calificaciones de una clase de informtica y contar el
numero total de aprobados ( 3 o mayor que 3).
13. Leer 100 nmeros. Determinar el promedio de los nmeros positivos y el
porcentaje de nmeros negativos.
14. Calcular el n-simo termino de la serie de fibonacci definida por.
1,2, 3,5,8,13., AN-1+AN-2.
15. Se desea conocer una serie de datos de una empresa con 50 empleados,
decir cuantos empleados ganan ms de 300000 pesos al mes, cuantos
ganan entre 200000 y 300000 pesos y cuantos ganan menos de 100000.
16. Un comercio dispone de dos tipos de artculos en fichas correspondientes a
diversas sucursales con los siguientes campos:
1. Cdigo del artculo A o B.
2. Precio unitario del articulo.
3. Numero de artculos.
4. La ultima ficha del archivo de artculos tiene en el campo cdigo,
una letra X.
Calcular el nmero de artculos existente de cada cdigo, el costo total de los artculos de
cada categora y el costo total del inventario
Fin
para
Instruccin
n
el
el
usuario ( de
factorial
tipo
de
entero)
N.
ENUNCIADO:
Hacer un algoritmo que lea un nmero entero N y muestre la sumatoria de los datos pares
que hay entre 1 hasta N.
DATOS:
Los datos de entrada son:
N: para guardar el dato a leer (de tipo entero)
otros datos:
I: para controlar el ciclo.
S: para guardar la sumatoria de 1 hasta el nmero N ( de tipo entero).
ENUNCIADO:
Hacer un algoritmo que lea un nmero entero N si el nmero es par muestre la sumatoria
de 1 hasta N y si el nmero es impar muestre el factorial de N.
DATOS:
Los datos de entrada son:
N: para guardar el dato a leer (de tipo entero)
otros datos:
I: para controlar el ciclo.
S: para guardar la sumatoria de 1 hasta el nmero N (de tipo entero).
F: para guardar el factorial de N (de tipo entero).
EXPLICACION DEL ALGORITMO
PROBLEMAS PROPUESTOS
Utilizando la estructura para realizar:
1. Hacer un algoritmo que reciba un dato N y que muestre los datos pares
que hay entre 1 y N.
2. Hacer un algoritmo que reciba un dato N. que calcule y muestre el factorial
de N.
3. Hacer un algoritmo que reciba un dato N . si el dato es par muestre la
sumatoria de N y si es impar muestre el factorial de N.
4. Hacer un algoritmo que muestre los datos impares entre 1 y 100.
5. Hacer un algoritmo que diga cuantos nmeros entre 1 y 100 son divisibles
por 3.
6. Imprimir las 30 primeras potencias de 4, es decir, 4 elevado a la 1, 4
elevado a la 2, etctera.
7. Realizar un algoritmo para obtener la suma de los nmeros pares de 1
hasta 2000 inclusive.
8. Se desea leer las N calificaciones de una clase de informtica y contar el
numero total de aprobados ( 3 o mayor que 3).
9. Leer 100 nmeros. Determinar el promedio de los nmeros positivos y el
promedio de los nmeros negativos.
10. Calcular el n-simo termino de la serie de fibonacci definida por.
1,2, 3,5,8,13., AN-1+AN-2.
11. Se desea conocer una serie de datos de una empresa con 50 empleados,
decir cuantos empleados ganan ms de 300000 pesos al mes, cuantos
ganan entre 200000 y 300000 pesos y cuantos ganan menos de 100000.
12. Hacer un algoritmo que muestre las tablas de multiplicar del uno al diez, y
cada tabla del uno al diez.
13. Hacer un algoritmo que muestre los nmeros primos que hay entre uno y
1000.
14. Hacer un algoritmo que muestre los nmeros entre 1 y 100 cuya suma de
dgitos es 10.
15. Hacer un algoritmo que invierta los dgitos de cada nmero entre 1 y 2000.
16. Hacer un algoritmo que muestre la suma de dgitos de 100 nmeros que
entra el usuario.
17. Hacer un algoritmo que muestre el nmero mayor de los 100 datos
entrados por el usuario.
SUBALGORITMOS
3. FUNCIONES
DECLARACION DE FUNCINES:
La declaracin de una funcin requiere una serie de pasos que la definen.
Una funcin tiene una construccin similar a los algoritmos.
La descripcin de la funcin ser:
tipo de dato: nombre_fincin (lista de parmetros)
<acciones>
devolver(
fin funcin
expresin
Se
ejecuta
el
cuerpo
de
acciones
de
la
funcin
Se devuelve el valor de la funcin al nombre de la funcin y se retorna al
punto de llamada.
El siguiente algoritmo llama a la funcion ESPRIMO para determinar y mostrar si los
nmeros del 1 al 5 son primos o no.
VARIABLES
I: para controlar el ciclo.
M: para guardar la respuesta de la funcin.
Nota: la funcin ESPRIMO, recibe el nmero a verificar y devuelve cero (0) si el dato
recibido no es primo, y devuelve uno(1) si el dato recibido si es primo.
EXPLICACION DEL ALGORITMO
PROBLEMAS PROPUESTOS
1.
realizar una funcin que reciba un dato N y devuelva las veces que esta el
dgito mayor.
4.
5.
6.
realizar una funcin que reciba un dato N y devuelva la suma de los dgitos
pares.
OTROS PROBLEMAS
1. Realizar una funcin que reciba un dato N , calcule y regrese la
sumatoria de 1 hasta N.
2. Utilizando la funcin anterior realizar un programa que muestre la
sumatoria de los N nmeros que ingrese el usuario, y diga cual de los
datos tiene la mayor sumatoria
a. Realizar una funcin factorial que reciba un numero N y calcule
y regrese el factorial de N
b. Utilizando la funcin anterior mostrar los nmeros entre 5 y 100
c.
el pago del trabajador, teniendo en cuenta que las horas extras tienen
un recargo del 50% sobre la hora normal.
a. Utilizando la funcin anterior realizar un programa que lea los
datos de 1000 empleados, calcule y muestre el pago de cada
uno de ellos, adems muestre el total a pagar y el sueldo mayor.
b. Hacer una funcin que reciba el lado de un cuadrado calcule y
devuelva el permetro.
4. Utilizando la funcin anterior realizar un programa que lea el lado de 100
cuadrados, y muestre el permetro de cada uno de ellos y diga cuantos
tienen permetro entre 40 y 50.
8.
b.
c.
d.
9.
Hacer un programa que muestre el factorial de los datos entre 100 y 500 que
tienen como suma de dgitos 6
Hacer un programa que lea N datos dados por el usuario y muestre la sumatoria
de los datos que tienen como suma de dgitos 2 y su mayor dgito es 8.
Hacer un programa que lea N datos dados por el usuario y muestre la sumatoria
de cada uno de los datos que terminan en 4, tienen como suma de dgitos 5 y su
mayor dgito es 9.
PROCEDIMIENTOS
Un procedimiento es un subalgoritmo que toma uno o ms valores
llamados argumentos, con los cuales ejecuta tareas especficas.
DECLARACION DE PROCEDIMIENTOS:
La declaracin de un procedimiento requiere una serie de pasos que la
definen. Un procedimiento tiene una construccin similar a los algoritmos,
por consiguiente constar de una cabecera que comenzar con nombre del
procedimiento y entre parntesis una lista de argumentos del
procedimiento. A continuacin ir el cuerpo del procedimiento, que ser
una serie de acciones o instrucciones que conforman el cuerpo del
procedimiento.
La descripcin del procedimiento ser:
nombre_procedimiento (lista de argumentos)
<acciones>
fin procedimiento
1. nombre del procedimiento: debe ser un identificador vlido y nico
que se utiliza para identificar al procedimiento.
2. lista de argumentos. Es una lista de declaraciones de variables se
paradas por dos puntos (: ') donde se especifican los datos que
requiere el procedimiento para trabajar.
3. Acciones o cuerpo del procedimiento: son las diferentes tareas que
realiza el procedimiento.
4. fin procedimiento: para indicar donde termina el procedimiento.
INVOCACION
DE
LOS
PROCEDIMIENTOS:
Se
ejecuta
el
cuerpo
de
acciones
del
procedimiento.
Se regresa a la instruccin siguiente del punto de llamada.
PROBLEMAS PROPUESTOS
1.
4.
5.
6.
DIAGRAMA DE FLUJO
Un diagrama de flujo es la representacin grfica de un algoritmo. Tambin se puede
decir que es la representacin detallada en forma grfica de como deben realizarse los
pasos en la computadora para producir resultados.
Esta representacin grfica se da cuando varios smbolos (que indican diferentes
procesos en la computadora), se relacionan entre s mediante lneas que indican el
orden en que se deben ejecutar los procesos.
SMBOLO
DESCRIPCIN
Indica el inicio y el final de nuestro
diagrama de flujo. Indica la entrada
salida de datos.
Smbolo de proceso y nos indica la asignacin de un
valor en la memoria y/o la ejecucin de una operacin
aritmtica.
Smbolo de decisin indica la realizacin de una
comparacin de valores.
Lneas de flujo o direccin. Indican la secuencia en que
se realizan las operaciones.
I=VI hasta VF
Repetitiva Desde
PSEUDOCDIGO
Mezcla de lenguaje de programacin y espaol (o ingles o cualquier otro idioma) que
se emplea, dentro de la programacin estructurada, para realizar el diseo de un
programa. En esencial, el pseudocdigo se puede definir como un lenguaje de
especificaciones de algoritmos.
Es la representacin narrativa de los pasos que debe seguir un algoritmo para dar
solucin a un problema determinado. El pseudocdigo utiliza palabras que indican el
proceso a realizar.
El pseudocdigo se concibi para superar las dos principales desventajas del Diagrama
de Flujo: el diagrama de flujo es lento de crear y difcil de modificar sin un nuevo
redibujo. Por otra parte el pseudocdigo es mas fcil de utilizar ya que es similar al
lenguaje natural.
Al contrario de los lenguajes de programacin de alto nivel como Pascal o Basic no
existe un conjunto de reglas que definan con precisin lo que es y lo que no es
pseudocdigo. Vara de un programador a otro.
4. MANUALES
MANUAL DE DFD
DFD es un programa de libre disposicin para ayuda al diseo e implementacin de
algoritmos expresados en diagramas de flujo (DF). Adems incorpora opciones para el
depurado de los algoritmos, lo que facilita enormemente la localizacin de los errores
de ejecucin y lgicos ms habituales.
Su utilizacin es muy sencilla, al tratarse de una herramienta grfica, y adems incluye
un men de ayuda muy completo, por lo que en estas notas nos vamos a centrar en el
uso bsico de las herramientas de diseo y depuracin. El resto de opciones (detalles
de sintaxis ms avanzados, operadores y funciones disponibles), puede consultarse
directamente en la ayuda del programa.
INICIO DE DFD
La ejecucin de DFD presenta la pantalla de inicio siguiente:
en
la
barra
de
un
primer
ejemplo
sencillo
de
algoritmo
para
ilustrar
las
Sentencia de asignacin
Para formar expresiones vlidas tendremos en cuenta que DFD admite los siguientes
elementos, todos ellos bien documentados en las opciones "Conceptos bsicos
(Tipos y conceptos de datos)" y "Referencia de operadores y funciones" del men de
ayuda:
Constantes y variables
o
de tipo numrico
matemticas:
logaritmos
exponenciales,
extraccin
de
subcadenas
(SUBSTRING) Ejercicio:
Estructura
seleccin
de
Lazos
DFD permite dos tipos de lazos: el MIENTRAS y el DESDE (que en DFD se llama ciclo
"para"), por lo que el lazo REPETIR -HASTA QUE debe ser diseado a partir de los
dos anteriores.
Lazo
desde
La siguiente figura muestra el botn correspondiente al lazo DESDE, junto con su
smbolo en DFD y la ventana de edicin correspondiente. Cabe sealar que la
representacin DFD no utiliza flechas hacia atrs para indicar el final de la
estructura, sino un indicador especial etiquetado como CIERRE.
Lazo mientras
En la figura se muestran el botn correspondiente al lazo mientras y su representacin
en DFD. La ventana de edicin es idntica a la de la estructura de seleccin, por lo que
ya no la mencionamos.
Ejercicio
Modificar el algoritmo factorial. Para utilizar la estructura mientras. Guardarlo con el
nombre factorial2.
M(i, j)
s importante sealar que cuando se usen variables como ndices para referenciar
un elemento de una agrupacin de datos, stas deben tener un valor conocido en el
momento de realizar la referencia. En caso contrario, se producir un error.
Ejerci
cios:
Pedir al usuario una lista de valores numricos y calcular su suma. Pedir
al usuario dos matrices A y B de 2x2 elementos y calcular su resta.
En el ejercicio anterior, aadir una sentencia de salida que imprima los elementos
B(0,0), B(3,3), B(1,5). Qu tipo de error se produce?
MANEJO DE OBJETOS
Los objetos DFD pueden eliminarse, copiarse o moverse de sitio siguiendo la
estrategia habitual de Windows, con la salvedad de que slo puede trabajarse con UN
objeto en cada operacin. Para ello se dispone de la barra de botones correspondiente
modo:
Paso 1: Seleccionamos la sentencia que vamos a mover
Paso 2: Pulsamos el botn de cortar
Paso 3: Seleccionamos la sentencia que est justo antes de donde vamos
a insertar el objeto cortado (sentencia de inicio)
Sit. final: Pulsamos el botn pegar.
En caso de que el punto de destino sea la condicin de una sentencia de seleccin, se
abrir una ventana que nos pedir la rama donde deseamos colocar el objeto:
DEPURACIN DE ALGORITMOS
Las herramientas de depuracin se utilizan para detectar la/s sentencia/s en donde se
han producido errores en el diseo de un algoritmo. La tarea de depuracin consiste
bsicamente en explorar el algoritmo, ejecutndolo paso a paso y comparando en
todo momento los valores que van tomando las distintas variables con los valores
esperados. Es necesario, por tanto, haber analizado con anterioridad algunos casos
de prueba que permitan anticipar en todo momento los valores que deben tomar las
variables y saber si la progresin del algoritmo es correcta o no. Normalmente la
depuracin se realizar ante la presencia de errores de ejecucin o lgicos, ya que
los de sintaxis suelen ir acompaados de algn tipo de mensaje que facilita su
localizacin.
Los botones relacionados con la depuracin son los siguientes (acercando el ratn a
cada uno de ellos puedes ver la etiqueta con el nombre que le asocia DFD:):
PASO SIMPLE
Permite ir ejecutand o el algoritmo sentencia a sentencia. Combinado con la ventana
de evaluacin de variables permite ir viendo los valores que toman estas. A cada
pulsacin del botn, el flujo del algoritmo avanza una sentencia. El smbolo de la
sentencia que se va a ejecutar en cada momento es destacado en color azul.
En cualquier momento puede pararse la ejecucin paso a paso pulsando el botn
DETENER:
EJECUTAR HASTA
Esta opcin es til cuando se sabe con certeza que una parte del algoritmo est
correctamente diseada y por tanto, la ejecucin paso a paso de dicha parte no es
necesaria (adems de poder ser bastante tediosa).
El botn EJECUTAR HASTA permite establecer un PUNTO DE RUPTURA en las
sentencias del algoritmo, de modo que el programa se ejecutar con normalidad hasta
la
ejecucin
DEPURADOR
Abre una ventana donde se pueden escribir los nombres de las variables (o
expresiones en general) cuyo valor se desea explorar durante la depuracin del
algoritmo. Se utilizar en combinacin con cualquiera de los dos mtodos de
depuracin anteriores, para valorar si las variables toman valores correctos o no.
Al pulsar el botn correspondiente se abre una ventana en la que se van a visualizar
las variables o expresiones que interese evaluar.
y pulsar la tecla SUPRIMIR. Esto puede resultar til, ya que una vez insertada una
variable en la ventana del depurador
En una sesin de depuracin, normalmente se tendr visible la ventana del depurador,
con el objeto de ir comparando en todo momento los valores que toman las variables.
Cuando una variable no ha sido inicializada, se mostrar el mensaje "Variable no
existe", que cambiar al valor correspondiente una vez ejecutada la sentencia
que le asigna un valor (sentencia de asignacin o sentencia de entrada). La siguiente
figura ilustra esta situacin:
Puede verse en la parte izquierda cmo la sentencia que inicializa las variables no se
ha ejecutado an (sealada en azul), y por tanto las variables no toman valores
conocidos. Una vez ejecutada, las variables toman los valores esperados.
Depuracin de errores en DFD. Sesin de ejemplo.
En
primer
lugar,
copiaremos
del
Web
de
prcticas
el
fichero
Consecuencia
Resultado
Se
nos
pide
el
nmero.
Introducimos el valor 6:
La
ejecucin
alcanza
el
punto de ruptura
Abrimos
+INS
una
depurador
variables
ventana
para
del
evaluar
definidas
hasta
las
el
ellas
toman
valores
correctos
A partir de aqu seguimos
paso a paso. La siguiente
instruccin es el mientras, que
se debe verificar.
Se cumple la condicin, ya que
2 es divisor de 6. Por tanto, ya
sabemos que el nmero NO es
primo,
divisor
debe
Se alcanza el final de la
estructura de seleccin, y la
variable
divisor
sigue
valiendo cero.
Aqu hay un error!
casos
de
prueba
anteriores,
verificando
que
funciona
correctamente.
SUBPROGRAMAS
El tipo de subprograma que admite DFD es la funcin. Debe notarse que
en DFD los argumentos se pasan por REFERENCIA cuando son nombres
de variables (tanto variables escalares como vectore s o matrices), y se
pasan por VALOR cuando son expresiones. Dentro de la opcin
OBJETOS
del
men
de
ayuda,
las
opciones
LLAMADA
Pagin a 24 de 29
Los restantes botones del men subprogramas permiten moverse entre las distintas
ventanas de subprogramas o eliminar el subprograma actual:
Pagin a 25 de 29
MANUAL DE PSEINT
Pagin a 26 de 29
Pagin a 27 de 29
Pagin a 28 de 29
Pagin a 29 de 29
Pagin a 30 de 29
Pagin a 31 de 29
Pagin a 32 de 29
Pagin a 33 de 29
Pagin a 34 de 29
Pagin a 35 de 29
Pagin a 36 de 29
Pagin a 37 de 29
Pagin a 38 de 29
Pagin a 39 de 29
Pagin a 40 de 29
Pagin a 41 de 29
Pagin a 42 de 29
Pagin a 43 de 29
Pagin a 44 de 29
1.
PROYECTO FINAL
PROYECTO DE AULA
Justificacin
La finalidad de este proyecto es ofrecer a la comunidad estudiantil evidencias del
aprendizaje seguido en clase, adems de ofrecer un producto que sirva como modelo
para extenderlo ms adelante y adecuarlo a necesidades propias de cada individuo en el
tiempo y espacio que sern aplicados.
Requerimientos
El proyecto consistir en la solucin de un problema interdisciplinar real planteado
por el docente encargado, aplicando los conceptos, estructuras de algoritmos,
realizando una aplicacin (programa) que solucione algn de su entorno personal,
educativo o comunitario.
Objetivos:
- Aplicar conceptos trabajados en clase (fundamentos de algoritmos, variables,
estructuras y software).
- Conocer y comunicar a sus pares la accin que tienen la implementacin de
proyectos en algoritmos para solucionar problemas o relacionar estos
conocimientos, con los de otras reas para de esta manera apoyar la creacin de
conocimiento.
- Fomentar en los alumnos la utilizacin del software que permite el desarrollo de
soluciones a travs de los algoritmos.
- Promover el trabajo en grupo con respeto y tolerancia entre los pares.
Pagin a 45 de 29
Aspectos a evaluar:
Modelo: (50%)
- Debe cumplir con el tamao establecido (10%)
- Debe ser funcional para la explicacin: (40%)
(10%)
- Claridad
(10%)
(10%)
(10%)
(10%)
TEMPORALIZACION: 10 Horas
Evaluaciones de Avance: por confirmar
Fecha de exposicin: por confirmar
BIBLIOGRAFIA
Desarrollo de Algoritmos Y Sus Aplicaciones, Correa Uribe Guillermo, McGraw-Hill.
Francisco Javier Ceballos (1990), Curso de Programacin con C, Macrobit.
Manuel Abellanas y Dolores Lodares (1990), Anlisis de algoritmos y teora de grafos, RaMa
D Appleby, y J.J. VandeKopple, Lenguajes de programacin: paradigma y prctica,
McGraw-Hill Interamericana, 1998
T.W. Pratt y M.V. Zelkowitz, Lenguajes de programacin: diseo e implementacin,
Prentice-Hall Hispanoamericana, 3 ed., 1998
Pipeh PSeu do Inte r p r e t e
1.1
Pagin a 46 de 29
Pagin a 47 de 29