Conteo de Caracteres MATLAB
Conteo de Caracteres MATLAB
UNIDAD CULHUACAN
ASIGNATURA:
Teoría de la Codificación y Manejo de la Información
PRACTICA 1.2
“Conteo automático de letras de un archivo de texto”
GRUPO:
8EM15
PROFESOR:
Fernando Adan Serrano Orozco
FECHA DE ENTREGA:
18-02-2022
ALUMNO:
Arroyo Arellano Brandon
# LISTA
02
0
Índice
Introducción………………………………………………………………………2-3
Desarrollo………………………………………………………………………..4-8
Actividad…………………………………………………………………………9-25
Cuestionario y conclusiones………………………………………………….25
Anexo1………………………………………………………………………….26-30
Anexo 2…………………………………………………………………………31
Bibliografía y Referencias…………………………………………………….31
1
Introducción
Fopen
Abrir archivo o obtener información sobre archivos abiertos
fileID = fopen(filename) abre el archivo, filename, para acceso de
lectura binaria y devuelve un identificador de archivo entero igual o
superior a 3. MATLAB ® reserva los identificadores de archivo 0, 1y
2 para la entrada estándar, la salida estándar (la pantalla) y el error
estándar, respectivamente.
Fscanf
Leer datos de archivo de texto
A = fscanf(fileID,formatSpec) lee los datos de un archivo de texto abierto en el
vector de columna A e interpreta los valores del archivo según el formato
especificado por formatSpec. La función fscanf vuelve a aplicar el formato en
todo el archivo y coloca el puntero del archivo en el marcador de fin de archivo.
Si fscanf no puede hacer coincidir formatSpec con los datos, solo lee la parte
que coincide y detiene el procesamiento.
Char
Array de caracteres
Una matriz de caracteres es una secuencia de caracteres, al igual que una
matriz numérica es una secuencia de números. Un uso típico es almacenar un
fragmento de texto corto como una fila de caracteres en un vector de carácter .
Si A es una matriz numérica, char convierte los números en caracteres. Los
valores numéricos válidos varían entre 0 y 65535 y corresponden a las
unidades de código Unicode. Los valores de 0 a 127 también corresponden a
caracteres ASCII de 7 bits. La función
Redondea los no enteros hacia cero.
Trata valores inferiores a 0 como 0.
Trata valores mayores que 65535 como 65535.
2
Double
Double-precision arrays
double es el tipo de datos numéricos predeterminado (clase) en MATLAB, lo
que proporciona suficiente precisión para la mayoría de las tareas
computacionales. Las variables numéricas se almacenan automáticamente
como valores de punto flotante de precisión doble de 64 bits (8 bytes).
Una matriz de precisión doble se crea automáticamente cuando asigna un
escalar numérico o una matriz a una variable, como A = [1 2 3; 4 5 6]. La
variable A es de tipo doble.
Char(65)
Los enteros de 32 a 127 corresponden a caracteres ASCII imprimibles. Sin
embargo, los números enteros de 0 a 65535 también corresponden a
caracteres Unicode . Puede convertir números enteros en sus representaciones
Unicode correspondientes mediante la función char
Por ejemplo, el número 8451 corresponde al símbolo de grados Celsius.
Convertir 8451 utilizando char
C = char(8451)
C = '℃'
Double(‘A’)
convierte los valores en A a doble precisión.
3
Desarrollo
4
cada letra (recuerde que en Matlab el índice comienza en 1). Ejemplo:
Escriba en la ventana de comandos
tecleando enter y observe
• >> texto(1)
5
7. Otra forma sin utilizar el código ASCII y de manera directa seria:
• >> nombre=['ana']
6
9. El programa anterior nos sirvió para contar letras en minúsculas. ¿Qué
pasaría si en el texto existieran letras “A” mayúsculas? ¿Podría contar
mayúsculas? – Respuesta: No, el programa anterior solo cuenta
minúsculas ya que en el condicional solo se está especificando la
comparación con char(97) que corresponde a la “a” minúscula. ¿Qué
tenemos que hacer para poder contar letras mayúsculas? – Respuesta:
En el condicional se debe incluir la letra, es decir char(65). Así, se
agrega en el condicional lo siguiente: texto(x)==char(97) |
texto(x)==char(65)
10. Teniendo claro lo anterior, realice un pequeño programa en Matlab que
haga el conteo de las letras en el siguiente texto: “Había un señor
llamado Juan que vivía lejos de aquí”.
‘a’
‘b’
‘d’
‘e’
‘h’
‘i’
‘j’
‘l’
7
‘m’
‘n’
‘ñ’
‘o’
‘q’
‘r’
‘s’
‘u’
‘v’
Total de letras=42
8
Actividad
9
10
11
12
• Comentar el programa explicando cada uno de los comandos y lo que
realiza dicha parte del programa
clc
clear all
y=fopen('Texto_Ingles_01.txt'); % Abre el archivo
texto=fscanf(y,'%c'); % Guarda el contenido en la variable texto
a=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra a
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if
texto(x)==char(97)|texto(x)==char(65)|texto(x)==char('á')|texto(x)==ch
ar('Á')%usamos el codigo ASCII para seleccionar el caracter
a=a+1; %en este caso ocuparemos los
que llevan acento
end%hacemos la suma
end
b=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra b
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(98)|texto(x)==char(66)%usamos el codigo ASCII para
seleccionar el caracter
b=b+1;%hacemos la suma
end
end
c=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra c
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(99)|texto(x)==char(67)%usamos el codigo ASCII para
seleccionar el caracter
c=c+1;%hacemos la suma
end
end
d=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra d
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(100)|texto(x)==char(68)%usamos el codigo ASCII para
seleccionar el caracter
d=d+1;%hacemos la suma
end
end
e=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra e
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
13
if
texto(x)==char(101)|texto(x)==char(69)|texto(x)==char('é')|texto(x)==c
har('É')%usamos el codigo ASCII para seleccionar el caracter
e=e+1; %en este caso ocuparemos los
que llevan acento
end%hacemos la suma
end
f=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra f
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(102)|texto(x)==char(70)%usamos el codigo ASCII para
seleccionar el caracter
f=f+1;%hacemos la suma
end
end
g=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra g
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(103)|texto(x)==char(71)%usamos el codigo ASCII para
seleccionar el caracter
g=g+1;%hacemos la suma
end
end
h=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra h
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(104)|texto(x)==char(72)%usamos el codigo ASCII para
seleccionar el caracter
h=h+1;%hacemos la suma
end
end
i=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra i
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if
texto(x)==char(105)|texto(x)==char(73)|texto(x)==char('í')|texto(x)==c
har('Í')%usamos el codigo ASCII para seleccionar el caracter
i=i+1; %en este caso ocuparemos los
que llevan acento
end%hacemos la suma
end
j=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra j
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(106)|texto(x)==char(74)%usamos el codigo ASCII para
seleccionar el caracter
j=j+1;%hacemos la suma
end
end
k=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra k
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char('k')|texto(x)==char('K')%usamos el codigo ASCII para
seleccionar el caracter
k=k+1;%hacemos la suma
14
end
end
l=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra l
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(108)|texto(x)==char(76)%usamos el codigo ASCII para
seleccionar el caracter
l=l+1;%hacemos la suma
end
end
m=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra m
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(109)|texto(x)==char(77)%usamos el codigo ASCII para
seleccionar el caracter
m=m+1;%hacemos la suma
end
end
n=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra n
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(110)|texto(x)==char(78)%usamos el codigo ASCII para
seleccionar el caracter
n=n+1;%hacemos la suma
end
end
nn=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra ñ
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char('Ñ')|texto(x)==char('ñ')%usamos el codigo ASCII para
seleccionar el caracter
nn=nn+1;%hacemos la suma, tambien usamos la variable nn porque la ñ no
la detecta como variable
end
end
o=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra o
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if
texto(x)==char(111)|texto(x)==char(79)|texto(x)==char('ó')|texto(x)==c
har('Ó')%usamos el codigo ASCII para seleccionar el caracter
o=o+1; %en este caso ocuparemos los
que llevan acento
end%hacemos la suma
end
p=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra p
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(112)|texto(x)==char(80)%usamos el codigo ASCII para
seleccionar el caracter
p=p+1;%hacemos la suma
end
end
q=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra q
15
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(113)|texto(x)==char(81)%usamos el codigo ASCII para
seleccionar el caracter
q=q+1;%hacemos la suma
end
end
r=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra r
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(114)|texto(x)==char(82)%usamos el codigo ASCII para
seleccionar el caracter
r=r+1;%hacemos la suma
end
end
s=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra s
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(115)|texto(x)==char(83)%usamos el codigo ASCII para
seleccionar el caracter
s=s+1;%hacemos la suma
end
end
t=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra t
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(116)|texto(x)==char(84)%usamos el codigo ASCII para
seleccionar el caracter
t=t+1;%hacemos la suma
end
end
u=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra u
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if
texto(x)==char(117)|texto(x)==char(85)|texto(x)==char('u')|texto(x)==c
har('Ú')%usamos el codigo ASCII para seleccionar el caracter
u=u+1; %en este caso ocuparemos los
que llevan acento
end%hacemos la suma
end
v=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra v
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(118)|texto(x)==char(86)%usamos el codigo ASCII para
seleccionar el caracter
v=v+1;%hacemos la suma
end
end
w=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra w
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(119)|texto(x)==char(87)%usamos el codigo ASCII para
seleccionar el caracter
w=w+1;%hacemos la suma
16
end
end
xx=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra x
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(120)|texto(x)==char(88)%usamos el codigo ASCII para
seleccionar el caracter
xx=xx+1;%hacemos la suma, tambien en este caso usamos como variable xx
porque ya teniamos una variable x
end
end
y=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra y
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(121)|texto(x)==char(89)%usamos el codigo ASCII para
seleccionar el caracter
y=y+1;%hacemos la suma
end
end
z=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra z
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(122)|texto(x)==char(90)%usamos el codigo ASCII para
seleccionar el caracter
z=z+1;%hacemos la suma
end
end
caracteres={'a';'b';'c';'d';'e';'f';'g';'h';'i';'j';'k';'l';'m';'n'
;'ñ';'o';'p';'q';'r';'s';'t';'u';'v';'w';'x';'y';'z'}; %colocamos
la primer columna que llevara los caracteres
frecuencia={a;b;c;d;e;f;g;h;i;j;k;l;m;n;nn;o;p;q;r;s;t;u;v;w;xx;y;z};%
colocamoa los valores correspondientes a cada fila generada
table( frecuencia,'RowNames',caracteres)%generamos la tabla
• Obtenga los datos del conteo de letras y compárelos con los obtenidos
en la práctica anterior
17
Observamos que son los mismos valores que habíamos obtenido en la practica
pasada.
18
• Mostrar los resultados de manera ordenada en la ventana de comandos (en
forma de columnas con títulos,
similar a la que se observa en la figura 1).
• Realizar lo que hizo en los puntos anteriores, tomando el archivo que incluye
su número de lista, por ejemplo
para el número de lista 5 debe tomar como texto el archivo
Texto_Español_05.txt
clc
clear all
y=fopen('Texto_Español_02.txt'); % Abre el archivo
texto=fscanf(y,'%c'); % Guarda el contenido en la variable texto
a=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra a
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if
texto(x)==char(97)|texto(x)==char(65)|texto(x)==char('á')|texto(x)==ch
ar('Á')%usamos el codigo ASCII para seleccionar el caracter
19
a=a+1; %en este caso ocuparemos los
que llevan acento
end%hacemos la suma
end
20
end
f=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra f
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(102)|texto(x)==char(70)%usamos el codigo ASCII para
seleccionar el caracter
f=f+1;%hacemos la suma
end
end
g=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra g
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(103)|texto(x)==char(71)%usamos el codigo ASCII para
seleccionar el caracter
g=g+1;%hacemos la suma
end
end
h=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra h
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(104)|texto(x)==char(72)%usamos el codigo ASCII para
seleccionar el caracter
h=h+1;%hacemos la suma
end
end
i=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra i
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if
texto(x)==char(105)|texto(x)==char(73)|texto(x)==char('í')|texto(x)==c
har('Í')%usamos el codigo ASCII para seleccionar el caracter
i=i+1; %en este caso ocuparemos los
que llevan acento
end%hacemos la suma
end
j=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra j
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(106)|texto(x)==char(74)%usamos el codigo ASCII para
seleccionar el caracter
j=j+1;%hacemos la suma
end
end
k=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra k
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char('k')|texto(x)==char('K')%usamos el codigo ASCII para
seleccionar el caracter
k=k+1;%hacemos la suma
end
end
l=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra l
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
21
if texto(x)==char(108)|texto(x)==char(76)%usamos el codigo ASCII para
seleccionar el caracter
l=l+1;%hacemos la suma
end
end
m=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra m
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(109)|texto(x)==char(77)%usamos el codigo ASCII para
seleccionar el caracter
m=m+1;%hacemos la suma
end
end
n=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra n
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(110)|texto(x)==char(78)%usamos el codigo ASCII para
seleccionar el caracter
n=n+1;%hacemos la suma
end
end
nn=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra ñ
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char('Ñ')|texto(x)==char('ñ')%usamos el codigo ASCII para
seleccionar el caracter
nn=nn+1;%hacemos la suma, tambien usamos la variable nn porque la ñ no
la detecta como variable
end
end
o=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra o
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if
texto(x)==char(111)|texto(x)==char(79)|texto(x)==char('ó')|texto(x)==c
har('Ó')%usamos el codigo ASCII para seleccionar el caracter
o=o+1; %en este caso ocuparemos los
que llevan acento
end%hacemos la suma
end
p=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra p
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(112)|texto(x)==char(80)%usamos el codigo ASCII para
seleccionar el caracter
p=p+1;%hacemos la suma
end
end
q=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra q
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(113)|texto(x)==char(81)%usamos el codigo ASCII para
seleccionar el caracter
q=q+1;%hacemos la suma
end
22
end
r=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra r
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(114)|texto(x)==char(82)%usamos el codigo ASCII para
seleccionar el caracter
r=r+1;%hacemos la suma
end
end
s=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra s
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(115)|texto(x)==char(83)%usamos el codigo ASCII para
seleccionar el caracter
s=s+1;%hacemos la suma
end
end
t=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra t
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(116)|texto(x)==char(84)%usamos el codigo ASCII para
seleccionar el caracter
t=t+1;%hacemos la suma
end
end
u=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra u
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if
texto(x)==char(117)|texto(x)==char(85)|texto(x)==char('u')|texto(x)==c
har('Ú')%usamos el codigo ASCII para seleccionar el caracter
u=u+1; %en este caso ocuparemos los
que llevan acento
end%hacemos la suma
end
v=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra v
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(118)|texto(x)==char(86)%usamos el codigo ASCII para
seleccionar el caracter
v=v+1;%hacemos la suma
end
end
w=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra w
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(119)|texto(x)==char(87)%usamos el codigo ASCII para
seleccionar el caracter
w=w+1;%hacemos la suma
end
end
xx=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra x
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
23
if texto(x)==char(120)|texto(x)==char(88)%usamos el codigo ASCII para
seleccionar el caracter
xx=xx+1;%hacemos la suma, tambien en este caso usamos como variable xx
porque ya teniamos una variable x
end
end
y=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra y
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(121)|texto(x)==char(89)%usamos el codigo ASCII para
seleccionar el caracter
y=y+1;%hacemos la suma
end
end
z=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra z
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(122)|texto(x)==char(90)%usamos el codigo ASCII para
seleccionar el caracter
z=z+1;%hacemos la suma
end
end
caracteres={'a';'b';'c';'d';'e';'f';'g';'h';'i';'j';'k';'l';'m';'n'
;'ñ';'o';'p';'q';'r';'s';'t';'u';'v';'w';'x';'y';'z'}; %colocamos
la primer columna que llevara los caracteres
frecuencia={a;b;c;d;e;f;g;h;i;j;k;l;m;n;nn;o;p;q;r;s;t;u;v;w;xx;y;z};%
colocamoa los valores correspondientes a cada fila generada
table( frecuencia,'RowNames',caracteres)%generamos la tabla
24
• Mostrar los resultados de manera ordenada en la ventana de comandos (en
forma de columnas con títulos,
similar a la que se observa en la figura 1).
Cuestionario
1. ¿Le sirvió o se apoyó con el código ASCII para la realización de esta
práctica?, Si o No y ¿por qué?
R= Si porque con el seleccionamos que carácter íbamos a ocupar
aunque en el caso de la letra ñ fue necesario ocupar el método de las
comillas que básicamente hacia lo mismo, pero al realizar la practica al
poner el ascii de la letra ñ no nos hacia el conteo
2. ¿Cuántas letras ele aparecen en el texto?
R=49
3. ¿Cuántas letras ele aparecen en el texto?
R= 900
25
Anexo 1
clc
clear all
y=fopen('Texto_Español_02.txt'); % Abre el archivo
texto=fscanf(y,'%c'); % Guarda el contenido en la variable texto
a=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra a
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if
texto(x)==char(97)|texto(x)==char(65)|texto(x)==char('á')|texto(x)==ch
ar('Á')%usamos el codigo ASCII para seleccionar el caracter
a=a+1; %en este caso ocuparemos los
que llevan acento
end%hacemos la suma
end
b=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra b
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(98)|texto(x)==char(66)%usamos el codigo ASCII para
seleccionar el caracter
b=b+1;%hacemos la suma
end
end
c=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra c
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(99)|texto(x)==char(67)%usamos el codigo ASCII para
seleccionar el caracter
c=c+1;%hacemos la suma
end
end
d=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra d
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(100)|texto(x)==char(68)%usamos el codigo ASCII para
seleccionar el caracter
d=d+1;%hacemos la suma
end
end
e=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra e
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if
texto(x)==char(101)|texto(x)==char(69)|texto(x)==char('é')|texto(x)==c
har('É')%usamos el codigo ASCII para seleccionar el caracter
e=e+1; %en este caso ocuparemos los
que llevan acento
end%hacemos la suma
end
f=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra f
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(102)|texto(x)==char(70)%usamos el codigo ASCII para
seleccionar el caracter
26
f=f+1;%hacemos la suma
end
end
g=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra g
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(103)|texto(x)==char(71)%usamos el codigo ASCII para
seleccionar el caracter
g=g+1;%hacemos la suma
end
end
h=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra h
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(104)|texto(x)==char(72)%usamos el codigo ASCII para
seleccionar el caracter
h=h+1;%hacemos la suma
end
end
i=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra i
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if
texto(x)==char(105)|texto(x)==char(73)|texto(x)==char('í')|texto(x)==c
har('Í')%usamos el codigo ASCII para seleccionar el caracter
i=i+1; %en este caso ocuparemos los
que llevan acento
end%hacemos la suma
end
j=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra j
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(106)|texto(x)==char(74)%usamos el codigo ASCII para
seleccionar el caracter
j=j+1;%hacemos la suma
end
end
k=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra k
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char('k')|texto(x)==char('K')%usamos el codigo ASCII para
seleccionar el caracter
k=k+1;%hacemos la suma
end
end
l=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra l
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(108)|texto(x)==char(76)%usamos el codigo ASCII para
seleccionar el caracter
l=l+1;%hacemos la suma
end
end
m=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra m
27
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(109)|texto(x)==char(77)%usamos el codigo ASCII para
seleccionar el caracter
m=m+1;%hacemos la suma
end
end
n=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra n
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(110)|texto(x)==char(78)%usamos el codigo ASCII para
seleccionar el caracter
n=n+1;%hacemos la suma
end
end
nn=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra ñ
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char('Ñ')|texto(x)==char('ñ')%usamos el codigo ASCII para
seleccionar el caracter
nn=nn+1;%hacemos la suma, tambien usamos la variable nn porque la ñ no
la detecta como variable
end
end
o=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra o
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if
texto(x)==char(111)|texto(x)==char(79)|texto(x)==char('ó')|texto(x)==c
har('Ó')%usamos el codigo ASCII para seleccionar el caracter
o=o+1; %en este caso ocuparemos los
que llevan acento
end%hacemos la suma
end
p=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra p
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(112)|texto(x)==char(80)%usamos el codigo ASCII para
seleccionar el caracter
p=p+1;%hacemos la suma
end
end
q=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra q
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(113)|texto(x)==char(81)%usamos el codigo ASCII para
seleccionar el caracter
q=q+1;%hacemos la suma
end
end
r=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra r
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(114)|texto(x)==char(82)%usamos el codigo ASCII para
seleccionar el caracter
28
r=r+1;%hacemos la suma
end
end
s=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra s
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(115)|texto(x)==char(83)%usamos el codigo ASCII para
seleccionar el caracter
s=s+1;%hacemos la suma
end
end
t=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra t
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(116)|texto(x)==char(84)%usamos el codigo ASCII para
seleccionar el caracter
t=t+1;%hacemos la suma
end
end
u=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra u
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if
texto(x)==char(117)|texto(x)==char(85)|texto(x)==char('u')|texto(x)==c
har('Ú')%usamos el codigo ASCII para seleccionar el caracter
u=u+1; %en este caso ocuparemos los
que llevan acento
end%hacemos la suma
end
v=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra v
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(118)|texto(x)==char(86)%usamos el codigo ASCII para
seleccionar el caracter
v=v+1;%hacemos la suma
end
end
w=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra w
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(119)|texto(x)==char(87)%usamos el codigo ASCII para
seleccionar el caracter
w=w+1;%hacemos la suma
end
end
xx=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra x
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(120)|texto(x)==char(88)%usamos el codigo ASCII para
seleccionar el caracter
xx=xx+1;%hacemos la suma, tambien en este caso usamos como variable xx
porque ya teniamos una variable x
end
end
29
y=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra y
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(121)|texto(x)==char(89)%usamos el codigo ASCII para
seleccionar el caracter
y=y+1;%hacemos la suma
end
end
z=0%creamos una variable donde se guardara el valor de la cantidad de
caracteres para la letra z
for x=[Link]length(texto)%creamos un ciclo for que inicia en 1 va de 1
en 1 y termina cuando termina el texto
if texto(x)==char(122)|texto(x)==char(90)%usamos el codigo ASCII para
seleccionar el caracter
z=z+1;%hacemos la suma
end
end
caracteres={'a';'b';'c';'d';'e';'f';'g';'h';'i';'j';'k';'l';'m';'n'
;'ñ';'o';'p';'q';'r';'s';'t';'u';'v';'w';'x';'y';'z'}; %colocamos
la primer columna que llevara los caracteres
frecuencia={a;b;c;d;e;f;g;h;i;j;k;l;m;n;nn;o;p;q;r;s;t;u;v;w;xx;y;z};%
colocamoa los valores correspondientes a cada fila generada
table( frecuencia,'RowNames',caracteres)%generamos la tabla
30
Anexo 2
Bibliografía y referencias
-Apuntes y notas del maestro Fernando Adan Serrano Orozco
- [Link]
- [Link]
[Link]
- [Link]
[Link]
[Link]
0sentencia%20for%20repite%20un,variando%20de%20uno%20en%20uno.
31