SlideShare una empresa de Scribd logo
1 de 62
FACULTAD DE INGENIERÍA INDUSTRIAL  INFORMÁTICA    Ing. Mónica Díaz Reátegui                                          CIP. 63424    monicdre@yahoo.com
CONTENIDO ESTRUCTURA  SECUENCIAL
PROGRAMACIÓNESTRUCTURADA El término de programación estructurada se refiere a un conjunto de técnicas que han ido evolucionando desde los primeros trabajos de  Dijktra.   Estas técnicas aumentan considerablemente la productividad del programa reduciendo el tiempo requerido para escribir, verificar, depurar y mantener los programas  
PROGRAMACIÓNESTRUCTURADA La programación estructurada  utiliza un número limitado de estructuras de control que minimiza la complejidad de los problemas y por consiguiente reduce los errores.   La programación estructurada es el conjunto de técnicas que incorporan: El diseño descendente Los recursos abstractos Las estructuras básicas
PROGRAMACIÓNESTRUCTURADA RECURSOS ABSTRACTOS Recursos abstractos (simplicidad): consiste en descomponer una determinada acción compleja, en función de un número de acciones más simples, capaces de ser resueltas con mayor facilidad y que constituirán las instrucciones.  
PROGRAMACIÓNESTRUCTURADA DISEÑO DESCENDENTE El diseño descendente (Top – Down) es el proceso mediante el cual un programa se descompone en una serie de niveles o pasos sucesivos de refinamiento. La metodología descendente consiste en efectuar una relación entre las sucesivas etapas de estructuración de modo que se relacionen unas con otras  mediante entradas y salidas de información.
PROGRAMACIÓNESTRUCTURADA Es decir, se descompone el problema en etapas o estructuras jerárquicas, de modo que se puede considerar cada estructura desde dos puntos de vista: qué hace y como lo hace. Nivel n vista desde el exterior ¿Qué hace? Nivel n vista desde el interior  ¿Cómo lo hace?
PROGRAMACIÓNESTRUCTURADA ESTRUCTURAS BÁSICAS Un programa propio puede ser escrito utilizando solamente tres tipos de estructuras de control: —secuenciales, selectivas y repetitivas.    TEOREMA DE BOHN JACOPINI Teorema de la programación estructurada o de BohnJacopini; que demuestra que un programa  propio puede ser escrito utilizando solamente tres tipos de estructuras de control: Secuenciales. 	Selectivas. 	Repetitivas.
PROGRAMACIÓNESTRUCTURADA Un programa propio se define como propio si cumple las siguientes características:   ,[object Object]
Existen caminos desde la entrada hasta la salida que se pueden seguir y que pasan por todas las partes del programa.
Todas las instrucciones son ejecutables y no existen lazos o bucles infinitos (sin fin).,[object Object]
ESTRUCTURAS BÁSICAS ESQUEMA BÁSICO
ESTRUCTURAS BÁSICAS SALIDAS  BÁSICAS   INTRODUCCIÓN Una de las características más sobresalientes de C++ es la flexibilidad en la utilización de las entradas y salidas (E/S) así como la facilidad para su tratamiento.    C++ fue diseñado para ser compatible con C. Por consiguiente el C++  tiene disponible todas las funciones típicas de entrada y salida del C incluyendo getchar(), putchar(), scanf() y printf().   Ya que los programadores disponen de la biblioteca stdio.  
ESTRUCTURAS BÁSICAS BIBLIOTECA iostream   C++ incorpora  una nueva biblioteca de funciones de E/S (Entrada/Salida): la biblioteca iostream.   La biblioteca iostream es una implementación orientada a objetos y se fundamenta en forma similar a la biblioteca stdio en el concepto de flujos.   A nivel abstracto un flujo (stream) es un modo de representar el flujo o secuencia de datos de una fuente (productor) a un destino o buzón (consumidor). 
ESTRUCTURAS BÁSICAS Así por ejemplo: Cuando se ingresa caracteres por el teclado, se puede pensar  en caracteres que fluyen o se trasladan desde el teclado  a las estructuras de datos de su programa.   Para acceder  a la biblioteca iostream se debe incluir en cada programa  el archivo de cabecera iostream.h, mediante la directiva del preprocesador #include.  
ESTRUCTURA DE UNPROGRAMA EN C #include <iostream.h>   Este  archivo de cabecera  contiene información de diferentes funciones de E/S y proporciona la manipulación de los buffer.   Define también los objetos  predefinidos de flujo cin, cout, cerry clogque se pueden utilizar en nuestros programas. C++ realiza todas las entradas y salidas como flujos de caracteres. Si su programa recibe entrada del teclado, de un archivo de disco, de un MÓDEM o de un ratón, C++ ve solo un flujo de caracteres.
ESTRUCTURAS BÁSICAS C++ no tiene que conocer cual es el tipo de dispositivo que proporciona la entrada; el sistema operativo maneja los dispositivos específicos y los programas manejan caracteres de datos sin preocuparse del dispositivo.   La instrucción usingnamespace especifica que los miembros de un namespace van a utilizarse frecuentemente en un programa. Esto permite al programador tener acceso a todos los miembros del namespace y escribir instrucciones más concisas como: cout<<"hola"; en vez de:    std::cout<<"hola";
ESTRUCTURAS BÁSICAS cout   Se utilizará cout  como el flujo de salida conectado a la salida estándar (pantalla).   Cuando  un programa  comienza la ejecución, automáticamente abre los archivos de dispositivos y los conecta a los objetos cin, cout y cerr y los asocia con los operadores específicos.   El operador de inserción (<<) transmite sus argumentos (situados) a la derecha hacia el flujo  cout (a la izquierda del operador).
SENTENCIA EN C PALABRAS RESERVADAS Una Palabra reservada o clave (keyword) es una palabra o identificador que tiene un significado particular para un Lenguaje de programación. Ejemplo: break 		case 		catch 			char class 		const 		const_cast 		continue Default	delete 	deprecated 		dllexport dllimport 	do 		double		dynamic_cast else 		enum 		explicit		extern false 		float 		for 			friend
SENTENCIA EN C CONSTANTES Valor numérico o carácter  que no ocupa memoria fuera del código del programa. Ejemplo: los números 5, 17 y 0xB1; y  los caracteres A, q y !.   CADENAS Cualquier secuencias  de valores (byte, palabras, palabras dobles, etc.). Ejemplo:    “El C ++ es divertido para programar”. Dentro de las cadenas  también pueden contener los llamados caracteres de escape o secuencia de escape.
SENTENCIA EN C
SENTENCIA EN C El operador << es una buena elección para representar la operación de salida, se puede concatenar diferentes operadores en una sola línea y utilizar la misma sintaxis para visualizar todos los tipos de datos básicos en un flujo.   El operador << convierte automáticamente la representación interna de la variable en una representación de textos. Ejemplo: cout << 45;  			// Visualiza 45 cout << 1.23457		// Visualiza 1.23457 cout << “Hola” 		// Visualiza  Hola
SENTENCIA EN C Al final de un cout  se puede colocar un carácter de nueva línea de modo que el cursor se mueva una línea debajo de la siguiente manera:   cout<< “Aprendo C++”; 	cout<<“”; cout<< “Aprendo c++”<<“”; cout << “Aprendo C++ ”;
SENTENCIA EN C Secuencias de escape Las secuencias de caracteres en las que el primero es la barra invertida, se denominaron secuencias de escape y aunque originariamente se utilizaron para la representación de los caracteres de control, por extensión pueden representarse de este modo todos los códigos ASCII. Además se dispone de algunos símbolos predefinidos para los caracteres más frecuentes. Por ejemplo,  se utiliza para representar el carácter nueva línea (decimal 10). Los símbolos utilizados se muestran en la tabla adjunta
SENTENCIA EN C Secuencia   Valor     Símbolo     Que  Hace                                             0x07         BEL    Sonido audible (bell)                 0x08          BS     Retroceso (backspace)                 0x0C          FF      Salto de formato (formfeed)                 0x0A         LF       Saltar una línea (linefeed)                 0x0D         CR      Retorno de carro (carriagereturn)                 0x09          HT      Tabulación horizontal (H Tab)                 0x0B         VT      Tabulación vertical (V Tab)                 0x5c                    Barra invertida (backslash)  amp;apos;               0x27           '           Apóstrofo (comilla simple)  amp;quot;               0x22           "         Doble comilla                 0x3F           ?        Interrogación  
SENTENCIA EN C PROGRAMA EJEMPLO:   	#include <iostream.h> void main()  	{ intedad=18; 	float  peso=64.50; char inicial = ’l’; cout<< “Mi edad es “<< edad; cout <<“”; 	cout<<“Mi ”; 	cout<<“peso es”; 	cout<<peso<<“”; 	cout<<“Mi inicial es “<< inicial<<“”;   	}
MANIPULADORES La bibliotecaiostreamtienevariosoperadoresparticularesllamadosmanipuladores que le permitecontrolarprecisamente el formato de los datosvisualizados.   Situando un manipulador en la cadena de operadores <<, se puede modificar el estado de flujo.   Una característica importante de un flujo es que debe tratar con valores numéricos en diferentes bases numéricas.  
MANIPULADORES La biblioteca iostream tiene tres manipuladores (dec, hex, oct) para controlar la conversión de un valor cuando se desea verlo en pantalla.   La conversión por defecto es  la base 10   Por ejemplo: #include <iostream.h> ….. int i=100; cout << dec << i << endl; //visualiza 100 cout << hex << i << endl; //visualiza 64 cout << oct << i << endl; //visualiza 144 
FUNCIONES Control del formato   Los manipuladores setw ()  y setprecision () controlan la anchura y la precisión de los datos impresos. Pertenecen a la librería iomanip.h Por ejemplo:   cout << 20; cout << 30; cout << 40;   La salida sin formato es: 203040
FUNCIONES Utilizando setw()   int i=100; //estableciendo una anchura de 6 cout <<setw(6)<< dec << i << endl;  cout << setw(6)<<hex << i << endl;  cout << setw(6)<<oct << i << endl;  Ahora la salida sería: 100   64 144  
FUNCIONES Otro ejemplo int i=100; //estableciendo una anchura de 10 cout <<setw(10)<< 123  << endl;  cout << setw(10)<<12345 << endl;  cout << setw(10)<<1234567 << endl;    Ahora la salida sería:           123       12345  12314567
FUNCIONES El manipulador setprecision() determina cuantos dígitos de precisión se visualizan, es especialmente útil para valores de coma flotante que limitan el número de posiciones decimales visualizadas. Por ejemplo:   cout <<3.14159  << endl;  cout << setprecision(3)<<3.14159 << endl;    Ahora la salida sería:   3.14159  3.142
ENTRADAS BÁSICAS Cin El objeto cin actúa como el teclado y combinando con el operador >> produce una pausa en un programa y espera  a que el usuario introduzca por teclado datos.   Con un solo cin se puede obtener uno o mas valores (al igual como sucede con cout que puede visualizar uno o más valores), siempre que separe los valores que siguen a cin con operadores >> adicionales. 
OPERADORES Vamos a ilustrar con el siguiente gráfico:
OPERADORES Para obtener múltiples valores con un solo cin, requiere que el usuario debe escribir un caracter espacio en blanco entre los valores.   Recuerde  que en la terminología del C++ un espacio en blanco es cualquier pulsación  de las teclas tabulación, espaciador o return (enter o intro).   Por consiguiente en respuesta a la sentencia:   cin>>a>>b>>c; //lee 3 valores de teclado  
OPERADORES ,[object Object],			5 8 6 ,[object Object],		5	8	6 ,[object Object],		5 		8 		6  
OPERADORES En cualquiera de los tres casos el efecto será el mismo.   IMPORTANTE:   Si se introduce 	5, 8, 6   El compilador C++ no considera la coma como  espacio en blanco y en consecuencia solo se pone 5 en a y las otras variables almacenarán basura en ellas.
EXPRESIONES Para  evitar el error  de introducir caracteres no blancos como separadores, es bueno visualizar en pantalla mensajes de advertencia al usuario tales como:   cout << “por favor, introduzca tres números ”; cout << “separe el valor con un blanco, ”; cout << “nunca con comas ”; cin >> a>> b >> c;  
EXPRESIONES En caso de duda, será preferible situar un cin en cada una de las líneas:   cout << “introduzca el primer valor ”; cin >> a; cout << “cual es el segundo valor ”; cin >> b; cout << “cual es el tercer valor”; cin >> c;    
INSTRUCCIÓN DE ASIGNACIÓN =  El  operador de asignación es una etiqueta que permita asignar un valor a una variable que se encuentra en la memoria principal.   La estructura de una instrucción de asignación:
EXPRESIONES Donde :  valor:	Puede ser una constante, un identificador de variable o una expresión aritmética o el nombre de una función.   Ejemplos:   A = 20; La constante 20 es asignada a la variable A   P = A; El valor que contiene almacenada la variable A es asignada a la variable P   
EXPRESIONES   R = X + Y; El valor resultante de la expresión aritmética formada por dos identificadores de variable es asignada a la variable R   Z= suma(a); El valor que devuelve la función SUMA es asignado a la variable Z    
EXPRESIONES ASIGNACION MÚLTIPLE   Aunque parezcan un poco extrañas al principio las asignaciones, al igual que las otras operaciones, dan un resultado que puede asignarse a su vez a otra expresión.  De la misma forma que (a + b) es evaluada y su resultado puedo copiarlo en otra variable: c = (a + b) ; una asignación (a = b) da como resultado el valor de b , por lo que es lícito escribir  	c = ( a = b );  
EXPRESIONES ASIGNACION  A UNA MISMA VARIABLE   El hecho de que estas operaciones se realicen de derecha a izquierda también permite realizar instrucciones del tipo:  	a = a + 17 ;   significando esto que al valor que tenia anteriormente a , se le suma la constante y luego se copia el resultado en la variable .  Como este último tipo de operaciones es por demás común, existe en C un pseudocódigo , con el fin de abreviarlas .
EXPRESIONES Así una operación aritmética o de bit cualquiera (simbolizada por OP )   				a = (a) OP (b) ;   puede escribirse en forma abreviada como :    	a OP= b ;   Por ejemplo   :  a += b   ;      /* equivale :  a = a + b */ 			a *= b   ;      /* equivale :  a = a * b */ 			a /= b   ;      /* equivale :  a = a / b */ 			a %= b   ;    /* equivale :  a = a % b */    Nótese que el pseudooperador debe escribirse con los dos símbolos seguidos, por ejemplo +=, y no será aceptado +(espacio) = .
TIPOS DE INSTRUCCIONES ASIGNACIÓN CONDICIONAL  El significado del mismo es el siguiente:    lvalue = (operación relacional ó lógica) ? (rvalue 1) : (rvalue 2) ;   de acuerdo al resultado de la operación condicional se asignará a lvalue el valor de rvalue 1 ó 2 .    Es decir: Si aquella es CIERTA será lvalue = rvalue 1 y    Si diera FALSO, lvalue = rvalue 2 .  .
TIPOS DE INSTRUCCIONES Ejemplo: Si se desea asignar a c el menor de los valores a ó b , se debe escribir lo siguiente: 			c = (a < b) ? a : b ;  
EXPRESIONES Los operadores de asignación están resumidos en la  siguiente tabla;.  TABLA  OPERADORES DE ASIGNACION
EXPRESIONES OPERADORES DE INCREMENTO Y DECREMENTO Los operadores de incremento y decremento son sólo dos y están descriptos en la TABLA TABLA  OPERADORES DE INCREMENTO Y DECREMENTO
ENTRADAS Y SALIDAS BASICAS  Para visualizar rápidamente la función de los operadores mencionados, tenemos las sentencias:  a = a + 1 ; a++ ;   tienen una acción idéntica , de la misma forma que  a = a - 1 ; a-- ;   es decir incrementa y decrementa a la variable en una unidad .
ENTRADAS Y SALIDAS BASICAS  Si bien estos operadores se suelen emplear con variables int , pueden ser usados sin problemas con cualquier otro tipo de variable . Así si a es un float de valor 1.05 , luego de hacer a++ adoptará el valor de 2.05 y de la misma manera si b es una variable del tipo char que contiene el caracter 'C' , luego de hacer b-- su valor será 'B'  Si bien las sentencias  i++ ; ++i ; son absolutamente equivalentes, en la mayoría de los casos la ubicación de los operadores incremento ó decremento indica CUANDO se realiza éste.
ENTRADAS Y SALIDAS BASICAS  Ejemplo:    int i = 1 , j , k ; j = i++ ; k = ++i ;   Donde j es igualado al valor de i y POSTERIORMENTE a la asignación i es incrementado por lo que j será igual a 1 e i igual a 2 , luego de ejecutada la sentencia . En la siguiente instrucción i se incrementa ANTES de efectuarse la asignación tomando el valor de 3 , él que luego es copiado en k .
ENTRADAS Y SALIDAS BASICAS  CONVERSIÓN  AUTOMÁTICA DE TIPOS Cuando dos ó mas tipos de variables distintas se encuentran DENTRO de una misma operación ó expresión matemática, ocurre una conversión automática del tipo de las variables.
ENTRADAS Y SALIDAS BASICAS  En todo momento de realizarse una operación se aplica la siguiente secuencia de reglas de conversión (previamente a la realización de dicha operación):  1) 	Las variables del tipo char ó short se convierten en int. 2) 	Las variables del tipo float se convierten en double.  3) 	Si alguno de los operandos es de mayor precisión que los demás , estos se convierten al tipo de aquel y el resultado es del mismo tipo.  4) 	Si no se aplica la regla anterior y un operando es del tipo unsigned el otro se convierte en unsigned y el resultado es de este tipo.
COMPILACION Y ENLAZADO EN C  Las reglas 1 a 3 no presentan problemas, sólo nos dicen que previamente a realizar alguna operación las variables son promovidas a su instancia superior. Esto no implica que se haya cambiado la cantidad de memoria que la aloja en forma permanente . Otro tipo de regla se aplica para la conversión en las asignaciones.  Si se define los términos de una asignación como,"lvalue" a la variable a la izquierda del signo igual y "rvalue" a la expresión a la derecha del mismo, es decir:   "lvalue" = "rvalue" ;  
COMPILACION Y ENLAZADO EN C  Posteriormente al cálculo del resultado de "rvalue" (de acuerdo con las reglas antes descriptas), el tipo de este se iguala al del "lvalue". El resultado no se verá afectado si el tipo de "lvalue" es igual ó superior al del "rvalue", en caso contrario se efectuará un truncamiento ó redondeo, según sea el caso.  Por ejemplo, el pasaje de float a int provoca el truncamiento de la parte fraccionaria, en cambio de double a float se hace por redondeo.  .
COMPILACION Y ENLAZADO EN C  Librería math ANSI C Contiene los prototipos de las funciones y otras definiciones para el uso y manipulación de funciones matemáticas.   Funciones   acosasin 		atan 		atan2  ceilcoscoshexp fabsfloorfmodfrexp ldexp 	log 		log10 	modf pow 		sin 		sinhsqrt tan 		tanh
COMPILACION Y ENLAZADO EN C  Función pow ANSI C  Calcula x elevado a la potencia de y. Puede producirse un error de dominio si x es negativo e y no es un valor entero. También se produce un error de dominio si el resultado no se puede representar cuando x es cero e y es menor o igual que cero. Un error de recorrido puede producirse.   Sintaxis:  double pow(double x, double y);    Valor de retorno: La función pow retorna el resultado de xy.
COMPILACION Y ENLAZADO EN C  Ejemplo:   #include <iostream.h> #include <math.h>   int main() {    double x = 6.54321, y = 0.56789;   cout<<”pow(“<<x<<”,”<<y<<” ) = “<< pow(x,y);    return 0; }  
EXPRESIONES Función sqrt ANSI C   Calcula la raíz cuadrada del valor no negativo de x. Puede producirse un error de dominio si x es negativo.   Sintaxis double sqrt(double x);     Valor de retorno: La función sqrt retorna el resultado de la raíz cuadrada de x.  
EXPRESIONES Ejemplo: #include <iostream..h> #include <math.h>   int main() {    double x = 6.54321;   cout<< "sqrt(“<<x<<” )= “<< sqrt(x); return 0; }    
EXPRESIONES Función sin ANSI C   Calcula el seno de x (medido en radianes).   Sintaxis:   double sin(double x);     Valor de retorno: La función sin retorna el seno, en radianes.  

Más contenido relacionado

La actualidad más candente

Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales
Lenguaje Borland C - Estructuras Secuenciales y No SecuencialesLenguaje Borland C - Estructuras Secuenciales y No Secuenciales
Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales
Karina Arguedas Ruelas
 
Lenguaje de programacion c++ basico 1ra parte elementos basicos del lenguaje
Lenguaje de programacion c++ basico 1ra parte elementos basicos del lenguajeLenguaje de programacion c++ basico 1ra parte elementos basicos del lenguaje
Lenguaje de programacion c++ basico 1ra parte elementos basicos del lenguaje
Dunkherz
 
Elementos Basicos del Lenguaje C++
Elementos Basicos del Lenguaje C++Elementos Basicos del Lenguaje C++
Elementos Basicos del Lenguaje C++
yesid19
 
Diagramas flujo
Diagramas flujoDiagramas flujo
Diagramas flujo
infobran
 

La actualidad más candente (18)

Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales
Lenguaje Borland C - Estructuras Secuenciales y No SecuencialesLenguaje Borland C - Estructuras Secuenciales y No Secuenciales
Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales
 
Elementos basicos c++
Elementos basicos c++Elementos basicos c++
Elementos basicos c++
 
Lenguaje de programacion c++ basico 1ra parte elementos basicos del lenguaje
Lenguaje de programacion c++ basico 1ra parte elementos basicos del lenguajeLenguaje de programacion c++ basico 1ra parte elementos basicos del lenguaje
Lenguaje de programacion c++ basico 1ra parte elementos basicos del lenguaje
 
manual básico de programación en c
manual básico de programación en c manual básico de programación en c
manual básico de programación en c
 
Lenguajec
LenguajecLenguajec
Lenguajec
 
presentacion
presentacionpresentacion
presentacion
 
Complementos
ComplementosComplementos
Complementos
 
Tutorial C
Tutorial CTutorial C
Tutorial C
 
Estructura de Lenguaje C++
Estructura de Lenguaje C++Estructura de Lenguaje C++
Estructura de Lenguaje C++
 
Estructura básica de pascal
Estructura básica de pascalEstructura básica de pascal
Estructura básica de pascal
 
Elementos Basicos del Lenguaje C++
Elementos Basicos del Lenguaje C++Elementos Basicos del Lenguaje C++
Elementos Basicos del Lenguaje C++
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Pascal [modo de compatibilidad]
Pascal [modo de compatibilidad]Pascal [modo de compatibilidad]
Pascal [modo de compatibilidad]
 
Clase 1 Lenguaje C++
Clase 1 Lenguaje C++Clase 1 Lenguaje C++
Clase 1 Lenguaje C++
 
ESTRUCTURA BASICA PARA C++
ESTRUCTURA BASICA PARA C++ESTRUCTURA BASICA PARA C++
ESTRUCTURA BASICA PARA C++
 
Diagramas flujo
Diagramas flujoDiagramas flujo
Diagramas flujo
 
Sintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacionSintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacion
 
BORLAND
BORLANDBORLAND
BORLAND
 

Destacado (9)

Cap1y2.Textoguiapdf
Cap1y2.TextoguiapdfCap1y2.Textoguiapdf
Cap1y2.Textoguiapdf
 
Unmsm05 2008
Unmsm05 2008Unmsm05 2008
Unmsm05 2008
 
Unmsm01 2008
Unmsm01 2008Unmsm01 2008
Unmsm01 2008
 
Unmsm02 2008
Unmsm02 2008Unmsm02 2008
Unmsm02 2008
 
Unmsm04 2008
Unmsm04 2008Unmsm04 2008
Unmsm04 2008
 
Prueba de Admisión UN 9 mayo 2009
Prueba de Admisión UN 9 mayo 2009Prueba de Admisión UN 9 mayo 2009
Prueba de Admisión UN 9 mayo 2009
 
Cap02
Cap02Cap02
Cap02
 
Capítulo 3 Qbasic sentencias de control repetitivas
Capítulo 3 Qbasic sentencias de control repetitivasCapítulo 3 Qbasic sentencias de control repetitivas
Capítulo 3 Qbasic sentencias de control repetitivas
 
Cap03
Cap03Cap03
Cap03
 

Similar a Unmsm03 2008

Programación c
Programación cProgramación c
Programación c
victdiazm
 
Introducción a La Programación En C
Introducción a La Programación En CIntroducción a La Programación En C
Introducción a La Programación En C
painni
 
Desarrollo de aplicaciones , programacion en dev ++
Desarrollo de aplicaciones , programacion  en   dev ++Desarrollo de aplicaciones , programacion  en   dev ++
Desarrollo de aplicaciones , programacion en dev ++
ernestre
 
Desarrollo de aplicaciones , programacion en dev ++
Desarrollo de aplicaciones , programacion  en   dev ++Desarrollo de aplicaciones , programacion  en   dev ++
Desarrollo de aplicaciones , programacion en dev ++
ernestre
 
Manual 1 de lenguaje c
Manual 1 de lenguaje cManual 1 de lenguaje c
Manual 1 de lenguaje c
gechenique
 

Similar a Unmsm03 2008 (20)

Parte i curso c
Parte i curso cParte i curso c
Parte i curso c
 
Unidad 2 curso c
Unidad 2 curso cUnidad 2 curso c
Unidad 2 curso c
 
Programación c
Programación cProgramación c
Programación c
 
Programación c
Programación cProgramación c
Programación c
 
Introducción a La Programación En C
Introducción a La Programación En CIntroducción a La Programación En C
Introducción a La Programación En C
 
Desarrollo de aplicaciones , programacion en dev ++
Desarrollo de aplicaciones , programacion  en   dev ++Desarrollo de aplicaciones , programacion  en   dev ++
Desarrollo de aplicaciones , programacion en dev ++
 
Desarrollo de aplicaciones , programacion en dev ++
Desarrollo de aplicaciones , programacion  en   dev ++Desarrollo de aplicaciones , programacion  en   dev ++
Desarrollo de aplicaciones , programacion en dev ++
 
Clase 1 Programación II
Clase 1 Programación IIClase 1 Programación II
Clase 1 Programación II
 
2do parcial c
2do parcial c2do parcial c
2do parcial c
 
Tema 2. E_S Estructuras de Control 19-02-23.pdf
Tema 2. E_S Estructuras de Control 19-02-23.pdfTema 2. E_S Estructuras de Control 19-02-23.pdf
Tema 2. E_S Estructuras de Control 19-02-23.pdf
 
Programa
ProgramaPrograma
Programa
 
Clase 1_Unidad II (2).pdf
Clase 1_Unidad II  (2).pdfClase 1_Unidad II  (2).pdf
Clase 1_Unidad II (2).pdf
 
2 estructura programa-c
2 estructura programa-c2 estructura programa-c
2 estructura programa-c
 
37975756-Guia-de-C
37975756-Guia-de-C37975756-Guia-de-C
37975756-Guia-de-C
 
Ikgi
IkgiIkgi
Ikgi
 
IntroLenguajeC.ppt
IntroLenguajeC.pptIntroLenguajeC.ppt
IntroLenguajeC.ppt
 
Manual 1 de lenguaje c
Manual 1 de lenguaje cManual 1 de lenguaje c
Manual 1 de lenguaje c
 
Programación c++forcsma
Programación c++forcsmaProgramación c++forcsma
Programación c++forcsma
 
Manual de Programación c/c++ Ricky Bonilla
Manual de Programación c/c++ Ricky BonillaManual de Programación c/c++ Ricky Bonilla
Manual de Programación c/c++ Ricky Bonilla
 
Introduccion a c++
Introduccion a c++Introduccion a c++
Introduccion a c++
 

Último

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
241521559
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
silviayucra2
 

Último (10)

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 

Unmsm03 2008

  • 1. FACULTAD DE INGENIERÍA INDUSTRIAL INFORMÁTICA Ing. Mónica Díaz Reátegui CIP. 63424 monicdre@yahoo.com
  • 2. CONTENIDO ESTRUCTURA SECUENCIAL
  • 3. PROGRAMACIÓNESTRUCTURADA El término de programación estructurada se refiere a un conjunto de técnicas que han ido evolucionando desde los primeros trabajos de Dijktra.   Estas técnicas aumentan considerablemente la productividad del programa reduciendo el tiempo requerido para escribir, verificar, depurar y mantener los programas  
  • 4. PROGRAMACIÓNESTRUCTURADA La programación estructurada utiliza un número limitado de estructuras de control que minimiza la complejidad de los problemas y por consiguiente reduce los errores.   La programación estructurada es el conjunto de técnicas que incorporan: El diseño descendente Los recursos abstractos Las estructuras básicas
  • 5. PROGRAMACIÓNESTRUCTURADA RECURSOS ABSTRACTOS Recursos abstractos (simplicidad): consiste en descomponer una determinada acción compleja, en función de un número de acciones más simples, capaces de ser resueltas con mayor facilidad y que constituirán las instrucciones.  
  • 6. PROGRAMACIÓNESTRUCTURADA DISEÑO DESCENDENTE El diseño descendente (Top – Down) es el proceso mediante el cual un programa se descompone en una serie de niveles o pasos sucesivos de refinamiento. La metodología descendente consiste en efectuar una relación entre las sucesivas etapas de estructuración de modo que se relacionen unas con otras mediante entradas y salidas de información.
  • 7. PROGRAMACIÓNESTRUCTURADA Es decir, se descompone el problema en etapas o estructuras jerárquicas, de modo que se puede considerar cada estructura desde dos puntos de vista: qué hace y como lo hace. Nivel n vista desde el exterior ¿Qué hace? Nivel n vista desde el interior ¿Cómo lo hace?
  • 8. PROGRAMACIÓNESTRUCTURADA ESTRUCTURAS BÁSICAS Un programa propio puede ser escrito utilizando solamente tres tipos de estructuras de control: —secuenciales, selectivas y repetitivas.    TEOREMA DE BOHN JACOPINI Teorema de la programación estructurada o de BohnJacopini; que demuestra que un programa propio puede ser escrito utilizando solamente tres tipos de estructuras de control: Secuenciales. Selectivas. Repetitivas.
  • 9.
  • 10. Existen caminos desde la entrada hasta la salida que se pueden seguir y que pasan por todas las partes del programa.
  • 11.
  • 13. ESTRUCTURAS BÁSICAS SALIDAS BÁSICAS   INTRODUCCIÓN Una de las características más sobresalientes de C++ es la flexibilidad en la utilización de las entradas y salidas (E/S) así como la facilidad para su tratamiento.   C++ fue diseñado para ser compatible con C. Por consiguiente el C++ tiene disponible todas las funciones típicas de entrada y salida del C incluyendo getchar(), putchar(), scanf() y printf().   Ya que los programadores disponen de la biblioteca stdio.  
  • 14. ESTRUCTURAS BÁSICAS BIBLIOTECA iostream   C++ incorpora una nueva biblioteca de funciones de E/S (Entrada/Salida): la biblioteca iostream.   La biblioteca iostream es una implementación orientada a objetos y se fundamenta en forma similar a la biblioteca stdio en el concepto de flujos.   A nivel abstracto un flujo (stream) es un modo de representar el flujo o secuencia de datos de una fuente (productor) a un destino o buzón (consumidor). 
  • 15. ESTRUCTURAS BÁSICAS Así por ejemplo: Cuando se ingresa caracteres por el teclado, se puede pensar en caracteres que fluyen o se trasladan desde el teclado a las estructuras de datos de su programa.   Para acceder a la biblioteca iostream se debe incluir en cada programa el archivo de cabecera iostream.h, mediante la directiva del preprocesador #include.  
  • 16. ESTRUCTURA DE UNPROGRAMA EN C #include <iostream.h>   Este archivo de cabecera contiene información de diferentes funciones de E/S y proporciona la manipulación de los buffer.   Define también los objetos predefinidos de flujo cin, cout, cerry clogque se pueden utilizar en nuestros programas. C++ realiza todas las entradas y salidas como flujos de caracteres. Si su programa recibe entrada del teclado, de un archivo de disco, de un MÓDEM o de un ratón, C++ ve solo un flujo de caracteres.
  • 17. ESTRUCTURAS BÁSICAS C++ no tiene que conocer cual es el tipo de dispositivo que proporciona la entrada; el sistema operativo maneja los dispositivos específicos y los programas manejan caracteres de datos sin preocuparse del dispositivo.   La instrucción usingnamespace especifica que los miembros de un namespace van a utilizarse frecuentemente en un programa. Esto permite al programador tener acceso a todos los miembros del namespace y escribir instrucciones más concisas como: cout<<"hola"; en vez de: std::cout<<"hola";
  • 18. ESTRUCTURAS BÁSICAS cout   Se utilizará cout como el flujo de salida conectado a la salida estándar (pantalla).   Cuando un programa comienza la ejecución, automáticamente abre los archivos de dispositivos y los conecta a los objetos cin, cout y cerr y los asocia con los operadores específicos.   El operador de inserción (<<) transmite sus argumentos (situados) a la derecha hacia el flujo cout (a la izquierda del operador).
  • 19. SENTENCIA EN C PALABRAS RESERVADAS Una Palabra reservada o clave (keyword) es una palabra o identificador que tiene un significado particular para un Lenguaje de programación. Ejemplo: break case catch char class const const_cast continue Default delete deprecated dllexport dllimport do double dynamic_cast else enum explicit extern false float for friend
  • 20. SENTENCIA EN C CONSTANTES Valor numérico o carácter que no ocupa memoria fuera del código del programa. Ejemplo: los números 5, 17 y 0xB1; y los caracteres A, q y !.   CADENAS Cualquier secuencias de valores (byte, palabras, palabras dobles, etc.). Ejemplo: “El C ++ es divertido para programar”. Dentro de las cadenas también pueden contener los llamados caracteres de escape o secuencia de escape.
  • 22. SENTENCIA EN C El operador << es una buena elección para representar la operación de salida, se puede concatenar diferentes operadores en una sola línea y utilizar la misma sintaxis para visualizar todos los tipos de datos básicos en un flujo.   El operador << convierte automáticamente la representación interna de la variable en una representación de textos. Ejemplo: cout << 45; // Visualiza 45 cout << 1.23457 // Visualiza 1.23457 cout << “Hola” // Visualiza Hola
  • 23. SENTENCIA EN C Al final de un cout se puede colocar un carácter de nueva línea de modo que el cursor se mueva una línea debajo de la siguiente manera:   cout<< “Aprendo C++”; cout<<“”; cout<< “Aprendo c++”<<“”; cout << “Aprendo C++ ”;
  • 24. SENTENCIA EN C Secuencias de escape Las secuencias de caracteres en las que el primero es la barra invertida, se denominaron secuencias de escape y aunque originariamente se utilizaron para la representación de los caracteres de control, por extensión pueden representarse de este modo todos los códigos ASCII. Además se dispone de algunos símbolos predefinidos para los caracteres más frecuentes. Por ejemplo, se utiliza para representar el carácter nueva línea (decimal 10). Los símbolos utilizados se muestran en la tabla adjunta
  • 25. SENTENCIA EN C Secuencia   Valor     Símbolo     Que Hace                                            0x07         BEL    Sonido audible (bell)                 0x08          BS     Retroceso (backspace)                 0x0C          FF      Salto de formato (formfeed)                 0x0A         LF       Saltar una línea (linefeed)                 0x0D         CR      Retorno de carro (carriagereturn)                 0x09          HT      Tabulación horizontal (H Tab)                 0x0B         VT      Tabulación vertical (V Tab)                 0x5c                    Barra invertida (backslash)  amp;apos;               0x27           '          Apóstrofo (comilla simple)  amp;quot;               0x22           "         Doble comilla                 0x3F           ?        Interrogación  
  • 26. SENTENCIA EN C PROGRAMA EJEMPLO:    #include <iostream.h> void main() { intedad=18; float peso=64.50; char inicial = ’l’; cout<< “Mi edad es “<< edad; cout <<“”; cout<<“Mi ”; cout<<“peso es”; cout<<peso<<“”; cout<<“Mi inicial es “<< inicial<<“”; }
  • 27. MANIPULADORES La bibliotecaiostreamtienevariosoperadoresparticularesllamadosmanipuladores que le permitecontrolarprecisamente el formato de los datosvisualizados.   Situando un manipulador en la cadena de operadores <<, se puede modificar el estado de flujo.   Una característica importante de un flujo es que debe tratar con valores numéricos en diferentes bases numéricas.  
  • 28. MANIPULADORES La biblioteca iostream tiene tres manipuladores (dec, hex, oct) para controlar la conversión de un valor cuando se desea verlo en pantalla.   La conversión por defecto es la base 10   Por ejemplo: #include <iostream.h> ….. int i=100; cout << dec << i << endl; //visualiza 100 cout << hex << i << endl; //visualiza 64 cout << oct << i << endl; //visualiza 144 
  • 29. FUNCIONES Control del formato   Los manipuladores setw () y setprecision () controlan la anchura y la precisión de los datos impresos. Pertenecen a la librería iomanip.h Por ejemplo:   cout << 20; cout << 30; cout << 40;   La salida sin formato es: 203040
  • 30. FUNCIONES Utilizando setw()   int i=100; //estableciendo una anchura de 6 cout <<setw(6)<< dec << i << endl; cout << setw(6)<<hex << i << endl; cout << setw(6)<<oct << i << endl; Ahora la salida sería: 100 64 144  
  • 31. FUNCIONES Otro ejemplo int i=100; //estableciendo una anchura de 10 cout <<setw(10)<< 123 << endl; cout << setw(10)<<12345 << endl; cout << setw(10)<<1234567 << endl;   Ahora la salida sería: 123 12345 12314567
  • 32. FUNCIONES El manipulador setprecision() determina cuantos dígitos de precisión se visualizan, es especialmente útil para valores de coma flotante que limitan el número de posiciones decimales visualizadas. Por ejemplo:   cout <<3.14159 << endl; cout << setprecision(3)<<3.14159 << endl;   Ahora la salida sería:   3.14159 3.142
  • 33. ENTRADAS BÁSICAS Cin El objeto cin actúa como el teclado y combinando con el operador >> produce una pausa en un programa y espera a que el usuario introduzca por teclado datos.   Con un solo cin se puede obtener uno o mas valores (al igual como sucede con cout que puede visualizar uno o más valores), siempre que separe los valores que siguen a cin con operadores >> adicionales. 
  • 34. OPERADORES Vamos a ilustrar con el siguiente gráfico:
  • 35. OPERADORES Para obtener múltiples valores con un solo cin, requiere que el usuario debe escribir un caracter espacio en blanco entre los valores.   Recuerde que en la terminología del C++ un espacio en blanco es cualquier pulsación de las teclas tabulación, espaciador o return (enter o intro).   Por consiguiente en respuesta a la sentencia:   cin>>a>>b>>c; //lee 3 valores de teclado  
  • 36.
  • 37. OPERADORES En cualquiera de los tres casos el efecto será el mismo.   IMPORTANTE:   Si se introduce 5, 8, 6   El compilador C++ no considera la coma como espacio en blanco y en consecuencia solo se pone 5 en a y las otras variables almacenarán basura en ellas.
  • 38. EXPRESIONES Para evitar el error de introducir caracteres no blancos como separadores, es bueno visualizar en pantalla mensajes de advertencia al usuario tales como:   cout << “por favor, introduzca tres números ”; cout << “separe el valor con un blanco, ”; cout << “nunca con comas ”; cin >> a>> b >> c;  
  • 39. EXPRESIONES En caso de duda, será preferible situar un cin en cada una de las líneas:   cout << “introduzca el primer valor ”; cin >> a; cout << “cual es el segundo valor ”; cin >> b; cout << “cual es el tercer valor”; cin >> c;    
  • 40. INSTRUCCIÓN DE ASIGNACIÓN = El operador de asignación es una etiqueta que permita asignar un valor a una variable que se encuentra en la memoria principal.   La estructura de una instrucción de asignación:
  • 41. EXPRESIONES Donde :  valor: Puede ser una constante, un identificador de variable o una expresión aritmética o el nombre de una función.   Ejemplos:   A = 20; La constante 20 es asignada a la variable A   P = A; El valor que contiene almacenada la variable A es asignada a la variable P   
  • 42. EXPRESIONES   R = X + Y; El valor resultante de la expresión aritmética formada por dos identificadores de variable es asignada a la variable R   Z= suma(a); El valor que devuelve la función SUMA es asignado a la variable Z    
  • 43. EXPRESIONES ASIGNACION MÚLTIPLE   Aunque parezcan un poco extrañas al principio las asignaciones, al igual que las otras operaciones, dan un resultado que puede asignarse a su vez a otra expresión. De la misma forma que (a + b) es evaluada y su resultado puedo copiarlo en otra variable: c = (a + b) ; una asignación (a = b) da como resultado el valor de b , por lo que es lícito escribir c = ( a = b );  
  • 44. EXPRESIONES ASIGNACION A UNA MISMA VARIABLE   El hecho de que estas operaciones se realicen de derecha a izquierda también permite realizar instrucciones del tipo: a = a + 17 ;   significando esto que al valor que tenia anteriormente a , se le suma la constante y luego se copia el resultado en la variable . Como este último tipo de operaciones es por demás común, existe en C un pseudocódigo , con el fin de abreviarlas .
  • 45. EXPRESIONES Así una operación aritmética o de bit cualquiera (simbolizada por OP )   a = (a) OP (b) ;   puede escribirse en forma abreviada como : a OP= b ;   Por ejemplo :  a += b   ;     /* equivale :  a = a + b */ a *= b   ;    /* equivale :  a = a * b */ a /= b   ;     /* equivale :  a = a / b */ a %= b   ;    /* equivale :  a = a % b */    Nótese que el pseudooperador debe escribirse con los dos símbolos seguidos, por ejemplo +=, y no será aceptado +(espacio) = .
  • 46. TIPOS DE INSTRUCCIONES ASIGNACIÓN CONDICIONAL  El significado del mismo es el siguiente:   lvalue = (operación relacional ó lógica) ? (rvalue 1) : (rvalue 2) ;   de acuerdo al resultado de la operación condicional se asignará a lvalue el valor de rvalue 1 ó 2 .   Es decir: Si aquella es CIERTA será lvalue = rvalue 1 y   Si diera FALSO, lvalue = rvalue 2 . .
  • 47. TIPOS DE INSTRUCCIONES Ejemplo: Si se desea asignar a c el menor de los valores a ó b , se debe escribir lo siguiente: c = (a < b) ? a : b ;  
  • 48. EXPRESIONES Los operadores de asignación están resumidos en la siguiente tabla;. TABLA OPERADORES DE ASIGNACION
  • 49. EXPRESIONES OPERADORES DE INCREMENTO Y DECREMENTO Los operadores de incremento y decremento son sólo dos y están descriptos en la TABLA TABLA OPERADORES DE INCREMENTO Y DECREMENTO
  • 50. ENTRADAS Y SALIDAS BASICAS Para visualizar rápidamente la función de los operadores mencionados, tenemos las sentencias: a = a + 1 ; a++ ;   tienen una acción idéntica , de la misma forma que a = a - 1 ; a-- ;   es decir incrementa y decrementa a la variable en una unidad .
  • 51. ENTRADAS Y SALIDAS BASICAS Si bien estos operadores se suelen emplear con variables int , pueden ser usados sin problemas con cualquier otro tipo de variable . Así si a es un float de valor 1.05 , luego de hacer a++ adoptará el valor de 2.05 y de la misma manera si b es una variable del tipo char que contiene el caracter 'C' , luego de hacer b-- su valor será 'B' Si bien las sentencias i++ ; ++i ; son absolutamente equivalentes, en la mayoría de los casos la ubicación de los operadores incremento ó decremento indica CUANDO se realiza éste.
  • 52. ENTRADAS Y SALIDAS BASICAS Ejemplo:   int i = 1 , j , k ; j = i++ ; k = ++i ;   Donde j es igualado al valor de i y POSTERIORMENTE a la asignación i es incrementado por lo que j será igual a 1 e i igual a 2 , luego de ejecutada la sentencia . En la siguiente instrucción i se incrementa ANTES de efectuarse la asignación tomando el valor de 3 , él que luego es copiado en k .
  • 53. ENTRADAS Y SALIDAS BASICAS CONVERSIÓN AUTOMÁTICA DE TIPOS Cuando dos ó mas tipos de variables distintas se encuentran DENTRO de una misma operación ó expresión matemática, ocurre una conversión automática del tipo de las variables.
  • 54. ENTRADAS Y SALIDAS BASICAS En todo momento de realizarse una operación se aplica la siguiente secuencia de reglas de conversión (previamente a la realización de dicha operación): 1) Las variables del tipo char ó short se convierten en int. 2) Las variables del tipo float se convierten en double. 3) Si alguno de los operandos es de mayor precisión que los demás , estos se convierten al tipo de aquel y el resultado es del mismo tipo. 4) Si no se aplica la regla anterior y un operando es del tipo unsigned el otro se convierte en unsigned y el resultado es de este tipo.
  • 55. COMPILACION Y ENLAZADO EN C Las reglas 1 a 3 no presentan problemas, sólo nos dicen que previamente a realizar alguna operación las variables son promovidas a su instancia superior. Esto no implica que se haya cambiado la cantidad de memoria que la aloja en forma permanente . Otro tipo de regla se aplica para la conversión en las asignaciones. Si se define los términos de una asignación como,"lvalue" a la variable a la izquierda del signo igual y "rvalue" a la expresión a la derecha del mismo, es decir:  "lvalue" = "rvalue" ;  
  • 56. COMPILACION Y ENLAZADO EN C Posteriormente al cálculo del resultado de "rvalue" (de acuerdo con las reglas antes descriptas), el tipo de este se iguala al del "lvalue". El resultado no se verá afectado si el tipo de "lvalue" es igual ó superior al del "rvalue", en caso contrario se efectuará un truncamiento ó redondeo, según sea el caso. Por ejemplo, el pasaje de float a int provoca el truncamiento de la parte fraccionaria, en cambio de double a float se hace por redondeo. .
  • 57. COMPILACION Y ENLAZADO EN C Librería math ANSI C Contiene los prototipos de las funciones y otras definiciones para el uso y manipulación de funciones matemáticas.   Funciones   acosasin atan atan2 ceilcoscoshexp fabsfloorfmodfrexp ldexp log log10 modf pow sin sinhsqrt tan tanh
  • 58. COMPILACION Y ENLAZADO EN C Función pow ANSI C  Calcula x elevado a la potencia de y. Puede producirse un error de dominio si x es negativo e y no es un valor entero. También se produce un error de dominio si el resultado no se puede representar cuando x es cero e y es menor o igual que cero. Un error de recorrido puede producirse.   Sintaxis:  double pow(double x, double y);    Valor de retorno: La función pow retorna el resultado de xy.
  • 59. COMPILACION Y ENLAZADO EN C Ejemplo:   #include <iostream.h> #include <math.h>   int main() { double x = 6.54321, y = 0.56789;   cout<<”pow(“<<x<<”,”<<y<<” ) = “<< pow(x,y); return 0; }  
  • 60. EXPRESIONES Función sqrt ANSI C   Calcula la raíz cuadrada del valor no negativo de x. Puede producirse un error de dominio si x es negativo.   Sintaxis double sqrt(double x);     Valor de retorno: La función sqrt retorna el resultado de la raíz cuadrada de x.  
  • 61. EXPRESIONES Ejemplo: #include <iostream..h> #include <math.h>   int main() { double x = 6.54321;   cout<< "sqrt(“<<x<<” )= “<< sqrt(x); return 0; }    
  • 62. EXPRESIONES Función sin ANSI C   Calcula el seno de x (medido en radianes).   Sintaxis:   double sin(double x);     Valor de retorno: La función sin retorna el seno, en radianes.  
  • 63. EXPRESIONES  Ejemplo: #include <iostream.h> #include <math.h> int main() { double x = 3.1416/3.0;   cout<< "sin(“<<x<<” ) = “<< sin(x); return 0; }