Nombre :angel de jesus fernandez galindo
Fecha:02/03/2024
Carrera : desarrollo de software
Materia: PROGRAMACIÓN ESTRUCTURADA
Nombre de la actividad: Actividad 1.2.2
Nombre completo de tu profesor: angelberto
Codificación
/*
Angel de jesus fernandez galindo
centro de enseñansa tecnica industrial
tonala.jalisco
2D1
turno matutino
carrera desarrollo de software
05/03/2024
*/
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
int main() {//INICIO
char curp[19]; // La CURP tiene una longitud máxima de 18 caracteres + 1 para el terminador
nulo
char sexo;
char estado_nacimiento[4]; // Se incluye un espacio adicional para el terminador nulo
// Solicitar la CURP al usuario
printf("Ingrese la CURP (en mayusculas): ");
scanf("%s", curp);
// Obtener el sexo y el estado de nacimiento de la CURP
sexo = curp[10];
estado_nacimiento[0] = curp[11];
estado_nacimiento[1] = curp[12];
estado_nacimiento[3] = '\0'; // Asegurar que la cadena esté terminada correctamente
// Determinar si es hombre o mujer
if (sexo == 'H') {
printf("La persona es Hombre.\n");
} else if (sexo == 'M') {
printf("La persona es Mujer.\n");
} else {
printf("No se pudo determinar el sexo.\n");
}
// Mostrar el estado de nacimiento
printf("El estado de nacimiento es: %s\n", estado_nacimiento);
return 0;
}//FIN
Funcionamiento
Palabras que inician con una bocal
Codificacion
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
int main(){//inicio de programa
char frases[10][30];
int pos,Nfrases,longi,contador;
//leer la cantidad de frases
puts("ingrese numero de frases");
scanf("%d",&Nfrases);
//leer frases
pos=0;
while(pos<Nfrases){
printf("ingrese frase [%d] ",pos);
fflush(stdin);//limpiar bufer
gets(frases[pos]);
pos=pos+1;
}
//mostrar las palabras y su longitud/
//Longitud ------> uso de strlen(cad)
//imprimir las frases leeidas
for(pos=0;pos<Nfrases;pos=pos+1){
longi=strlen(frases[pos]);
printf("\n sus frase son : %s tiene %d
caracteres\n",frases[pos],longi);
}
contador=0;
for(pos=0;pos<Nfrases;pos++){
if(frases[pos][0]=='a'||frases[pos][0]=='A'){
contador=contador+1;
}
}
printf("\n%d inician con la letra a o A\
n",contador);
printf("\n programa hecho por angel fernandez");
return(0);
}//fin de el programa
Funcionamiento
La lista de palabras en el orden que se capturaron
con su longitud de caracteres
Codificacion
/*
leer entre 1 y 10 palabras
mostrar las palabras con su longitud
*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
int main(){//inicio de programa
char frases[10][30];
int pos,Nfrases,longi;
//leer la cantidad de frases
puts("ingrese numero de frases");
scanf("%d",&Nfrases);
//leer frases
pos=0;
while(pos<Nfrases){
printf("ingrese frase [%d] ",pos);
fflush(stdin);//limpiar bufer
gets(frases[pos]);
pos=pos+1;
}
//mostrar las palabras y su longitud/
//Longitud ------> uso de strlen(cad)
//imprimir las frases leeidas
puts("\nfrses con su longitud \n");
for(pos=0;pos<Nfrases;pos=pos+1){
longi=strlen(frases[pos]);
printf("\n sus frase son : %s tiene %d
caracteres\n",frases[pos],longi);
}
printf("\n programa hecho por angel fernandez");
return(0);
}//fin de el programa
Funcionamiento
La lista de palabras en forma inversa a cómo se
capturaron
Codificacion
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
int main(){//inicio de programa
char frases[10][30];
int pos,Nfrases;
//leer la cantidad de frases
puts("ingrese numero de frases");
scanf("%d",&Nfrases);
//leer frases
pos=0;
while(pos<Nfrases){
printf("ingrese frase [%d] ",pos);
fflush(stdin);//limpiar bufer
gets(frases[pos]);
pos=pos+1;
//imprimir las frases leeidas
printf("\n uso de for \n");
for(pos=0;pos<Nfrases;pos=pos+1){
printf("\n sus frase son : %s",frases[pos]);
printf("\n*********************************************************************\n");
printf("\n uso de do while\n");
pos=0;
do{
printf("\n sus frase son : %s",frases[pos]);
pos=pos+1;
}while(pos<Nfrases);
printf("\n*********************************************************************\n");
printf("\n uso de while\n");
pos=0;
while(pos<Nfrases){
printf("\n sus frase son : %s",frases[pos]);
pos=pos+1;
printf("\n*********************************************************************\n");
//imprime frases en forma inversa
pos=Nfrases-1;
do{
printf("\n sus frase son : %s",frases[pos]);
pos=pos-1;
}while(pos>=0);
printf("\n programa hecho por angel fernandez");
return(0);
}//fin de el programa
Funcionamiento
Investigación
¿Qué diferencia existe entre un arreglo vector (unidimensional) y un arreglo matriz
(bidimensional)?
Un arreglo unidimensional (vector) es una estructura de datos que contiene
una secuencia de elementos del mismo tipo, mientras que un arreglo
bidimensional (matriz) es una estructura que organiza los elementos en filas
y columnas, formando una tabla o cuadrícula.
La diferencia principal radica en la forma en que se accede a los elementos.
En un arreglo unidimensional, se utiliza un solo índice para acceder a un
elemento, mientras que en un arreglo bidimensional, se utilizan dos índices:
uno para la fila y otro para la columna.
¿Cómo se representan gráficamente los arreglos unidimensionales y bidimensionales?
Un arreglo unidimensional (vector) se representa gráficamente como una
línea de elementos dispuestos uno tras otro.
Un arreglo bidimensional (matriz) se representa gráficamente como una
tabla rectangular, con filas y columnas que contienen los elementos.
¿Cómo se declaran los arreglos?
Para almacenar números enteros
int arreglo_enteros[10]; // Arreglo unidimensional de 10 elementos
int matriz_enteros[3][3]; // Matriz bidimensional de 3x3 elementos
Para almacenar números flotantes
float arreglo_flotantes[10]; // Arreglo unidimensional de 10 elementos
float matriz_flotantes[3][3]; // Matriz bidimensional de 3x3 elementos
Para almacenar caracteres (cadenas o strings):
char arreglo_caracteres[50]; // Arreglo unidimensional de 50 caracteres
char matriz_caracteres[3][10]; // Matriz bidimensional de 3 filas con cadenas de hasta 10
caracteres
¿Cómo se almacenan y recuperan los datos en un arreglo de números enteros o flotantes?
Para almacenar y recuperar datos en un arreglo de números enteros o flotantes, se utiliza el índice
correspondiente al elemento deseado. Por ejemplo:
arreglo_enteros[0] = 10; // Almacena el valor 10 en el primer elemento del arreglo
int valor = arreglo_enteros[0]; // Recupera el valor almacenado en el primer elemento
¿Cómo se lee un arreglo de caracteres (cadena)?
Para leer un arreglo de caracteres (cadena), se utiliza la función scanf o fgets para la entrada
estándar.
scanf("%s", arreglo_caracteres); // Lee una cadena de caracteres desde la entrada estándar
Para mostrar el contenido de un arreglo de caracteres (cadena), se utiliza la función printf o
puts.
printf("Cadena: %s\n", arreglo_caracteres); // Muestra la cadena en la salida estándar
¿Qué es un índice y cuál es su función o propósito?
Un índice es un número entero que se utiliza para acceder a elementos específicos en un
arreglo. Su función es identificar la posición de un elemento dentro del arreglo.
¿De qué tipo de dato deben ser las variables que se utilizan como índices en los arreglos?
Los índices deben ser variables de tipo entero (int) ya que representan posiciones dentro
del arreglo, y los índices en C se manejan como valores enteros.