domingo, 8 de noviembre de 2009

Notas Y Media (Punteros Y Función)

#include (iostream)
using namespace std;
// En main se introducen 3 notas, en la función calcula media y nota final

void calcula(float nota1, float nota2, float nota3, float *puntero, double *notafinal)

{
cout << "\n\n El valor apuntado a media aqui vale " <<(*puntero)<< (endl);

// asignación valor adecuado
*puntero = (nota1 + nota2 + nota3 )/3;
*notafinal = nota1*0.60 + nota2*0.30 + nota3*0.10;
}

void main()
{
float nota1=0,nota2=0,nota3=0,notamedia =0;
double final =0;
float *media = ¬amedia; //inicialización puntero
double *notafinal = &final;

*media=555;
*notafinal=0;
// empleo de '*' como valor de variable apuntada.

cout<< " Introduce nota1 ";
cin>> (nota1);

cout<< "\n Introduce nota2 ";
cin>> (nota2);

cout<< "\n Introduce nota3 ";
cin>> (nota3);

calcula(nota1,nota2,nota3,media,notafinal);

// media = dirección memoria
// otra forma: calcula(nota1,nota2,nota3,&notamedia,&notafinal);

cout<< "\n\n La media es " << (*media) <<(endl);
cout<< "\n La nota final es "<< (*notafinal)<< (endl);

cout<< (endl)<<(endl);
}

Nota: Iostream , cin y cout.

Punteros 3

#include (iostream)
using namespace std;

void main()
{
char cadena1[]="Pongamos que me llamo Ismael";
char cadena2[]="mirad toda esa gente";

char *pcadena ="Sin nada mejor que hacer en tierra";
// podemos apuntar *pcadena a otras frases durante el programa

cout <<"\n El valor de pcadena es : "<< (pcadena);
cout << "\n\n El valor al que apunta pcadena es : "<<(*pcadena);

cout << (endl) << (endl);

//Movemos puntero
pcadena = cadena2;

cout <<"\n\n Ahora pcadena es la direccion de memoria : " <<
(pcadena)<<(endl) ;
cout <<"\n *pcadena apunta a valor : " << (*pcadena)<<(endl) ;
cout <<(endl);
}

Nota: Iostream, cin y cout.

Punteros 2

#include (iostream)
using namespace std;
void main()
{
int nVector[10]={6,7,8,9,10,11,12,13,14,15};
int *pLista = nVector; // otra forma de verlo *pLista=& nVector[0]
// declara un puntero a dirección memoria inicial de nVector

cout << "\n Direccion memoria de la variable nVector = "<< (&nVector)<<"\n El valor de pLista es "<< (pLista);

cout << "\n\n El valor al que apunta pLista es "<< (*pLista);
cout << (endl) << (endl);

*pLista++;

cout <<"\n\n Ahora pLista es la direccion =" << (pLista)<<(endl) ;
cout <<"\n Ahora *pLista apunta al valor =" << (*pLista)<<(endl) ;

cout <<(endl);
}

Nota: Iostream, cin y cout.

Punteros 1

#include (iostream)
using namespace std;
void main()
{
int nVar1=100;
int *punt = & nVar1; // declara un puntero a dirección memoria deVar1// Mostrar que puntero apunta a nVar1

cout << "\n Direccion de memoria de la variable nVar1 = "<< (&nVar1)<<"\n El valor de punt es "<< (punt);
cout << "\n\n El valor de nVar1 es "<< (nVar1)<< "\n El valor de *punt es "<< (*punt);
cout << (endl) << (endl);// Obtener valor de nVar1 mediante el puntero

int nPrueba = *punt;// Cambiar el valor nVar1 mediante el puntero
*punt = 777;
punt+=1;//Mostrar valores
int nVar2=888;
punt=&nVar2;

cout << "\n nPrueba = " << (nPrueba) << (endl);
cout <<"\n La variable nVar1 , ahora vale =" << (nVar1)<<(endl) ;
cout <<(endl)<<(endl);
cout <<"\n punt es la direccion de memoria =" << (punt)<<(endl) ;
cout <<"\n *punt tiene como valor =" << (*punt)<<(endl) ;
}

Nota: Arreglar iostream y eliminar todos los () de los cin y cout.

Tabla De Multiplicar Con Función

Realizar programa, con al menos una función, donde el usuario elige la tabla de multiplicar que quiere ver y el ordenador la saca por pantalla.

#include (iostream)
using namespace std;
void mult(int num);

void main()
{
int num;

cout<<"Introduce el numero "<<(endl);
cin>>(num);
mult(num);

}
void mult(int num)
{
int i;
for (i=0;i<=10;i++)

cout<<(num)<<" * "<<(i)<<" = "<<((num * i))<<(endl);
}

Nota: Sustituir () de iostream por <> y eliminar () de num, i, num * i, endl.

Calculo Nota Media De X Asignaturas De N Alumnos (Con Función)

Realizar programa que calcula la nota media de las X asignaturas de cada uno de los N alumnos de una clase.

#include (iostream)
using namespace std;

void main()

{
int contalumno =0;
int num_asig;
int num_alum;
int contanota;
int suma;
int media;
int nota;

cout<< "Introduce numero asignaturas "<<(endl);
cin>>(num_asig);
cout<< "Introduce numero alumnos "<<(endl);
cin>>(num_alum);

while (contalumno <(num_alum))
{
contalumno =contalumno +1;
contanota =0;
suma =0;
media =0;

while (contanota <(num_asig))
{
contanota = contanota +1;
cout<< "Introducir nota: "<<(endl);
cin>>(nota);

suma = suma+nota;
}
media = suma/num_asig;

cout<<"Alumno "<<(contalumno)<<" Media "<<(media)<<(endl);
}
}

Nota: Sustituir () de iostream por <> y eliminar () de contalumno, media, endl, nota, num_asign y num_alum.

Introducción De Notas Con Calificación (Con Función)

Realizar programa estructurado con, al menos, una función, donde el programa pide al usuario una nota numérica entre 0 y 10, y saca por pantalla: Insuficiente, Suficiente, Bien, Notable y Sobresaliente.

#include (iostream)
#include (string)
using namespace std;
void funcion(double nota);

void main()
{
double nota=0;

cout<< "Introducir nota: " <<(endl) << (endl);
cin>>(nota);

funcion(nota);

cout<<(endl)<< "Final del programa"<<(endl);
}
void funcion(double nota)
{
string c_nota = "no asignada";
if (nota >0 && nota <=10)
{
if (nota>=5)
{
if (nota>=6)
{
if (nota>=7)
{
if (nota>=9) c_nota = "EXCELENTE";
else c_nota = "NOTABLE";
}
else c_nota = "BIEN";
}
else c_nota = "APROVADO";
}
else c_nota = "SUSPENSO";
}
if (c_nota != "no asignada")
cout<< "La nota es de "<< (c_nota) << (endl);
else
cout<< "Nota no valida" << (endl);
}

Nota: Sustituir () de iostream y string por <> y eliminar () de c_nota, endl y nota.

Introducir Dia, Mes Y Año Y Comunicación Del Siguiente (Con Función)

Introducir Dia, Mes Y Año Y Comunicación Del Siguiente (Con Función)

#include (iostream)
using namespace std;
int funcion_divisor(int numero, int divisor); //declaracion funcion

void main()
{
int d,max,m,a,resto; //declaracion variables

printf("Dime el dia: ");
scanf("%d",&d);
printf("\nAhora dime el mes: ");
scanf("%d",&m);
printf("\nY por ultimo el anyo: ");
scanf("%d",&a); //peticion y entrada variables dia mes anyo
printf("\nHoy es dia %d de %d del %d",d,m,a); //muestra el dia de hoy

if (m==4 || m==6 || m==9 || m==11) max=30; //condicion meses con 30 dias
if (m==1 || m==3 || m==5 || m==7 || m==8 || m==10 || m==12) max=31;//condicion meses con 31 dias

if (m==2) //condicion especial febrero
{
resto = funcion_divisor(a,4); //direccion a la funcion
if (resto==0) max=29; //peticion a la funcion
else max=28;
}

d++; //aumento dia

if (d>max)
{
d=1;
m++; //aumento mes al llegar al dia maximo
if (m>12)
{
m=1; a++; //aumento anyo al finalizar diciembre
}
}
printf("\n\nY manana sera %d de %d del %d",d,m,a); //mostrar dia siguiente
printf("\n\n");
}
int funcion_divisor(int numero, int divisor) //entrada a funcion
{
int resto=numero%divisor; //operacion funcion
return (resto); //resultado funcion
}

Nota: Sustituir () de iostream por <>.

Introducir Dia, Mes Y Año Y Comunicación Del Siguiente

Realizar programa donde introducimos dia, mes y año actual y el programa nos contesta con el dia, mes y año siguiente.
Por ejemplo: Hoy es 31/12/08 y mañana 01/01/09

#include (iostream)
#include (string)
using namespace std;

int bisiest(int num,int cuatro);

void main()
{
int dia,mes,any,fimes,resto;

cout<<"Introdueix el dia: " <<(endl);
cin>>(dia);
cout<<"Introdueix el mes: "<<(endl);
cin>>(mes);
cout<<"Introdueix el any: "<<(endl);
cin>>(any);
cout<<"Avui la data es: "<<(dia)<<"/"<<(mes)<<"/"<<(any)<<(endl)<<(endl);

if (mes==1||mes==3||mes==5||mes==7||mes==8||mes==10||mes==12)fimes=31;
if (mes==4||mes==6||mes==9||mes==11)fimes=30;
if (mes==2)
{
resto = bisiest(any,4);
if (resto!=0)fimes=28;
else fimes=29;
}
dia=dia+1;
if (dia>fimes)
{
dia=1;
mes=mes+1;
if (mes>12)
{
mes=1;
any=any+1;
}
}
cout<<"Dema la data sera: "<<(dia)<<"/"<<(mes)<<"/"<<(any)<<(endl)<<(endl);
}
int bisiest(int num,int cuatro)
{
int resto = num % cuatro;
return (resto);
}

Nota: Sustituir () de iostream y strings por <>, y eliminar () de endl, dia, mes, any

Año Bisiesto Con Función

Crear un programa con una función, donde introducimos el año y el ordenador nos comunica si es o no, bisiesto.

#include (iostream)
using namespace std;

bool AnyBisiest(int any);

int main()
{
bool bisiest;
int any;
cout<<"Introdueix el any"<<(endl);
cin>>(any);
bisiest =AnyBisiest(any);
if (bisiest)
cout<<"El any es bisiest"<<(endl);
else
cout<<"El any no es bisiest"<<(endl);
}

bool AnyBisiest(int any)
{
if (any%4!= 0)
return false;
else
return true;
}

Nota: Sustituir () de iostream por <> y eliminar () de endl y any.
Realizar el siguiente programa, con seguimiento de variables.

#include (iostream)
using namespace std;

float mediaponderada (float valor1,float peso1,float valor2,float peso2,float valor3,float peso3);
void main()
{
float nota1,porcentaje1,nota2,porcentaje2,nota3,porcentaje3,total;
nota1=0;nota2=0;nota3=0;porcentaje1=0;porcentaje2=0;porcentaje3=0;

do
{
printf("\n\nLos porcentajes deben sumar menos del 100%% \n\n");
printf("Introduce las tres notas \n\n");
scanf_s("%f %f %f",&nota1,&nota2,&nota3);
printf("\n\n Introduce los 3 porcentajes \n\n");
scanf_s("%f %f %f",&porcentaje1,&porcentaje2,&porcentaje3);
}
while((porcentaje1+porcentaje2+porcentaje3)<0||(porcentaje1+porcentaje2+porcentaje3)>100);

total=mediaponderada(nota1,porcentaje1,nota2,porcentaje2,nota3,porcentaje3);
printf("\n\nLa nota final es = %2.2f \n",total);
}
float mediaponderada(float valor1,float peso1,float valor2,float peso2,float valor3,float peso3)
{
float resultado = (valor1*(peso1/100)+valor2*(peso2/100)+valor3*(peso3/100));
return resultado;
}

Nota: Sustituir () de iostream por <>.
Realizar programa que calcula la nota media de las 3 asignaturas de cada uno de los 5 alumnos de una clase.

#include (iostream)
using namespace std;

void main()

{
int contalumno =0;

while (contalumno <5)
{
contalumno =contalumno +1;
int contanota =0;
int suma =0;
int media =0;
int nota;

while (contanota <3)
{
contanota = contanota +1;
cout<< "Introducir nota: "<<(endl);
cin>>(nota);

suma = suma+nota;
}
media = suma/3;

cout<<"Alumno "<<(contalumno)<<" Media "<<(media)<<(endl);
}
}

Nota: Sustituir () de iostream por <>, y eliminar () de contalumno, media, endl y nota.

viernes, 6 de noviembre de 2009

Programa que al introducir numeros nos cuenta estos, y dice cuantos son positivos:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace EJERC_2_4_C_3
{
class Ejercicio_2_3
{
static void Main(string[] args)
{
int positivos = 0;
int conta = 0; int numero;

Console.WriteLine("Introduce numero ");
numero = Int32.Parse(Console.ReadLine());

while (numero != 999)
{
conta = conta + 1;
if (numero > 0) positivos = positivos + 1;

Console.WriteLine("Introduce numero ");
numero = Int32.Parse(Console.ReadLine());
}
Console.WriteLine("Total de {0} numeros", conta);
Console.WriteLine("y positivos {0}", positivos);

}//fin main
}
}
Programa que al introducir un numero nos muestra cual es el maximo y cuantas veces se ha repetido (C#)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace EJERC_2_4_C_2
{
class Ejercicio_2_2
{
static void Main(string[] args)
{
//REM Programa maximo numero introducido
int numero = 0;
int maxi = 0;
int conta = 0;

Console.WriteLine("Introduce numero: ");
numero = int.Parse(Console.ReadLine());

while (numero != 999)
{
if (numero > maxi)
{
maxi = numero;
conta = 1;
}
else
{
if (numero == maxi)
{
conta = conta + 1;
}
Console.WriteLine("El maximo es: {0}", maxi);
Console.WriteLine("Introduce numero: ");
numero = int.Parse(Console.ReadLine());
}
}
Console.WriteLine("El maximo es: {0}", maxi);
Console.WriteLine("y se ha repetido {0} veces", conta);
}
}
}

Programa Para Dibujar Rombo O Triangulo Isosceles

5) Crear un programa, donde el usuario decida si quiere el dibujo de un triángulo isosceles de "n" filas o un rombo del mismo número de filas.

#include (iostream)
using namespace std;

// Programa para ….

void main()
{
// variables locales
int num_lineas;
const char blanco = ' ' ;
const char asterisco = '*';
int opcion=0;
int lineas=0;

while(opcion!=1 && opcion!=2)
{
cout<<"Que quieres TRIANGULO (1) 0 ROMBO (2)?"<<(endl);
cin>>(opcion);
}
cout<<"Introduce numero de lineas: ";
cin>>(num_lineas);

if(opcion==1)//dibuja triangulo
{
// dibujo de cada linea (bucle externo)
for (int fila=1; fila <= num_lineas; fila ++)
{
//dibuja espacios en blanco (1er bucle interno)
for (int espacios = num_lineas-fila; espacios >0;espacios --)
cout<<(blanco);

// dibuja asteriscos (2º bucle interno)
for (int cuenta =1; cuenta < 2 * fila; cuenta ++)
cout<<(asterisco);

cout<<(endl);
}
}
else//dibuja rombo
{
if (num_lineas % 2==0)//si numero es par
{
lineas=num_lineas/2;
// dibujo de cada linea (bucle externo)
for (int fila=1; fila <= lineas; fila ++)
{
//dibuja espacios en blanco (1er bucle interno)
for (int espacios = lineas-fila; espacios >0;espacios --)
cout<<(blanco);

// dibuja asteriscos (2º bucle interno)
for (int cuenta =1; cuenta < 2 * fila; cuenta ++)
cout<<(asterisco);

cout<<(endl);
}

// dibujo de cada linea (bucle externo)
for (int fila=lineas; fila <= lineas && fila != 0; fila --)
{
//dibuja espacios en blanco (1er bucle interno)
for (int espacios = lineas-fila; espacios >0;espacios --)
cout<<(blanco);

// dibuja asteriscos (2º bucle interno)
for (int cuenta =1; cuenta < 2 * fila; cuenta ++)
cout<<(asterisco);

cout<<(endl);
}
}
else//si es impar
{
lineas=num_lineas/2;
// dibujo de cada linea (bucle externo)parte superior
for (int fila=1; fila <= lineas +1; fila ++)
{
//dibuja espacios en blanco (1er bucle interno)
for (int espacios = lineas-(fila-1); espacios >0;espacios --)
cout<<(blanco);

// dibuja asteriscos (2º bucle interno)
for (int cuenta =1; cuenta < 2 * fila; cuenta ++)
cout<<(asterisco);

cout<<(endl);
}

// dibujo de cada linea (bucle externo)parte inferior
for (int fila=lineas; fila <= lineas && fila != 0; fila --)
{
//dibuja espacios en blanco (1er bucle interno)
for (int espacios = lineas-(fila-1); espacios >0;espacios --)
cout<<(blanco);

// dibuja asteriscos (2º bucle interno)
for (int cuenta =1; cuenta < 2 * fila; cuenta ++)
cout<<(asterisco);

cout<<(endl);
}
}
}
}


Nota: Sustituir () de iostream, y eliminar () de asterisco, blanco, endl y blanco.

Programa Eleccion Lineas Triangulo

4) Completar el ejercicio para que el usuario decida el número de líneas que desea usar para formar el dibujo.

#include (iostream)
using namespace std;

//Programa para...

void main()
{
// variables locales
int num_lineas;
const char blanco = ' ' ;
const char asterisco = '*';

cout<<"Introduce el numero de lineas que quieres ";
cin>>(num_lineas);

cout<<(endl);

// dibujo de cada linea (bucle externo)
for (int fila=1; fila <= num_lineas; fila ++)
{
// dibuja espacios en blanco (1er bucle interno)
for (int espacios = num_lineas-fila; espacios >0;espacios --)
cout<<(blanco);

// dibuja asteriscos (2º bucle interno)
for (int cuenta =1; cuenta < 2 * fila; cuenta ++)
cout<<(asterisco);

cout<<(endl);
}
}

Nota: Sustituir () de iostream por <> y eliminar () de endl, blanco, asterisco y num_lineas.

Programa Dibuja Triangulo 5 Lineas

3) ¿Qué realiza el siguiente programa?

#include (iostream)
using namespace std;

void main()
{
const int num_lineas = 5;
const char blanco = ' ';
const char asterisco = '*';

cout<<(endl);

for (int fila = 1;fila <= num_lineas;fila ++)
{
for (int espacios = num_lineas-fila;espacios>0;espacios--)
cout<<(blanco);

for (int cuenta =1; cuenta < 2 * fila; cuenta ++)
cout<<(asterisco);

cout<<(endl);
}
}

Nota: Sustituir () de iostream por <> y eliminar () de blanco, asterisco y endl.

Tabla Multiplicar

2) Realizar programa, donde el usuario indica la tabla de multiplicar que desea ver y el ordenador la muestra por pantalla.

#include (iostream)
using namespace std;

void main()
{
int numero;
int conta = 1;
int resultado;

cout<<" De que numero desea ver la tabla de multiplicar? "; cin>>numero;

for (conta = 0; conta < 11; conta++)
{
resultado = numero * conta;
printf ("\n %i * %i = %i \n", numero, conta, resultado);
}
}

Nota: Sustituir () de iostream por <>.

Entender el siguiente programa

1) Entender el siguiente programa:

#include (iostream)
using namespace std;

void main()
{
int i, j;
for (i = 1; i <= 15; i++)
{
for (j = 1; j <= i; j++)
cout<< j << " - ";

cout<<(endl)<<("*");
}
}


Nota:
Sustituir () de iostream por <> y eliminar () de endl.