Está en la página 1de 25

Fundamentos de Informtica

Gua de Trabajos Prcticos

TRABAJO PRACTICO N 3
TEMA: ESTRUCTURAS BASICAS DE CONTROL
A continuacin se desarrollan los siguientes apartados:
A. Conceptos tericos necesarios para la resolucin.
B. Problemas de ejemplo y su correspondientes solucin.
C. Enunciado de los problemas a resolver por los alumnos y presentar en la
Carpeta de Trabajos Prcticos.
D. Problemas Adicionales Optativos.
A. CONCEPTOS TEORICOS NECESARIOS PARA LA RESOLUCION
La tcnica de la programacin estructurada se desarrollar durante el presente
perodo lectivo; pero el correr de los tiempos nos exige que avancemos rpidamente
es as que en dcada de los 90 se habla de la programacin orientada a objetos en la
cual trataremos de realizar una introduccin.
El teorema fundamental de la programacin estructurada enuncia:
Un programa propio es aquel que cumple con las siguientes caractersticas:
- Posee un solo punto de entrada y uno de salida para controlar el programa
- Existen caminos desde la entrada hasta la salida que se pueden seguir y que pasan
por todas las parte s del programa.
- Todas las instrucciones son ejecutables y no existen lazos o bucles infinitos
Para todo algoritmo o programa propio existe un algoritmo o programa equivalente
construido exclusivamente con las tres estructuras de control bsicas fundamenta les:
SECUENCIAL, SELECTIVA Y REPETITIVA.

Estas estructuras de control bsicas son sumamente importantes para


establecer el orden de ejecucin de las instrucciones de un algoritmo.
- Estructura secuencial: Son utilizadas en la generalidad de los programas y
determinan que las acciones se ejecuten de tal forma que la salida de una es la entrada
de la siguiente y as sucesivamente.
Trabajo1

Trabajo2

Trabajo3
Gua de Prcticos realizada por la Ing. Sandra Valla Ao 2002 - Pgina 1

Fundamentos de Informtica
Gua de Trabajos Prcticos
-

Estructura de seleccin: Su uso es evidente en los casos en los cuales se


necesita bifurcar la solucin por dos caminos alternativos de acuerdo a alguna
condicin lgica. Como variantes de esta estructura se puede mencionar las
estructuras de seleccin simple, doble y mltiple.
Estructura de Seleccin Simple

Verdadero

Falso

CL
Trabajo

Esta estructura presenta trabajo por una


sola
rama,
generalmente por la
rama cuyo resultado
de
la
condicin
lgica es verdadero.

Estructura de Seleccin Doble


Falso

Verdadero

CL
Trabajo2

Trabajo1

Esta
estructura
presenta trabajo por
ambas ramas

Estructura de Seleccin Mltiple


Falso

Verdadero

CL1
Falso

CL2

Verdadero

Trabajo1

Trabajo2

La estructura de seleccin mltiple presenta condiciones lgicas anidadas, es decir


que por una o por varias ramas existen tambin otras condiciones lgicas.
Gua de Prcticos realizada por la Ing. Sandra Valla Ao 2002 - Pgina 2

Fundamentos de Informtica
Gua de Trabajos Prcticos
- Estructura de repeticin o iteracin: El manejo de la vida diaria nos hace repetir
determinadas operaciones, como por ejemplo para encontr ar el resultado de la
multiplicacin de 2x3 se debe sumar 2 veces el nmero 3 3 veces el nmero 2. Es en
estos casos en los cuales tienen su aplicacin estas estructuras, que son las que
trataremos en el presente trabajo prctico.
Las estructuras de iteracin y las reglas de funcionamiento de cada una de ellas
son:
Estructura While:
- La expresin lgica se evala antes de la ejecucin del bucle. Si la condicin
es verdadera se ejecuta las acciones incluidas en el bucle, caso contrario el
control pasa a la sentencia siguiente al lazo.
- Si la expresin lgica no se cumple cuando se ejecuta el bucle por primera vez,
el conjunto de acciones del lazo no se ejecuta nunca.
- Mientras la expresin lgica se cumpla el bucle se ejecuta.

NO

CL
SI

Trabajo

Estructura Repeat Until:


- La expresin lgica se evala luego de ejecutarse todas las sentencias del
bucle.
- Si la expresin lgica es falsa, se repite el bucle ejecutndose nuevamente
todas las acciones incluidas en l.
- Si la expresin lgica es cierta, se interrumpe la ejecucin del bucle y se
transfiere el control a la sentencia siguiente a Until.
Trabajo

CL

SI

NO

Estructura For:
- Las variables de control, valor inicial y valor final deben ser todas del mismo
tipo, pero el tipo real no est permitido.
- Antes de la primera ejecucin del bucle, se asigna el valor inicial a la variable
de control.
Gua de Prcticos realizada por la Ing. Sandra Valla Ao 2002 - Pgina 3

Fundamentos de Informtica
Gua de Trabajos Prcticos
- La ltima ejecucin del bucle ocurre cuando la variable de control es igual al
valor final.
- Cuando se utiliza la palabra reservada to la variable de control se incrementa en
cada iteracin, si se utiliza down to, esta variable se decrementa.
FOR VI : = valor TO VF

Trabajo

Dentro de los problemas que se pueden resolver con estas estructuras


encontramos problemas para calcular la suma de una determinada cantidad de
nmeros, para calcular su promedio, para contar la cantidad de veces que acontece un
suceso determinado (por ejemplo cuntas veces ingresa el nmero 5), generar series o
en los problemas denominados de codificacin en los cuales los datos que se ingresan
son codificados (por ejemplo si se ingresa la variable sexo debe introducirse 1 si es
femenino y 2 si es masculino, como una opcin o F y M).

Gua de Prcticos realizada por la Ing. Sandra Valla Ao 2002 - Pgina 4

Fundamentos de Informtica
Gua de Trabajos Prcticos
B. PROBLEMAS DE EJEMPLO Y SU CORRESPONDIENTES SOLUCIN.

En esta seccin se pretende que el alumno tenga las herramientas mnimas


necesarias para poder encarar cualquier solucin de un problema informtico que
comprenda tipos de datos simples.
Existen problemas donde se conoce el nmero de veces que se ejecutar el ciclo
de repeticin y por lo tanto se sabe cundo se llega al final, para poder tratar este tipo
de problemas se introduce una variable contador que es la que se compara con N,
formando una condicin lgica que gobernar el corte de control del ciclo.
En todos los casos se presenta la solucin en trminos de Diagrama de Flujo y
Codificacin en Pascal.
1. Introduzca N nmeros enteros.
Se tratar de determinar en este problema cules son los datos y cules los
resultados. En este caso particular se poseen datos pero no resultados, ya que no
se especifica un trabajo con ellos.
Para tener en cuenta : Cuando se utiliza en el enunciado de un problema alguna
de las siguientes palabras: introduzca, ingrese, o cargue, se hace referencia
a los datos del mismo; mientras que cuando se expresa muestre, averige, de
a conocer, obtenga, o se necesita saber, estamos sealando cules son los
resultados requeridos.
Datos
N : identificador que indica la cantidad de nmeros a Ingrese.
X : identificador que indica a cada uno de los nmeros.
Codificacin en Lenguaje Pascal
N

C:=1

NO
C<=N
SI
X

C:=C+1

FIN

PROGRAM Prob11;
USES
CRT;
VAR
N, X, C: integer;
BEGIN
Readln (N);
C :=1;
While C<=N do
Begin
Readln (X);
C := C+1;
End;
End.

Gua de Prcticos realizada por la Ing. Sandra Valla Ao 2002 - Pgina 5

Fundamentos de Informtica
Gua de Trabajos Prcticos

Lo comprendido dentro del cuadro

representa una Estructura While

2. Introduzca N nmeros enteros y muestre la suma de los mismos.


Datos
N : identificador que indica la cantidad de nmeros a ingresar.
X : identificador que indica a cada uno de los nmeros.
Resultado
S : identificador que indica la suma de los valores introducidos.
Cabe sealar que al diagrama del punto anterior lo nico que se agrega es una
variable acumulador.
Variable ACUMULADOR: este tipo de variable debe ser inicializada con el valor
neutro de la operacin en la que intervenga: 0 (cero) si se intenta sumar 1 (uno)
si se pretende acumular sucesivos productos.
Expresiones generales en la que interviene:
S:=S+X, donde S es la variable acumulador de la suma y X es la variable numrica
que modifica el valor de S.
F:= F*X donde F es la variable acumulador del producto y X es la variable que
modifica el valor de F.
Codificacin en Lenguaje Pascal

S:=0

C:=1

C<=N
SI
S
X

S:=S+X
C:=C+1

FIN

PROGRAM Prob12;
USES
CRT;
VAR
N, X, C, S: integer;
BEGIN
S := 0;
Readln (N);
C := 1;
While C<=N do
Begin
Readln (X);
S:=S+X;
C:=C+1;
End;
Writeln(El valor de la suma es:,S:4);
Repeat Until Keypressed;
End.

Gua de Prcticos realizada por la Ing. Sandra Valla Ao 2002 - Pgina 6

Fundamentos de Informtica
Gua de Trabajos Prcticos
En la codificacin de este problema se ingresa formato de salida para la
variable S: Writeln (El valor de la suma es:,S:4); .
La instruccin Repeat Until Keypressed especifica un bucle condicional que se
repite hasta que la condicin (Keypressed) sea verdadera. Es decir, la ejecucin
del programa continuar con al siguiente instruccin slo cuando se presione una
tecla, permitiendo de esta forma que la informacin mostrada en pantalla
permanezca el tiempo que determine el usuario.
3. Introduzca N nmeros enteros y muestre el promedio de los mismos.
Datos
N : identificador que indica la cantidad de nmeros a ingresar.
X : identificador que indica a cada uno de los nmeros.
Resultado
P : identificador que indica el promedio de los valores introducidos.
Condiciones Vinculantes
Las condiciones vinculantes son aquellas acciones necesarias de realizar
con los datos que brinda el problema para conseguir los resultados esperados.
Algunas de estas operaciones pueden ser evaluaciones o decisiones.
En nuestro caso particular, las condiciones vinculantes son dos:
1) realizar la suma de los nmeros ingresados y luego
2) realizar el cociente entre la suma y N para obtener el promedio aritmtico,
previa verificacin que N sea distinto de 0 (cero), ya que en este caso se
producira un error de tipo lgico.

Gua de Prcticos realizada por la Ing. Sandra Valla Ao 2002 - Pgina 7

Fundamentos de Informtica
Gua de Trabajos Prcticos

S:=0

Codificacin en Lenguaje Pascal

C:=1

NO
C<=N
SI
X

S:=S+X
C:=C+1

NO

SI
N<>0
P:=S/N

No se puede
realizar la
divisin por
cero

PROGRAM Prob13;
USES
CRT;
VAR
N, X, C, S: integer;
P: real;
BEGIN
S := 0;
Readln (N);
C := 1;
While C<=N do
Begin
Readln (X);
S := S+X;
C := C+1;
End;
If N<>0 then
Begin
P := S/N;
Writeln(Promedio:,P:6:2);
End
Else
Writeln(No se puede
realizar la divisin por
cero);
Repeat Until Keypressed;
End.

FIN

Lo comprendido dentro del cuadro


Doble.

representa una Estructura de Seleccin

4. Introduzca N nmeros enteros y muestre la cantidad de nmeros positivos


ingresados.
Datos
N : identificador que indica la cantidad de nmeros a ingresar.
X : identificador que indica a cada uno de los nmeros.

Gua de Prcticos realizada por la Ing. Sandra Valla Ao 2002 - Pgina 8

Fundamentos de Informtica
Gua de Trabajos Prcticos
Resultado
CP : identificador que indica la cantidad de nmeros positivos introducidos.
En este caso se solicita determinar la cantidad de nmeros positivos, por lo tanto
es necesario introducir una variable contador para este propsito. Esta variable se
incrementar en una unidad cada vez que se ingrese un nmero positivo.
Condiciones Vinculantes

Condicin lgica para saber si un nmero N es positivo:

Codificacin en Lenguaje Pascal

C:=1
CP:=0

NO

C<=N
SI

CP

X
FIN
NO

N>0

X >0

SI
CP:=CP+1

C:=C+1

PROGRAM Prob14;
USES
CRT;
VAR
N,X,C,CP: integer;
BEGIN
Readln(N);
C:=1;
CP:=0;
While C<=N do
Begin
Readln(X);
IF X > 0 THEN
CP:=CP+1;
C:=C+1;
End;
Writeln(La cantidad de
nmeros mayores a 0
son:,CP:4);
Repeat Until Keypressed;
End.

5. Introduzca N nmeros enteros y muestre el porcentaje de nmeros positivos


ingresados.
Datos
N : identificador que indica la cantidad de nmeros a ingresar.
X : identificador que indica a cada uno de los nmeros.
Resultado
Gua de Prcticos realizada por la Ing. Sandra Valla Ao 2002 - Pgina 9

Fundamentos de Informtica
Gua de Trabajos Prcticos
P : identificador que indica el porcentaje de nmeros positivos introducidos.
Condiciones Vinculantes
Para calcular porcentajes siempre este debe ser con respecto a algo, en este caso
nos piden sobre los nmeros positivos, para la cual se debe acumular por un lado
estos nmeros y contar la cantidad de ellos; para tal fin se deben introducir dos
variables una acumulador y otra contador.
La frmula del porcentaje se consigue con una regla de tres simple en donde se
considera que la Cantidad Total de Valores N es el 100%, mientras que el
porcentaje solicitado se calcula con respecto al valor de la variable contador.
Codificacin en Lenguaje Pascal

N
C:=1
CP:=0

NO

C<=N
SI
X
SI
NO

X >0
CP:=CP+1

C:=C+1

NO

N>0

SI

P:=CP*100/N
P

PROGRAM Prob15;
USES
CRT;
VAR
N,X,C,CP,S: integer;
P:real;
BEGIN
Readln(N);
C:=1;
CP:=0;
While C<=N do
Begin
Readln(X);
IF X > 0 THEN
CP:=CP+1;
C:=C+1;
End;
If N > 0 then
Begin
P:=CP*100/N;
Writeln(Porcentaje de
nmeros positivos
ingresados :,P:6:2);
End;
Repeat Until Keypressed;
End.

FIN

Gua de Prcticos realizada por la Ing. Sandra Valla Ao 2002 - Pgina 10

Fundamentos de Informtica
Gua de Trabajos Prcticos

6. Introduzca N nmeros enteros y muestre la cantidad de nmeros pares ingresados.


Datos
N : identificador que indica la cantidad de nmeros a ingresar.
X : identificador que indica a cada uno de los nmeros.
Resultado
CP : identificador que indica la cantidad de nmeros pares introducidos.
Condiciones Vinculantes
Un nmero es par cuando es mltiplo de dos.
Para saber si un nmero es mltiplo de otro se debe utilizar la funcin mod. En
este caso se pide encontrar la cantidad de nmeros pares o mltiplos de dos, por
lo cual, es necesario:
1) evaluar la siguiente expresin: X mod 2 para cada nmero X ingresado. Si
el resultado de sta es 0 (cero), se verifica que el nmero ingresado es
mltiplo.
2) incrementar la variable acumulador CP en una unidad toda vez que se
verifique la expresin de 1).
Codifi cacin en Lenguaje Pascal

C:=1
CP:=0
NO
C<=N
SI

CP

X
FIN
NO

X mod 2 = 0

SI
CP:=CP+1

C:=C+1

PROGRAM Prob16;
USES
CRT;
VAR
N,X,C,CP: integer;
BEGIN
Readln(N);
C:=1;
CP:=0;
While C<=N do
Begin
Readln(X);
IF X mod 2 = 0 THEN
CP:=CP+1;
C:=C+1;
End;
Writeln(La cantidad de
nmeros pares es:,CP:6);
Repeat Until Keypressed;
End.

Gua de Prcticos realizada por la Ing. Sandra Valla Ao 2002 - Pgina 11

Fundamentos de Informtica
Gua de Trabajos Prcticos

7. Introduzca N nmeros enteros y muestre la cantidad de nmeros ingresados


positivos, y mltiplos de dos y tres.
Datos
N : identificador que indica la cantidad de nmeros a ingresar.
X : identificador que indica a cada uno de los nmeros.
Resultado
CG : identificador que indica la cantidad de nmeros positivos y mltiplos de dos y
tres introducidos.
Condiciones Vinculantes
Para calcular la cantidad de nmeros positivos siempre se debe utilizar la
condicin de que el nmero sea mayor que 0 (cero), de ser verdadera esta
condicin se deber tener en cuenta que los nmeros tambin deben ser mltiplos
de 2 y 3, utilizando para ello la funcin mod con resultado igual a cero. Por lo tanto
al cumplirse estas condiciones, se debe incrementar el contador propio de la
operacin.
Codificacin en Lenguaje Pascal

C:=1
CG:=0
NO
C<=N
SI

CG

X
FIN
NO

X >0

NO

SI

(X mod 2=0)
and
(X mod 3=0)

SI
CG:=CG+1

C:=C+1

PROGRAM Prob17;
USES
CRT;
VAR
N,X,C,CG: integer;
BEGIN
Readln(N);
C:=1;
CG:=0;
While C<=N do
Begin
Readln(X);
IF X > 0 THEN
IF (X mod 2 = 0) and
(X mod 3 = 0) then
CG:=CG+1;
C:=C+1;
End;
Writeln(La cantidad de
nmeros mltiplos de 2 y 3
es:,CG:6:2);
Repeat Until Keypressed;
End.

Gua de Prcticos realizada por la Ing. Sandra Valla Ao 2002 - Pgina 12

Fundamentos de Informtica
Gua de Trabajos Prcticos

8. Introduzca N valores enteros y positivos, determine el mayor de ellos.


Datos
N : identificador que indica la cantidad de nmeros a ingresar.
X : identificador que indica a cada uno de los nmeros.
Resultado
may: identificador que indica el mayor valor.
Condiciones Vinculantes
Para poder encontrar el mayor valor se puede realizar de dos formas:
a) Como es este caso se conoce el rango de los nmeros pues se sabe que son
enteros y positivos, se puede asignar a la variable mayor el menor valor posible
dentro del rango de esos nmeros (0 cero) ya que cualquier valor posterior ser
mayor al valor asignado inicialmente.
b) Cuando no conocemos el rango de valores de los nmeros el procedimiento
correcto es asignar el primer valor ingresado a la variable mayor, para que a
partir de ella se puedan comenzar a realizar las comparaciones.
En este punto se realizar el procedimiento indicado en a) ya que se conoce el
rango de los nmeros.
De igual forma se puede encontrar el menor de los N valores ingresados.
Codificacin en Lenguaje Pascal
N

C:=1
may:=0

C<=N
SI
X

NO

X>may

C:=C+1

PROGRAM Prob18;
USES
CRT;
VAR
N,X,C,may: integer;
BEGIN
NO
Readln(N);
C:=1;
may
may:=0;
While C<=N do
Begin
FIN
Readln(X);
SI
IF X > may THEN
may:=X;
may:=X
C:=C+1;
End;
Writeln(El mayor de los valores
ingresados es:,may:6);
Repeat Until Keypressed;
Gua de Prcticos realizada por End.
la Ing. Sandra Valla Ao 2002 - Pgina 13

Fundamentos de Informtica
Gua de Trabajos Prcticos

9. Introduzca N valores y determine el mayor de ellos.


En este caso que sera el punto b) explicado en el ejercicio anterior, no se conoce
el rango de validez de los valores por lo que se asigna el primer valor ingresado a
la variable mayor.
Datos
N : identificador que indica la cantidad de nmeros a Ingrese.
X : identificador que indica a cada uno de los nmeros.
Resultado
may: identificador que indica el mayor valor
Condiciones Vinculantes
Comparaciones del valor may con cada uno de los nmeros ingresados.

N
C:=1

NO
C<=N
NO
SI

N<>0

NO
NO

X>may

C=1
SI

SI
may

SI
may:=X

FIN

May:=X

C:=C+1

Gua de Prcticos realizada por la Ing. Sandra Valla Ao 2002 - Pgina 14

Fundamentos de Informtica
Gua de Trabajos Prcticos

Codificacin en Lenguaje Pascal


PROGRAM Prob19;
USES
CRT;
VAR
N,X,C,may: integer;
BEGIN
Readln(N);
C:=1;
While C<=N do
Begin
Readln(X);
IF C =1 THEN
may:=X
Else
IF may > X THEN
may:=X;
C:=C+1;
End;
IF N <> 0 THEN
Writeln(El mayor de los valores ingresados es:,may:6);
Repeat Until Keypressed;
End.
10. Introduzca N valores y determine el mayor de ellos y en qu posicin se encuentra.
En este caso lo nico que hay que agregar al diagrama anterior es una variable
que indique en posicin ingres el mayor valor, lo cual est indicado por la variable
contadora C.
Datos
N : identificador que indica la cantidad de nmeros a Ingrese.
X : identificador que indica a cada uno de los nmeros.
Resultado
may: identificador que indica el mayor valor
pos: posicin que indica el mayor valor
Condiciones Vinculantes
Gua de Prcticos realizada por la Ing. Sandra Valla Ao 2002 - Pgina 15

Fundamentos de Informtica
Gua de Trabajos Prcticos
Comparaciones del valor may con cada uno de los nmeros ingresados,
conservando el mayor valor y la posicin en que ingresa.

C := 1
N

NO

C<=N

NO

SI

N<>0

NO

SI
may

SI
C=1

NO

X>may

SI

FIN

May:=X
Pos:=C;

may:=X
Pos:=C;

C:=C+1

Codificacin en Lenguaje Pascal


PROGRAM Prob110;
USES
CRT;
VAR
N,X,C,may,pos: integer;
BEGIN
Readln(N);
C:=1;
While C<=N do
Begin
Readln(X);
IF C =1 THEN
Begin
may:=X
pos:=C;
End
Else
Begin
Gua de Prcticos realizada por la Ing. Sandra Valla Ao 2002 - Pgina 16

Fundamentos de Informtica
Gua de Trabajos Prcticos
IF may > X THEN
Begin
may:=X;
pos:=C;
End;
C:=C+1;
End;
IF N <> 0 THEN
Begin
Writeln(El mayor de los valores ingresados es:,may:6);
Writeln(La posicin en que ingres el mayor es:,Pos:6);
End;
Repeat Until Keypressed;
End.
11. Introduzca una cantidad no determinada de valores, cuyo final est determinado por
el valor cero, y determine la suma de ellos.
En este caso los valores se introducen pero al no conocerse la cantidad de valores
que se deben Ingrese no se puede poner un contador para que gobierne el corte
de control del ciclo de iteracin ya que no tenemos N (que era la cantidad de
valores) con quien comparar; por lo cual este corte de control es gobernado por
una condicin de negacin a la dada en el ciclo mientras se utiliza una estructura
While. En este ejemplo la condicin de corte ser: X<>0.
Dato
X : identificador que indica a cada uno de los nmeros.
Resultado
S: Suma de los valores ingresados
Condiciones Vinculantes
Frmula del acumulador, para incrementar el valor ingresado.
Codificacin en Lenguaje Pascal
S := 1
X
NO
X<>0
SI
S:=S+X

PROGRAM Prob111;
USES
CRT;
VAR
X,S: integer;
BEGIN
S
Readln(X);
S:=0;
While X<>0 do
Begin
FIN
S:=S+X;
Readln(X);
Gua de Prcticos realizada por
la Ing. Sandra Valla Ao 2002 - Pgina 17
End;
Writeln(El valor de la suma es:,S:6);
Repeat Until Keypressed;
End.

Fundamentos de Informtica
Gua de Trabajos Prcticos

12. Genere los nmeros impares menores a 100 y d a conocer la suma de ellos.
En este caso los valores no se introducen se generan de acuerdo a una
determinada frmula que se da en el enunciado del problema o que es ya
conocida, como en este caso donde se sabe que se comienza con el nmero 1 y
los dems se generan sumndole el valor 2 (dos) al nmero anterior. Adems se
conoce la cantidad de valores que se deben generar por lo que se puede poner un
contador para que gobierne el corte de control del ciclo de iteracin. En este
ejemplo la condicin de corte ser: C<=100.
Dato
No se poseen datos pues no se ingresa ninguna variable, todos los valores deben
ser generados.
Resultado
S: Suma de los valores generados.
Condiciones Vinculantes
Se comienza con el contador C=1 y se lo incrementa de a dos.

Codificacin en Lenguaje Pascal

C:=1
S:=0

C<=100
S
S:=S+C

C:=C+2

FIN

PROGRAM Prob112;
USES
CRT;
VAR
C,S: integer;
BEGIN
C:=1;
S:=0;
While C<=100 do
Begin
S:=S+C;
C:=C+2;
End;
Writeln(El valor de la suma es:,S:6);
Repeat Until Keypressed;
End.

Gua de Prcticos realizada por la Ing. Sandra Valla Ao 2002 - Pgina 18

Fundamentos de Informtica
Gua de Trabajos Prcticos

Gua de Prcticos realizada por la Ing. Sandra Valla Ao 2002 - Pgina 19

Fundamentos de Informtica
Gua de Trabajos Prcticos
C. ENUNCIADO DE LOS PROBLEMAS A RESOLVER POR LOS ALUMNOS Y
PRESENTAR EN LA CARPETA DE TRABAJOS PRCTICOS

Dados los siguientes enunciados, represente la solucin en trminos de Diagrama de


Flujo y codificacin en Pascal.

1. Lea N pares de nmeros enteros. Sume el mayor nmero de cada par y muestre
por pantalla la suma de los nmeros.
Ejemplo: La cantidad de pares, o sea N, es 4. Los pares de nmeros son :
(8 3), ( 4 9) , (6 0), (0 1)
La suma de los nmeros mayores de cada par es: 8+9+6+1=24
2. Dado un nmero entero y positivo de cuatro dgitos, genere a partir de l dos
nmeros A y B.
El nmero A es la suma de los dgitos pares y B la suma de los dgitos impares.
Muestre por pantalla ambos nmeros generados.
Ejemplo 1:
El nmero ingresado es: 5687
El nmero A generado es: 6+8=14
El nmero B generado es: 5+7=12
Ejemplo 2:
El nmero ingresado es: 5137
El nmero A generado es: 0
El nmero B generado es: 5+1+3+7=16
3. Se realiza el censo de una poblacin de N habitantes. Se ingresa por cada
habitante 3 datos: S, P y E. Con la variable S se representa el sexo, con P si es o
no profesional, y con E la edad del censado.
Se desea conocer:
a) La cantidad de personas de sexo masculino entre 30 y 60 aos que sean
profesionales.
b) La cantidad de personas de sexo femenino entre 30 y 60 aos que sean
profesionales.
c) Porcentaje de profesionales en relacin al total de la poblacin.
4. Dado un conjunto de N pares de nmeros X y Z enteros y positivos. Muestre la
sumatoria de los factoriales de aquellos valores de Z para los cuales el valor de X
es mltiplo de 3.
Ejemplo:
Cantidad de pares, o sea N: 3
(X= 9 , Z= 2) 9 es mltiplo de 3, por lo tanto 2!=2
(X=13 , Z=10) 13 no es mltiplo de 3, por lo tanto no se calcula el fact. de 10
Gua de Prcticos realizada por la Ing. Sandra Valla Ao 2002 - Pgina 20

Fundamentos de Informtica
Gua de Trabajos Prcticos
(X=15 , Z= 5) 15 s es mltiplo de 3, por lo tanto 5!=120
Sumatoria de los factoriales: 2+120=122
5. En un comercio que posee N vendedores, se ingresan al final del da el cdigo del
vendedor y las ventas realizadas por cada uno de ellos.
Se desea determinar cul es el monto total vendido por cada empleado y la venta
total del comercio.
Dado que no se conoce la cantidad total de ventas que realiz cada vendedor, se
establece que el ingreso de un valor negativo implica que ya se ingresaron todas
las ventas del vend edor en cuestin
Ejemplo:
Cantidad de vendedores, o sea N: 3
Cdigo de vendedor: 101
Ventas realizadas: $650.00
$420.00 $330.00 -15
Total de venta del vendedor 101: $1400
Cdigo de vendedor: 126
Ventas realizadas: $120.00 $200.00 -20
Total de venta del vendedor 126: $320.00
Cdigo de vendedor: 305
Ventas realizadas: $500.00 $700.00 $400.00 $125.00 -5
Total de venta del vendedor 305: $1725.00
Total de venta del comercio: $3445.00

Gua de Prcticos realizada por la Ing. Sandra Valla Ao 2002 - Pgina 21

Fundamentos de Informtica
Gua de Trabajos Prcticos
D. PROBLEMAS ADICIONALES OPTATIVOS

1. Dada una cantidad no determinada de valores numricos enteros y positivos,


imprima cuntos valores ingresados son iguales a 8. Considere como fin del
ingreso de datos un valor negativo.
2. Considerando la ecuacin de la circunferencia X^2 + Y^2 = 25, ingrese el valor de N
y calcule el valor de Y para X=1,2,3,4,5,...,N.
3. Ingrese N valores numricos enteros e imprima aquellos que sean pares.
4. Calcule el promedio de una cantidad no determinada de valores. Considere como
fin de datos el valor cero.
5. Se ingresa un valor numrico natural y se desea conocer el factorial de ese valor.
Ejemplo: Valor que se ingresa N=4
Factorial = 4! = 4 x 3 x 2 x 1 = 24
6. Ingrese N valores numricos enteros. Se desea contar cuntos valores eran iguales
a cero y cuntos eran menores que cero.
7. Se ingresan valores numricos y se desea conocer:
a) La cantidad de valores numricos introducidos.
b) La cantidad de valores numricos positivos.
c) La cantidad de valores numricos negativos.
d) La cantidad de valores numricos enteros.
Debe Ud. establecer el fin del ingreso de datos.
8. Se ingresan N nmeros naturales. Sumar y promediar aquellos que no coincidan
con el nmero de orden en que ingresaron.
Ejemplo: Si ingresa el nmero 5 en quinto orden no debe ser sumado ni
promediado.
9. Ingrese N valores numricos enteros. Imprima slo el promedio de los negativos
que sean pares.
10. Se ingresan valores numricos naturales hasta que el valor ingresado es un cero.
Presente por pantalla el porcentaje de valores ingresados que eran pares.
11. Ingrese un nmero natural N. Genere e imprima todos los pares de valores
numricos que sumados den como resultado N.

Gua de Prcticos realizada por la Ing. Sandra Valla Ao 2002 - Pgina 22

Fundamentos de Informtica
Gua de Trabajos Prcticos
12. Ingrese un nmero natural N. Sin dividir ni multiplicar determine si ese valor era o no
par.
13. Utilizando solamente la operacin de suma, calcule el producto de los nmeros A y
B.
14. Sin hacer uso de las operaciones de producto y cociente calcular A/B, donde tanto
A como B son nmeros enteros, dando su cociente exacto y su resto.
15. Se ingresa un nmero de cuatro dgitos. Liste todos sus divisores.
16. Se ingresa un valor numrico entero. Se desea conocer la suma de los dgitos que
conforman el nmero. Presente por pantalla el nmero introducido y la suma de los
dgitos.
Ejemplo: Nmero introducido: 1989. Suman = 27
17. Ingrese una secuencia de nmeros negativos hasta que la suma de ellos sea menor
o igual que -250. Finalmente imprimir la suma y la cantidad de nmeros ingresados.
18. Ingrese una secuencia de valores hasta que su suma sea mayor o igual a 328.
Imprima la suma y la cantidad de nmeros ingresados.
19. Ingrese una secuencia de nmeros, hasta que se ingrese el valor -99. Muestre el
promedio de los nmeros ingresados.
20. Ingrese una secuencia de nmeros, hasta que se ingrese el valor 100. Muestre el
porcentaje de los nmeros pares ingresados.
21. Ingrese N valores numricos e imprima slo aquellos que sean mltiplos de 3.
22. Se ingresa una serie de nmeros el final de la serie viene dado por un cero. Cuente
cuntos nmeros ingresan. Cuntos eran mltiplos de 3 y cuntos de 7. Presente
los resultados obtenidos.
23. Se ingresan N valores numricos X, tales que debe cumplirse que 1 <= X <= 15.
Cualquier nmero ingresado fuera del rango establecido no se debe tener en
cuenta. Acumule los valores ingresados en las siguientes variables:
En A si > 1 <= X <= 5
En B si > 6 <= X <= 10
En C si > 11 <= X <= 15
Debe finalmente presentar los resultados por pantalla.

Gua de Prcticos realizada por la Ing. Sandra Valla Ao 2002 - Pgina 23

Fundamentos de Informtica
Gua de Trabajos Prcticos
24. Dados 2 valores A, B correspondientes a los extremos de un intervalo [A,B]. Ingrese
N valores numricos e indique cuntos de los N valores ingresados pertenecen al
intervalo.
25. Ingrese el radio de un crculo y las coordenadas de N puntos en el plano. Teniendo
en cuenta que el crculo tiene su centro en el origen de coordenadas, debe contar:
a) Cuntos puntos estn fuera del crculo.
b) Cuntos puntos estn sobre el permetro del crculo.
c) Cuntos puntos estn dentro del crculo.
Finalmente presentar por pantalla las cuentas logradas.
26. Se ingresan las coordenadas de N puntos en el plano. Se desea saber cuntos
puntos correspondan a cada cuadrante. No se tendrn en cuenta para el conteo los
puntos que caen sobre los ejes de coordenadas.
27. Considerando la ecuacin de la recta y=3x+5,ingrese las coordenadas de N puntos
en el plano. Determine:
a) Cuntos puntos estaban arriba de la recta.
b) Cuntos puntos estaban sobre la recta.
c) Cuntos puntos estaban abajo de la recta.
28. En una empresa se necesita saber cunto se debe pagar de sueldo a sus
empleados, teniendo en cuenta que se debe pagar un adicional por:
a) Antigedad: de 1 a 5 aos: 10% del Sueldo Bsico (SB)
de 5 a 10 aos: 17% del SB.
de 10 ms aos: 25% del SB.
b) Familia numerosa: 15% (cuando posee tres o mas hijos) del SB
Y se efectan descuentos por:
a) Obra social: 3% del Sueldo bsico
b) Seguro Obligatorio: 11% del Sueldo bsico
Considerando N empleados se desea saber el sueldo neto de cada uno de ellos y
el monto total que debe pagar la empresa.
29. En una competencia donde participan cazadores se desea conocer el promedio de
distancia de los disparos que realiza cada competidor y su nmero de
participacin. Se sabe que cada competidor puede realizar N disparos, pero el
nmero total de cazadores no se conoce.
30. Una empresa fabrica productos que se codifican con nmeros de dos dgitos. Con
fines estadsticos, al finalizar el ao se ingresan por cada uno de los productos 12
conjuntos de datos, uno para cada mes del ao. Cada conjunto contiene 3 valores:
1) La cantidad vendida.
2) El precio de venta
3) El precio de costo.
Determine:
Gua de Prcticos realizada por la Ing. Sandra Valla Ao 2002 - Pgina 24

Fundamentos de Informtica
Gua de Trabajos Prcticos
a) La utilidad anual de cada producto.
b) La utilidad total anual de la empresa.
c.- el cdigo del producto ms vendido en el ao.
d.- el mnimo valor de costo indicando a qu mes pertenece y a qu artculo.
31. Escriba un programa que genere las siguientes series de valores numricos:
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 12 16 20
5 10 15 20 25

Gua de Prcticos realizada por la Ing. Sandra Valla Ao 2002 - Pgina 25

También podría gustarte