SlideShare una empresa de Scribd logo
1 de 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
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.
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.
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.
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.
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.
• 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> ]
}
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;
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.
PROGRAMA EN C
#include "stdafx.h"
#include "stdafx.h"
#include "string.h"
#include <stdio.h>
#include <stdlib.h>
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");
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;
printf("n");
printf("LA SUMA DE LOS DIGITOS DE SU CEDULA ES:t%dn", acumulador);
printf("n");
printf("EL DIGITO VERIFICADOR ES:t%dn", verificador);
printf("n");
}
if (int(cedula[9] - 48) == verificador)
{
printf("LA CEDULA ES VALIDA n");
printf("n");
if (int(cedula[0] - 48) == 1)
{
{
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:
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;
}
}
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;
}
}
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;
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;
}
}
}
}
printf("n");
printf("-----------------------------------------------------------------------");
}
else
{
printf("LA CEDULA QUE INGRESO ES ES FALSA");
printf("n");
}
}
printf("n");
getchar();
getchar();
return 0;
}

Más contenido relacionado

La actualidad más candente

Variables y Constantes en C++
Variables y Constantes en C++Variables y Constantes en C++
Variables y Constantes en C++
ivanjvic
 
Propiedades del algebra de boole
Propiedades del algebra de boolePropiedades del algebra de boole
Propiedades del algebra de boole
D'Ander
 
Formatos de instrucción
Formatos de instrucciónFormatos de instrucción
Formatos de instrucción
Santiago Rozo
 
Comandos ddl y dml
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dml
Gerardo
 
Ejercicios condicionales simples
Ejercicios condicionales simplesEjercicios condicionales simples
Ejercicios condicionales simples
Ecler Mamani Vilca
 

La actualidad más candente (20)

03 - Cadenas en Python 3
03 - Cadenas en Python 303 - Cadenas en Python 3
03 - Cadenas en Python 3
 
Interrupciones
InterrupcionesInterrupciones
Interrupciones
 
Variables y Constantes en C++
Variables y Constantes en C++Variables y Constantes en C++
Variables y Constantes en C++
 
Propiedades del algebra de boole
Propiedades del algebra de boolePropiedades del algebra de boole
Propiedades del algebra de boole
 
Presentación JavaScript
Presentación JavaScriptPresentación JavaScript
Presentación JavaScript
 
Estructuras de control en Visual Basic
Estructuras de control en Visual BasicEstructuras de control en Visual Basic
Estructuras de control en Visual Basic
 
Estructuras en c++
Estructuras en c++Estructuras en c++
Estructuras en c++
 
Ejercicio de estructuras_condicionales
Ejercicio de estructuras_condicionalesEjercicio de estructuras_condicionales
Ejercicio de estructuras_condicionales
 
Formatos de instrucción
Formatos de instrucciónFormatos de instrucción
Formatos de instrucción
 
8.Clases y objetos Java
8.Clases y objetos Java8.Clases y objetos Java
8.Clases y objetos Java
 
Neo4j - A Graph Database
Neo4j - A Graph DatabaseNeo4j - A Graph Database
Neo4j - A Graph Database
 
Ordenamiento burbuja
Ordenamiento burbujaOrdenamiento burbuja
Ordenamiento burbuja
 
Comandos ddl y dml
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dml
 
Estructuras de Datos (Arreglos)
Estructuras de Datos (Arreglos)Estructuras de Datos (Arreglos)
Estructuras de Datos (Arreglos)
 
Arreglos - Assembler
Arreglos - AssemblerArreglos - Assembler
Arreglos - Assembler
 
Algoritmos 50 ejemplos (1)
Algoritmos 50 ejemplos (1)Algoritmos 50 ejemplos (1)
Algoritmos 50 ejemplos (1)
 
Ejercicios condicionales simples
Ejercicios condicionales simplesEjercicios condicionales simples
Ejercicios condicionales simples
 
Ejercicios de algoritmos
Ejercicios de algoritmosEjercicios de algoritmos
Ejercicios de algoritmos
 
Fundamentos de Programación
Fundamentos de ProgramaciónFundamentos de Programación
Fundamentos de Programación
 
Características de MySQL
Características de MySQLCaracterísticas de MySQL
Características de MySQL
 

Destacado (6)

Curso java
Curso javaCurso java
Curso java
 
52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo
 
MAPS DOCUMENTOS
MAPS DOCUMENTOSMAPS DOCUMENTOS
MAPS DOCUMENTOS
 
Presentación1
Presentación1Presentación1
Presentación1
 
Captura de datos y mensajes Interfaz - JAVA
Captura de datos y mensajes Interfaz - JAVACaptura de datos y mensajes Interfaz - JAVA
Captura de datos y mensajes Interfaz - JAVA
 
Referencia personal
Referencia personalReferencia personal
Referencia personal
 

Similar a VERIFICAR CÉDULA DE IDENTIDAD

Presentacion1 lenguaje de-programacion_c
Presentacion1 lenguaje de-programacion_cPresentacion1 lenguaje de-programacion_c
Presentacion1 lenguaje de-programacion_c
Monica Martinez
 
Estructura De Un Programa
Estructura De Un ProgramaEstructura De Un Programa
Estructura De Un Programa
Lisb
 
Tipos de datos usados en lenguaje C
Tipos de datos usados en lenguaje CTipos de datos usados en lenguaje C
Tipos de datos usados en lenguaje C
efrenpedro92
 
Tipos de datos usados en c
Tipos de datos usados en cTipos de datos usados en c
Tipos de datos usados en c
lagq
 

Similar a VERIFICAR CÉDULA DE IDENTIDAD (20)

Introduccion al lenguaje c
Introduccion al lenguaje cIntroduccion al lenguaje c
Introduccion al lenguaje c
 
Introduccion al lenguaje c_EderHenriquez
Introduccion al lenguaje c_EderHenriquezIntroduccion al lenguaje c_EderHenriquez
Introduccion al lenguaje c_EderHenriquez
 
Pascal
PascalPascal
Pascal
 
Programar java
Programar javaProgramar java
Programar java
 
Programar java
Programar javaProgramar java
Programar java
 
Los 100 fuegos
Los 100 fuegosLos 100 fuegos
Los 100 fuegos
 
Desarrollo aplicaciones visuales
Desarrollo aplicaciones visualesDesarrollo aplicaciones visuales
Desarrollo aplicaciones visuales
 
Desarrollo aplicaciones visuales
Desarrollo aplicaciones visualesDesarrollo aplicaciones visuales
Desarrollo aplicaciones visuales
 
Desarrollo aplicaciones visuales
Desarrollo aplicaciones visualesDesarrollo aplicaciones visuales
Desarrollo aplicaciones visuales
 
Los 5 fantasticos
Los 5 fantasticosLos 5 fantasticos
Los 5 fantasticos
 
Introducción a los Lenguaje de Programación.pptx
Introducción a los Lenguaje de Programación.pptxIntroducción a los Lenguaje de Programación.pptx
Introducción a los Lenguaje de Programación.pptx
 
Recuperacin 333333
Recuperacin 333333Recuperacin 333333
Recuperacin 333333
 
Presentacion1 lenguaje de-programacion_c
Presentacion1 lenguaje de-programacion_cPresentacion1 lenguaje de-programacion_c
Presentacion1 lenguaje de-programacion_c
 
Estructura De Un Programa
Estructura De Un ProgramaEstructura De Un Programa
Estructura De Un Programa
 
Curso c++
Curso c++Curso c++
Curso c++
 
Programacion
ProgramacionProgramacion
Programacion
 
Tipos de datos usados en lenguaje C
Tipos de datos usados en lenguaje CTipos de datos usados en lenguaje C
Tipos de datos usados en lenguaje C
 
Tipos de datos usados en c
Tipos de datos usados en cTipos de datos usados en c
Tipos de datos usados en c
 
!Prograc6
!Prograc6!Prograc6
!Prograc6
 
Guía de Algoritmo y Programación en C
Guía de Algoritmo y Programación en CGuía de Algoritmo y Programación en C
Guía de Algoritmo y Programación en C
 

Último

PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
EduardoJosVargasCama1
 

Último (20)

Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
PP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomasPP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomas
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuela
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
 
La Evaluacion Formativa SM6 Ccesa007.pdf
La Evaluacion Formativa SM6  Ccesa007.pdfLa Evaluacion Formativa SM6  Ccesa007.pdf
La Evaluacion Formativa SM6 Ccesa007.pdf
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
Novena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan EudesNovena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan Eudes
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 

VERIFICAR CÉDULA DE IDENTIDAD

  • 1. 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
  • 2. 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.
  • 3. 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.
  • 4. 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.
  • 5. 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.
  • 6. 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.
  • 7. • 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> ] }
  • 8. 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;
  • 9. 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.
  • 10. PROGRAMA EN C #include "stdafx.h" #include "stdafx.h" #include "string.h" #include <stdio.h> #include <stdlib.h>
  • 11. 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");
  • 12. 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;
  • 13. printf("n"); printf("LA SUMA DE LOS DIGITOS DE SU CEDULA ES:t%dn", acumulador); printf("n"); printf("EL DIGITO VERIFICADOR ES:t%dn", verificador); printf("n"); } if (int(cedula[9] - 48) == verificador) { printf("LA CEDULA ES VALIDA n"); printf("n"); if (int(cedula[0] - 48) == 1) {
  • 14. { 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:
  • 15. 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; } }
  • 16. 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; } }
  • 17. 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;
  • 18. 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; } } } }
  • 19. printf("n"); printf("-----------------------------------------------------------------------"); } else { printf("LA CEDULA QUE INGRESO ES ES FALSA"); printf("n"); } } printf("n"); getchar(); getchar(); return 0; }