lab17 add №7

This commit is contained in:
Kaehvaman 2024-10-28 19:35:01 +04:00
parent 78eda1475f
commit f89b7120bd
2 changed files with 51 additions and 0 deletions

View File

@ -76,6 +76,24 @@ void F2(int n, FILE* f) {
} }
} }
void G3(int n, FILE* f);
void F3(int n, FILE* f) {
if (n > 0) {
G3(n - 1, f);
fprintf(f, "G3(%d) returned\n", n - 1);
}
}
void G3(int n, FILE* f) {
printf_s("*");
fprintf(f, "G3(%d) -> print(*) \n", n);
if (n > 1) {
F3(n - 3, f);
fprintf(f, "F3(%d) returned\n", n - 3);
}
}
int main() { int main() {
FILE* fout = fopen("trace.txt", "w"); FILE* fout = fopen("trace.txt", "w");
if (fout == NULL) { if (fout == NULL) {
@ -86,21 +104,37 @@ int main() {
//printf("%lld", fact(5)); // 1 //printf("%lld", fact(5)); // 1
f1(11, fout); f1(11, fout);
fprintf(fout, "f1(%d) returned\n", 11);
fprintf(fout, "\n"); fprintf(fout, "\n");
printf_s("\n\n"); printf_s("\n\n");
f2(11, fout); f2(11, fout);
fprintf(fout, "f2(%d) returned\n", 11);
fprintf(fout, "\n"); fprintf(fout, "\n");
printf_s("\n\n"); printf_s("\n\n");
f3(11, fout); f3(11, fout);
fprintf(fout, "f3(%d) returned\n", 11);
fprintf(fout, "\n"); fprintf(fout, "\n");
printf_s("\n\n"); printf_s("\n\n");
recEGE1(3, fout); recEGE1(3, fout);
fprintf(fout, "recEGE1(%d) returned\n", 3);
fprintf(fout, "\n"); fprintf(fout, "\n");
printf_s("\n\n"); printf_s("\n\n");
F1(10, fout); F1(10, fout);
fprintf(fout, "F1(%d) returned\n", 10);
fprintf(fout, "\n"); fprintf(fout, "\n");
printf_s("\n\n"); printf_s("\n\n");
F2(1, fout); F2(1, fout);
fprintf(fout, "F2(%d) returned\n", 1);
fprintf(fout, "\n");
printf_s("\n\n");
F3(11, fout);
fprintf(fout, "F3(%d) returned\n", 11);
fclose(fout); fclose(fout);
return 0; return 0;

View File

@ -9,6 +9,7 @@ f1(3) returned
f1(5) returned f1(5) returned
f1(7) returned f1(7) returned
f1(9) returned f1(9) returned
f1(11) returned
f2(1) -> print(1) f2(1) -> print(1)
f2(1) returned f2(1) returned
@ -21,6 +22,7 @@ f2(7) returned
f2(9) -> print(9) f2(9) -> print(9)
f2(9) returned f2(9) returned
f2(11) -> print(11) f2(11) -> print(11)
f2(11) returned
f3(11) -> print(11) f3(11) -> print(11)
f3(9) -> print(9) f3(9) -> print(9)
@ -37,6 +39,7 @@ f3(7) returned
f3(9) -> print(9) f3(9) -> print(9)
f3(9) returned f3(9) returned
f3(11) -> print(11) f3(11) -> print(11)
f3(11) returned
recEGE1(3) && (n >= 1) == true -> print( 3) recEGE1(3) && (n >= 1) == true -> print( 3)
recEGE1(2) && (n >= 1) == true -> print( 2) recEGE1(2) && (n >= 1) == true -> print( 2)
@ -59,6 +62,7 @@ recEGE1(1) && (n >= 1) == true -> print( 1)
2)recEGE1(0) returned 2)recEGE1(0) returned
2)recEGE1(1) returned 2)recEGE1(1) returned
2)recEGE1(2) returned 2)recEGE1(2) returned
recEGE1(3) returned
F1(10) -> print(10) F1(10) -> print(10)
F1(7) -> print(7) F1(7) -> print(7)
@ -78,6 +82,7 @@ F1(3) -> print(3)
1)F1(3) returned 1)F1(3) returned
2)F1(2) returned 2)F1(2) returned
2)F1(6) returned 2)F1(6) returned
F1(10) returned
F2(1) -> print(1) F2(1) -> print(1)
F2(2) -> print(2) F2(2) -> print(2)
@ -94,3 +99,15 @@ F2(4) -> print(4)
1)F2(5) returned 1)F2(5) returned
2)F2(7) returned 2)F2(7) returned
2)F2(4) returned 2)F2(4) returned
F2(1) returned
G3(10) -> print(*)
G3(6) -> print(*)
G3(2) -> print(*)
F3(-1) returned
G3(2) returned
F3(3) returned
G3(6) returned
F3(7) returned
G3(10) returned
F3(11) returned