La Red de Conocimientos Pedagógicos - Aprendizaje de japonés - Algunas preguntas reales de los programadores de pruebas de competencia de software a lo largo de los años

Algunas preguntas reales de los programadores de pruebas de competencia de software a lo largo de los años

Prueba 1

A. Para mejorar la utilización del procesador de la computadora y los dispositivos externos, se colocan múltiples programas en el dispositivo de almacenamiento principal al mismo tiempo y se ejecutan en paralelo a nivel macro.

B. Un método de diseño que divide un programa en varios módulos de programa que se pueden ejecutar simultáneamente.

C. Múltiples usuarios ingresan, depuran y controlan interactivamente la ejecución de sus programas en dispositivos de tamaño mediano.

D. Un sistema compuesto por múltiples ordenadores. Estas computadoras pueden intercambiar información a través de la comunicación; no hay propietarios entre las dos; comparten recursos del sistema; el programa es coordinado por todas o algunas de las computadoras del sistema.

Ejecutar. Un sistema operativo que gestiona los sistemas informáticos anteriores.

E. El tiempo de respuesta de un sistema operativo es más importante que la utilización de recursos del sistema. Se utiliza ampliamente en el control de satélites, el desarrollo de misiles, el control de vuelos de aeronaves, los negocios de reserva de aeronaves y otros campos.

Respuestas alternativas

A ~ E: (1) Sistema operativo de tiempo compartido (2) Sistema operativo en tiempo real (3) Sistema operativo por lotes.

(4) Sistema operativo de red (5) Sistema operativo independiente (6) Sistema operativo de usuario único

(7) Programación multiproceso (8) Programación multiproceso (9 ) Programación concurrente

Prueba 2

(1) El almacenamiento secuencial solo se puede utilizar para almacenar estructuras lineales.

(2) Las ventajas del almacenamiento secuencial son la alta densidad de almacenamiento y la alta eficiencia de inserción y eliminación.

(3) Cada nodo de la lista enlazada contiene exactamente un puntero.

(4) La idea básica del almacenamiento hash es determinar la dirección de almacenamiento de los datos a través del valor del código clave.

(5) Los nodos de la tabla hash solo contienen información sobre el elemento de datos en sí y no contienen ningún puntero.

(6) El factor de carga (factor de llenado) es un parámetro importante del método hash y refleja el grado de llenado de la tabla hash.

(7) El método de almacenamiento de pilas y colas puede ser secuencial o vinculado.

(8) Almacene un árbol binario con n nodos y 2n nodos utilizando el método de lista enlazada binaria (método llink - rlink).

El área del puntero tiene n+1 punteros nulos.

(9) Cuando se utiliza el método de matriz de adyacencia para almacenar un gráfico, sin considerar el almacenamiento comprimido, el tamaño del espacio de almacenamiento ocupado solo está relacionado con el número de nodos en el gráfico y no tiene nada que ver. con el número de aristas en el gráfico.

(10) El método de lista de adyacencia solo se puede usar para almacenar gráficos dirigidos, y el método de matriz de adyacencia se usa para almacenar gráficos dirigidos y gráficos no dirigidos.

Aplica para ambos.

Prueba 3

Utilice _A_ para leer y modificar archivos de texto; __B__ puede ayudar a otros a encontrar la ubicación incorrecta en el programa.

Revisa todas las partes de la computadora, y quien reporta la información de falla es __C__. En los sistemas operativos que admiten la política abierta, se proporcionan módulos de programas de destino correspondientes a varias configuraciones opcionales, y los usuarios pueden seleccionar los programas y programas necesarios según sus necesidades.

Establezca los parámetros o agregue el módulo de destino del nuevo controlador de dispositivo desarrollado por nosotros mismos y forme el sistema operativo requerido a través del sistema __D__. Después de encender la computadora, generalmente ejecuta una sección de __E__ que generalmente se almacena en la ROM.

El sistema operativo básico luego se lee en la memoria y se ejecuta.

Respuestas alternativas

Respuesta: (1) Programa fuente (2) Mi programa (3) Mostrar pantalla del programa (4) Imprimir programa

B: (1 ) Programa ejecutable (2) Vincular mi programa (3) Compilador (4) Depurador

C: (1) Depurador (2) Comprobador del sistema de archivos (3) Programa de diagnóstico (4) Formateador

D: (1) Programa de inicio (2) Programa generador (3) Cargador (4) Cargador

E: (1) Programa de dispositivo (2) Programa de gestión de procesos (3) Programador (4) Inicio programa.

Pregunta 4

Una tabla almacenada secuencialmente tiene 90.000 elementos, organizados en orden ascendente de elementos clave.

Ahora supongamos que la probabilidad de verificar cada elemento es la misma y que el valor del elemento clave de cada elemento es diferente.

El número promedio de comparaciones es aproximadamente _a_ y el número de comparaciones es _b_.

Ahora los 90.000 elementos se dividen en varios grupos según el orden de disposición, de modo que cada grupo tenga g elementos (el último grupo puede ser menor que g). Al buscar, comience desde el primer grupo, busque el grupo donde se encuentra el elemento a buscar comparando el valor del elemento clave del último elemento de cada grupo y luego encuentre el elemento a buscar mediante búsqueda secuencial. En este método de búsqueda, la _c_ que minimiza el número promedio total de comparaciones es _d_.

Cuando el valor g es mayor o igual a 90000, la velocidad de búsqueda de este método es cercana a _e_.

Respuestas alternativas

A y B: ① 25.000 ② 30.000

③ 45.000 ④ 90.000

c, D: ① 100 ② 200

③ 300 ④ 400

E: ①Clasificación rápida ②Método de búsqueda de Fibonacci

③Método de dicotomía ④Método de búsqueda secuencial

Prueba 5

Para mejorar la confiabilidad de los datos, se decidió agregar un bit de verificación par delante (izquierda) de los datos de 7 bits para que el número de unos en los datos de 8 bits sea un número par. Los números hexadecimales 4F y 3C con bits de paridad pares son _a_ y _b_ respectivamente.

Ahora supongamos que cada dato tiene como máximo un error, y el dato erróneo de D5, F4 y 3A es _c_.

Supongamos que los bits de paridad par vertical se agregan en unidades de tres datos de 8 bits, es decir, se agrega un dato de 8 bits de modo que el número correspondiente de dígitos de los cuatro datos de 8 bits sea un número par. Para el hexágono CF, se agregaron D5 y 78.

Los datos de 8 bits añadidos son _d_. Para hexadecimal 25, 4F y _e_, agregue también un 8.

Los datos de bits son 3C.

Respuestas alternativas

a, B, D, E: ①F2②56③3C④75⑤CF

⑥62⑦3A ⑧BF⑨4F⑩DC

c:1d 52 f 43 a 4d 5 y F4 ⑤D5 y 3A

⑥F4 y 3A

Prueba 6

Considere un árbol binario con las siguientes propiedades: ○n1 ○El valor de cada nodo es mayor que Los valores de todos los nodos en su subárbol izquierdo, /○ son menores o iguales que los valores de todos los nodos en su subárbol derecho. ○n2 ○n3

Ahora completa los 9 números 1, 2, 3, 4...8, 9 en la imagen de la derecha/\ \

En el árbol binario como se muestra en la imagen Entre los nueve nodos, y haga que tengan las propiedades anteriores ○n4 ○n5 ○n6. En este momento, el valor de n1 es _ a _, el valor de n2 es _ b _ y el valor de /\\n9 es _ c _. Ahora, si desea poner √ ~ 10 en este árbol y mantener las propiedades antes mencionadas de este árbol, puede agregar un nodo en _g_ o _e_.

Respuestas alternativas

A~C: ①1 ②2 ③3 ④4 ⑤5 ⑥6 ⑦7 ⑧8 ⑨9

d, E: ① N1 o menos ② N8 o menos ③ N9 o menos ④ N6 o menos.

⑤n Entre 1 y N2 ⑤ Entre N2 y N4 ⑦ Entre N5 y N9 ⑧ Entre N3 y N6.

Prueba 7

Suponga que el número 111101001000 está almacenado en una unidad de almacenamiento de una computadora de 16 bits. Descubra qué representa este número en la siguiente expresión (si es decimal, 4

①Si el código original representa un entero decimal con signo (donde este bit es el bit de signo), su valor es __a__

(2) Si las letras mayúsculas de la A a la V son. utilizado para registrar un número de 32 bits, el entero positivo de 32 bits correspondiente es _ b

(3) Si se utiliza el método de conteo de punto fijo (código original, su bit es el bit de signo). , y el punto decimal está en el extremo izquierdo), su signo es La parte decimal correspondiente es _ c _

④ Si se utiliza la siguiente representación de punto flotante.

1514 12 11 10 0

┏━━━┳━━━━━━┳━━━┳━━━━━━━━━━━━━━━ ┓

┃Símbolo de pedido┃Código de pedido┃Número de cola┃Número de cola┃

┗━━━┻━━━━━━┻━━━┻━━━━━━ ━━━━━━━━━┛

El código de orden está representado por un código de turno, y la base es 2 cuando la mantisa está representada por un código, el decimal correspondiente de este número es __D__; .

⑤Si los bytes de orden inferior de este número se consideran códigos ASCII, los caracteres representados son __E__.

Respuestas alternativas

Respuesta: (1)-55510(2)-23368(3)-18762(4)56136

b: (1) 1kp 8(2)1mq 8(3)DB48(4)1IAA

c:(1)-0.286865(2)-0.713135(3)-0.572571(4)0.233685

d :(1)-13.125(2)-0.073735(3)-13.421875(4)-18.875

E: (1)J (2)A (3)H (4)h

Pregunta del examen 8

Seleccione de las respuestas alternativas la respuesta correcta a la siguiente afirmación sobre contadores y escriba el número en la columna correspondiente de la hoja de respuestas.

La siguiente figura muestra un contador no estándar que consta de tres flip-flops tipo D. El flip-flop tipo D tiene las siguientes propiedades: cuando llega cada pulso de reloj ck, el estado de la entrada del flip-flop D se envía al flip-flop. El terminal Q refleja el estado del dispositivo de activación, mientras que el terminal Q refleja su estado. )

T3 S2 S1

│ ┌──┐┌──┤ ┌──┐ ┌──┤

┏┷━━━━━┷ ┓ ││ ┏┷━━━━┷━┓│ │ ┏┷━━━━━━┓

┃qq'┃││┃q·┃││┃q·┃

┃D ┃ ││ ┃D ┃│ │ ┃D ┃

┗┯━━━━━┯┛ ││ ┗┯━━━━┯━┛│ │ ┗ ┯━━━ ━━┯┛

ck──┼─────┴──┼┼──┼────┴──┼──┼──┼──── ─┘

┏ ┷ ┓ ┙ ┏ ┙ ┓ ┏ ┓ ┏ ┓ ┓ ┓ 𗋉 ┿ ┓ ┓ ┓ ┓ ┓ ┓ ┓

┗ ┯ ┛和门┖ ┗ ┯ ┛Puerta Y┗ ┗ ┯Puerta O .

│ └────────┼┘ │ │ └──┼─┘ │

└─────────┼──┼ ─ ┴ ──────────┘ │

└──┴────────────────┘

Si el El estado inicial es S3S2S1, luego los siguientes cinco estados obtenidos después de la llegada del pulso de reloj ck son:

__a__ __b__ __c__ __d__ __e__

Respuestas alternativas

a ─E: ①000②001③010④011

⑤100 ⑥101 ⑦110 ⑧111

Pregunta 9

En términos generales, una instrucción consta de __a__ y un código de dirección de operando. __b__ no se puede configurar para instrucciones que operan en la pila.

Las instrucciones de operación de punto flotante son muy necesarias para las computadoras utilizadas en __c__, mientras que las instrucciones de operación decimal son más adecuadas para las computadoras utilizadas en __d__ con grandes cantidades de datos de E/S.

Las instrucciones de turno pertenecen a la clase __e__.

Respuestas alternativas

a y b: ①Código de instrucción ②Código de dirección ③Código de operación ④Código de verificación

c, D: ①Procesamiento de transacciones ②Cálculo científico ③ Control industrial ④ Enseñanza auxiliar

E: ①Entrada/Salida ②Transmisión ③Operación ④Control

Prueba 10

Seleccione de las respuestas disponibles Una respuesta correcta a la siguiente afirmación sobre discos y escriba el número en el columna apropiada en su hoja de respuestas.

El disco está formateado con 24 sectores y 20 pistas. El disco puede girar en el sentido de las agujas del reloj según sea necesario.

El tiempo de ejecución de varias operaciones es el siguiente:

El tiempo de una revolución = =360 ms.

Tiempo para leer un dato = 1 milisegundo

Hay tres archivos en este disco:

El archivo A ocupa la pista 6 y el sector 1 2 bloques .

Ficha B - Ocupa 5 cuadras en la pista 2 y sector 5.

Ficha C - Ocupa 3 cuadras en la vía 5 y sector 3.

Entonces, el tiempo de espera promedio de este disco es el más cercano a _ a _ ms, y el tiempo de búsqueda promedio es el más cercano a _ b _ m _ s si el movimiento del cabezal y la rotación del disco no se realizan al mismo tiempo. Al mismo tiempo, la posición inicial del cabezal está entre la pista 0 y el Sector 0, luego los tres archivos anteriores se leen a través de CBA secuencial y el tiempo total es cercano a _ c _ ms. En la misma posición inicial, el tiempo más corto para leer los tres archivos anteriores es cercano a _ d _ ms, y el orden de lectura del archivo es _ e _ en este momento.

A-D:① 2.3 ② 5 ③ 7.5 ④ 15 ⑤ 50

⑥ 75 ⑦ 90 ⑧ 105 ⑨ 119 ⑩ 169

E:① ABC ② ACB ③ BAC ④ BCA ⑤CAB

Prueba 11

Seleccione la respuesta correcta que se debe usar para completar las siguientes oraciones en inglés de las respuestas alternativas y escriba el número en la columna correspondiente de la hoja de respuestas.

Los productos de software se pueden dividir en cuatro tipos básicos: aplicaciones, procesadores de lenguajes de programación, sistemas operativos y tecnologías de utilidades del sistema.

Las aplicaciones son programas que realizan tareas útiles, como resolver problemas estadísticos o llevar los libros de una empresa.

Un procesador de lenguaje de programación es un programa que utiliza un lenguaje informático en un sistema informático. Son herramientas para desarrolladores de aplicaciones.

El sistema operativo es el programa que ocupa recursos del sistema y permite ejecutar aplicaciones.

Las utilidades del sistema son programas especiales que aumentan la funcionalidad del ordenador.

Respuestas alternativas

Respuesta-Respuesta: ① Gestión ② Ejecución ③ Soporte ④ Reducir

⑤ Diferenciación ⑥ Fortalecimiento ⑦ Implementación ⑧ Introducción

⑨Ranking⑩Run

Prueba 12

Seleccione la respuesta correcta que se debe usar para completar las siguientes oraciones en inglés de las respuestas alternativas y escriba el número en la columna correspondiente de la hoja de respuestas.

Estos son pasos útiles para elegir un programa:

1. Investigue las características de todos los programas que pueda elegir. Decida qué funciones necesita, cuáles desea y cuáles no necesita para su trabajo.

2. Eliminar aquellos programas que sean evidentemente innecesarios.

3. Considera cómo otros programas realizan las funciones que más utilizas. Esto afecta la usabilidad del programa más que todas las funciones "agradables" que necesita.

4. Siéntete libre de estudiar los proyectos restantes -si tienes experiencia- y decidir cuál es mejor para ti.

Respuestas alternativas

Respuesta: ①Sí ②Sí ③En ④De

b, C: ①Cumplir ② requisitos ③Ayuda ④Dar

⑤Elige ⑥Me gusta

d, E: ① A menudo ② Rara vez ③ Siempre ④ Rico

⑤ Práctica ⑥ Rara vez

Prueba 15

Seleccione la respuesta correcta que Debe completar el siguiente enunciado a partir de las respuestas alternativas y escribir el número en la columna correspondiente de la respuesta.

El sistema de compilación generalmente se puede dividir en cinco partes: A, B, C, D y la generación del código de destino. Tres de ellas: A, B y la generación del código de destino son imprescindibles para cada compilador. . Muchos compiladores compilan ─ A en una subrutina, llaman a ─ A según sea necesario al analizar ─ B y combinan ─ B y ─ C para generar contenido relevante durante el análisis. Además, estas cinco partes implicarán el procesamiento de formularios y el procesamiento durante el trabajo.

Respuestas alternativas

A-E: ① Análisis léxico ② Análisis de variables ③ Análisis de datos ④ Análisis gramatical.

⑤Análisis de procesos⑤Manejo de errores⑤Procesamiento de optimización⑧Procesamiento de expresiones.

⑨Generación de código intermedia

Prueba 16

De las respuestas disponibles, elija la respuesta correcta que debe completar las siguientes afirmaciones sobre ecuaciones y escriba el número en la columna correspondiente a su respuesta.

1. La ecuación AX+BY = 1 tiene una condición necesaria y suficiente, que es A.

bx+ay=2

2 Si la recta AX+BY+C = 0 (A, B, C no son 0) no pasa por el primer cuadrante, entonces A, B, C deben satisfacer la condición─B─.

Preguntas del examen de la tarde

[Descripción del programa]

Se sabe que los dos primeros términos de un número son 2 y 3, y su sucesor se basa en los dos últimos términos actuales. El producto de se genera de acuerdo con las siguientes reglas.

(1) Si el producto es de un solo dígito, el producto es el sucesor de la secuencia.

(2) Si el producto es un número de dos dígitos, entonces las decenas; El dígito y el dígito único del producto son a su vez los dos sucesores de la secuencia.

Este programa genera los primeros n términos de la secuencia y su suma. La función suma(n, pa) devuelve la suma de los primeros n elementos de la secuencia y almacena los primeros n elementos generados en una matriz con el primer puntero pa. Esto se especifica en el programa

El valor de entrada n debe ser mayor que 2 y no exceder el valor constante dado MAXNUM.

Por ejemplo, si el valor de entrada de n es 10, el programa generará lo siguiente:

Suma (10)=44

2 3 6 1 8 8 6 4 2 4

[Programa]

#Incluye

#Definición MAXNUM 100

int suma(n, pa)

int n, * pa

{ int recuento, total, temp

* pa = 2;

____________________ =3;

total = 5; cuenta = 2;

mientras(cuenta++ <n)p = " " ></n)>

{ temp = * (pa-1)* *pa;

if(temp & lt;10)

{ total+= temp;

*(++ pa)= temp;

}

Otro

{

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ = temp/10;

Total += * pa;

if(count & lt;n)p = " " & gt;& lt/n)>

{ count++;pa++;

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ = temp % 10;

Total += *pa;

}

}

}

_________________________;

}

Principal()

{ int n, *p, *q, num[MAXNUM];

hacer {printf("Entrada N=?(2 & ltn & lt%d): ", maxnum+1); p = " " & gt& lt/n & lt; %d): ", maxnum+1); , & ampn);

} while(_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _);

printf("\nsum(% d)=%d\n ",n,sum(n,num));

for (p=num,q = _ _ _ _ _ _ _ _ _ _ _ _ _p & ltq; p++) p="" printf("%4d ", * p);

printf(" \ n ");

}

[Descripción del programa ]

Este programa cifra un texto cifrado (texto original) para formar un texto cifrado.

El algoritmo de cifrado es el siguiente:

Supongamos que el texto original es C1C2C3...Cn, y el texto cifrado formado después del cifrado es S1S2S3...Sn.

Las claves enteras positivas (Clave y gt1) se utilizan como claves de cifrado y las posiciones de los caracteres de la contraseña se conectan en el sentido de las agujas del reloj para formar un anillo,

Como se muestra en la figura. a continuación:

┏━Sn━━S1━┓

Sn-1 S2

┃ ┃

┃ S3

┃ ┃

┗....━━S4━┛

Al cifrar, cuente en el sentido de las agujas del reloj comenzando desde la posición de S1. Cuando se cuenta la posición del carácter clave, se colocan los caracteres del texto original.

En la posición del carácter de la contraseña, elimine la posición del carácter del anillo al mismo tiempo, luego comience desde la siguiente posición del carácter en el anillo

Continúe contando, cuando la posición del carácter clave. se cuenta nuevamente Cuando, coloque el carácter C2 en el texto original y elimine la posición del carácter del anillo

y así sucesivamente, hasta que todos los N caracteres originales se coloquen en el anillo de texto cifrado, y S1S2; se obtiene.

...Sn es el texto cifrado del texto original.

Por ejemplo, cuando Clave=3, el texto cifrado original: Este es un sistema de decodificación:

Museo YS

Cuando Clave=4, el texto cifrado original del texto es:

SSDTYD HTEGIASISCNM Eion

Este programa almacena el código original en la matriz de caracteres antiguos y la clave de cifrado en la clave entera. Función decodificar

Se utiliza para cifrar el antiguo original y devolver el primer puntero de la matriz de caracteres cifrados. Esta función utiliza una lista enlazada circular bidireccional.

La función strlen se utiliza para contar el número de caracteres en una cadena (excluyendo nudos de cadena)

Sufijo "\0". Para simplificar, el programa supone que la capacidad de memoria es suficiente para cumplir con los requisitos de asignación dinámica de unidades de almacenamiento.

[Programa]

#includes

#includes

#define CR 13

nodo de estructura typedef

{ char ch

Nodo de estructura *adelante/*Enlace al siguiente nodo. */

Construir nodo al revés*; /*Enlace al nodo anterior. */

}Código;

main()

{ char _ _ _ _ _ _ _ _ _ _,old[256];

int strlen(), key, num = 0;

printf("\nPor favor ingrese el telegrama:\n")l

while(num & lt; 255 & amp& amp(old[num++]=getch())! = CR);

Antiguo[_ _ _ _ _ _]= ' \ 0 '

do { printf ( "\nPor favor, introduzca la clave=? (punto clave & gt1):");

scanf("%d ", & amp key);

} while(key & lt; =1);

printf("\nDecodificación de telegrama:' %s' es:\n'%s'\n ",

antiguo, decodificar(antiguo, clave) );

}

char *decode (antiguo, clave)

char * oldint key;

{ char * newint length, contar, I;

Código *bucle, *p;

longitud=strlen(antiguo);

bucle =(_ _ _ _ _ _)malloc (longitud * tamaño de(CÓDIGO));

for(I = 1;i<length-1;i++)p = ""></length-1;i++ )>

{ bucle[i].

adelante = & amploop[I+1];

Bucle[i]. hacia atrás = &loop[I-1];

}

bucle[0]. hacia atrás = &loop[longitud-1];

bucle[0]. forward = & amploop[1];

Bucle[longitud-1]. Adelante = bucle;

Bucle[longitud-1]. hacia atrás = &loop[longitud-2];

for(p=loop,i=0;i<length;i++)p = ""></length;i++)& gt;

{ for(count = 1;count<key;count++)p = ""></key;count++)>

p = _ _ _ _

p->; ch = *old++;

p->;hacia atrás->adelante=_ _ _ _ _ _ _ _ _ _ _ _

p->;adelante->hacia atrás; = _ _ _ _ _ _ _ _ _ _ _ _;

p = p->adelante

}

nuevo=(char *) malloc((longitud+1)* tamañode(char));

for(I = 0;I& lt longitud; i++) new[i]="loop[i].ch;

nuevo[longitud]= '\0';

return (nuevo);

}

Cadena interna

char * s;

{ int len ​​​​= 0;

Y (_______! = '\0')len++;

Devuelve (len);

}

[Descripción del programa]

Este programa dará La matriz de puntos de caracteres chinos fijos se gira 90 grados en sentido antihorario, y los datos de la matriz de puntos y los glifos antes y después de la rotación se muestran.

La imagen adjunta es una fuente de matriz de puntos de 16*16 con caracteres chinos. El número '0' representa la posición en blanco. p>

La primera línea de la palabra "giro" se puede representar como la siguiente secuencia {0, 1}:

0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0

Si lo consideramos como 16 bits de una palabra, entonces la primera línea de la palabra "turn" se puede representar con el número hexadecimal 1040.

Li, la segunda línea. "giro" se puede expresar como 1040, la tercera línea se puede expresar como 1048, y así sucesivamente.

Se pueden utilizar 16 enteros de doble byte para almacenar una fuente de matriz de puntos china. y la fuente de "Girar" se muestran en la mitad izquierda. Gire un carácter chino 90 grados en sentido antihorario, es decir, utilice la matriz de puntos de caracteres chinos. Se gira la columna más a la derecha. La cuadrícula y la segunda columna de la derecha se utilizan como la segunda fila de la cuadrícula rotada para formar la fuente de la cuadrícula rotada.

La mitad derecha son los datos de la matriz de puntos y la fuente después de la palabra "Zhuan". girado 90 grados.

En el programa, la matriz antigua almacena los datos de la matriz de puntos de la palabra "giro". La función de giro a la izquierda gira los datos de la matriz de puntos en sentido antihorario.

Después de 90 grados, los datos de la red rotada se almacenan en la matriz nueva. La función muestra los datos de la matriz de puntos antes y después de la rotación.

Utilizo el carácter "." para representar bits con un valor de 0 y el carácter "x" para representar bits con un valor de 1, rotando así los puntos hacia adelante y hacia atrás.

La matriz genera sus 16 datos binarios y glifos línea por línea, como se muestra en la imagen adjunta.

[Con imágenes]

1040 ...X.....X......0000 ............. . ..

1040 ...X....X......0200 ...X..........

1048.. .X...X..X...1640...Diez.Veinte..X...

FDFC XXXXXX. XXXXXXX..32E0..xx..diez XXX....

2040.. .Diez.Veinte..X

2844 ..Diez.Diez.... X...X..1246...X..X..X...XX.

4BFE. X..X.XXXXXXXXX.FE44 XXXXXXX..X...X..

7C80. Síndrome de las cinco x...X...13C8...X...XXXX..X...

0888... ..1240...X..X..X. ..

09FC....X..XXXXXXX..0200...X..... ....

1C08...XXX.... ..X...1120 ...X...X..X....

E810XX. X.......X....17FF...10.XXXXXXXXXXX

4890 ..X.....

0860 ....X. ....xx.....1D10...XXX.

X...X....

0820 ....X.....X.....1318 ...X..xx...xx...

0810 ....X...X....1010 ...X.......X....

[Programa]

#Definición

#define VACÍO ' . '

#Definir "X" no vacía

#Definir 0 izquierdo

#Definición correcta 1

main()

{versión antigua estática sin firmar[16]=

{0x1040, 0x1040, 0x1048, 0xFDFC, 0x2040, 0x2844 ,

0x4BFE, 0x7C80, 0x0888, 0x09FC, 0x1C08, 0xE810,

0x4890, 0x0860, 0x0820, 0x0810

};

Nuevo sin firmar[16];

trunleft(antiguo, nuevo);

Display(antiguo, nuevo);

}

Gire izquierda (antiguo, nuevo)

Antiguo[], nuevo[];

{ int fila, k;

for(fila = 0; fila & lt16;fila++)

for (k=0, _ _ _ _ _ _; k & lt16;k++)

nuevo[ fila] =((antiguo[k]& gt;& gt_ _ _ _ _ _ _)& 1)& lt;& lt_______ ;

}

Display (antiguo, nuevo)

sin firmar * antiguo,*nuevo;

{

char out[2][17], letra[2]

int fila, col

<; p>Letra[0]=null;

Letra[1]=no nula;

salida[IZQUIERDA][16]= salida[DERECHA][16]= _ _ _ _ _ _;

for(fila = 0; fila & lt16;fila++, antigua++, nueva++)

{ for(col = 0;col<16;++columna)

{ salida[IZQUIERDA][col]=letra[(_ _ _ _ _ _ _)&1 ];

salida[DERECHA][col]= letra[(_ _ _ _ _ _ _)&1];

}

printf ("\n %4x %s ", *old, & ampout[LEFT][0]);

printf(" %4x %s ", *nuevo, & ampout[RIGHT][0] );

}

}

nuevo[16]= _ _ _ _ _ _;

for(fila = 0; fila & lt16;fila++, antiguo++, nuevo++)

{

for(col = 0; col & lt16;++columna)

{ salida[IZQUIERDA][col]=letra[(_ _ _ _ _ _ _)&1];

salida[DERECHA][col]= letra[(_ _ _ _ _ _ _)&1];

}

printf("\n %4x %s ", *antiguo, &out[IZQUIERDA][0]);

printf(" %4x %s ", *nuevo, & ampout[DERECHA][0]);

}

}