10.22.2012

EVALUACION

PARA EL EXAMEN FINAL DE PROGRAMACIÓN II, DEBERÁN RESOLVER LOS SIGUIENTES ENUNCIADOS:

1. Realice un programa que pida los siguientes datos para un total de 10 personas:
  • El sexo (M,F)
  • Edad 
y con ellos calcule:
  • Total personas de sexo masculino y femenino
  • Edad Promedio de las Personas de sexo femenino
  • Edad Promedio de las personas de sexo masculino
2. El profesor de una materia desea conocer la cantidad de sus alumnos que no tienen derecho al examen final. Diseñe un programa que lea las calificaciones obtenidas en las 5 unidades por cada uno de los 10 alumnos y escriba la cantidad de ellos que no tienen derecho al examen final

ejecutables de los ejercicios los puedes descargar de la carpeta examen

EXAMEN

10.13.2012

EJEMPLOS Y EJERCICIOS

Determinar si un numero de tres cifras en capicua o no

#include<stdio.h>
#include<conio.h>
void main ()
{
  int cent,dec,unid;
  clrscr();
  printf("Introduzca el numero segun su sistema numerico decimal\n");
  printf("Centenas:");
  scanf("%d",&cent);
  printf("Decenas:");
  scanf("%d",&dec);
  printf("Unidades:");
  scanf("%d",&unid);
  if (cent==unid)
     printf("%d%d%d Es un Numero Capicua",cent,dec,unid);
  else
    printf("%d%d%d No es un Numero Capicua",cent,dec,unid);
}


10.12.2012

SENTENCIA FOR (ESTRUCTURAS REPETITIVAS)

La estructura for, es una estructura de ciclo en donde el control de la repetición está definido precisamente sobre una variable contador. El ciclo for nos permite encapsular en una sola instrucción todo el código de la variable contador.

El código de la estructura for tiene la siguiente forma...

for (inicializar; condición; actualizar)
{
    código del for;
}


En donde...

Inicializar: consiste en la definición de la variable y la asignación de su valor inicial.

Condiciónes: la expresión de comparación que determina el último valor que la variable contador debe tomar.

Actualizar: es una expresión en donde se indica la manera de cómo la variable contador debe actualizarse al terminar de ejecutarse el código del ciclo.

Por ejemplo, la estructura for definida para que la variable i tome los valores 1,2,3, ...,n es la siguiente:

for (int i = 1; i<=n; i++)
{
   código;
}

en donde ...

a) int i=1 es la declaración y asignación del valor inicial.

b) i<=n es la expresión de la condición.

c) i++ es la expresión que actualiza a la variable i.


Cuando se ejecuta la estructura for, primero se evalúa la expresión correspondiente a la declaración y asignación del valor inicial de la variable, posteriormente se ejecuta la expresión de la condición, si el resultado es verdadero (true) entonces se ejecutan las instrucciones del código del for. Al terminar de evaluar el código, ejecuta la instrucción de actualización de la variable del ciclo y regresa a evaluar la expresión de la condición, si es verdadera evalúa el código y así sucesivamente..

¿Hasta cuándo? Hasta que la condición resulte falsa.


Ejemplo:

for(int i=1; i<=5; i=i+1)
{
    x = x * 10;
}

En este ejemplo se declara la variable i con un valor inicial de 1. El ciclo se repetirá mientras el valor de i sea menor o igual a 5, ejecutando el código x=x*10 en cada ocasión. Al final de cada pasada del ciclo, la variable i se incrementa en 1. 

NOTA IMPORTANTE: Cuando el código de una estructura for es sólo una instrucción, el código puede o no llevar llaves, por ejemplo...

for (int i=1; i<=5; i=i+1)
{
   x = x * 10;
}

es exactamente lo mismo que..

for (int i=1; i<=5; i=i+1)
     x = x * 10;

NOTA IMPORTANTE: Se dice que la variable definida en el for es local en el ciclo, esto quiere decir que SÓLO puede utilizarse dentro del código del ciclo. Por lo que el siguiente fragmento de código sería un error, ya que se hace referencia a la variable i fuera de la estructura del ciclo:

for (int i=1; i<=5; i=i+1)
{
    x = x * 10;
}
y = i * 10; // ERROR pues i no
// existe fuera del for.

Ejercicios:
A partir de las siguientes definiciones escribe el valor final de las variables...


a)

int a;
a = 0;
for (int i = 1; i<=4; i++)
a=a+i;

b)

int x;
x = 0;
for (int k=0; k<=10; k=k+2)
x = x + k;

9.21.2012

EJERCICIOS SENTENCIAS IF/ELSE

La clase planificada para el día viernes a las 12 del medio día se cambia para la una de al tarde debido que estaré en una capacitación ese día y saldré tarde, agradeciendo su comprensión por favor hacer llegar la comunicación a los demás.

Dificultad: Super Básico
Nombre: La fiesta.
Descripción: Desarrolla un programa que informe al usuario si puede ir a la fiesta, esto dependerá de su calificación de matemáticas del bimestre.
CASO A Entrada: Cuanto sacaste en Matemáticas? 80
Salida: Si puedes ir a la fiesta Gracias.
CASO B Entrada: Cuanto sacaste en Matemáticas? 59
Salida: Gracias.  

#include<stdio.h>
#include<conio.h>
void main ()
{
 int nota;
 clrscr();
 printf("Cuanto sacastes en matematica");
 scanf("%d",&nota);
 if (nota==80)
  printf("Si puedes ir a la fiesta");
 else
  printf("gracias");
 getch();
 }

has el caso B

1. Escriba una sentencia if-else que muestre en pantalla la palabra Alto si el valor de la variable puntuación es mayor que 100, y que muestre la palabra Bajo si el valor de la variable puntuación es menor o igual que 100. La variable puntuación es de tipo int.

2. Escriba una sentencia if-else que muestre en pantalla la palabra Aprobado  si el valor de la variable examen (variable de tipo double) es mayor o igual a 70 y el valor de la variable programas_entregados es mayor o igual a 8; en caso contrario, el programa muestra en pantalla la palabra Reprobado.

3. Suponga que se tienen dos variables de tipo double llamadas ahorro y gasto. Escriba una sentencia if-else que, si el valor de ahorro es mayor al valor de gasto, entonces muestre en pantalla la palabra Solvente, disminuya el valor de la variable ahorro mediante la resta del valor de gasto a su valor original, y asigne a la variable gasto el valor de cero. En caso contrario (si gasto es mayor que ahorro), simplemente debe mostrarse en pantalla la palabra Quiebra.

4. Considere dos variables de tipo int llamadas temperatura y presión. Escriba  una sentencia if-else que muestre en pantalla la palabra Alarma si la variable presión es mayor a 200 o si la variable temperatura es mayor a 100. En caso contrario, se debe mostrar en pantalla la palabra Normal.



9.20.2012

ESTRUCTURAS DE SELECCION

La Estructura de Selección if

La sentencia if se le conoce como estructura de selección simple y su función es realizar o no una determinada acción o sentencia, basándose en el resultado de la evaluación de una expresión (verdadero o falso), en caso de ser verdadero se ejecuta la sentencia.
conds
Fig. 1
La estructura de selección if (que se muestra en la figura 1) trabaja de la siguiente manera: si la evaluación de la expresión o expresiones es verdadera ( 1 ) entonces se ejecuta la sentencia a la cual se refiere la estructura de control if.
Si fueran varias sentencias a las que se refiere la estructura if (como se muestra en la figura 2) se tiene que encerrar todas las sentencias entre llaves ( { } ) y si la evaluación de la expresión es correcta entonces se ejecuta todas las sentencias contenidas entre las llaves.

conds
Fig. 2

Si la evaluación de la expresión o expresiones resultaría falsa (0), entonces no se ejecuta las sentencias.
Por ejemplo si dada la edad de una persona quiero dar un mensaje de que es o no mayor de edad, suponiendo que una persona mayor de edad tiene por lo menos 21 años, el procedimiento será el siguiente.
#include <stdio.h>
#include<conio.h>
 void main()
{int edad;
printf("¿Qué edad tienes? ");
scanf("%d",&edad);
if ( edad > 20 )
    printf("Eres mayor de edad") ;
getch();
}

Tambien se puede unir condiciones utilizando los operadores logicos and, or y not, por ejemplo si se desea saber si 2 condiciones si han cumplido es necesario tener un formato como:
If ( matematicas >=60 and quimica>=80 )
{
     printf( "pasaste ambas materias, felicidades);
}
Nota: solo si tu calificacion de matematicas es igual o mayor a 60 y la de quimica es igual o mayor a 80 se desplegara el mensaje de "pasaste...."
Los principales simbolos de comparacion son:

< menor a
> mayor a
!= no igual a
== igual a
>= mayor o igual a
<= menor o igual a

Estructura de Selección if / else

La estructura if / else lo que hace es ejecutar una acción si el resultado de la evaluación de la expresión es verdadera y otra acción si el resultado de la evaluación es falsa.

La diferencia con utilizar sólo la estructura if es que si la expresión evaluada es verdadera sólo en ese caso se ejecuta una acción de otro modo se pasa de largo. En cambio en la estructura if / else si la expresión es falsa entonces se ejecuta otra acción.
conds
Fig. 3
En síntesis lo que hace esta estructura es realizar una acción si la expresión es verdadera y otra si es falsa.

       Aquí tenemos un ejemplo para ilustrar la estructura if / else.
#include <stdio.h>
#include <conio.h>
 void main()
{
 if ( edad > 20 )
     printf("Eres mayor de edad") ;
else
    printf("No eres mayor de edad");
}

Estructuras Condicionales Anidadas

Existe el caso de estructuras if, if/else anidadas, que no es más que una estructura if o if/else dentro de otra.

Por ejemplo se desea conocer cuál es el mayor de tres números A, B ,C.

1: #include <stdio.h>
2:             void main()
3: {
4: int A=0, B=0, C=0;
5:     printf("Ingrese 3 números");
6:             scanf("%d,%d,%d",&A,&,&C); //Lectura de valores por teclado
7: if ( A > B )
8: { if (A > C )
9:       printf("A es el número mayor");
10: else
11:    printf("C es el número mayor");
12: }
13: else
14: { if ( B > C )
15:      printf("B es el número mayor");
16: else
17:     printf("C es el número mayor");
18: }
19: }
Para explicar el funcionamiento del problema anterior se han enumerado todas las líneas de tal programa.

       Suponiendo que los valores ingresados por teclado fueran: A=2, B=1, C=5. El programa actuaría de la siguiente manera.

       El programa se ejecuta secuencialmente hasta la línea 7 donde encuentra una expresión. Cuando se evalúe la expresión (A > B) línea 7, el resultado es verdadero (2 > 1), por lo tanto el programa ejecuta la línea 8, en dicha línea encuentra otra expresión (A > C) y el resultado de evaluar dicha expresión es falso (2 > 5) por lo que el programa salta hasta la línea 11 y muestra "C es el número mayor". Luego va a la línea 12 y verifica el cierre de llaves y finalmente salta hasta la línea 19 siendo la última línea de ejecución.

8.22.2012

EJERCICIOS PROPUESTOS

Para los estudiantes del curso de Programación II (C++), les comunico que el examen será el día viernes 7 de septiembre, lo haré en grupos que no excedan los tres estudiantes, deberán inscribirse en el siguiente recuadro para tener los nombres de cada uno de los grupos, los ejercicios a realizar son: 3, 4, 5, 6.


1. El dueño de una tienda compra un articulo a un precio determinado. obtener el precio en que lo debe vender para obtener una ganancia del 30%.

2. Un millonario excéntrico tenía tres hijos: Carlos, José y Marta. Al morir dejo el siguiente legado: A jose le dejo 4/3 de lo que le dejó a Carlos. A carlos le dejo 1/3 de su fortuna. A marta la mitad de lo que le dejo a José. Preparar un programa para darle la suma a repartir e imprima cuanto le tocó a cada uno.

3. Escribir un programa que permita ingresar una medida en metros, y que convierta e informe dicha medida expresada en centímetros, pulgadas, pies y millas. Los factores de conversión son los siguientes:
      • 1 pulgada = 2.54 centímetros
      • 1 pies = 0.189 millas
      • 1 metro = 39.37 pulgadas
      • 1 pulgada = 0.0833 pies

4. Escribir un programa que permita ingresar un valor para X y los coeficientes A,B y C  del polinomio P(X)=AX^2+BX+C; e informe el valor del polinomio.

5. Un Alumno desea saber cual será su promedio general en las tres materias más difíciles que cursa y cual será el promedio que obtendrá en cada una de ellas.
Estas materias se evalúan como se muestra a continuación:
La calificación de Matemática se obtiene de la siguiente manera:
Examen 90%
Promedio de tareas 10%
En esta materia se pidió un total de tres tareas.
La calificación de Física se obtiene de la siguiente manera:
Examen 80%
Promedio de tareas 20%
En esta materia se pidió un total de dos tareas.
La calificación de química se obtiene de la siguiente manera:
Examen 85%
Promedio de tareas 15%
En esta tarea se pidió un promedio de tres tareas.

6. Tres personas deciden invertir su dinero para fundar una empresa. Cada una de ellas invierte una cantidad distinta. Obtener el porcentaje que cada quien invierte con respecto a la cantidad total invertida. 

8.21.2012

FUNCIONES MATEMÁTICA EN C++

Funciones matemáticas comunes
Las siguientes funciones matemáticas son heredadas de C y provistas por el estándar C++. La mayoría de ellas se encuentra disponible por medio de la cabecera <cmath>.
Funciones
Operaciones Básicas
Función
Propósito
abs, labs, llabs
Recupera el eswiki: valor absoluto de un valor integral. Función sobrecargada.
abs, fabs
Recupera el valor absoluto de un valor en punto flotante. Función sobrecargada.
div, ldiv
Recupera el cuociente y resto de una división. Función sobrecargada.
fmod
Recupera el resto de una división en punto flotante.
remainder
Recupera el resto con signo de una división. Disponible en C++11.
remquo
This section is incomplete
(C++11 feature)
fma
Producto-suma (C++11 feature)
fmax
fmin
Determina el mayor o menor de dos valores en punto flotante (C++11 feature)
fdim
Determina la diferencia absoluta entre dos valores en punto flotante (C++11 feature)
nan
nanf
nanl
Determina "not-a-number" (NaN) (C++11 feature)
Funciones Exponenciales
Función
Propósito
exp
Calcula e elevado a la potencia dada.
exp2
Calcula 2 elevado a la potencia dada.
expm1
Calcula e elevado a la potencia dada, menos uno. (C++11 feature)
log
Calcula el logaritmo natural (base e).
log10
Calcula el logaritmo común (base 10).
log1p
Calcula el logaritmo natural de 1+n. (C++11 feature)
ilogb
Extrae la potencia binaria del número. (C++11 feature)
logb
Extrae la potencia binaria del número. (C++11 feature)
Funciones potencias
Función
Propósito
sqrt
Calcula la raíz cuadrada.
cbrt
Calcula la raíz cúbica.
hypot
Calcula la raíz cuadrada de la suma de los cuadrados (hipotenusa de los dos catetos). (C++11 feature)
Calcula un número elevado a la potencia del otro.
Funciones trigonométrica
Función
Propósito
sin
seno
cos
coseno
tan
tangente
asin
arcoseno
acos
arcocoseno
atan
arcotangente
atan2
arcotangente de dos argumentos, usando el signo para determinar el cuadrante
Funciones hiperbólica
Función
Propósito
sinh
seno hiperbólico
cosh
coseno hiperbólico
tanh
tangente hiperbólica
asinh
arcoseno hiperbólico (C++11 feature)
acosh
arcocoseno hiperbólico (C++11 feature)
atanh
arcotangente hiperbólica (C++11 feature)

#include<stdio.h>
#include<conio.h>
#include<math.h>
#define Pi 3.1416
void main ()
{
  float numero,seno,coseno,tangente;
  clrscr();
  numero=2*Pi;
  seno=sin(numero);
  coseno=cos(numero);
  tangente=tan(numero);
  printf("Los valores son:\nSeno:%f\nCoseno:%f\nTangente:%f",seno,coseno,tangente);
  getch();
}



EJEMPLOS

  1. Un vendedor recibe un sueldo base mas un 10% extra por comisión de sus ventas, el vendedor desea saber cuanto dinero obtendrá por concepto de comisiones por las tres ventas que realiza en el mes y el total que recibirá en el mes tomando en cuenta su sueldo base y comisiones
Lo primero que debemos saber es cuantas variables son las que vamos a utilizar y de que tipo de datos vamos a tratar, como estamos hablando de tres ventas nombraremos tres variables: v1, v2, v3 todas de tipo fotante, el salario base, la comisión, el total a pagar y una variable que me almacene el total de las ventas llamada tot_vta como las demás variables son de tipo float por consiguiente el valor a almacenar también será del mismo, también debemos definir los espacio decimales con los trabajaremos en esta caso sera dos para definirlo debes escribir %.2f donde .2 es el numero de decimales y la f corresponde al tipo de dato (float), a continuación la solución del ejercicio:

#include<stdio.h>
#include<conio.h>
#define porc 0.10 /*definimos como global a esta variable*/
void main ()
{
float sb,com,v1,v2,v3,tot_vta, tpag;
clrscr;
printf("Su salario base es:");
scanf("%f",&sb);
 printf("Introduzca las tres Ventas\n"); /*aquí utilizamos el \n para dar un salto de linea*/
scanf("%f",&v1); /*introducimos las tres ventas*/
scanf("%f",&v2);
scanf("%f",&v3);
tot_vta=v1+v2+v3; /*calculamos el total de las ventas*/
com=tot_vta*porc; /*calculamos la comision*/
tpag=sb+com; /*el total a pagar seria de*/
printf("El total a pagar es:C$%.2f",tpag);
}

2. Un alumno desea saber cual será su calificación final en la materia de algoritmos. Dicha calificación se compone de los siguientes porcentajes:

55% del promedio de sus tres calificaciones parciales
30% de la calificación del examen final 
15% de la calificación de un trabajo final

de igual manera que en el ejercicio anterior lo primero es saber cuantas variables vamos a ocupar y los tipos de datos que vamos a  tomar en cuenta en este ejercicio.
  • Necesitamos variables que almacenen las tres calificaciones: c1 c2 c3 (tipo int)
  • Una para el examen final: ef (tipo int)
  • Otra variable para el trabajo final: tf (tipo int)
  • Una variable para el promedio de las calificaciones: prom (tipo float)
  • Una variable para el porcentaje del parcial: ppar (tipo float)
  • Una variable para el porcentaje del examen final: pef (tipo float)
  • Una variable para el porcentaje del trabajo final: ptf (tipo float)
  • Una variable para la calificación final: cf (tipo float)
#include<stdio.h>
#include<conio.h>
void main ()
{
int c1,c2,c3,ef,tf;
float prom,ppar,pef,ptf,cf;
clrscr();
printf("Primer calificacion:");
scanf("%d",&c1);
printf("Segunda calificacion:");
scanf("%d",&c2);
printf("Tercera calificacion:");
scanf("%d",&c3);
printf("Introduzca la nota del examen final:");
scanf("%d",&ef);
printf("Introduzca la nota del trabajo:");
scanf("%d",&tf);
prom=(c1+c2+c3)/3;
ppar=prom*0.55;
pef=ef*0.30;
ptf=tf*0.15;
cf=ppar+pef+ptf;
clrscr();
printf("La calificacion Final del alumno es:%.2f",cf);
}



8.18.2012

NOTAS PROGRAMACION II

UNIVERSIDAD DEL NORTE DE NICARAGUA
(UNN) SEDE SOMOTO
ACTA DE CALIFICACIONES: ORDINARIA
FACULTAD: INFORMATICA
CARRERA: INGENIERIA EN SISTEMAS DE COMPUTACIÓN
         MODALIDAD: SABATINO – PLAN 2012

AÑO LECTIVO: 2012                     SEMESTRE: II                       TRIMESTRE: III
DOCENTES: ING. JUAN CARLOS TINOCO PANIAGUA
CÁTEDRA: PROGRAMACIÓN II 

APELLIDOS Y NOMBRES
I PARCIAL
II PARCIAL
NOTA FINAL
01
CASTELLON RAMOS LETICIA ELENA
70
70
 70
02
ESPINOZA GUILLEN MAKDIEL MEZAAB
90
98
 94
03
ESPINOZA UMANZOR LUIS ENRIQUE
70
70
 70
04
GARCIA HERNANDEZ ISOLDA KARELIA
70
70
 70

05
JIMENEZ VALLADAREZ DELVYS MAYERLING
70
70
70
06
LOPEZ ISAGUIRREZ GRWYVIN LUIS
70
70
70
07
MEJIA MARIN HENRY ADALID
70
70
70

08
OLIVAS GRADIZ JENNIFER TOMASA
70
70
70

09
SANCHEZ GONZALEZ FRANKLIN ANTONIO
70
70
  70

10
WILLIAMS CENTENO JHON ALEJANDRO
70
70
70

ULTIMA LINEA
……..
……..
……..