martes, 20 de noviembre de 2012

Procesos en c++


#include<stdio.h>
#include<conio.h>
#include<process.h>
void main()
{
char p[10][5];
int tot=0,wt[10],pt[10],i,n;
float avg=0;
clrscr();
printf("Ingresar numero de procesos:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("Ingresar nombre del proceso%d :\n",i+1);
scanf("%s",&p[i]);
printf("Ingresar tiempo del proceso");
scanf("%d",&pt[i]);
}

wt[0]=0;
for(i=1;i<n;i++)
{
wt[i]=wt[i-1]+pt[i-1];
tot=tot+wt[i];
}
avg=(float)tot/n;
printf("proceso\t | tiempo proceso\t | espera\n");
for(i=0;i<n;i++)
printf("%s\t%d\t%d\n",p[i],pt[i],wt[i]);
printf("Tiempo de espera total=%d\n Tiempo de espera Promedio=%f",tot,avg);
getch();
}

Punteros en c++


#include <iostream>
using std::cout;
using std::endl;
int main (){  int Arreglo[5];//Arreglo elementos enteros
for (int i = 0; i < n; i++)  
Arreglo[i]=i + 1;//ponemos 1,2,3...n
int *ptrEntero;//Declaramos puntero a un entero
cout << "Arreglo[2] = " << Arreglo[2]<< endl;
ptrEntero = Arreglo;
cout << "Asigno ptrEntero = Arreglo" << endl;
cout << "ptrEntero[2] = " << ptrEntero[2] << endl;
ptrEntero = &Arreglo[0];//equivale a ptrEntero = Arreglo
cout << "Asigno ptrEntero = &Arreglo[0]" << endl;
cout << "ptrEntero[2] = " << ptrEntero[2] << endl;
cout << endl << "Mostramos el arreglo : " << endl;
for (int i = 0; i < n; i++)  
cout << "ptrEntero["<<i<<"] = "<<ptrEntero[i]
<< " == "
<< "Arreglo["<<i<<"] = " << Arreglo[i] << endl;
   return 0;
  }

Rectángulo en Java


import java.io.*;

public class Rectangulo extends FiguraGeometrica {
 
    private int base;
    private int altura;
 
    public Rectangulo(int base, int altura) {
this(base, altura, "Rectangulo");
    }
 
    public Rectangulo(int base, int altura, String etiqueta) {
super(etiqueta);
this.base = base;
this.altura = altura;
    }

    public int getBase() { return base; }
    public void setBase(int base) { this.base = base; }

    public int getAltura() { return altura; }
    public void setAltura(int altura) { this.altura = altura; }

    public String getTipoFigura() {
return "Rectangulo";
    }
 
    public double calcularArea() {
return (base * altura);
    }
   
    public void dibujarTxt() {
for (int fila=1; fila<=altura; fila++) {
 
   // imprimimos cada fila de *
            for (int col=1; col<=base; col++) {
System.out.print("*");
            }
 
   // cambiamos de linea
            System.out.println();
}

    }  

    /**
     * Pide los datos necesarios para definir un Rectangulo
     * y genera un objeto con dichos datos
     */
    public static Rectangulo leerDatosFigura(BufferedReader entrada) {

Rectangulo r = null;
int base, altura;
String etiqueta;

try {
            System.out.print("Introduzca la base: ");
            System.out.flush();
            base = Integer.parseInt( entrada.readLine() );
       
            System.out.print("Introduzca la altura: ");
            System.out.flush();
            altura = Integer.parseInt( entrada.readLine() );

            System.out.print("Introduzca etiqueta: ");
            System.out.flush();
   etiqueta = entrada.readLine();
       
            r = new Rectangulo( base, altura, etiqueta );
}
catch (IOException ioe) {
            // Error (entrada/salida):
            // se presenta un mensaje y se devolvera null
            System.err.println( "Error de entrada/salida" );
}
catch (NumberFormatException nfe) {
            // Error (dato incorrecto):
            // se presenta un mensaje y se devolvera null
            System.err.println( "Error: dato incorrecto" );
}

return r;

    }
 
   
}

Este programa esta hecho en Java es herencia y polimorfismo



Clase  Main
package Examen;
public class Main {
    public static void main(String[] args) {
             Cuadrado Cuadrado1 = new Cuadrado();
        System.out.println(" El area del " + Cuadrado1.Nombre + " de lado " + Cuadrado1.lado + " es " + Cuadrado1.area());
        Cuadrado Cuadrado2 = new Cuadrado(2.5f);
        System.out.println(" El area del " + Cuadrado2.Nombre + " de lado " + Cuadrado2.lado + " es " + Cuadrado2.area());
        Triangulo Triangulo1 = new Triangulo(2, 3, 4);
        System.out.println(" El Perimetro del " + Triangulo1.Nombre + " de lados " + Triangulo1.lado1 + "," + Triangulo1.lado2 + "," + Triangulo1.lado3 + "es" + Triangulo1.perimetro());
        Triangulo Triangulo2 = new Triangulo(3, 4);
        System.out.println("El Perimetro del " + Triangulo2.Nombre + "de lados" + Triangulo2.lado1 + "," + Triangulo2.lado2 + "," + Triangulo2.lado3 + "es" + Triangulo2.perimetro());
        Circulo Circulo = new Circulo(2.5f);

        System.out.println("El area del" + Circulo.Nombre + "de diametro" + Circulo.diametro + "es" + Circulo.area());

 Cuadrado1.imprimeNombre();
 Triangulo1.imprimeNombre();
 Circulo.imprimeNombre();
    }
}

1)  Clase: Figura Geometrica
package Examen;
import java.io.*;
abstract class FiguraGeometrica{
String Nombre;
void imprimeNombre(){
System.out.println(Nombre);
}
}
2)  Clase: Cuadrado

package Examen;

class Cuadrado extends FiguraGeometrica {

    float lado;

    Cuadrado() {
        this(1.0f);
    }
    Cuadrado(float lado) {
        this.Nombre = "Cuadrado";
        this.lado = lado;
    }
    float area() {
        return (lado * lado);
    }
}
3)Clase: Triangulo

package Examen;
class Triangulo extends FiguraGeometrica {
    float lado1, lado2, lado3;
    Triangulo(float lado1, float lado2) {
        this(lado1, lado2, (float) Math.sqrt((lado1 * lado1) + (lado2 * lado2)));
    }
    Triangulo(float lado1, float lado2, float lado3) {
        this.Nombre = "Triangulo";
        this.lado1 = lado1;
        this.lado2 = lado2;
        this.lado3 = lado3;
        if ((lado1 + lado2 < lado3) || (lado1 + lado3 < lado2) || (lado2 + lado3 < lado1)) {
            this.Nombre = "Triangulo incoherente";
        }
    }
    float perimetro() {
        return lado1 + lado2 + lado3;
    }
}

4) Clase: Circulo
package Examen;
class Circulo extends FiguraGeometrica {
    float diametro;

    Circulo(float diametro) {
        this.Nombre = "Circulo";
        this.diametro = diametro;
    }
    float area() {
        return (float) (Math.PI * diametro * diametro / 4);
    }
    float perimetro() {
        return (float) (Math.PI * diametro);
    }
}