tutorial lenguaje c

56
TUTORIAL LENGUAJE C PYS II

Upload: jesus-agreda

Post on 28-Jun-2015

419 views

Category:

Education


3 download

DESCRIPTION

Es una introduccion al lenguaje de programacion C. Los ejemplos son talleres realizados en todo el segundo semestre. Los ejemplos del contenio fueron realizados en Borland.

TRANSCRIPT

Page 1: TUTORIAL LENGUAJE C

TUTORIALLENGUAJE C

PYS II

Page 2: TUTORIAL LENGUAJE C

Introducción Teórica

Creador:

Dennis Ritchie (Laboratorios Bell) el 1972, cuando trabajaba junto con Ken Thompson en el diseño del sistema operativo UNIX.

El ‘C’ se cree como herramienta para programadores, en consecuencia su principal objetivo es ser un lenguaje útil.

* INTRODUCCIÓN

Page 3: TUTORIAL LENGUAJE C

El “C” es un lenguaje de programación de “alto nivel” (alto nivel quiere decir “próximo al lenguaje humano”), pero con características de “bajo nivel” (bajo nivel= próximo al lenguaje máquina).

Es de alto nivel porque es racional, estructurado y fácil de aprender.

Es de bajo nivel porque permite trabajar con “bits”, registros de la C.P.U. y posiciones de memoria.

* CARACTERÍSTICAS

Page 4: TUTORIAL LENGUAJE C

El lenguaje ‘C’ es poderoso y flexible: la mayor parte del sistema operativo UNIX está escrito en ‘C’.

Incluso están escritos en ‘C’ los compiladores e intérpretes de otros lenguajes, como FORTRAN, APL,

PASCAL, LISP, LOGO y BASIC.

El lenguaje ‘C’ es “amistoso” porque es lo suficientemente estructurado para ejercer buenos hábitos de programación.

Es el lenguaje de programación más utilizado por el programador de sistemas.

* ¿PORQUÉ EL “C”?

Page 5: TUTORIAL LENGUAJE C

* ESTRUCTURA DE UN PROGRAMA EN “C”

Código fuente

Código objeto

Programaejecutable

compilar linkar

Código Fuente: es el programa que nosotros escribimos, extensión CPP

Código Objeto: es el programa fuente pero traducido a lenguaje máquina (sucesión de ceros y unos), se graba con la extensión OBJ

Programa Ejecutable: es el programa objeto más las “librerías del C”.

El ‘C’ es un lenguaje compilado, vamos a ver que es esto gráficamente:

Page 6: TUTORIAL LENGUAJE C

* RELACIONES DEL “C” CON OTROS LENGUAJES DE PROGRAMACIÓN

FORTRAN (1955)

ANSI C (1985) )

C (1972)

PL/1 (1965)

PASCAL (1970)

ALGOL (1960)

C++ (1985)

Page 7: TUTORIAL LENGUAJE C

#include <stdio.h>

 void main()

{ printf("Curso de Programación en C"); }

 

 

Recuerda:

• Escribe el programa anterior utilizando tu compilador.

• Grábalo con el nombre Prog001.cpp en Tu Carpeta.

• Ejecútalo un par o tres de veces

 

* PRIMEROS PROGRAMAS EN ‘C’

Page 8: TUTORIAL LENGUAJE C

/* */: Todo lo que escribimos entre los símbolos anteriores son “comentarios "que no influyen para nada en la ejecución del programa.

#include <librería.h>: parte donde colocamos las librerías que vamos a usar.

void main() { }: Función o programa principal (main), que no devuelve nada (void).

\n : Es equivalente a un [Return]. Se le llama manipulador de formato.  

* CONCEPTOS PARA RECORDAR

Page 9: TUTORIAL LENGUAJE C

Tipo entero (int): representa números enteros con o sin signo, El tipo de datos entero se define en el lenguaje de programación C por la palabra reservada int. Para definir un tipo de dato en C se escribe lo siguiente:

int nombre_variable = valor;

Tipo real (float): Se emplean para representar números reales (con decimales). Para definir datos reales se antepone la palabra reservada float al identificador de la variable.

float nombre_variable = valor;

Tipo carácter (char): se emplea para representar un carácter, este tipo de dato se antepone la palabra reservada char al identificador de la variable, Una constante tipo char se representa como un solo carácter encerrado entre comillas simples.

Char nombre_variable = ‘valor’;

* DATOS MÁS IMPORTANTES

Page 10: TUTORIAL LENGUAJE C

Tipo cadena de caracteres: una cadena de caracteres es un número de caracteres consecutivos encerrado entre unos delimitadores determinados, que en el lenguaje C son las comillas dobles. Para definir variables de tipo cadena, estas se definen como vectores de caracteres, esto es, anteponiendo la palabra reservada char al identificador de la variable, y después entre corchetes la longitud máxima de cadena.

Char nombre_variable[cantidad] = “ mensaje ”;

long (abreviatura de signed long int = entero largo con signo) : corresponde a un número entero que puede ser mayor (o menor) a un int.

Observa el formato correspondiente: %ld, a diferencia del %d que correspondía a int.

Doublé: numero real de doble precisión

Page 11: TUTORIAL LENGUAJE C

*MEMORIA QUE UTILIZA LOS DATOS

Tipo de dato Descripción memoria

Int Cantidad entera 2 bytes (1palabra )

Char Carácter 1 byte

Float valores reales 4 byte (1 palabra)

Double valores reales de doble precisión 8 bytes (2 palabras)

Void Se utiliza para definir una función que no devuelve ningún valor o declarar punteros genéricos (lo veremos más tarde)

Page 12: TUTORIAL LENGUAJE C

* RANGOS DE DATOSTIPO Número de bits Rango

char 8 -128 a 127unsigned char 8 0 a 255signed char  8 -128 a 127short  16 -32768 a 32767int  16 -32768 a 32767unsigned int  16 0 a 65535signed int  16 -32768 a 32767short int 16 -32768 a 32767unsigned short int 16 0 a 65535signed short int 16 -32768 a 32767long int 32 -2147483648 a 2147483647signed long int 32 -2147483648 a 2147483647unsigned long int 32 0 a 4294967295long 32 -2147483648 a 2147483647unsigned long 32 0 a 4294967295float 32 3.4E-38 a 3.4E+38double 64 1.7E-308 a 1.7E+308

long double64 ó 80 (según

versión).1.7E-308 a 1.7E+308   ó 3.4E-4932 a

1.1E+4932

Page 13: TUTORIAL LENGUAJE C

* FORMATOS DE DATOS

Tipo de dato Formato Comentario

Int %d o %i Entero con signo

Float %f Real con signo

Float %.1fPara escoger la cantidad de decimales solo cambia elnumero

Char %c carácter

Char [n] %s Cadena de caracteres

Page 14: TUTORIAL LENGUAJE C

Elemento o zona de almacenamiento de datos, cuyo valor puede variar en el desarrollo o proceso del programa. El uso de variables en C++ requiere el seguimiento de los siguientes aspectos:

Declaración De Variables: Consiste en escribir una sentencia que proporciona información al compilador de C++ para que este reserve un espacio de almacenamiento en memoria. Toda variable utilizada en un programa debe ser declarada previamente. El procedimiento es el siguiente:

<tipo_de_dato> <nombre_de_variable>; int x;

<tipo_de_dato> <lista_de_variables>; char x, y, z;

<tipo_de_dato> <nombre_de_variable> = valor; int x = 10;

*VARIABLES

Page 15: TUTORIAL LENGUAJE C

Reglas Para Identificar Variables: Toda variable está constituida por un nombre al que llamaremos identificador. Para asignar este identificador deben seguirse las reglas que a continuación se señalan:

• Pueden llevar caracteres alfanuméricos: Letras de la A ala Z > (mayúsculas o minúsculas) y números.

• Deben comenzar por una letra y no por un numero o signo. 

• Solo se acepta el signo _ (guión bajo) dentro del identificador.

• No pueden usarse palabras reservadas como identificadores.

• El numero de caracteres de un identificador no debe sobrepasar la cantidad de 31.

• Es recomendable utilizar identificadores que hagan referencia al dato que almacenan.

Page 16: TUTORIAL LENGUAJE C

Asignación De Valores: Una vez que la variable ha sido definida, esta lista para albergar datos en su interior. Dicho dato solo podrá ser del mismo tipo con el que se ha declarado la variable. Es posible también asignar un valor a una variable al mismo momento de declararla.

int recetaDelMes = 12301;

Tipo de Dato Identificador Valor Asignado

Variables globales: son las que se declaran después del llamado a las cabeceras, pero antes de cualquier función, y son útiles para cualquier parte del programa.

Variables locales: son las que se declaran dentro de una función, y solo sirven para ser usadas dentro de esa función.

Page 17: TUTORIAL LENGUAJE C

Constante: Hace que una variable tome el valor con el que la inicialicemos el cual ya no podrá ser cambiado.

Declaración De Constantes: Constantes declaradas const La palabra reservada const indica que el valor de la variable no se puede modificar. Su sintaxis es la siguiente:

const <tipo_de_dato> <nombre_de_constante> = <valor> ;

Constantes definidas: Se declaran mediante la directiva #define. Su sintaxis es la siguiente:

#define <nombre_de_constante> <valor>

*CONSTANTES

Page 18: TUTORIAL LENGUAJE C

Asignación De Valores: Los valores de una constante se asignan en el mismo momento en que estas son declaradas.

const recetaDelMes = 12301;

Además, las constantes pueden ser:

Números Enteros

Números Reales

Caracteres

Cadenas de Caracteres

Variable Volátil: Indica que el valor de la variable puede cambiar incluso por condiciones eternas al programa que la declara.

Page 19: TUTORIAL LENGUAJE C

Los operadores son elementos que disparan ciertos cálculos cuando son aplicados a variables o a otros objetos en una expresión.

Operando: cada una de las constantes, variables o expresiones que intervienen en una expresión.

Operador: cada uno de los símbolos que indican las operaciones a realizar sobre los operandos, así como los operandos a los que afecta.

Expresión: según el diccionario, "Conjunto de términos que representan una cantidad", para nosotros es cualquier conjunto de operadores y operandos, que dan como resultado un valor.

*OPERADORES

Page 20: TUTORIAL LENGUAJE C

Operadores De Asignación:

Operador

Acción Ejemplo Resultado

= Asignación Básica X=6 X vale 6

*= Asigna Producto X*=5 X vale 30

/= Asigna División x/=2 X vale 3

+= Asigna Suma X+=4 X vale 10

-= Asigna Resta X-=1 X vale 5

%= Asigna Modulo X%=5 X vale 1

<<= Asigna Desplazamiento Izquierda X<<=1 X vale 12

>>= Asigna Desplazamiento Derecha

X>>=1 X vale 3

&= Asigna AND entre Bits X&=1 X vale 0

ˆ= Asigna XOR entre Bits xˆ=1 X vale 7

|= Asigna OR entre Bits X|=1 X vale 7

Page 21: TUTORIAL LENGUAJE C

Operadores aritméticos: Los operadores aritméticos se usan para realizar cálculos y operaciones con números reales y punteros básicamente permiten hacer cualquier operación aritmética que se necesite Los

operadores más comunes son :

Operador

Acción Ejemplo Resultado

- Resta X=5-3; X vale 2

+ Suma X=5+3; X vale 8

* Multiplicación x=2*3; X vale 6

/ División X=6/3; X vale 2

% Modulo X=5%2; X vale 1

-- Decremento X=1;-- X vale 0

++ Incremento X=1;++ X vale 2

Page 22: TUTORIAL LENGUAJE C

Operadores Relacionales: Los operadores relacionales también denominados operadores binarios lógicos y de comparación se utilizan para comprobar la veracidad o falsedad de determinadas propuestas de relación.

Operad

orRelación Ejemplo Resultado

< Menor X=5; y=3; if(x<y) x+1;

X vale 2 Y vale 3

> Mayor X=5; y=3; if(x>y) x+1;

X vale 6 Y vale 3

<= Menor Igual X=5; y=3; if(x<=y) x+1;

X vale 3 Y vale 3

>= Mayor Igual X=5; y=3; if(x>=y) x+1;

X vale 6 Y vale 3

== Igual X=5; y=5; if(x==y) x+1;

X vale 6 Y vale 5

!= Diferente X=5; y=3; if(x!=y) y+1;

X vale 5 Y vale 4

Page 23: TUTORIAL LENGUAJE C

Operadores Lógicos: Los operadores lógicos producen un resultado booleano y sus operandos son también valores lógicos o asimilables a ellos (los valores numéricos son asimilados a cierto o falso según su valor sea cero o distinto de cero) Por el contrario las operaciones entre bits producen valores arbitrarios Los operadores lógicos son tres dos de ellos son binarios y el último (negación).

Operador

Acción Ejemplo

Resultado

&& AND Lógico A && B Si ambos son verdaderos se obtiene verdadero(true).

|| OR Lógico A || B Verdadero si alguno es verdadero

! Negación Lógica !A Negación de a

Page 24: TUTORIAL LENGUAJE C

Operadores De Bits: Los operadores de movimiento son operadores a nivel de bits y lo que hacen es convertir una determinada cantidad a su equivalente en bits para posteriormente realizar un desplazamiento de

dicho valor Estos operadores son:

Operad

orAcción Ejemplo Resultado

<< Desplazamiento a Izquierda A << B X vale 2

>> Desplazamiento a Derecha

X=5+3; X vale 8

˜ Complemento X=2*3; X vale 6

& AND X=2&-2; X vale 2

ˆ XOR X=7ˆ-2 X vale -7

| OR X=6|13 X vale 15

Page 25: TUTORIAL LENGUAJE C

*Contenido*Ciclos y sentencias:

*Vectores

*Matriz

*Punterosejecutable

ejecutable

Page 26: TUTORIAL LENGUAJE C

CICLOS

Un ciclo o bucle permite repetir una o varias instrucciones cuantas veces lo necesitemos.

CICLO FOR: Este ciclo es uno de los mas usados para repetir una secuencia de instrucciones, sobre todo cuando se conoce la cantidad exacta de veces que se quiere que se ejecute una instrucción simple o compuesta.

Su formato general es:

for (inicialización; condición; incremento)

{

instrucción(es);

}

Page 27: TUTORIAL LENGUAJE C

* Ejemplo For:

#include <stdio.h>

#include <conio.h>

void main()

{

int contador;

printf( "\n " );

for ( contador=1 ; contador<=10 ; contador++ )

printf( "%d ", contador );

getch();

}

Page 28: TUTORIAL LENGUAJE C

*Ciclo While: Una sentencia while hace una comparación entre dos valores o la evaluación de un valor. La condición devolverá un valor "true" o "false". Si la condición devuelve un valor verdadero, el bloque de código que sigue a la instrucción while se ejecuta. Una vez finalizada la ejecución, el programa comprueba la sentencia while otra vez, y repite esto hasta que la sentencia while se evalúe como "false«.

Su formato general es:

while (condicion)

{

instrucción(es);

}

Page 29: TUTORIAL LENGUAJE C

#include <stdio.h>

#include <conio.h>

void main()

{

float nota;

printf( "\n Introduzca nota (real): " );

scanf( "%f", &nota );

while ( nota < 0 || nota > 10 )

{

printf( "\n ERROR: Nota

incorrecta, debe ser >= 0 y <=10\n" );

printf( "\n Introduzca nota (real): " );

scanf( "%f", &nota );

}

if ( nota >= 5 )

printf( "\n APROBADO" );

else

printf( "\n SUSPENDIDO" );

getch();

}

Ejemplo:

Page 30: TUTORIAL LENGUAJE C

*Ciclo Do-While: Los ciclos do-while son idénticos a los ciclos while, con una excepción: do-while ejecutará el bloque de código que repite la evaluación antes de la sentencia while.

Su formato general es:

do

{

instrucción(es);

}while (condicion);

Page 31: TUTORIAL LENGUAJE C

Ejemplo:

#include <stdio.h>

#include <conio.h>

void main()

{

char seguir;

int acumulador, numero;

acumulador = 0;

do

{

printf( "\n Introduzca un numero entero: " );

scanf( "%d", &numero);

acumulador += numero;

printf( "\n Desea introducir otro numero (s/n)?: " );

fflush( stdin );

scanf( "%c", &seguir);

} while ( seguir != 'n' );

printf( "\n La suma de los numeros introducidos es: %d",

acumulador );

getch();

}

Page 32: TUTORIAL LENGUAJE C

SENTENCIAS

Una sentencia es cualquier expresión en C que se espera que tenga alguna consecuencia. Pueden ser asignaciones, operaciones, llamadas a funciones o combinaciones de ellas.

*Sentencia If...else: Permite la ejecución condicional de una sentencia.

Su formato general es:

if (condicion)

{

instrucción(es); }

Else

{

instrucción(es); }

Page 33: TUTORIAL LENGUAJE C

Ejemplo:

#include <stdio.h>

#include <conio.h>

void main()

{

float nota;

printf( "\n Introduzca nota (real): " );

scanf( "%f", &nota );

if ( nota >= 5 ){

printf( "\n APROBADO" );}

else{

printf( "\n SUSPENDIDO" );}

getch();

}

Page 34: TUTORIAL LENGUAJE C

* sentencia Switch – Case:Esta sentencia permite seleccionar las acciones a realizar de acuerdo al valor que tome una variable.

Su formato general es:

switch(variable)

{

case valor_1:

//acciones

break;

case valor_2:

//acciones

break;

.

.

case valor_n:

//acciones

break;

defalut:

//acciones

break;

}

Si el valor que toma la variable no coincide con los valores especificados en los casos, se realizarán las acciones definidas en la etiqueta default.

Page 35: TUTORIAL LENGUAJE C

#include "stdio.h"

#include "conio.h"

void main()

{

char seguir;

int opc;

int n1,n2;

do

{

printf (" MENU\n\n");

printf (" 1. Realizar una suma\n");

printf (" 2. Realizar una resta\n\n");

printf (" Elija una opcion\n");

scanf ("%i",&opc);

switch (opc)

{

case 1: printf (" Ingrese un numero\n");

scanf ("%i",&n1);

printf (" Ingrese otro numero\n");

scanf ("%i",&n2);

printf (" La suma de %i y %i es: %i",n1,n2,n1+n2);

break;

case 2: printf (" Ingrese un numero\n");

scanf ("%i",&n1);

printf (" Ingrese otro numero\n");

scanf ("%i",&n2);

printf (" La resta de %i y %i es: %i",n1,n2,n1-n2);

break;

default: printf (" la opcion no es valida\n");

}

fflush(stdin);

printf ("\n\n Desea eleguir otra opcion? S/N\n");

scanf ("%c",&seguir);

clrscr();

}while(seguir!='n');

getch();

}

Ejemplo:

Page 36: TUTORIAL LENGUAJE C

*VECTORESUn vector, también llamado array(arreglo) unidimensional, es una estructura de datos que permite agrupar elementos del mismo tipo y almacenarlos en un solo bloque de memoria juntos, uno después de otro.

La siguiente sintaxis: Tipo nombre[tamaño]

Page 37: TUTORIAL LENGUAJE C

Ejemplo:

#include "stdio.h"

#include "conio.h"

#include "iostream.h"

void main ()

{

char seguir;

int i,num,res;

do

{

printf ("\n Ingrese un numero para generar su tabla ");

scanf ("%d",&num);

for (i=1;i<=10;i++)

{

res=num*i;

printf ("\n %d * %d = %d ",num,i,res);

}

printf ("\n Desea ingresar otro numero S/N ");

fflush( stdin );

scanf ("%c",&seguir);

clrscr();

}while (seguir != 'n');

getch();

}

Page 38: TUTORIAL LENGUAJE C

Una matriz es un vector de vectores o un también llamado array bidimensional.

Su sintaxis es:

Tipo nombre[tamaño de fila][tamaño de columna];

MATRICES

Page 39: TUTORIAL LENGUAJE C

Ejemplo:

#include "stdio.h"#include "conio.h"#include "iostream.h"

void main (){

char seguir;int i,j,num,num1,num2;

do{printf (" Ingrese un numero para generar fila\n");scanf ("%d",&num);printf (" Ingrese un numero para generar columna\n");scanf ("%d",&num1);printf (" Ingrese el numero a repetir\n");scanf("%d",&num2);

for (i=0;i<num;i++){

for(j=0;j<num1;j++){

printf (" %d ",num2);

} printf("\n");}

printf ("\n Desea ingresar otro numero S/N ");fflush( stdin );scanf ("%c",&seguir);clrscr();}while (seguir != 'n');

getch();

}

Page 40: TUTORIAL LENGUAJE C

PROCEDIMENTO

Un procedimiento es un fragmento de código cuya función es la de realizar una tarea específica independientemente del programa en el que se encuentre.

Sintaxis de un procedimiento:

• Cabecera: <tipo> <identificador> ( <parámetros> ) ;• Uso: <tipo><identificador> ( <parámetros> )

{

<sentencias>

}

Page 41: TUTORIAL LENGUAJE C

Ejemplo:

#include "stdio.h"

#include "conio.h"

void maximo(int x,int y)

{

if (x>y)

printf (" El maximo es %d ",x);

else

printf (" El maximo es %d ",y);

}

void main()

{

int a,b,max;

printf (" Escriba un numero\n");

scanf("%d",&a);

printf (" Escriba otro numero\n");

scanf("%d",&b);

maximo(a,b);//llamamos la funcion a=x y b=y

getch();

}

Page 42: TUTORIAL LENGUAJE C

FUNCIONESUna función es exactamente lo mismo que un procedimiento salvo por un detalle, una función puede devolver un valor al programa principal y un procedimiento no.

Sintaxis de un Función:

• Cabecera: <tipo> <identificador> ( <parámetros> ) ;

• Uso: <tipo><identificador> ( <parámetros> ){

<sentencias>

return <valor>;

}

Page 43: TUTORIAL LENGUAJE C

Ejemplo:

#include "stdio.h"

#include "conio.h"

int maximo(int x,int y)

{

if (x>y)

return x;

else

return y;

}

void main()

{

int a,b,max;

Printf (" Escriba un numero\n");

scanf("%d",&a);

printf(" Escriba otro numero\n");

scanf("%d",&b);

max=maximo(a,b);//llamamos la funcion a=x y b=y

printf (" el maximo es %d",max);

getch();

}

Page 44: TUTORIAL LENGUAJE C

PUNTEROSEl valor de todas las variables que manejamos en nuestros programas se almacenan en memoria y tienen una dirección. Un puntero es una variable especial que apunta a la dirección de memoria de una variable.

Su sintaxis es : <tipo> *<nombre>;

Page 45: TUTORIAL LENGUAJE C

Ejemplo:

#include <stdio.h>

#include <conio.h>

#define x 10

void main()

{

int *pt,v[x],num,i;// *pt: es un puntero.

printf (" Digite un numero ");

scanf ("%i",&num);

for (i=0;i<num;i++)

{

v[i]=num*(i+1);

}

pt=&v[0];

for (i=0;i<num;i++)

{

printf (" v[%i] = %i \n",i,*pt);

pt++;

}

getch();

}

Page 46: TUTORIAL LENGUAJE C

//PROGRAMA: la serie de Fibonacci

#include <stdio.h>

#include <conio.h>

int main()

{

int i,j,k,t,n;

n=15;//final de la serie

i=0; j=1; //asignacion necesaria

printf("%d,%d,",i,j);

//imprimimos los 2 primeros valores

for(k=1;k<n;k++){ //Si n = 3 entonces k va a parar cuando llegue a 2

t=i+j;

(k>n-2)?printf("%d.",t):printf("%d,",t);

i=j;

j=t;

}

getch();

}

Page 47: TUTORIAL LENGUAJE C

//PROGRAMA: M.C.D de dos Numeros

#include "stdio.h"

#include "conio.h"

#include "iostream.h"

void main()

{

int x,y,r;

printf ("\n Maximo comun divisor de dos numeros \n");

printf ("\n Ingrese primer numero en X ");

scanf("%d", &x);

printf ("\n Ingrese segundo numero en Y ");

scanf("\n%d", &y);

r=x%y;

while(r>0)

{

x=y;

y=r;

r=x%y;

}

printf(" \n El MCD es %d", y);

getch();

}

Page 48: TUTORIAL LENGUAJE C

//PROGRAMA: M.C.M de dos Números

#include "stdio.h"

#include "conio.h"

#include "iostream.h"

void main()

{

int a, b, x, y, m=1, i=2;

printf ("\n Mínimo común múltiplo\n ");

printf ("\n Ingrese primer numero: X ");

scanf("%d",&x);

printf ("\n Ingrese segundo numero: Y ");

scanf("\n%d",&y);

if (x<y){a=x; b=y;} else {a=y; b=x;}

do{

if (a%i==0){

if(b%i==0){

m=m*i;

a=a/i; b=b/i; i=2;

}

else i++;

}

else i++;

} while(i<=a);

m=m*b*a;

printf ("\n El MCM es %d",m);

getch();

}

Page 49: TUTORIAL LENGUAJE C

PRIMO O NO PRIMO:

// PROGRAMA:N° PRIMO O N° NO PRIMO

#include "stdio.h"

#include "conio.h"

#include "iostream.h"

void main()

{

int num,i;

int a=0;

printf (" \nIngrese un numero ");

scanf ("%d",&num);

for (i=1;i<(num+1);i++)

{

if (num%i==0)

{

a++;

}

}

if (a==2)

{

printf ("El numero %d es: Primo",num);

}

else

{

printf ("El numero %d es: No primo",num);

}

getch();

}

Page 50: TUTORIAL LENGUAJE C

TABLA DE MULTIPLICAR:

//PROGRAMA: TABLA DE MULTIPLICAR CON CONDICION

#include "stdio.h"

#include "conio.h"

#include "iostream.h"

void main ()

{

char seguir;

int i,num,res;

do

{

printf ("\n Ingrese un numero para generar su tabla ");

scanf ("%d",&num);

for (i=1;i<=10;i++)

{

res=num*i;

printf ("\n %d * %d = %d ",num,i,res);

}

printf ("\n Desea ingresar otro numero S/N ");

fflush( stdin );

scanf ("%c",&seguir);

clrscr();

}while (seguir != 'n');

getch();

}

Page 51: TUTORIAL LENGUAJE C

}

else

{

printf ("El numero %d es: No primo",num);

}

}//

else if (opc==2)

{

int i,j,k,t,n;

n=15;

i=0; j=1;

printf("%d,%d,",i,j);

for(k=1;k<n;k++){

t=i+j;

(k>n-2)?printf("%d.",t):printf("%d,",t);

i=j;

j=t;

}

}//

else if (opc==3)

{

int a, b, x, y, m=1, i=2;

printf ("\n Minimo comun multiplo\n ");

printf ("\n Ingrese primer numero: X ");

scanf("%d",&x);

printf ("\n Ingrese segundo numero: Y ");

scanf("\n%d",&y);

if (x<y){a=x; b=y;} else {a=y; b=x;}

do{

if (a%i==0){

if(b%i==0){

Page 52: TUTORIAL LENGUAJE C

m=m*i;

a=a/i; b=b/i; i=2;

}

else i++;

}

else i++;

} while(i<=a);

m=m*b*a;

printf ("\n El MCM es %d",m);

}//

else if (opc==4)

{

int x,y,r;

printf ("\n Maximo comun divisor de dos numeros \n");

printf ("\n Ingrese primer numero en X ");

scanf("%d", &x);

printf ("\n Ingrese segundo numero en Y ");

scanf("\n%d", &y);

r=x%y;

while(r>0)

{

x=y;

y=r;

r=x%y;

}

printf(" \n El MCD es %d", y);

}//

else if (opc==5)

{

int i,num,res;

printf ("\n Ingrese un numero para generar su tabla ");

scanf ("%d",&num);

for (i=1;i<=10;i++)

{

res=num*i;

printf ("\n %d * %d = %d ",num,i,res);

}

}//

printf ("\n\n Desea ingresar otra opcion? S/N ");

fflush( stdin );

scanf ("%c",&seguir);

clrscr();

}while (seguir!= 'n');

printf ("\n\n GRASIAS... vuelva pronto");

getch();

}

Page 53: TUTORIAL LENGUAJE C

TABLA DE MULTIPLICAR CON MENU:

#include "stdio.h"

#include "conio.h"

void main()

{

clrscr();

int i,j,n=0,r,opc;

inicio:

printf (" °°°°°°°°°°°°°°° MENU °°°°°°°°°°°°°°°\n\n");

printf (" 1. Para que aparesca todos los #.\n");

printf (" 2. Para que aparescan los # pares.\n");

printf (" 3. Para que aparescan los # impares.\n");

printf (" 4. Para que aparescan los # < 20.\n");

printf (" 5. Para que aparescan los # entre 20 y 50.\n");

printf (" 6. Para que aparescan los # entre 51 y 80.\n");

printf (" 7. Para que aparescan los # > 81.\n\n");

printf (" Elija una opcion... ");

scanf ("%d",&opc);

printf ("Ingrese el limite ");

scanf ("%d",&n);

clrscr();

switch (opc)

{

case 1:

for (i=1;i<=n;i++)

{

for (j=1;j<=10;j++)

{

r=i*j;

printf (" %d - ",r);

}

printf ("\n");

}break;

case 2:

for (i=1;i<=n;i++)

{

for (j=1;j<=10;j++)

{

if (i%2==0)

{

r=i*j;

printf (" %d - ",r);

}

}

printf ("\n");

}

break;

case 3:

for (i=1;i<=n;i++)

{

for (j=1;j<=10;j++)

{

if (i%2!=0)

{

r=i*j;

printf (" %d - ",r);

}

Page 54: TUTORIAL LENGUAJE C

}

printf ("\n");

}

break;

case 3:

for (i=1;i<=n;i++)

{

for (j=1;j<=10;j++)

{

if (i%2!=0)

{

r=i*j;

printf (" %d - ",r);

}

}

printf ("\n");

}

break;

case 4:

for (i=1;i<=n;i++)

{

for (j=1;j<=10;j++)

{

if (i<=20)

{

r=i*j;

printf (" %d - ",r);

}

}

printf ("\n");

}

break;

case 5:

for (i=21;i<=n;i++)

{

for (j=1;j<=10;j++)

{

if (i<=50){

r=i*j;

printf (" %d - ",r);

}

}

printf ("\n");

}

break;

case 6:

for (i=51;i<=n;i++)

{

for (j=1;j<=10;j++)

{

if ( i<80)

{

r=i*j;

printf (" %d - ",r);

}

}

printf ("\n");

}

break;

case 7:

for (i=81;i<=n;i++)

{

for (j=1;j<=10;j++)

{

r=i*j;

printf (" %d - ",r);

}

printf ("\n");

}

break;

}//switch

r=0;

getch();

}

Page 55: TUTORIAL LENGUAJE C

TALLER CINCO:

#include "stdio.h"

#include "conio.h"

#include <stdlib.h>

int main()

{

int opc;

printf (" °°°°°°°°°°°°°°° MENU °°°°°°°°°°°°°°°\n\n");

printf ("1. Numero Capicua\n");

printf ("2. Tabla de Multiplicar\n");

printf ("3. Salir\n\n");

printf ("Ingrese el numero de la opcion que desea realizar\n");

scanf ("%d",&opc);

if (opc==1)

{

int num[5];

long int n, n_temp;

int aux1, aux2, i;

i = 0;

aux1 = 0;

inicio:

printf(" Introduzca el numero para analizar si es capicua o no \n");

printf (" El numero debe ser menor que 100.000 y mayor que 9\n");

scanf("%i", &n);

printf("\n");

if (n>=100000 || n<=9){

printf (" El numero ingresado no cumple con los requisitos.\n");

printf (" Presione una tecla para continuar...");

getch();

clrscr();

goto inicio;

}

n_temp = n;

Page 56: TUTORIAL LENGUAJE C

GRASIAS POR SU

ATENCION