los 100 fuegos

19
PROYECTO: VERIFICAR CÉDULA DE IDENTIDAD INTEGRANTES: ROY TORRES ANDRÉS IPIALES JESSY CANCÁN BRYAN FERNÁNDEZ UNIVERSIDAD CENTRAL DEL ECUADOR INGENIERÍA MATEMÁTICA PROGRAMACIÓN I

Upload: brenda-jazmin

Post on 18-Aug-2015

22 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Los 100 fuegos

  

PROYECTO:VERIFICAR CÉDULA DE IDENTIDAD

  

INTEGRANTES: •ROY TORRES

•ANDRÉS IPIALES •JESSY CANCÁN

•BRYAN FERNÁNDEZ

UNIVERSIDAD CENTRAL DEL ECUADORINGENIERÍA MATEMÁTICA

PROGRAMACIÓN I

Page 2: Los 100 fuegos

RESUMEN

• El presente proyecto académico, muestra algunos ejemplos de programas relacionados con la teoría vista en clases. Además mostramos un poco de conceptos básicos relacionados también con los ciclos, contadores, acumuladores y vectores, que nos ayudan como una herramienta extra para comprender mejor la programación.

Page 3: Los 100 fuegos

INTRODUCCIÓN

•El proyecto académico está dirigido a estudiar y comprender la forma en cómo se trabaja en programación con ciclos repetitivos, acumuladores y contadores. Para lo cual se diseñará y empleará una página web en donde se explica nuestro ejemplo usando las herramientas nombras.

Page 4: Los 100 fuegos

OBJETIVO

•Estudiar y comprender los ciclos repetitivos, contadores, acumuladores y vectores, su uso para poder tener mayores facilidades a la hora de resolver ciertos algoritmos que requieren de estas estructuras.Codificar una tarea sencilla convenientemente especificada utilizando lo estudiado.Crear un programa que facilite el registro de números de cedula y verificar si estos son o no reales.

Page 5: Los 100 fuegos

MARCO TEÓRICO

ALGORITMO DE VERIFICACION DE CEDULA ECUATORIANA

• CICLOS REPETITIVOS

Los ciclos repetitivos también llamados lazos o bucles permiten repetir una operación o secuencia de operaciones en función de ciertas condiciones. Es un segmento de un algoritmo o programa cuyas instrucciones se repiten un número determinado de veces mientras se cumpla una determinada condición. Dentro de los ciclos se utilizan contadores y acumuladores, que regulan que el ciclo llegue a su fin.

Page 6: Los 100 fuegos

ACUMULADORES

• El concepto de acumulador guarda relación estrecha con el de contador. Podríamos decir que el contador es un tipo específico de acumulador. Definiremos acumulador como un elemento cuyo contenido actual se genera a partir de su contenido precedente. En general, los valores del acumulador se van generando a través de sumas (o restas) sucesivas. Casos particulares serían los de generación de valores a partir de multiplicaciones (o divisiones) u otras operaciones matemáticas.

Page 7: Los 100 fuegos

• USO DEL SWITCH

Una instrucción switch (alternativa múltiple) permite seleccionar, por medio de una expresión, el siguiente bloque de instrucciones a ejecutar de entre varios posibles. En lenguaje C, para escribir una instrucción alternativa múltiple (switch) se utiliza la sintaxis:

switch ( <expresión> )

{

case <expresión_1> : [ <bloque_de_instrucciones_1> ]

[ break; ]

case <expresión_2> : [ <bloque_de_instrucciones_2> ]

[ break; ]

case <expresión_n> : [ <bloque_de_instrucciones_n> ]

[ break; ]

[ default : <bloque_de_instrucciones_n+1> ]

}

Page 8: Los 100 fuegos

INICIALIZACIÓN DE UN ARRAY

TIPO NOMBRE[TAMAÑO] = {A, B, C,…};

• El número de valores entre llaves tiene que ser menor o igual al tamaño.

-Si es menor el resto de los valores se quedan sin inicializar.

• Existe una forma alternativa:

TIPO NOMBRE[ ] = {A, B, C,…};

• Si no se especifica el tamaño se reservarán tantos espacios como elementos haya entre llaves.

ACCESO A LOS ELEMENTOS DE UN ARRAY

Para un array de tamaño N y nombre V accederemos al elemento i como V[i].

Ese valor puede ser leído (imprimido, asignado a otra variable,…) o modificado (dándole un valor) como cualquier otra variable.

V[I] = VALOR;

Page 9: Los 100 fuegos

VECTORES ARRAYS O ARREGLOS

• En C a los vectores también se les llama arrays o arreglos.

• Los arrays son:

-Conjuntos de variables del mismo tipo.

-Que tienen el mismo nombre.

-Y se diferencian en el índice.

• Es un modo de manejar una gran cantidad de datos del mismo tipo bajo un mismo nombre o identificador.

DECLARACIÓN DE UN ARRAY

TIPO NOMBRE[TAMAÑO];

• Tipo: Tipo que tienen el conjunto de variables int, float, double,…

• Nombre: Identificador con el nombre del array

• Tamaño: Cantidad de espacios de memoria que queremos reservar para este array

-Importante: Debe ser un entero constante, conocido en tiempo de compilación.

Page 10: Los 100 fuegos

PROGRAMA EN C

#include "stdafx.h"#include "stdafx.h"#include "string.h"#include <stdio.h>#include <stdlib.h>

Page 11: Los 100 fuegos

int _tmain(int argc, _TCHAR* argv[]){int coeficientes[10] = { 2, 1, 2, 1, 2, 1, 2, 1, 2, 0 };char cedula[20];int i, temporal[20], multiplicacion, acumulador, verificador, a, b, c, j, dimension;printf("***********PROGRAMA VERIFICADOR DE CEDULAS***********");printf("\n");printf("INGRESE CON CUANTAS CEDULAS DESEA TRABAJAR");scanf_s("%d", &dimension);fflush(stdin);system("cls");

Page 12: Los 100 fuegos

for (j = 0; j < dimension; j++)

{

printf("POR FAVOR INGRESE EL NUMERO DE CEDULA QUE DESEE COMPROBAR");

gets_s(cedula);

acumulador = 0;

i = 0;

while (i<10)

{

temporal[i] = int(cedula[i] - 48);

multiplicacion = temporal[i] * coeficientes[i];

if (multiplicacion>9)

{

multiplicacion = multiplicacion - 9;

}

acumulador = acumulador + multiplicacion;

i = i + 1;

}

a = (acumulador / 10);

b = a + 1;

c = b * 10;

verificador = c - acumulador;

Page 13: Los 100 fuegos

printf("\n");

printf("LA SUMA DE LOS DIGITOS DE SU CEDULA ES:\t%d\n", acumulador);

printf("\n");

printf("EL DIGITO VERIFICADOR ES:\t%d\n", verificador);

printf("\n");

}

if (int(cedula[9] - 48) == verificador)

{

printf("LA CEDULA ES VALIDA \n");

printf("\n");

if (int(cedula[0] - 48) == 1)

{

Page 14: Los 100 fuegos

{

printf("LA CEDULA ES VALIDA \n");

printf("\n");

if (int(cedula[0] - 48) == 1)

{

switch (cedula[1] - 48)

{

case 0:

printf("USTED PERTENECE A LA PROVINCIA DE IMBABURA");

break;

case 1:

printf("USTED PERTENECE A LA PROVINCIA DE LOJA");

break;

case 2:

printf("USTED PERTENECE A LA PROVINCIA DE LOS RIOS");

break;

case 3:

printf("USTED PERTENECE A LA PROVINCIA DE MANABI");

break;

case 4:

Page 15: Los 100 fuegos

printf("USTED PERTENECE A LA PROVINCIA DE MORONA SANTIAGO");

break;

case 5:

printf("USTED PERTENECE A LA PROVINCIA DE NAPO");

break;

case 6:

printf("USTED PERTENECE A LA PROVINCIA DE PASTAZA");

break;

case 7:

printf("USTED PERTENECE A LA PROVINCIA DE PICHINCHA");

break;

case 8:

printf("USTED PERTENECE A LA PROVINCIA DE TUNGURAHUA");

break;

case 9:

printf("USTED PERTENECE A LA PROVINCIA DE ZAMORA CHINCHIPE");

break;

}

}

Page 16: Los 100 fuegos

else

{

if (int(cedula[0] - 48) == 2)

{

switch (cedula[1] - 48)

{

case 0:

printf("USTED PERTENECE A LA PROVINCIA DE GALAPAGOS");

break;

case 1:

printf("USTED PERTENECE A LA PROVINCIA DE SUCUMBIOS");

break;

case 2:

printf("USTED PERTENECE A LA PROVINCIA DE ORELLANA");

break;

case 3:

printf("USTED PERTENECE A LA PROVINCIA DE SANTO DOMINGO");

break;

case 4:

printf("USTED PERTENECE A LA PROVINCIA DE SANTA ELENA");

break;

}

}

Page 17: Los 100 fuegos

else

{

if (int(cedula[0] - 48) == 0)

{

switch (cedula[1] - 48)

{

case 1:

printf("USTED PERTENECE A LA PROVINCIA DE AZUAY");

break;

case 2:

printf("USTED PERTENECE A LA PROVINCIA DE BOLIVAR");

break;

case 3:

printf("USTED PERTENECE A LA PROVINCIA DE CAÑAR");

break;

case 4:

printf("USTED PERTENECE A LA PROVINCIA DE CARCHI");

break;

Page 18: Los 100 fuegos

case 5:

printf("USTED PERTENECE A LA PROVINCIA DE COTOPAXI");

break;

case 6:

printf("USTED PERTENECE A LA PROVINCIA DE CHIMBORAZO");

break;

case 7:

printf("USTED PERTENECE A LA PROVINCIA DEL ORO");

break;

case 8:

printf("USTED PERTENECE A LA PROVINCIA DE ESMERALDAS");

break;

case 9:

printf("USTED PERTENECE A LA PROVINCIA DE GUAYAS");

break;

}

}

}

}

Page 19: Los 100 fuegos

printf("\n"); printf("-----------------------------------------------------------------------"); } else { printf("LA CEDULA QUE INGRESO ES ES FALSA"); printf("\n"); } } printf("\n"); getchar(); getchar(); return 0;}