Você está na página 1de 55

PROGRAMACION I

Talleres de programacin I
1. PROCESO DE COMPRENSIN Y ANLISIS
2. Relacione cada uno de los conceptos expresados en las columnas
( ) Es el administrador de los recursos de la

a. Implementacin

mquina.
b. Lenguajes de Programacin
( ) Es una mquina que es capaz de recibir
informacin a travs de los llamados

c. Verificacin

dispositivos perifricos de entrada y a su vez


la procesa para luego entregarla a travs de

d. Computador

los dispositivos perifricos de salida


e. Compilador
( ) Son los que resuelven un problema
concreto de los usuarios y son hechos a la

f.

Software de Aplicacin

medida.
g. Sistema Operativo
( ) Traduce programas fuentes escritos en alto
nivel a lenguaje mquina

h. Algoritmos

( ) Se clasifican en mquina, alto nivel, bajo

i.

Sistema de Informacin

nivel
( ) Analizar si se producen los resultados
esperados.

_________________________________________________________________________
UNIVERSIDAD DE PAMPLONA-Facultad de Estudios a Distancia

PROGRAMACION I

3. Realice un esquema funcional donde se muestren los elementos que componen un sistema
computacional.
SOLUCIN DE PROBLEMAS

Realice las siguientes conversiones entre los diferentes sistemas de numeracin:


Binario a Decimal

C. 5128

A. 1000011111

Binario a hexadecimal.
A. 111100111 En este caso

B. 111101

Binario a octal

el nmero binario quedar

C. 01010111

D. 101011111

000111100111

E. 10111101

completar los 4 bits

F. 101010110

B. 101011110101

Decimal a binario.
A. 87

para

C. 101111011111

B. 25

Hexadecimal a decimal.

C. 132

A. 73116
B. 9116

Octal a decimal.

C. 3516

A. 528
B. 7328

Decimal a hexadecimal.

C. 5128

A. 29
B. 125

Decimal a octal.

C. 63

A. 158
B. 35

Hexadecimal a binario.

C. 49

A. 34116

Octal a binario.

B. 1816

A. 528

C. 13516

B. 7328

___________________________________________________________________
UNIVERSIDAD DE PAMPLONA-.Facultad de Estudios a Distancia

Programacin I

SNTESIS CREATIVA Y ARGUMENTATIVA


Exploracin web:
Ingresa al sitio Web de la IEEE de la Universidad distrital.
Posteriormente y al cargar la pagina de click en las lecciones ubicadas a la izquierda de la pantalla (Historia de
los computadores y Sistemas Numricos)
Contina navegando en la pgina dando click en los enlaces de siguiente y anterior.
Lee y analiza los distintos conceptos que all aparecen.
AUTOEVALUACIN
1. Qu es un programa?
a) Un conjunto de instrucciones que permiten que una computadora resuelva un problema.
b) Un conjunto de instrucciones que debe seguir el programador para hacer que la computadora funcione.
c) Cualquiera de los ficheros que tengo en mi disco duro.
d) Un folleto que enumera las obras de un festival de teatro.
2. Un programador se encarga de realizar programas. Para ello:
a) Debe conocerse al dedillo el funcionamiento interno de la computadora.
b) Debe ser un experto en matemticas.
c) Debe estudiar el problema que tiene que resolver antes de ponerse a escribir el programa.
d) Debe saber construir una computadora.
3. Las ventajas de una computadora son:
a) Inteligencia y Rapidez.
b) Exactitud y Rapidez.
c) Comprensin y Exactitud.
d) Inteligencia y Amabilidad.
_________________________________________________________________________
UNIVERSIDAD DE PAMPLONA-Facultad de Estudios a Distancia

Programacin I

4. Una computadora puede dividirse en dos partes, que son:


a) Hardware y Firmware.
b) Freeware y Hardware.
c) Hardware y Shareware.
d) Hardware y Software.
5. El Hardware puede dividirse en dos componentes:
a) Unidad Central y Pantalla.
b) Unidad Central de Proceso y Memoria.
c) Unidad Central y Perifricos.
d) La Pantalla y el Teclado.
6. Qu significa RAM?
a) Memoria de lectura y escritura.
b) Memoria de acceso aleatorio.
c) Memoria de acceso rpido.
d) Memoria de slo lectura.
7. Los elementos bsicos de la Unidad Central son:.
a) Unidad Central de Proceso, Placa base, Bus, Memoria.
b) Las Tarjetas de Expansin y la Placa Base.
c) Unidad Central de Proceso y Perifricos.
d) Placa Base, Memoria y Tarjeta de Sonido.
8. Qu es la unidad Aritmtico - Lgica?
a) El componente de la Unidad Central de Proceso que se encarga de controlar la ejecucin de programas.
b) El componente de la Unidad Central de Proceso que se encarga de almacenar datos temporales.
c) El componente de la Unidad Central de Proceso encargado de realizar operaciones matemticas y lgicas.
d) El componente del hardware encargado de repasar los clculos, por si fallan.
9. Cules son los perifricos principales de entrada?
_________________________________________________________________________
UNIVERSIDAD DE PAMPLONA-Facultad de Estudios a Distancia

Programacin I

a) El teclado y el ratn.
b) La impresora y la pantalla.
c) El guante de datos y el casco de realidad virtual.
d) El escner y el lpiz ptico.
10. Qu es un escner?
a) Un perifrico de salida que permite imprimir fotografas en color.
b) Un perifrico de entrada que permite introducir imgenes en la computadora.
c) Un perifrico que permite hacer fotos de lo que aparece en pantalla.
d) Un perifrico de entrada que reconoce texto escrito en una hoja.
11. Qu es un disco flexible?
a) Un disco que puede doblarse.
b) Un disco fabricado en material flexible que est cubierto por material flexible o rgido.
c) Un disco que puede meterse y sacarse de su unidad lectora.
d) Un disco que puede escribirse y borrarse todas las veces que se quiera.
12. Los tipos principales de impresoras son:
a) Impresoras de matriz de puntos, impresoras de chorro de tinta e impresoras lser.
b) Impresoras de matriz de puntos, impresoras de margarita e impresoras trmicas.
c) Impresoras lser, impresoras de color e impresoras de blanco y negro.
d) Las impresoras personales y las impresoras corporativas.
13. Un Mdem sirve para:
a) Que una computadora puede conectarse a una impresora.
b) Que puedan conectarse entre s dos computadoras que estn en la misma habitacin.
c) Que una computadora pueda mostrar imgenes de la televisin.
d) Conectar computadoras mediante la lnea telefnica.
14. Cules son los dos tipos principales de Software?
a) El sistema operativo y los sistemas de apoyo.
_________________________________________________________________________
UNIVERSIDAD DE PAMPLONA-Facultad de Estudios a Distancia

Programacin I

b) Las herramientas de programacin y las aplicaciones.


c) El sistema operativo y las aplicaciones.
d) Los procesadores de texto y las bases de datos.
15. Una de las misiones del Sistema Operativo es:
a) Permitir que el usuario realice operaciones bsicas con la computadora sin necesidad de programar.
b) Facilitar el trabajo del usuario mediante reconocimiento de voz.
c) Permitir que el usuario maneje la computadora mediante el ratn.
d) Permitir que los recursos del sistema (impresora, pantalla, disco) sean inagotables.
16. Los tipos bsicos de aplicaciones son:
a) Tratamiento de textos, hoja de clculo, bases de datos, artes grficas y programacin.
b) Tratamiento de textos, programas de dibujo en tres dimensiones y juegos.
c) Los juegos y las aplicaciones ofimticas.
d) Contabilidad, gestin de nminas y juegos.
17. Una base de datos se utiliza para:
a) Realizar clculos complejos y dibujar grficas.
b) Almacenar grandes cantidades de datos de una forma organizada para que luego puedan consultarse de la
forma ms cmoda posible.
c) Guardar datos sobre los ficheros que hay en una computadora y poder organizarlos mejor.
d) Almacenar grandes cantidades de datos para tenerlas en lugar seguro para que no se estropeen.
18. Qu tipo de aplicacin se utiliza para escribir libros como ste?
a) Un programa especializado en escribir libros de programacin.
b) Un tratamiento de textos.
c) Un tratamiento de textos para el contenido y un programa de autoedicin para la maquetacin.
d) Un programa de autoedicin para mezclar el texto y las figuras.
19. Un problema a resolver por computadora tiene varias componentes:
a) El programa y los datos.
_________________________________________________________________________
UNIVERSIDAD DE PAMPLONA-Facultad de Estudios a Distancia

Programacin I

b) El algoritmo y el programa.
c) El organigrama, el programa y los datos.
d) El algoritmo y los datos.
REPASO SIGNIFICATIVO

Es lo mismo CPU que UC? No, pues la Unidad de Control (UC) es el elemento de la CPU que genera las seales
de Control necesarias para que se ejecuten las instrucciones.
Qu es un dispositivo perifrico? Es el que permite la entrada de informacin, la salida de informacin y el
almacenamiento de informacin de un sistema computacional.
Qu diferencia existe entre un software de aplicacin y un sistema de informacin? Estos conceptos tienden a
confundirse pues los dos son software que facilitan el desarrollo de una actividad especfica. Sin embargo, la
diferencia es que un sistema de informacin es un software hecho a la medida del usuario o segn las necesidades
del usuario y el de aplicacin no, Por ejemplo:
Un software de aplicacin es Word o Excel.
Un sistema de Informacin, puede ser la pgina web de una empresa.
Qu es LSB? LSB quiere decir bit menos significativo.
Por qu para poder convertir de binario a hexadecimal se debe agrupar en 4 bits? Se agrupa en 4 bits porque
el mximo nmero que se puede representar en hexadecimal es el nmero 15 que se representa con la letra F y el
nmero 1111 en binario es F en Hexadecimal.
Existen otros sistemas de numeracin adems del binario, octal, decimal y hexadecimal? S. Las personas
pueden crear sistemas de numeracin tomando una base, como por ejemplo, un sistema de base 4 que maneje los
dgitos 0-3. Para convertir de base 10 a base 4 se divide el nmero decimal sucesivamente en 4 hasta cuando ya
no se pueda dividir ms y se toma el nmero desde el ltimo residuo hasta el primero.

_________________________________________________________________________
UNIVERSIDAD DE PAMPLONA-Facultad de Estudios a Distancia

Programacin I

Qu diferencia existe entre interpretador y compilador? Un intrprete es un traductor que toma un programa
fuente, lo traduce y a continuacin lo ejecuta. En cambio, un compilador traduce el programa fuente y crea un
programa objeto. Para conseguir el programa mquina real, se debe utilizar un programa llamado montador o
enlazador que es el que permite ejecutarlo.
Qu es un programa? Es un conjunto de instrucciones almacenadas en la memoria principal del computador, que
indica la secuencia de operaciones a seguir para ser procesadas de manera automtica con el objeto de obtener el
resultado deseado.
Qu son los Lenguajes de Bajo Nivel? Son aquellos que por sus caractersticas se encuentran ms prximos a la
arquitectura de la mquina y estn ntimamente relacionados con el lenguaje de mquina. En l cada instruccin
equivale normalmente a una sola instruccin en cdigo de mquina. stos lenguajes gozan de la ventaja de mnima
ocupacin de memoria y mnimo tiempo de ejecucin en comparacin con el resultado de la compilacin del
programa equivalente escrito en lenguaje de alto nivel.
Qu son los Lenguajes de Alto nivel? Son aquellos que por sus caractersticas se encuentran ms prximos al
usuario o al procesador. Estn dirigidos a solucionar problemas mediante el manejo y tratamiento de estructuras de
datos que a su vez son abordados por acciones concretas. Son independientes de la arquitectura del computador y
usados como soporte, lo que implica que los programas desarrollados en l pueden ser ejecutados sobre computadores
con distinto procesador. El objetivo de este lenguaje es facilitar la tarea de programar, puesto que son ms fciles de
aprender y mantener, se pueden escribir ms rpidamente y tienen mejor documentacin y portabilidad.

2. PROCESO DE COMPRENSIN Y ANLISIS

Elabora un diagrama de flujo para expresar la solucin del problema que se presenta a continuacin.
Sean los datos a, b, c, d; haz diagramas de flujo independientes para leer los datos, y resolver e imprimir el resultado de
cada uno de los siguientes incisos:
a) Calcular: a + b c

b)

Calcular:

_________________________________________________________________________
UNIVERSIDAD DE PAMPLONA-Facultad de Estudios a Distancia

SOLUCIN DE PROBLEMAS
Elabora diagramas de flujo para expresar la solucin de los problemas que se presentan a
continuacin. Aunque slo se pida explcitamente en algunos casos, es necesario que siempre
sepas decir con precisin cuntos y cules son los datos del problema y cuntos y cules son los
resultados.
1) Una persona recibe un prstamo de $10,000.00 de un banco, y desea saber cunto pagar de
inters al terminar el mes, si el banco le cobra una tasa del 2% mensual.
a) Resuelve este caso particular.
b) Generaliza este problema para un monto cualquiera de capital y para una tasa cualquiera.
2) Sean los datos: x, a1, a2, a3, a4; haz un diagrama de flujo para calcular:
a1x3 + a2x2 + a3x + a4
Sin usar la operacin de potencia.
a) Cuntas rdenes de multiplicacin y de suma utilizaste?
b) Puedes reducir el nmero? En caso afirmativo, hazlo.
3) Elabora un diagrama de flujo que lea dos valores numricos a y b y los imprima en orden
ascendente.
4) Una empresa desea conocer el monto de comisin correspondiente a una venta realizada por un
vendedor bajo las siguientes condiciones. Si la venta es menor a $1,000.00, se le otorga el 3%
de comisin. Si la venta es de $1,000.00 o ms, el vendedor recibe el 5% de comisin.
5) Una agencia automotriz ofrece planes de crdito para la adquisicin de los diferentes modelos
de automviles. Si el automvil vale ms de $250,000.00 la agencia solicita un 35% de
enganche y el resto debe cubrirse en 24 mensualidades sin intereses. Si el automvil tiene un
valor mximo de $250,000.00 se requiere un enganche del 25% y el resto se debe pagar en 18
mensualidades sin intereses. La agencia desea saber, con base en el precio de un automvil

que un determinado cliente elija, cul es el monto del enganche, y cul es el nmero y el monto
de las mensualidades que ste debe cubrir.
6) El precio de un boleto de viaje redondo en tren se calcula tomando en cuenta el nmero de
kilmetros que se van a recorrer, siendo el precio $60.00 por Km. Este precio puede tener un
descuento del 30% si el viaje de regreso se hace despus de 7 das del viaje de ida, o si el
recorrido supera los 800 Km. Haz un diagrama de flujo para calcular cunto se debe pagar por
un boleto de tren dando como datos el total de Km recorridos y el nmero de das entre el viaje
de ida y el viaje de vuelta. Prueba tu diagrama con los siguientes grupos de datos:
a) 850 Km y 10 das.
b) 356 Km y 8 das.
7) Haz un diagrama de flujo para resolver ax2 + bx + c = 0 en el caso de races reales. Los datos
son: a, b, c. Puedes usar las operaciones que necesites. Asegrate de que el resultado sea
vlido.
8) En una empresa, se darn aumentos a los empleados segn la categora de su contrato actual
de la siguiente forma:

Elabora un diagrama de flujo que solicite la clave de la categora y el sueldo actual de un


empleado y calcule e imprima el nuevo salario.
9)

Haz un diagrama de flujo para que, dados dos nmeros enteros a, b y una clave, realice la
operacin aritmtica indicada por medio de la clave a los nmeros dados. Por ejemplo, si los
datos son: 8 4 +, el algoritmo debe calcular la suma de 8 + 4. Las claves vlidas son: + - * /.

10) Haz un diagrama de flujo que dado un valor n entero positivo, calcule e imprima los elementos
correspondientes a la conjetura de Ullman (en honor al matemtico S. Ullman) que consiste en
lo siguiente:
a) Empieza con cualquier entero positivo.
b) Si es par, divdelo entre 2; si es impar multiplcalo por 3 y agrgale 1.
c) Para obtener enteros sucesivamente repite el proceso.
d) Al final se obtendr el nmero 1, independientemente del entero inicial. Por ejemplo, cuando
el entero inicial es 26, la secuencia ser:
26 13 40 20 10 5 16 8 4 2 1
11) Elabora un diagrama de flujo para leer una serie de enteros positivos, contar los valores
introducidos y calcular su promedio. El final de los datos se indicar con un nmero negativo.
12) Elabora un diagrama de flujo, que dada una n entera, con 1 n 100, imprima los primeros n
nmeros naturales en orden ascendente.
13) Elabora un diagrama de flujo, que dada una n entera, con 1 n 100, imprima los primeros n
nmeros naturales en orden descendente.
14) Elabora un diagrama de flujo para leer una serie de n enteros, calcular e imprimir su suma y su
promedio.
15) Elabora un diagrama de flujo, que calcule m x n (m0 , n0, ambos enteros) sin utilizar la
operacin de multiplicacin.
16) Elabora un diagrama de flujo, que calcule m n (n>0 y entero) sin utilizar potencia.
17) Elabora un diagrama de flujo que dado un valor n entero con n1, calcule e imprima la siguiente
sumatoria:

18) Haz un programa que dado un nmero n entero positivo, imprima todos sus divisores.
19) Dada la funcin:

y dados los valores k,x1,x2,..,xk, haz un diagrama de flujo para calcular f(xi) para i = 1,2...,k.
20) Dados los datos: a, b, c, d; haz un diagrama de flujo para cada uno de los siguientes
problemas:
a) Hallar el mayor.
b) Hallar el menor.
c) Hallar el mayor y el menor.
21) Dados los datos: n, a1, a2,..., an con n > 0, haz un diagrama de flujo para encontrar el mximo de
los ai.
22) Haz un diagrama de flujo que reciba un valor n entero y
a) si n_0 calcule n!
b) si n<0 escriba un mensaje de error y no calcule nada.
23) Sean los datos m y n enteros positivos; haz un diagrama de flujo para calcular el Mximo
Comn Divisor y el Mnimo Comn Mltiplo de m y n. El Algoritmo de Euclides establece que, si
mn, MCD (m,n) = MCD (n, m mod n).

24) Construye un diagrama de flujo que calcule e imprima los 150 primeros nmeros de la serie de
Fibonacci. Recuerda que los dos primeros nmeros de la serie son 0 y 1. El resto se calcula
como la suma de los dos nmeros que lo preceden. Ejemplo: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, . . .
25) En una guardera hay 25 nios de 1, 2 y 3 aos. Los nios de 1 ao consumen 6 paales al da,
los nios de 2 aos consumen 3 paales diarios y los nios de 3 aos consumen 2 paales
diarios. Se desea conocer el consumo total de paales diarios. Datos: edad1

edad2

. . . . . edad25 donde edadi representa la edad del isimo nio en aos cumplidos (1, 2
3).
26) Una empresa que cuenta con k empleados desea realizar algunos clculos para la nueva
nmina. Los datos con que cuenta son los sueldos de los k empleados: k, s1, s2, s3, ..., sk.
Elabora un diagrama de flujo para leer los datos y contestar a las siguientes preguntas:
a) Cul es el aumento correspondiente a cada empleado segn el siguiente criterio?
17% si el sueldo es inferior a $5,000
10% si el sueldo est entre $5,000 y $15,000
5% si el sueldo es superior a $15,000
b) Cul es el nuevo sueldo para cada empleado?
c) Cul es el total de la nueva nmina?
d) Cul es el incremento en la nmina?
Resuelve los incisos progresivamente.
27) Una empresa tiene n empleados, por los que aporta al INFONAVIT el 3% de la nmina y al
IMSS el 4%. Suponiendo que se conocen los datos. n, s1, s2,..., sn Donde: n representa el
nmero de empleados; si representa el sueldo del empleado i
Elabora un diagrama de flujo que calcule e imprima:
a) el sueldo-empresa de cada empleado que consiste en el sueldo del empleado ms las
aportaciones mencionadas;
b) el monto total de la nmina que paga la empresa; y
c) el total de aportaciones al INFONAVIT y al IMSS que realiza la empresa.

28) Una carrera profesional consta de 40 materias, repartidas en 8 semestres a razn de 5 materias
por semestre. Como datos se dan las 40 calificaciones correspondientes a un alumno, en grupos
de 5 segn el semestre:

Elabora un diagrama de flujo para leer los datos y contestar a las siguientes preguntas:
a) Cul es el promedio del alumno por semestre? Indica tanto el promedio como el semestre.
b) Cul es el promedio que obtuvo en la carrera?
29) Un atleta se ha propuesto recorrer una misma ruta durante un ao, corriendo 7 das a la
semana, para as saber su promedio de tiempo por semana, por mes y por todo el ao. Debes
suponer que todos los meses son de 30 das. Los datos que se proporcionan son 360 reales,
indicando el tiempo del recorrido de cada da. Haz un diagrama de flujo que proporcione al atleta
la informacin que desea conocer.
30) Una tabla de estadsticas muestra la produccin de barriles de petrleo de 5 pases petroleros
(Mxico, Venezuela, Arabia Saudita, Libia y Argelia), durante el primer semestre de 2001. La
tabla tiene el siguiente formato:
bm, bv, bas, bl, ba: No de barriles/pas en enero.
bm, bv, bas, bl, ba: No de barriles/pas en febrero.. . .
bm, bv, bas, bl, ba: No. de barriles/pas en junio.
Haz un diagrama de flujo que calcule la produccin total de barriles en el semestre y la de cada
uno de los pases involucrados.
31) El siguiente diagrama de flujo tiene un fin especfico: (la flecha es equivalente al igual)
a) Interprtalo, es decir, di qu hace en forma breve y concisa. Prubalo primero con n = 10 y
posteriormente con n = 456.
b) Marca en el diagrama las estructuras algortmicas usadas, indicando cules
son.

33) El siguiente diagrama de flujo tiene un fin especfico:


a) Realiza una prueba para n = 11, indicando qu imprime el programa.
b) Interprtalo, es decir, di qu hace en forma breve y concisa
c) Marca en el diagrama las estructuras algortmicas usadas, indicando qu
son.
d) Cmo mejoraras la condicin de terminacin del ciclo?

34) Considera los siguientes diagramas de flujo y para cada uno: indica sobre l las estructuras de
control utilizadas, cuntas instrucciones contiene cada una de ellas y haz la representacin de la
memoria (cuando nos referimos a representacin en memoria es hacer la prueba dndole valores
a cada variable)
a) Datos: 1 3 1 1 0

b) Datos: 2 5 3 0

c) Datos 1 3 1 2 0

d) Dato 5

35) Una tienda desea obtener una serie de reportes diarios a partir de las ventas
realizadas en un da. Elabora un diagrama de flujo que:

a) Solicite el monto de cada venta sin IVA,


b) Para cada venta, calcule e imprima el IVA y el total con IVA,
c) Al terminar el da, imprima un reporte con los totales de:
ventas sin IVA,
IVA,
ventas con IVA,
promedio de las ventas con IVA.
Se desconoce el nmero de ventas que se realizan en un da, por lo que al final de los datos
se indica con un 1. Debes suponer que el IVA es del 15%.
36) Dados los datos:

donde ai representa el ingreso del estado i de la Repblica Mexicana y bi representa el nmero de


habitantes que hay en ese mismo estado; haz un solo diagrama de flujo para:
a) Calcular el ingreso per cpita de cada estado:

b) Calcular el ingreso per cpita total de la Repblica Mexicana:

37) Dados los valores: n, P1, P2,..., Pn con n _ 2, donde los Pt (t = 1,...,n) representan los ndices de
precios al consumidor de varios aos; elabora un diagrama de flujo para calcular y escribir:
a) La tasa de inflacin entre aos consecutivos:

b) La tasa media inflacionaria:

38. Dados los datos:

Elabora un diagrama de flujo para calcular:

Restriccin : No se debe emplear la operacin de potencia.


a) Cuntos datos y cuntos resultados se dan en el programa?
b) Cuntas sumas y multiplicaciones efecta este programa?
c) Podras reducirlas planteando de otra manera su algoritmo?
39) Dados los datos:

Elabora un diagrama de flujo que, sin utilizar la operacin de potencia y minimizando el nmero
de multiplicaciones (y observando los signos), calcule:

40) En una clase hay 30 alumnos y cada uno de ellos tiene 6 calificaciones, correspondientes a 6
diferentes materias. Se requiere que calcules:
a) El promedio de cada alumno.

b) Lo mismo que el inciso anterior y adems el promedio general de la clase (=promedio de los
promedios).
c) Lo mismo que el inciso anterior pero suponiendo que cada alumno tiene n calificaciones.
d) Lo mismo que el inciso anterior pero contando adems el nmero de alumnos condicionados,
es decir, cuntos alumnos tienen ms de 2 materias reprobadas (con nota inferior a 6).
SNTESIS CREATIVA Y ARGUMENTATIVA
Exploracin web
Ingresa al sitio web de la Universidad Nacional
Al cargar la pgina encontrars el MDULO 1: INTRODUCCION A LA PROGRAMACIN, y
debajo de ste los tres subtemas en los que est divido el documento.
Haz click, visite y lee los hipervnculos relacionados con los algoritmos y metodologa de
programacin un programa
Una vez realizado el anlisis de estos temas, realiza un resumen, el cual ms adelante te
podr servir como herramienta de estudio.
AUTOEVALUACIN
1. Resolver un problema por computadora significa:
a) Construir un algoritmo.
b) Construir un programa.
c) Construir un lenguaje de programacin.
d) Planificar y desarrollar la resolucin del problema.
2. El pseudocdigo es:
a) Un lenguaje informtico.
b) Un conjunto de expresiones.
c) Un lenguaje informal que permite describir de un modo preciso un programa.
d) Un lenguaje natural como el espaol o el ingls.

3. No es una estructura bsica de control la estructura:


a) Secuencial.
b) Condicional.
c) Tipo Para.
d) Tipo Segn.
4. Una estructura repetitiva:
a) Ejecuta un conjunto de instrucciones dependiendo de una condicin.
b) Ejecuta alternativamente un conjunto de instrucciones dependiendo de una condicin.
c) Ejecuta repetidamente un conjunto de instrucciones mientras se verifica una condicin.
d) Ejecuta repetidamente un conjunto de instrucciones por lo menos una vez.
5. Un algoritmo es:
a) Un mtodo para disear programas.
b) Un conjunto de instrucciones en cdigo de mquina.
c) Un conjunto de instrucciones en pseudocdigo.
d) Un conjunto de instrucciones que definen un programa informtico.
6. Un algoritmo debe ser:
a) Finito.
b) Corto.
c) Rpido.
d) Matemtico.
7. Los pasos mas convenientes para crear un programa son:
a) Algoritmo, Pseudocdigo, Codificacin en un Lenguaje Informtico.
b) Pseudocdigo, Algoritmo, Codificacin en un Lenguaje Informtico.
c) Algoritmo, Codificacin en un Lenguaje Informtico.
d) Codificacin en un Lenguaje Informtico.

8. Un Organigrama es la:
a) Representacin grfica de un problema.
b) Representacin grfica de un algoritmo.
c) Representacin grfica de una estructura de control.
d) Representacin grfica de un lenguaje de programacin.
9. No es un diagrama simple que se utilice para disear un Organigrama :
a) Un tratamiento.
b) Un predicado.
c) Un reagrupamiento.
d) Las lneas de conexin.
10. El tratamiento informtico de un problema no incorpora la etapa de:
a) Diseo.
b) Correccin.
c) Mantenimiento.
d) Anlisis.
11. Describir las necesidades del cliente se realiza en la etapa de:
a) Anlisis.
b) Diseo.
c) Correccin.
d) Requisitos del problema.
12. Los procesos se obtienen en la etapa de:
a) Diseo.
b) Mantenimiento.
c) Anlisis.
d) Requisitos del problema.
13. Un proceso se describe con:

a) Los datos de entrada.


b) Los resultados de salida.
c) Su funcionalidad.
d) Las tres anteriores.
14. El Diseo produce:
a) Un programa informtico.
b) El pseudocdigo.
c) El pseudocdigo y las estructuras de los datos.
d) Unidades de Tratamiento.
15. El desarrollo del Diseo implica un:
a) Diseo Estructurado.
b) Diseo General y Detallado.
c) Diseo Abstracto.
d) Diseo Funcional.
16. La etapa de Codificacin consiste en:
a) Obtener un programa en C.
b) Transcribir el pseudocdigo en instrucciones de un lenguaje de programacin.
c) Codificar el pseudocdigo en un algoritmo.
d) Pasar el pseudocdigo a un programa ejecutable.
17. Un programa en lenguaje C normalmente no tiene:
a) Definicin de directivas.
b) Declaracin de variables.
c) Sentencias.
d) Diseo grfico.
18. Probar un programa consiste en:
a) Verificarlo.

b) Validarlo.
c) Verificarlo y validarlo.
d) Verificarlo, validarlo y contrastarlo.
19. El mantenimiento debe ser:
a) Deductivo.
b) Interactivo y Permanente.
c) Correctivo y adaptativo.
d) Correctivo, perfectivo y adaptativo.
REPASO SIGNIFICATIVO
Qu son las constantes? Son datos cuyo valor no cambia durante todo el desarrollo del

algoritmo.
Qu es la variable? Es un objeto cuyo valor puede cambiar durante el desarrollo del algoritmo.

Se identifica por su nombre y por su tipo.


Qu es una expresin? Es una combinacin de operadores y operandos. Los operadores

pueden ser constantes o variables. Por ejemplo s=a+5, s y a son variables y 5 es constante.
Qu herramientas se utiliza para el diseo? Algoritmos y diagramas de flujo.
Qu herramientas se utilizan para la codificacin? Se utilizan los lenguajes de programacin.

PROCESO DE COMPRENSIN Y ANLISIS


1. Explica cmo se ver exactamente la pantalla cuando se ejecuten las siguientes instrucciones:
printf (Valor1 es %d \n,3);
printf (Valor2 es );
printf (%d \n,5);
printf (La suma es %i \n, 3 + 5);
printf (%d %d \n, 86, 39);
printf (a = \n);
printf (%9.5f \n, 32.5);
printf (a = %5d b = %6.3f \n,86, 32.5);
2. Qu se escribir cuando se ejecute el siguiente programa?

void main ( )
{
int a, b, c;
float x, y, z;
a = 0;
b = 2;
c = 1;
x = 5.2;
y = 3.6;
z = 4.1;
printf (Los valores son );
printf (%d %d %d,a, b, c);
printf (%f %f %f \n,x, y, z);
printf (La suma es %f \n, x + y + z);
printf (El producto es %d \n, a * b * c);
}
3. Determina la salida exacta del siguiente programa.
void main ( )
{
char a;
int b;
float c;
a = x;
b = -12;
c = 35.1678;
printf (*%10c* \n,a);
printf (*%-10c* \n,a);
printf (%2d %8d %5.2f % 9.0f \n,b,b,c,c);
}
SOLUCIN DE PROBLEMAS
1. Escribe un programa que lea dos enteros que representan el peso de un objeto en libras y
onzas, e imprima el peso introducido y su equivalente en kilogramos. Una libra tiene 16 onzas y
2.2046 libras equivalen a un kilogramo.
Los datos de entrada deben acompaarse de mensajes adecuados solicitando el nmero de
libras y onzas que pesa el objeto; y el resultado debe darse segn el siguiente ejemplo:
Un peso de 5 libras y 3 onzas equivale a 2.353 kilogramos.
2. Un banco necesita un programa para conocer cul es la conversin de una cierta cantidad de
pesos a dlares, libras, euros o yenes. Los datos son:

clave, cant, tipocambio


Donde:
clave

caracter que indica la moneda extranjera a la que se desea convertir (d = dlares, l

= libras, e = euros, y = yenes).


cant entero que indica la cantidad en pesos a convertir.
tipocambio real que indica la equivalencia de la moneda en el momento del clculo.
El resultado debe decir: cant pesos equivalen a conversin moneda.
Por ejemplo, si se convirtieron 1000 pesos a dlares a una equivalencia de $10.00 el
resultado sera:

1000 pesos equivalen a 100.00 dlares.

3. Haz un pequeo programa para imprimir los primeros cien nmeros naturales haciendo una
pausa cada vez que se llene la pantalla e indicando con un mensaje adecuado que al oprimir
una tecla la lista continuar.
4. Haz un programa que imprima los primeros n nmeros naturales pares, valide el valor de n y
emita un mensaje de error si no es natural.
5. Una persona decide invertir su capital en un banco y desea saber cunto dinero ganar despus
de un mes si el banco paga un inters r mensual.
6. Imprime una tabla de conversin de grados Centgrados a grados Fahrenheit para un rango de
valores entre m y n, donde m n, usando la frmula:
F = 9.0 / 5.0 * C + 32.0
Por ejemplo: Para m= -40 y n=100 calcula el equivalente en grados Farenheit de:
-39C,...,100C
7. La calificacin final de una materia se compone de:
55% del promedio de los tres exmenes parciales.
30% de la calificacin del examen final.
15% de la calificacin del trabajo final.

-40C,

Un alumno aprueba esta materia si su calificacin final es mayor o igual a 6 y el promedio de sus
tres exmenes parciales es mayor o igual a 6 y la calificacin de su examen final es mayor o
igual a 6. Haz un programa que lea las calificaciones de los cuatro exmenes y el trabajo final e
imprima la calificacin final o NA, segn corresponda.
8. Un nio va a la tienda con los p pesos que le dio su pap de domingo para comprar dulces. Son
tres los tipos de dulces que le interesan; sus precios son: $0.75, $1.15 y $0.65. El nio le va
pidiendo al tendero qu tipo de dulces quiere (1, 2 o 3) y cuntos quiere; entonces el tendero, si
an le alcanza para comprar ms dulces, le pregunta cul y cuntos quiere y as, hasta que el
nio no pueda comprar ms dulces. Haz un programa que, cuando el nio no pueda comprar
ms dulces, imprima cuntos dulces compr de cada tipo y cul es su cambio. Nota: El nio no
necesariamente pide en orden el tipo de los dulces; puede pedir varias veces el mismo tipo de
dulce y el tendero le seguir preguntando tipo y cantidad hasta que ya no pueda comprar al
menos un dulce del ms baratos.
9. Dados los datos:
n, x con n entera > 0, x real.
Haz un diagrama de flujo y programa en C que imprima una tabla como la que se presenta a
continuacin:

10. Una clase consta de n estudiantes (con 1 _ n _ 50), cada uno de los cuales cursa 5 materias.
Para cada alumno se da una lnea de entrada formada por su clave nica y las cinco
calificaciones. La clave nica de los alumnos es un entero. Las cinco calificaciones son reales.
Como ejemplo de la entrada de datos se podra tener:

Haz un programa que lea esta informacin e imprima la clave nica del alumno, su promedio
entero y una barra horizontal de asteriscos como representacin grfica del promedio.
11. Escribe un programa para calcular e imprimir todos los nmeros enteros comprendidos entre
100 y 999 tales que sean iguales a la suma de los cubos de sus dgitos, es decir, los nmeros de
la forma abc, con: abc = a3 + b3 + c3.
12. Escribe un programa que, dado un nmero entero n > 2, determine si es primo o no. (n es primo
si no existe un valor entero k con 1< k < n, tal que k divida a n).
13. Dado un nmero natural n encuentra otro entero m que sea n al revs, invirtiendo el orden de los
dgitos. Explica si n es un palndromo. Si n es un palndromo, entonces se lee igual de izquierda
a derecha que de derecha a izquierda. Por ejemplo, si n es 242, entonces m ser 242, por lo
tanto n es un palndromo. Mientras que si n es 254, entonces m ser 452, por lo tanto n no es
palndromo.
Dado un nmero natural n, encuentra su raz digital. Raz digital de un natural: se calcula el
natural m sumando los dgitos que componen a n. El proceso se repite sobre el nuevo
nmero hasta que el resultado sea de un dgito. Ejemplo: 347 3 + 4 + 7 = 14 1 + 4 = 5
RD(347) = 5.
14. La funcin matemtica sen (x) se aproxima con un nmero suficiente de trminos de la siguiente
serie:

Escribe un programa en C para que, dada una x, calcule sen(x) utilizando la serie anterior. El
clculo debe terminarse cuando el valor absoluto de un nuevo trmino de la serie sea menor o
igual 0.0001. Imprime el nmero de trminos requeridos para obtener esta precisin. El valor de
x debe expresarse en radianes cumpliendo la siguiente restriccin:
se debe emplear la operacin de potencia.

Nota: no

15. Se cuenta con una serie de datos con las caractersticas fsicas de hombres y mujeres en el
siguiente formato:

Donde:

Se desea un diagrama de flujo y un programa que: Lea los datos. Produzca un reporte como el que
se presenta a continuacin:

MEDIO

Indica el nmero de personas que se tomaron en cuenta en el anlisis. Dentro de las personas de
sexo femenino, di a qu categora (con respecto a la edad) corresponde la mayora de las
encuestadas.

16. Una compaa que vende cigarros realiz una encuesta a varias personas. En dicha encuesta
se pregunta lo siguiente:
Si el encuestado fuma o no.
Si fuma, de qu marca fuma.
Si fuma, cuntas cajetillas fuma al da.
Los resultados de la encuesta estn almacenados de la siguiente forma:

Donde:

Se te pide que realices un diagrama de flujo y un programa que conteste lo siguiente:


Cuntos no fumadores fueron encuestados?
Cul es la marca que mayor nmero de fumadores tiene?
Cul es la marca que ms vende?
17. Dados los datos:
n, x1, x2, . . . , xn con n entera 1
Escribe un programa para calcular e imprimir:
la media de los datos:

m = (x1 + x2 + ...+ xn ) / n

la varianza de los datos: s = ( (x1 - m)2 + (x2 - m)2 + ...+(xn - m)2) / n


Intente factorizar las frmulas en caso de no poder resolverlo.
18. Ejercicios de ampliacin.

Programa que pida un nmero entero distinto de cero y en caso de ser positivo que muestre
por pantalla su cubo; y en caso de ser negativo que muestre su valor absoluto (Es decir el
nmero sin signo).
Introducir dos nmeros por teclado y que el programa informe si son iguales, y, en caso
contrario, cul es el mayor y cul el menor.
Crea un programa que muestre el nombre del mes que corresponda al nmero entero
introducido desde el teclado.
Visualizar la suma de los nmeros enteros comprendidos entre 0 y otro nmero mayor que
cero que se introduzca desde el teclado. Utiliza la instruccin while.
Programa que calcule la media de una serie de nmeros introducidos desde el teclado.
Antes de calcular la media se deber indicar la cantidad de nmeros que van a intervenir en
el clculo.
Programa que pida tres nmeros y los muestre ordenados de mayor a menor.
Programa que calcule el factorial de un nmero introducido desde el teclado. (El factorial de
un nmero es una operacin matemtica que consiste en el producto de los nmeros
comprendidos entre el nmero dado y los siguientes disminuyendo hasta 1. Por ejemplo, el
factorial de 5 que se indica 5!, es: 5!=5*4*3*2*1=120).
SNTESIS CREATIVA Y ARGUMENTATIVA

Exploracin web
Ingresa a la web del Instituto Tecnolgico y de Estudios superiores de Monterrey.
Encontraras un curso Bsico de Lenguaje C.
Da click en contenido y aborda todas las temticas del curso
Lee y analiza la informacin que traen
Saca una sntesis de los aspectos mas importantes

AUTOEVALUACIN

1.Cmo puede calcularse el valor decimal del nmero 30201?. El smbolo: ^ significa elevado a
a) 110^1 + 010^2 + 210^3 + 010^4 + 310^5
b) 110^0 + 010^1 + 210^2 + 010^3 + 310^4
c) 110^4 + 010^3 + 210^2 + 010^1 + 310^0
d) 310^0 + 010^1 + 210^2 + 010^3 + 110^4

2. Cmo puede calcularse el valor decimal del nmero 0x30FA1? El smbolo: ^ significa elevado a
a) 116^0 + 1016^1 + 1616^2 + 016^3 + 316^4
b) 110^0 + 1010^1 + 1610^2 + 010^3 + 310^4
c) 116^0 + 1016^1 + 1516^2 + 016^3 + 316^4
d) Eso no es un nmero
3. Cul de las siguientes constantes enteras no es correcta en C?
a) -54
b) -54u
c) -54L
d) 054ul
4. Cul de las siguientes constantes enteras es correcta en C?
a) 091
b) 86A2
c) 0x0
d) 9.8
5. Cul de las siguientes constantes reales es correcta en C?
a) 8,93e4
b) 7.3e5.2
c) E-9
d) -8E+2L

6. Cul de las siguientes constantes carcter es correcta en C?


a) '020'
b) '\'
c) '\20'
d) '"'
7. Qu cadena de C es correcta y contiene exactamente 15 caracteres?
a) "Hola, buen da!"
b) "15"
c) "\157\n\\\t\\xABC\r\"\abc"
d) "Hola, mundo!\"
8. Qu nombre de variable no es vlido en C?
a) i
b) ___Z
c) _Z_
d) 6j
9. Qu declaracin es vlida en C?
a) int i; j; k;
b) int i, j, k
c) short mes;
d) long short a;
10. Qu definicin de variable es vlida en C?
a) int i=j
b) int i = 9.2;
c) long double = 8.5;
d) short long a;

11. Cul de las lneas siguientes no es vlida en C?


a) int i=0,j=1,k;
b) int i = 0, /* hola */ j = 1, k ;
c) char k = 65; int i = 'A';
d) float i = 0; int i;
12. Declaraciones y asignaciones iniciales:
int m=4,n=7,=14;float a=32.76,b=29.55, c=34.5;char f=f,g=g,h=h;
Determinar el valor de: 2 * (( % 5) * (4 + (c - 2) / (b - 3)))
a) 52
b) 40
c) 45
d) 43
13. Declaraciones y asignaciones iniciales:
int m=4,n=7,=14;float a=32.76,b=29.55, c=34.5;char f=f,g=g,h=h;
Determinar el valor de: (3 * m + 2 * h) % (2 * n - m)
a) 0
b) -1
c) 3
d) 5
14. Declaraciones y asignaciones iniciales:
int m=4,n=7,=14;float a=32.76,b=29.55, c=34.5;char f=f,g=g,h=h;
Determinar el valor de: 2 * ((c / m) + (4 * (f - 3)) % (a + - 2)
a) 5
b) 69
c) 156
d) 16
15. Declaraciones y asignaciones iniciales:
int m=4,n=7,=14;float a=32.76,b=29.55, c=34.5;char f=f,g=g,h=h;
Determinar el valor de: g = (m * n) *
a) g = d g = 100
b) g = p g = 112

c) g = f g = 102
d) g = q g = 113
16. Declaraciones y asignaciones iniciales:
int m=4,n=7,=14;float a=32.76,b=29.55, c=34.5;char f=f,g=g,h=h;
Determinar el valor de: f +=
a) f = p f = 112
b) f = q f = 113
c) f = d f = 100
d) f = t f = 116
17. Declaraciones y asignaciones iniciales:
int m=4,n=7,=14;float a=32.76,b=29.55, c=34.5;char f=f,g=g,h=h;
Determinar el valor de: m >> 6
a) 1
b) 5
c) 3
d) 4
18. Declaraciones y asignaciones iniciales:
int m=4,n=7,=14;float a=32.76,b=29.55, c=34.5;char f=f,g=g,h=h;
Determinar el valor de: m + a * f
a) 1.36
b) 3654.23
c) 254.56
d) 3345.32
19. Declaraciones y asignaciones iniciales:
int m=4,n=7,=14;float a=32.76,b=29.55, c=34.5;char f=f,g=g,h=h;
Determinar el valor de: m++
a) 9
b) 13
c) 5
d) 1

20. Declaraciones y asignaciones iniciales:


int m=4,n=7,=14;float a=32.76,b=29.55, c=34.5;char f=f,g=g,h=h;
Determinar el valor de: -g
a) -097
b) -103
c) -116
d) -102
21. Declaraciones y asignaciones iniciales:
int m=4,n=7,=14;float a=32.76,b=29.55, c=34.5;char f=f,g=g,h=h;
Determinar el valor de: (g == g) ? m : n
a) m
b) n
c) g
d) f
22. Declaraciones y asignaciones iniciales:
int m=4,n=7,=14;float a=32.76,b=29.55, c=34.5;char f=f,g=g,h=h;
Determinar el valor de: float (m - 3 * n) / (a * b)
a) 0.0056
b) 0.2569
c) 0.4589
d) 0.0072
23. Declaraciones y asignaciones iniciales:
int m=4,n=7,=14;float a=32.76,b=29.55, c=34.5;char f=f,g=g,h=h;
Determinar el valor de: b = f + g * a
a) 3476.28
b) 6987.47
c) 3654.12
d) 7895.45
24. Sea la siguiente secuencia de asignaciones en un programa:
int x, y;
x = 7;
y = x;
x = 89;

a) El contenido de x es 7 y el de y es 89.
b) El contenido de x es 89 y el de y es 7.
c) El contenido de x es 89 y el de y es 89.
d) El contenido de x es 89 y el de y es el carcter x.
25. Si tenemos la siguiente secuencia de sentencias de un programa:
int x, y;
float a, b;
x = y;
a = 123.45; b = 123.45;
a) El contenido de a y b es el mismo, as como el de x e y, pero el contenido de estos ltimos
es indeterminado.
b) El contenido de a y b es distinto porque estn almacenados en variables distintas.
c) El contenido de a y b es 123.5 porque slo cabe un decimal en las variables enteras.
d) Ninguna de las anteriores.
26. Sea la siguiente secuencia de asignaciones:
int a, b, c;
a = 5; b = 7;
c = a + b; c = c + a; b = b + c + a;
Cules son los valores finales de a, b y c respectivamente?
a) 5, 7 y 29.
b) 5, 29 y 17.
c) 17, 7 y 17.
d) 5, 29 y 29.
27. Sea la siguiente secuencia de asignaciones:
int x, y;
x = 3; y = 4;
y += x++; y -= --x;
Cul son los valores finales de x e y respectivamente?
a) 2 y 4.
b) 3 y 3.
c) 3 y 4.
d) 4 y 4.

28. Seale la forma correcta de incluir el fichero de cabecera MATEM.H para que se puedan utilizar
sus funciones:
a) include matem.h;
b) include <matem.h>;
c) #include <matem.h>
d) #include <matem.h>;
29. Cul es el resultado de la siguiente expresin?
Resultado = x - abs(x) + sqrt (pow (x,2));
a) resultado vale lo que valga la variable x.
b) resultado vale 0.
c) resultado vale 1.
d) resultado tiene un valor indeterminado.
30. Si quiero obtener en la variable resultado el valor 16, cul sera la colocacin adecuada de los
parntesis?
a) resultado = (2 + 5) * 6 / (2 - (9 % 2));
b) resultado = 2 + (5 * 6) / (2 - 9 % 2);
c) resultado = (2 + 5 * 6) / 2 - (9 % 2);
d) resultado = 2 + 5 * 6 / 2 - 9 % 2;
31. La siguiente secuencia de sentencias:
int x = 13;
printf ("%d \t %x \t %o", x, x, x);
Qu resultado producira:
a) 13 15 D
b) 13 D

15

c) 13 d 13
d) 13 d 15
32. Si se quiere leer de la entrada de teclado un valor que represente el NIF de una persona y que
almacene el DNI en un long y la letra del NIF en un char, lo ms apropiado sera:
long DNI;

char letra;
a) scanf ("%d%s", &DNI, &letra);
b) scanf ("%ld%c", &DNI, &letra);
c) scanf ("%l%c" , &DNI, letra);
d) scanf ("%l%c" , &DNI, &letra);
33. Dado este fragmento, contestar: Cuntas veces se ejecutar el interior del bucle while externo?
a = 35;b = 42;
while (a != b){if (a < b){x = a; a = b; b = x;}
else {do a = (a - b); while (a > b);}}
a) 5
b) ninguna
c) 4
d) 1
34. Dado este fragmento, contestar: Qu valor tomarn las variables a, b y c al salir de la
estructura while?
a = 35;b = 42;
while (a != b){if (a < b){x = a; a = b; b = x;}
else {do a = (a - b); while (a > b);}}
a) a= 7, b = 7, c = 35
b) a = 7, b = 7, c= 7
c) a = 35, b = 42, c = 35
d) a= 42, b = 7, c = 7
35. Dado este fragmento, contestar:Qu valor tiene la variable x cuando se evala la condicin (a !
= b) por primera vez?
a = 35;b = 42;
while (a != b){if (a < b){x = a; a = b; b = x;}
else {do a = (a - b); while (a > b);}}
a) ninguno
b) 35
c) 42
d) 0

36. Dado este fragmento, contestar: Cuntas veces se ejecuta la rama THEN de la estructura
condicional y cuntas veces la rama ELSE?
a = 35;b = 42;
while (a != b){if (a < b){x = a; a = b; b = x;}
else {do a = (a - b); while (a > b);}}
a) THEN: 4; ELSE: 0
b) THEN: 2; ELSE: 6
c) THEN: 2; ELSE: 2
d) THEN: 3; ELSE: 2
37. Dado este fragmento, contestar: Cuntas veces se ejecuta la sentencia a = (a - b) en cada una
de las veces que el flujo de control llega a la estructura do while?
a = 35;b = 42;
while (a != b){if (a < b){x = a; a = b; b = x;}
else {do a = (a - b); while (a > b);}}
a) 0 y 4
b) 2 y 5
c) 1 y 5
d) 1 y 4
38. En la estructura DO-WHILE la condicin:
a) Se evala despus de la ejecucin del bloque de sentencias, y si resulta ser falsa se finaliza
la ejecucin del bucle
b) Se evala despus de la ejecucin del bloque de sentencias, y si resulta ser cierta se
finaliza la ejecucin del bucle
c) Se evala antes de la ejecucin del bloque de sentencias, y si resulta ser falsa se finaliza la
ejecucin del bucle
d) Se evala antes de la ejecucin del bloque de sentencias, y si resulta ser cierta se finaliza la
ejecucin del bucle
39. La sentencia BREAK:
a) Produce un salto al inicio de la estructura en la que se encuentra
b) Produce un salto a la sentencia que sigue a la estructura en la que se encuentra

c) Produce un salto al final del programa


d) Produce un salto a la sentencia que sigue a la estructura en la que se encuentra, siempre y
cuando se cumplan las condiciones de salida
40. Se quiere que el siguiente fragmento de programa imprima los 10 primeros mltiplos de 7.
Cmo habra que completar los espacios rellenos con XXX?
i XXX XXX;
while (i XXX 10) {iXXX;
printf ("\n %d", i*7);}
a) ==, 0, =, +1
b) =, 1, <, ++
c) ==, 1, =, -d) =, 0, <, ++
3.REPASO SIGNIFICATIVO
El editor de C es el mismo Compilador? El compilador en s mismo es un programa que
traduce nuestro cdigo fuente y lo convierte en un ejecutable. Para escribir nuestros programas
necesitamos un editor. La mayora de los compiladores al instalarse incorporan ya un editor. Tal
es el caso de los conocidos Turbo C, Borland C, Visual C++. Sin embargo, otros no lo traen por
defecto. No debemos confundir por tanto el editor con el compilador. Estos editores suelen
tener unas caractersticas que nos facilitan mucho el trabajo: permiten compilar y ejecutar el
programa directamente, depurarlo (corregir errores) y gestionar complejos proyectos.
Dnde conseguir el Compilador de C? Se pueden conseguir compiladores gratuitos.
Recomiendo usar Dev C++, DJGPP (MS-DOS, Windows) GNU C (LINUX)
El = es equivalente a == en lenguaje C? Hay que tener algo claro cuando se va a realizar una
asignacin se utiliza un solo =. Por ejemplo, s=a+b. Ah estamos asignando el resultado de la
suma de a+b a la variable s. Pero cuando se va realizar una comparacin o a preguntar si algo
es igual a otra cosa se utiliza doble igual.

El if, else, while, do while, deben llevar siempre llaves que abren y llaves que cierran? No,
si es solo una instruccin la que sigue. Por ejemplo:
While (a<4)
a++;
En el ejemplo, slo hay una instruccin que sigue al while y es a++. En ese caso no es
necesario; pero si lo que est dentro del while es ms de una instruccin todas las instrucciones
que estn dentro de l se encierran en llaves.
EJERCICIOS RESUELTOS
Ejercicio 1.

Busca los errores en el programa.

#include <stdio.h>
int main()
{
ClrScr();
gotoxy(10, 10)
printf(Estoy en la fila 10 columna 10);
return 0;
}
Solucin:

ClrScr est mal escrito, debe ponerse todo en minsculas. Recordemos una vez
ms que el C diferencia las maysculas de las minsculas. Adems no hemos
incluido la directiva #include<conio.h>, que necesitamos para usar clrscr() y
gotoxy().

Tampoco hemos puesto el punto y coma (;) despus del gotoxy( 10, 10 ). Despus
de cada instruccin debe ir un punto y coma.

El ltimo fallo es que el texto del printf no lo hemos puesto entre comillas. Lo
correcto sera: printf("Estoy en la fila 10 columna 10");

Ejercicio 2.

Escribe un programa que borre la pantalla y escriba en la primera lnea su nombre y en


la segunda su apellido:

Solucin:
#include <stdio.h>
#include <conio.h>
int main()

{
clrscr();
printf( "Gorka\n" );
printf( "Urrutia" );
return 0;
}
Tambin se poda haber hecho todo de golpe:
#include <stdio.h>
#include <conio.h>
int main()
{
clrscr();
printf( "Gorka\nUrrutia" );
return 0;
}

Ejercicio 3.

Escriba un programa que borre la pantalla y muestre el texto "estoy aqu" en la fila 10,
columna 20 de la pantalla:

Solucin:
#include <stdio.h>
#include <conio.h>
int main()
{
clrscr();
gotoxy( 20, 10 );
printf("Estoy aqui");
return 0;
}

PROCESO DE COMPRENSIN Y ANLISIS


1. Mencione y explique, las partes en las que se componen las funciones definidas por el usuario
en C.

2. Cul es la diferencia entre las funciones predefinidas en c y las funciones definidas por el
usuario?
3. En qu consiste el paso de parmetros?.
4. Cul es la diferencia entre parmetros formales y actuales?
5. En que se diferencias las variables locales a las globales.
SOLUCIN DE PROBLEMAS
1. Realice una pequea calculadora, utilizando funciones
2. Disee un programa que permita calcular la serie + 1/3 + + ... 1/n.
3. Se desea conocer el logaritmo natural y el logaritmo base 10 de una serie de nmeros. As como
la suma de dichos valores
4. Se desea conocer la permutacin de dos nmeros distintos. Usando funciones. Disee un
programa que resuelva dicho problema. (NOTA: 5P3=5!/(5-3)!)
5. Se desea conocer la equivalencia de dlares a colones (un dlar = 8.75 de coln), la equivalencia
de un kilogramos a libras (1kg=2.2lb) y la conversin de kilmetros a millas (1km=0.62millas).
Realice esta solucin mediante un men.
6. Calcule lo que debe pagar cada cliente en un almacn; si por cada compra el cliente tiene derecho
a sacar un papelito, y dependiendo del color, se efectan diferentes descuentos. Si el color es
blanco, se realiza un descuento del 2.63% sobre la cuenta, si es verde, un descuento de 4.85% y si
es rojo, un descuento de 5.02%. Se sabe adems que si es da lunes o viernes, el porcentaje de
descuento es el doble.
7. El seno de un ngulo, puede aproximarse, de la siguiente manera: sin(x) = x - x^3/3! + x^5/5! x^7/7! + ..., determine este valor, y usando la funcin sin(d), luego muestre la diferencia entre estos
valores.
8. En una empresa de electricidad, se cobrar las facturas correspondientes al consumo de kwh, de la
siguiente manera: los primeros 100 kwh, se cobran $2.5, lo siguientes 200 kwh, son a $5.00, los
300kwh, siguientes, son cobrados a razn de $7.5, los kwh siguientes se cobran a $7.00. Disee un
programa que permita determinar lo que debe pagar un grupo de clientes al final del mes.
9. En una empresa de repuestos de automvil, poseen 10 tipos de repuestos identificados con los
nmeros de 1 al 10. Durante la semana se realizan diferentes ventas de los repuestos. Se desea

saber la cantidad de repuestos que se deben comprar, para actualizar el inventario. El cual se realiza
cada cinco das, y se procede de la siguiente manera: cada da se contabilizan el total de facturas,
en las cuales se muestran la cantidad de artculos vendidos as como el total de la venta. Con esos
datos, indique al usuario cuantos y de que tipo, son los repuestos que se deben comprar as como la
ganancia.
10. Cree la funcin Factorial
11. Cree la funcin Potencia
12. Calcule la siguiente formula Seno( x )

15

( 1)
k 0

x 2 k 1
( 2 k 1)!

13. Escriba una funcin llamada bisuma que calcule la suma de dos variables num1 y num2 enteras
y regrese un resultado entero.
14. Escriba una funcin llamada media_de_3 que reciba como parmetro un dato entero y lo divida
entre 3. Suponga que el dato enviado a la funcin es el total de sumar 3 nmeros, por lo que el
resultado de esta funcin ser la media de los 3 datos.
15. Analice, disee y codifique un programa que lea tres valores enteros para las variables a, b, c,
que enseguida invoque a las funciones bisuma y media_de_3 de los ejercicios anteriores y que,
por ltimo, despliegue el valor promedio de los tres datos con un mensaje apropiado. Qu
cambios necesitara realizar a las funciones para obtener el promedio de ms de 3 datos?
16. Escriba una funcin llamada cuadrado que tenga un parmetro de entrada llamado longitud y
entregue como resultado el permetro del cuadrado cuyo lado sea la longitud especificada y su
rea. Todas las variables son reales.
17. Escriba una funcin llamada magnitud que tenga cuatro parmetros de entrada llamados x1, x2,
y1, y2 y que entregue como resultado la distancia entre dos puntos cuyas coordenadas son (x1,
y1) y (x2, y2) segn la siguiente frmula:
dist ( y 2 y1 ) 2 ( x 2 x1 ) 2
18. Un piso rectangular que mide 12 metros por 15 metros est cubierto parcialmente por tapetes
circulares. El radio de un tapete es un metro. El radio del otro es de dos metros. Analice, disee
y codifique un programa que encuentre el rea de la parte del piso que est descubierta.
El programa deber tener:

Una funcin que reciba como parmetro el radio de un crculo y que regrese el valor del rea
de ese crculo. Suponga que el radio y el rea son reales.

Una funcin con dos parmetros reales que calcule el rea de un rectngulo de base y
altura dadas.

19. Escriba una funcin llamada digfinal que tenga un parmetro de entrada llamado nmero y que
entregue como resultado el dgito de las unidades del nmero. Por ejemplo, si el nmero es
234, el resultado es 4.
20. Escribe una funcin que tome 3 parmetros: dos de tipo enteros y uno de tipo carcter. La
funcin deber sumar, restar, multiplicar o dividir los valores de los dos primeros parmetros
dependiendo del cdigo indicado en el tercer parmetro, y devolver el resultado.
21. Escribe una funcin que devuelva el (a) factorial, (b) n-simo nmero de Fibonacci, de su
argumento.
22. Escribe una funcin que diga si sus dos argumentos son mltiplo el uno del otro (no importa cul
de cul).
23. Euclides encontr que para dos nmeros enteros a y b cualesquiera:
mcd(a, b) = mcd(b, a)
mcd(0, b) = b
mcd(a, b) = mcd(a - b, b)
Escribe una funcin que devuelva el mximo comn divisor de sus dos argumentos:
a) mediante restas. Tngase aqu en cuenta que intercambiando los valores de a y de
b y que debe existir un valor de mcd, siempre se llegar mediante restas (el mayor
menos el menor) a un valor de la resta a b que dar cero, dejando as el valor b
como mcd. Los valores de a y b son resultados de restas anteriores que tienden
necesariamente a 0 y al mcd, respectivamente.
b) mediante divisin modular. Con esto se ahorran n = a DIV b restas, y se usa
directamente el resto de esas n restas, que es el mdulo a MOD b.
24. Escribe una funcin para calcular el mcd pero mediante la tcnica prctica de: comunes con el
menor exponente de sus descomposiciones factoriales. Por ejemplo: 24 = 2 3 3 y 9 = 32, de
modo que mcd(24, 9) = 3.
NOTA: Para descomponer el nmero n en sus factores primos, ir dividiendo (y contando cuntas
veces se puede dividir) por cada primo hasta la

n ).

25. Escriba una funcin que imprima los divisores y la suma de los divisores de todos los enteros
que se encuentran entre dos valores m y n dados por el usuario. Por ltimo la funcin debe

regresar cul fue el nmero cuya suma de divisores fue mayor. Por ejemplo, si m=100 y n=110,
entonces la salida ser:
i
Divisores
suma
100 1
2
4
5
10 20 25 50
100
217
...
110 1
2
5
10 11 22 55 110
216
26. Se dice que dos nmeros a y b son amigos si cada uno de ellos es la suma de los divisores del
otro. Por ejemplo, los ms pequeos son 220 y 284; comprobmoslo:
DivisoresDe(220) = (1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110)
SumaDivDe(220) = 284
DivisoresDe(284) = (1, 2, 4, 71, 142)
SumaDivDe(284) = 220
a. escriba una funcin que recibiendo dos nmeros devuelva si son amigos o no
b. escriba una funcin que tenga como entrada un nmero natural n y que escriba todas las
parejas de nmeros amigos que existan menores que n.
27. Analice, disee y codifique un programa que despliegue un men que ayude en la operacin de
la pizzera Domino Cicom. El programa debe contener dos funciones:

Pedido: solicita al usuario el tamao de la pizza que desea ordenar y el nmero de


ingredientes que debe contener, y

Calcula: determina el precio de la pizza y el tiempo de entrega del pedido realizado.

Las pizzas chicas (c) cuestan 70 pesos, las medianas (m) 90, las grandes (g) 110 y las
familiares (f) 130. Adems, cada ingrediente solicitado cuesta 10 pesos.
El tiempo de entrega de las pizzas es de 20 minutos, a menos que sea una pizza familiar o que
tenga ms de 3 ingredientes, en cuyo caso el tiempo de entrega es de 30 minutos.
28. Hacer un programa en Lenguaje C de forma modular que calcule los nmeros narcisistas del 1 al
10000, el programa deber generar una lista de aquellos nmeros que cumplan con el requisito de
ser narcisista.
Un nmero narcisista es un Nmero de n dgitos que resulta ser igual a la suma de las potencias de
orden n de sus dgitos.
Ejemplo: 1 = 11
153 = 1 + 5 + 3.
9474 = 94 + 44 + 74 + 44

El programa deber contener las siguientes funciones:


Una funcin que calcular el resultado del dgito elevado a dicha potencia.
Una funcin donde se desglosar el nmero en cifras y calcular por medio de sumas de potencias
el nmero narcisista.
29. Determine la cantidad mnima de billetes y muestre la forma de pagar una cuenta (considere la
cuenta en mltiplos de $ 10.000 nicamente), sabiendo que las denominaciones disponibles de
los billetes son $10.000, $ 20.000 y $ 50.000.

Nota 1: Debe validar que el valor de la entrada (cuenta) sea mltiplo de 10.000 por medio de
una funcin que tiene como parmetro el valor de la cuenta y devuelve 1 si es mltiplo de
10.000 0 si no lo es .

Nota 2: Debe implementar una funcin que tiene como parmetros el valor de la cuenta y la
denominacin del billete y que devuelve el nmero de billetes de esa denominacin que se
utilizarn para pagar la cuenta.

30. Hacer una funcin en C que permitan calcular la suma de los divisores pares de un nmero
entero positivo dado y otra funcin que permita calcular la suma de los divisores impares de un
nmero entero positivo dado.
En el main del programa capturar un nmero entero positivo y hallar el cociente entre la suma de
los divisores pares sobre la suma de sus divisores impares.
Suma de divisores pares/Suma de divisores impares
31. Cree un programa en C modular que: descomponga un nmero N de 6 dgitos en parejas y
calcule la siguiente frmula:

x ! z y
R
( x z )!
N = 230411

Donde x, y, z se encuentran en el nmero N Ej:

al descomponer el nmero

x=23 y=04 z=11

Cree las siguientes Funciones:

Funcin verificar que recibe el nmero N y determina si el nmero es de 6


dgitos, Si es de 6 dgitos debe retornar un 1 pero si no debe retornar un 0.

Funcin Calcular que recibe el nmero N y lo descompone para calcular


el resultado de la formula

Funcin Potencia

Funcin Factorial

32. Realizar las siguientes funciones:

Una funcin denominada calcular_sumatoria_divisores que reciba un valor n y devuelva la


sumatoria de los divisores propios del valor n.

Una funcin denominada valorar que reciba dos valores (el valor n y la sumatoria de los
divisores propios de dicho nmero) y devuelva :
0

si es perfecto

si es abundante

si es deficiente

El programa principal (main) debe calcular entre X y Y ledos por teclado, cuantos nmeros son
deficiente, abundantes y perfectos. Para realizar estos procesos debe utilizar las funciones
anteriores definidas en el presente enunciado.
Nmero perfecto es cuando la suma de sus divisores propios es igual al nmero ejemplo el 6 sus
divisores son 1+2+3 = 6
Nmero deficiente cuando la suma de sus divisores es menor al nmero ejemplo 4
Divisores 1+2 =3
Nmero abundante cuando la suma de sus divisores es mayor al nmero ejemplo 12
Divisores 1+2+3+4+6 =16
SNTESIS CREATIVA Y ARGUMENTATIVA
En este espacio el sitio web de EL RINCON DEL C, en el cual encontrars conceptos tratados
en la presente unidad, que seguramente te permitirn ampliar los conocimientos que haz
adquirido a lo largo de la misma.
Ingresa al sitio de EL RINCON DEL C
En la pgina principal encontraras el contenido y debajo de ste el vnculo Curso de C de
Gorka Urrutia. Haz click sobre el vnculo.
Se carga una nueva ventana y en ella localiza el enlace Ver el Curso y dale click.
Se carga el contenido del curso. Ubica el numeral 8 y haz click sobre la palabra funciones.
Lee y analiza los ejemplos.

Saca un resumen del documento.


AUTOEVALUACIN
1. Al conseguir una descomposicin modular con alta cohesin y bajo acoplamiento, en el
programa resultante:
a) Existirn mdulos pequeos y sencillos.
b) Se minimizarn los efectos laterales.
c) Se permite reutilizar el cdigo en otros programas.
d) El programa ser ms eficiente.
2. El concepto de "refinamiento sucesivo" significa:
a) Definir funciones para que el programa sea ms fcil de entender.
b) Utilizar estructuras de control simples.
c) Descomponer un problema complejo en "fragmentos" ms pequeos y simples.
d) Maximizar la cohesin.
3. La funcin main():
a) No admite parmetros de entrada.
b) No puede contener una sentencia return.
c) No puede devolver ningn valor.
d) No admite variables locales en su interior.
4. Cul es la diferencia entre el paso de variables por valor y por referencia?
a) Al pasar una variable por valor, su contenido no puede ser modificado durante la ejecucin
de la funcin.
b) Todas las variables se pasan por valor excepto los arrays.
c) Al pasar una variable por referencia a una funcin, los cambios realizados en su contenido
durante la ejecucin de la funcin permanecen despus de finalizar sta.
d) Pasar una variable por valor es lo mismo de declararla const.

5. Por qu es preferible definir los prototipos de las funciones en un fichero separado del
programa?
a) Es obligatorio.
b) Es una prctica aconsejada por la Programacin Estructurada.
c) Permite reutilizar fcilmente la funcin en ms de un programa.
d) Facilita conseguir un diseo modular.
6. Los componentes de una funcin recursiva son:
a) Cabecera y cuerpo.
b) Caso base y paso recursivo.
c) Cdigo y una llamada de la funcin a s misma.
d) Datos de entrada y una sentencia return.
7. Una variable local:
a) Existe a lo largo de la ejecucin de todo el programa.
b) Existe durante la ejecucin de la funcin en la que fue definida.
c) Conserva su valor entre sucesivas llamadas a la funcin en la que fue definida.
d) Debe definirse fuera de cualquier funcin.
8. Por qu razn los registros acostumbran a pasarse a las funciones por referencia?
a) Porque no se permite, para este tipo, el paso por valor.
b) Porque es ms rpido, debido a que los registros acostumbran a ser de gran tamao.
c) Porque en una funcin es ms fcil de utilizar un puntero al registro que el propio registro.
d) Los registros no pueden pasarse por referencia a las funciones.
9. Si una funcin est declarada como:
int * funcion(char parametro)
Cul de las siguientes afirmaciones es falsa?
a) La funcin devuelve como resultado un puntero a entero.
b) La funcin recibe como argumento un carcter.
c) La funcin devuelve como resultado un array de enteros.

d) La funcin recibe como argumento un array de caracteres.


10. La palabra clave extern sirve para:
a) Acceder a una variable global definida en otro fichero del programa.
b) Indicar que la variable debe pasarse nicamente por valor a las funciones.
c) Indicar que una variable no puede ser modificada en ningn punto del programa.
d) Definir una variable como local.
5. REPASO SIGNIFICATIVO
Cmo debe ser el nombre de una funcin? Para el nombre no se pueden usar ms que letras,
nmeros y el smbolo _. No se pueden usar ni acentos ni espacios. Adems, el nombre de la
funcin debe empezar por una letra y no en nmero. El nombre de la funcin se usa para
llamarla dentro del programa.
Cuando una funcin se ejecuta y termina. Debe devolver un valor? Puede devolver o no
devolver. Cuando devuelve, este valor puede ser cualquiera de los tipos de variables que
hemos visto (int, char, float, double). El valor que devuelve la funcin suele ser el resultado de
las operaciones que se realizan en la funcin, o indica si han tenido xito o no. Tambin
podemos usar el tipo void. Este se utiliza cuando una funcin no devuelve o no retorna ningn
valor.
Para qu se usa el return? Antes hemos indicado que la funcin devuelve un valor. La sentencia
return se usa para esto. El dato que se pone despus de return es el dato que se devuelve. Puede
ser una constante o una variable. Debe ser del mismo tipo que tipo_de_variable.

Você também pode gostar