Problema del laberinto de programación en lenguaje C
¿Es posible dibujar tortugas? Este es el diseño del curso de lenguaje C para mi primer año, que hice yo mismo.
Informe del Experimento de Diseño del Curso de Idiomas de Nivel Avanzado
Curso Experimental: Diseño Curricular Grado: 2004 Puntuación Experimental:
Nombre del Diseño del Curso Nombre del Dibujo de Tortuga:
p>
Profesor: ID de estudiante: 2004810025 Fecha del experimento:
1. Propósito
Consolidar y utilizar el conocimiento aprendido y mejorar la capacidad práctica escribiendo algunos programas pequeños.
El contenido de conocimiento involucrado en este tema: anidamiento de bucles for, declaraciones if, matrices bidimensionales, creación y guardado de archivos, funciones personalizadas y otro contenido de lenguaje de alto nivel.
2. Contenidos e ideas de diseño
1. Contenido del diseño
Durante el proceso de rastreo de la tortuga, si el bolígrafo apunta hacia abajo, se registrarán los rastros de la tortuga. Si el bolígrafo apunta hacia arriba, los rastros no se registrarán ni guardarán.
1 significa que el bolígrafo apunta hacia arriba, 2 significa hacia abajo 3. Girar a la derecha, 4. Girar a la izquierda, 5, x avanzar x espacio, 6 imprimir
9. Fin
p>2. Estructura del código principal
La función main() llama a dos funciones
3. Análisis de segmentos principales de código.
Por ejemplo, la función de impresión imprime rastros de tortugas y los guarda. Función de paso: cuando el bolígrafo apunta hacia arriba, el valor de la matriz sobre el que camina la tortuga aumenta en uno
3 Entorno de uso
La plataforma y el software relacionado utilizados en esta práctica informática. .
Plataforma: Windows 2000
Software relacionado: VC++
4. Proceso de depuración
1. Análisis de los resultados de la prueba
Después de la verificación, los resultados de la operación son correctos
5. Problemas encontrados en el proceso de diseño y solución
Se produjeron algunos errores lógicos y gramaticales durante el proceso de depuración, pero los errores gramaticales son fáciles de corregir, mientras que
los errores lógicos son más difíciles de corregir . A veces se omiten símbolos como ",", ";", "}"
2. Experiencia y ganancias en diseño.
Descubrí que también puedo resolver problemas un tanto complicados
VI Apéndice
1. Código fuente
/*Dibujo de tortuga, área activa 50*50, más allá del área, la tortuga muere y el juego termina*/
#include void print(int [][49]); void move(int [][49],int,int,int); main() { int paso[49][49]; int a,gostep,direct=1,record=1,i,j; p> for(i=0;i<=49;i++) for(j=0;j<=49;j++) paso[i][ j]=0 ; while(1) { scanf("%d,%d",&a,&gostep); si (a==2) registro=1; si(a==1) registro=0; si(a==4) { directo++; if(direct==5) directo=1; continuar; } p> if(a==3) { directo--; if(direct==0) directo=4; /p> continuar; } if(a==5) { mover(paso,gostep) ,directo,grabar ); continuar; } if(a==6) imprimir(paso); if(a==9) return 0; } } /*Imprimir el rastrear la tortuga y guardarla* / void print(int s[][49]) { int i,j; ARCHIVO *fp; fp=fopen("D:\\step.txt","w"); for(i=0;i<=49; i++) { for(j=0;j<=49;j++) { printf(s[i ][j]== 0? " ":"*"); fprintf(fp,s[i][j]==0? " ":"*"); } p> printf("\n"); } fclose(fp); } movimiento vacío (int t[][49],int i,int j,int k) { static int x=0,y=0; int xmove,ymove,num; if(j==1) { xmove=1;ymove=0; } if(j==2) { xmove=0;ymove=-1; > } if(j==3) { xmove=-1;ymove=0; } if(j==4) { xmove=0;ymove=1; } for(num=0;num { t[0][0]=1; x+=xmove ; y+=ymove; if(x<0||x>49||y<0||y>49) { p> printf("el lugar es peligroso, estás muerto"); exit(); } t[y][ x]+=k; } }