Constellation Knowledge Network - Preguntas y respuestas sobre Bagua - Preguntas del examen de idioma Fortran

Preguntas del examen de idioma Fortran

Los programadores no son tan baratos.

Qué pocos puntos, tantos requisitos,

Súmalo a 200 y te compensaré

========= = ========

Alguien publicó otra publicación, pero de todos modos fue inventada.

Compilado especialmente, de la siguiente manera. Nunca vuelvas a hacer este tipo de preguntas.

! El 14 de junio de 2008, cvf6.6 pasó la depuración.

Programa principal

Ninguno implícito

Entero, parámetro:: Marknum=3, Studentnum=5. ¡Cuántas materias (notas), cuántos estudiantes, sin cambios

tipo de estudiantes! Definir tipo de estudiante

Entero (tipo=8)::ID! Número de estudiante

Real:: Mark(Marknum)=0! Puntuaciones en cada materia

real::summaryk = 0

Real::EvenMark=0! Puntuación media

Entero::Lugar=0! Consigue un lugar en el concurso

End type

type(student)::student arr(student num)! Hay cinco estudiantes.

real::temparr(Studentnum)

real::SearchMark

entero::searchpos

Entero::I, j

entero::select

entero::sn(Studentnum)

entero::binary_search

escribir(*,*) "Si Si elige leer datos de un archivo y enviar los resultados a un archivo, ingrese el número entero 1 y presione Intro".

Escriba (*, *) "Si elige ingresar datos desde el teclado y generar los resultados en la pantalla, luego ingrese el número entero 2 y presione Enter ”

Hacer

Leer (*, *) opción

si (elección = = 1). . o . elección = = 2) Luego

Salir

Otros

Escribir (*, *) "El ingreso de datos seleccionado es incorrecto, por favor vuelva a ingresar !"

Escribe (*, *) "Para leer datos de un archivo y enviar los resultados a un archivo, ingresa el número entero 1 y presiona Enter!"

Escribe (*, *) "Desde Ingrese datos con el teclado y envíe el resultado a la pantalla, luego ingrese el número entero 2 y presione Enter. ”

Terminará si...

Fin de

! -

si(elección==1)entonces

! Leer datos del archivo

Abrir (1, archivo="número de estudiante y archivo de datos de calificaciones.txt")

Hacer i=1, número de estudiante

leer(1,*) estudianteArr(i). Identificación,(studentArr(i)). Mark(j), j=1, Marknum)

Fin do

Leer (1, *) marca de búsqueda

Cerrar (1)

Otro

! Ingrese datos desde el teclado

Escriba (*, *) "一* *有", Studentnum, "Estudiantes, sigan las indicaciones para ingresar datos".

do i=1 , Número de Estudiante

Escribe (*, *) "-"

Escribe (*, *) "número", i, "datos del estudiante"

Escribe ( *, *) "ID de estudiante (entero), presione Enter para confirmar:"

Leer (*, *) StudentArr(i).

Prueba de identidad

hacer j=1, 3

Escribir (*), *) "primero", j, "puntaje de puerta (número real), presione Enter para confirmar:"< /p >

Leer(*,*) estudianteArr(i). Marca (j)

End do

End do

Escribe (*, *) "Por favor ingresa la puntuación total (número real) a consultar:"

Leer (*, *) marca de búsqueda

Escribir (*, *) "Ingreso de datos completado"

Terminará si...

! -

! Calcule la puntuación total y la puntuación media

Haga i=1, número de estudiante

studentArr(i). resumenk = estudiante arr(I). SumaMarca suma(studentArr(i)). Marca)

studentArr(i). EvenMark=estudianteArr(i). Resumen/número de etiquetas

sn(i)=i

Fin do

temparr=studentArr. resumenk

¡Llame a sort(temparr, sn, Studentnum)! Clasificación

SEARCH pos = BINARY _ SEARCH(temparr, Studentnum, searchMark)! Verifique los puntos y obtenga una clasificación.

! Escribe (*), *) marca de búsqueda, ubicación de búsqueda

! Encuentra la clasificación

bucle1: do i=1, Studentnum

bucle2: do j=1, Studentnum

if(studentArr(i).summaryk = = temparr (j)) Entonces

studentArr(i). place=j

Bucle 1

Terminará si...

Fin del bucle 2

Fin del bucle 1

si(elección==1)entonces

! Enviar los resultados a un archivo

Abrir (2, file="★result file.txt")

Escribir (2, "(A5, 4x, A4, 7x, 3 ( A5 , 5x), A4, 7x, A6)") "clasificación", "número de estudiante", "grado 1", "grado 2", "grado 3", "puntaje total", "puntuación promedio".

Haz i=1, número de estudiante

Escribe (2, "(1x, i3.3, 2x, i10, 5x, 5(f6.2, 4x))") estudianteArr(i). lugar, estudianteArr(i). id amp;

amp(studentArr(i). Mark(j), j=1, Marknum), StudentArr(i). SumMark, estudianteArr(i). EvenMark

End do

Escribe (2, *) "-"

Escribe (2, *) "El ítem con mayor puntuación es:"< /p >

Escribe (2, "(A5, 4x, A4, 7x, 3 (A5, 5x), A4, 7x, A6)") "Ranking", "ID de estudiante", "Grado 1", " Grado 2", "Grado 3", "Puntuación total", "Puntuación media".

haz i=1, número de estudiante

if (studentArr(i).place==1) entonces

Escribe (2, "(1x, i3 .3, 2x, i10, 5x, 5(f6.2, 4x))") estudianteArr(i). lugar, estudianteArr(i).

id amp;

amp(studentArr(i). Mark(j), j=1, Marknum), StudentArr(i). SumMark, estudianteArr(i). EvenMark

Terminará si...

Fin do

Escribe (2, *) "-"

Si (Searchpos == 0) Luego

Escribe (2, *) "Puntuación total no encontrada", marca de búsqueda.

Otros

Escriba (2, *) "Puntuación total", SearchMark, "ID de estudiante:", arr(sn(pos. de búsqueda))ID de estudiante.

Terminará si...

Cerrar (2)

Escribir (*, *) "Abra el archivo de resultados.txt para ver los resultados "

Otro

! Muestra los resultados en la pantalla

Escribe (*, "(A5, 4x, A4, 7x, 3 (A5, 5x), A4, 7x, A6)") "clasificación", "número de estudiante" , "Grado 1", "Grado 2", "Grado 3", "Puntuación total", "Puntuación media".

Haz i=1, número de estudiante

Escribe (*, "(1x, i3.3, 2x, i10, 5x, 5(f6.2, 4x))") estudianteArr(i). lugar, estudianteArr(i). id amp;

amp(studentArr(i). Mark(j), j=1, Marknum), StudentArr(i). SumMark, estudianteArr(i). EvenMark

End do

Escribe (*, *) "-"

Escribe (*, *) "El ítem con mayor puntuación es:"< /p >

Escribe (*, "(A5, 4x, A4, 7x, 3 (A5, 5x), A4, 7x, A6)") "clasificación", "número de estudiante", "grado 1", " grado 2 ", "Grado 3", "Puntuación total", "Puntuación media".

haz i=1, número de estudiante

si (studentArr(i).place==1) entonces

Escribe (*, "(1x, i3 .3, 2x, i10, 5x, 5(f6.2, 4x))") estudianteArr(i). lugar, estudianteArr(i). id amp;

amp(studentArr(i). Mark(j), j=1, Marknum), StudentArr(i). SumMark, estudianteArr(i). EvenMark

Terminará si...

Fin do

Escribe (*, *) "-"

Si (Searchpos == 0) Luego

Escribe (*), *) "Puntuación total no encontrada", SearchMark.

Otros

Escriba (*) "Puntuación total", SearchMark, "ID de estudiante:", ID de estudiante (sn(pos. de búsqueda))ID.

Terminará si...

Terminará si...

Pausa "¡El programa finaliza, entra y sale!"

Finalizar programa

! Programa de método de semibúsqueda

Función entera BINARY_SEARCH(A, N, KEY)

Ninguna implícita

Entero:: N

real :: A(N), CLAVE

entero:: L! Posición inicial

Entero R! Posición final

Entero M! Posición media

L=1

R=N

M=(L R)/2

Si ((KEY gtA(L )) o .(KEY ltA(R))) entonces

BINARY_SEARCH = 0

Retorno

Terminará si...

hacer mientras(L lt; = R)

if(KEY-A(M) lt;-0.01)

! Si clave

L=M 1

M=(L R)/2

si no (KEY-A(M)>0.01)

! Si clave > valor medio, los datos caen en la mitad inferior.

R=M-1

M=(L R)/2

si no(ABS(KEY-A(M)) lt;=0.01) Entonces

BINARY_SEARCH = M

Regresar

Terminará si...

Fin do

BINARY_SEARCH = 0

Regresar

Finalizar función

! Clasificar.

Clasificación de subrutina(Arr, sn, len)

Ninguno implícito

Entero::longitud

Entero::número de secuencia (longitud )

real::arr(len), temporal

entero::i, j, item

if (len==1) return

hacer i=1, len-1

hacer j=1, len-1

if(arr(j) lt; arr(j 1)) Entonces

temp=arr(j)

arr(j)=arr(j 1)

arr(j 1)=temp

itemp=sn(j)

sn(j)=sn(j 1)

sn(j 1)=itemp

Si... lo hará Fin

Fin do

Fin do

Fin de clasificación de subrutinas

El nombre del archivo de datos es:

Archivos de datos de números de estudio y calificaciones. Los datos en el archivo de texto (textfile)

son:

123456781 79 67 62.80

123456782 46.94 30.29 85.68

123456783 78.12 2.59 94,92

123456784 90 75 86

123456785 81,23 77,58 88

162,91

El archivo de resultados generado es:

★Archivo de resultados. Archivo de texto (textfile)

El contenido es:

Clasificación del número de estudiante puntuación 1 puntuación 2 puntuación 3 puntuación total promedio.

003 123456781 79,00 67,00 62,80 208,80 69,60

005 123456782 46,94 30,29 85,68 162,91 54,30

004 123456783 78 2 2,59 94,92 175,63 58,54

001 123456784 90.00 75.00 86.00 251.00 83.67

002 123456785 81.23 77.58 88.00 246.81 82.27

-

La puntuación más alta es:

Ranking número de estudiante puntuación 1 puntuación 2 puntuación 3 puntuación total promedio.

001 123456784 90.00 75.00 86.00 251.00 83.67

-

El número de estudiantes con una puntuación total de 162 438 000 es: 102.

上篇: Una persona bebe borracha letra adaptada de King of Glory 下篇: Zhou Gong Digital 568_Zhou Gong Digital Siete Estrellas
Artículos populares