Resolución de problemas de programación VFP6
Todos los programas han sido verificados en la máquina.
********************************************* *** *************************
1. Supongamos que S=1*2*3*4*... .N, Encuentra N cuando s no es mayor que 10000
CLEAR
S=1
N=0
HACER MIENTRAS S <=10000
N=N+1
S=S*N
?S
ENDDO "N=",N -1 p>
RETORNO
********************************* ******* **********************************
La programación de prueba muestra los siguientes gráficos:
1) 1
2) 2 4
3) 3 6 9
4) 4 8 12 16
5 ) 5 10 15 20 25
El procedimiento es el siguiente:
borrar
para i=1 a 5
para j=1 a i
?alltrim(str(i*j))+espacio(2)
endfor
?
fin de
retorno
*************************** *************** *******************************
Programación: Para encontrar la suma de números pares hasta 100, se requiere un bucle Orden.
clear
s=0
i=1
hacer mientras i<=100
si %2<>0
i=i+1
bucle
else
s=s+i
i=i+1
endif
enddo "La suma de números pares hasta 100 es:",s
return
endif
endfor
********************************* ******* *************************************
Es Se sabe que existe una tabla de datos xscj.dbf, su estructura es: número de estudiante (C,8), nombre (C,8), grado 1 (N,3), grado 2 (N,3), grado 3 ( N,3), calificación promedio general (N, 3), donde la puntuación promedio general y la clasificación están vacías, lo que requiere que la programación complete automáticamente la puntuación promedio general y muestre los diez primeros de la clase.
borrar
usar xscj
reemplazar toda la puntuación promedio general con (puntuación 1+puntuación 2+puntuación 3)/3
índice en la puntuación promedio general etiqueta puntuación promedio general desc
ir arriba
lista los 10 siguientes
usar
volver
*************************************************** *** **********************
Es necesario visualizar la siguiente tabla de multiplicar e intentar programar.
4*4=16
3*3=9 3*4=12
2*2=4 2*3=6 2*4= 8
1*1=1 1*2=2 1*3=3 1*4=4
borrar
para i=4 a 1 paso -1
para j=1 a 5-i
?str(i,1)+"*"+str(5-j,1)+"="+alltrim (cadena(i*j))+espacio(2)
endfor
endfor
retorno
****** ************************************************** * *******************
Conocido: existe una tabla libre gz.dbf, cuyo contenido de datos es la tabla de distribución salarial de la unidad. ,
Pruebe programar El campo de salario básico se clasifica según la longitud del campo: 30 yuanes para aquellos con menos de 5 años de servicio, 50 yuanes para aquellos con menos de 10 años de servicio, 80 yuanes para aquellos con menos de 15 años de servicio, 120 yuanes para aquellos con menos de 20 años de servicio y 120 yuanes para aquellos con más de 20 años de servicio.
borrar
usar gz
escanear
hacer caso
caso duración del servicio <5
reemplazar salario base por salario base + 30
caso antigüedad <10
reemplazar salario base por salario base +50
caso antigüedad <15
reemplazar salario base con salario base+80
caso antigüedad<20
reemplazar salario base con salario base+120
en caso contrario
reemplazar salario base con salario base + 200
endcase
endscan
usar
return
********************************************** ***** **********************
Hay una tabla libre xs.dbf, el campo es nombre (C, 8) grado 1 (N, 4) grado 2 (N, 4) puntaje 3 (N, 4),
La programación de prueba mostrará los puntajes superiores a 85 en cada curso. Requiere el uso de bucles tipo.
El procedimiento es el siguiente:
clear
usar xs
do mientras no sea eof()
si puntaje 1 >=85 y grado 2>=85 y grado 3>=85
disp
endif
skip
enddo
usar
devolver
*************************** *** ****************************************
CONJUNTO HABLAR APAGADO
a=4
b=5
hacer pp con a,2*b a,b
activar hablar
RETORNO
*Esta es una subrutina, el nombre del archivo es pp.prg
PARAMETROS x,y
y=x*y "s=" +STR(y,3)
RETURN
El resultado de ejecución es: s=40
4 5
***** ********************************************** ****** *******************