viernes, 23 de diciembre de 2011

DIFERENCIA ENTRE PROCEDIMIENTO Y FUNCION ENC++

Procedimientos y Funciones en C++.
En su concepción más simple, un procedimiento es una construcción que permite dar nombre a un
conjunto de sentencias y declaraciones asociadas que se usan para resolver un subproblema dado. Los
procedimientos no siempre realizan la misma función y pueden recibir parámetros. No repetir código no
es la única razón para estructurar un programa usando procedimientos. Puesto que un subproblema
puede codificarse como un procedimiento, un problema complejo puede dividirse en subproblemas más
simples, quienes a su vez pueden ser de nuevo subdivididos hasta llegar a la descripción de
subproblemas muy simples que se puedan codificar como procedimientos escritos en C++. La filosofía
que acabamos de presentar se denomina Refinamiento Progresivo o por pasos, diseño descendente,
Programación Top-Down o bien Divide y Vencerás.
En C++ no hay diferencias entre procedimientos y funciones: todo son funciones, con la diferencia
de que un procedimiento es una función que no devuelve nada (void). Tanto procedimientos como
funciones, deben ser declarados antes de poder ser usados. Esto es posible de dos formas: indicando su
cabecera (nombre, parámetros y tipo de retorno) después de la zona de constantes y antes del programa
principal, o bien escribir el procedimiento o la función entera en dicha zona. Nosotros recomendamos la
primera opción, ya que evita problemas de orden de implementación para solucionar problemas de
ámbito. Mientras que un procedimiento ejecuta un grupo de sentencias, una función además devuelve un
valor al punto donde se llamó. Una llamada a una función puede aparecer como operando de alguna
expresión. El valor de la función se usa, por tanto, para calcular el valor total de la expresión. El uso de
una función puede ser algo como 2.0+Maximo(3.0,p)/6.90, de forma que la llamada devolverá
el mayor valor entre 3.0 y el contenido de la variable p y con dicho valor se evaluará el resto de la
expresión. Otro ejemplo puede ser: p = Maximo( 3.0, p ).

domingo, 27 de noviembre de 2011

MATRICEZ EN C++

Desde el punto de vista del programa, una matriz (array ó vector) es una zona de almacenamiento contiguo, que contiene una serie de elementos del mismo tipo, los elementos de la matriz . Desde el punto de vista lógico podemos considerarlas como un conjunto de elementos ordenados en fila. Así pues, en principio todas las matrices son de una dimensión, la dimensión principal, pero veremos que los elementos de esta fila pueden ser a su vez matrices (un proceso que puede ser recursivo), lo que nos permite hablar de la existencia de matrices multi-dimensionales, aunque las más fáciles de "ver" o imaginar son las de dos y tres dimensiones.
Nota: aunque en C/C++ los conjuntos ordenados de elementos del mismo tipo se denomina matrices (arreglos), la idea aparece en otros lenguajes bajo distintos nombres. Por ejemplo, vector; lista ("list") o secuencia ("sequence"). En cualquier caso, no confundirlas (las matrices) con los conjuntos de pares nombre/valor, que existen en otros lenguajes bajo los nombres de diccionarios ("dictionarys"); tablas hash ("hash tables"); listas indexadas ("keyed lists") o matrices asociativas ("associative arrays"), pero que como tales, no existen en C++; aunque la Librería Estándar sí dispone de tales estructuras 
Como advertencia para los lectores que han utilizado matrices en otros lenguajes, señalar que quizás el aspecto más significativo del manejo de matrices en C++, es que el compilador desconoce su tamaño, de forma que el programador debe adoptar precauciones para no salir de sus límites, ya que el compilador permite referenciar elementos inexistentes, más allá del final de la matriz, con el consiguiente riesgo de error. En este capítulo abordaremos todo lo necesario para manejarlas en C++

lunes, 31 de octubre de 2011

DEBER DE LA PAG 166

//Elaborar un programa  para calcular la utilidad que un empleado
//AUTOR: Santiago Pilataxi
//CURSO 6º "D"
#include<iostream.h>
#include<conio.h>
void main ()
{
 float salariomensual,tiempo,utilidad,sueldototal,s;
 char continua;
 do{
 clrscr();
 cout<<"ingrese el salario mensual:";
 cin>>salariomensual;
 cout<<"ingrese el tiempo de antiguedad:";
 cin>>tiempo;
 if (tiempo<=0)
   utilidad=salariomensual*0.5;
   else
  if (tiempo<=1)
   utilidad=salariomensual*0.7;
   else
  if (tiempo<=4)
   utilidad=salariomensual*10;
   else
    if (tiempo<=5)
    utilidad=salariomensual*15;
   else
 if (tiempo>=9)
    utilidad=salariomensual*20;
 gotoxy(8,8);
 cout<<"el salariomensual es:"<<salariomensual;
 gotoxy(8,10);
 cout<<"la utilidad es de:"<<utilidad;
 gotoxy(8,12);
 sueldototal=salariomensual+utilidad;
 cout<<"el sueldo total es de:"<<sueldototal;
 cout<< " desea continuar s/n";
 cin>>continua;
 }while (continua=='s');
 getch();
}