Методичка по программированию
.pdf* * * * * * * * * * *
* * E E * *
** E E * F *
** E E * F F *
** E E * F F * *
3. * * E |
E * F F * |
* |
* * E E |
* F F * |
* |
* E E * |
F F * |
* |
* E * F |
F * |
* |
* * F F |
* |
* |
** * * * * * * * * *
** * * * * * * * * *
* |
|
* * |
* |
|
* |
|
* H * |
* |
|
* |
* |
H H |
* |
* |
* * H |
H H |
* |
* |
5.* * * * * * * * * * *
* * O O O O * * * O O O O * * * O O O O * * * O O O O *
* * * * * * * * * * *
61
* * * * * * * * * * *
* * |
|
|
* * |
* |
* |
* |
G * |
* |
* |
* G |
G * |
** * G G G *
4.* * * * * * G G G G *
*G G G G G G G G G *
*G G G G G G G G G *
*G G G G G G G G G *
*G G G G G G G G G *
** * * * * * * * * *
** * * * * * * * * *
** P P P P P P P * *
* |
* P |
P P |
P P * |
* |
* |
* P P |
P * |
* |
|
* |
|
* P |
* |
* |
6.* * * * * * * * * * *
* * Q Q Q Q * * * Q Q Q Q * * * Q Q Q Q * * * Q Q Q Q *
* * * * * * * * * * *
** * * * * * * * * *
** * S S S S *
*R * * S S S S *
*R R * * S S S S *
*R R R * * S S S S *
7.* R R R R * * * * * *
* R R R R |
R * |
|
* |
|
* R |
R R R |
R R * |
* |
|
* R |
R R R |
R R |
R * |
* |
*R R R R R R R R * *
** * * * * * * * * *
** * * * * * * * * *
* * |
|
* |
* * |
* V * |
* |
* W * |
|
* V |
V * |
* |
* W W * |
*V V V * * * W W W *
9.* V V V V * W W W W *
*V V V V * * W W W *
* V V V V * |
* W |
W * |
|
* V |
V V V * |
* W * |
|
* V |
V V V * |
|
* * |
* * * * * * * * * * *
** * * * * * * * * *
** T T T T T T T * *
** T T T T T * U *
** T T T * U U *
** T * U U U *
8.* * U U U U *
** * * U U U *
* |
|
* * |
* U |
U * |
* |
* |
* |
* |
U * |
* * |
* |
|
* * |
** * * * * * * * * *
** * * * * * * * * *
** X X X * *
* |
* |
X |
X * |
* |
* |
* |
X * |
* |
|
* |
* * |
|
* |
|
10. * * * * * * |
|
|
* |
|
* |
* * |
|
* |
|
* |
* Y * |
* |
||
* |
* Y Y * |
* |
** Y Y Y * *
** * * * * * * * * *
62
* * * * * * * * * * *
* |
* |
Z |
Z |
Z |
* |
* |
* |
* |
Z |
Z |
Z |
* |
* |
** * * Z Z Z * * * *
*Z Z Z Z Z Z Z Z Z *
11.* Z Z Z Z Z Z Z Z Z *
*Z Z Z Z Z Z Z Z Z *
** * * Z Z Z * * * *
* |
* |
Z |
Z |
Z |
* |
* |
* |
* |
Z |
Z |
Z |
* |
* |
** * * * * * * * * *
** * * * * * * * * *
* L L * |
* L L * |
* L L * |
* L L * |
* L L * |
* * * * |
* L L * |
* |
13. * L L * |
* |
* L L * |
* |
*L L * * * * * * * *
*L L L L L L L L L *
*L L L L L L L L L *
** * * * * * * * * *
** * * * * * * * * *
*I I I I I I I I I *
*I I I I I I I I I *
** * * I I I * * * *
* |
* I I |
I * |
* |
||
12. * |
* I |
I |
I |
* |
* |
* |
* I |
I |
I |
* |
* |
** * * I I I * * * *
*I I I I I I I I I *
*I I I I I I I I I *
** * * * * * * * * *
** * * * * * * * * *
*T T T T T T T T T *
*T T T T T T T T T *
** * * T T T * * * *
* |
* T T T * |
* |
14. * |
* T T T * |
* |
* |
* T T T * |
* |
* |
* T T T * |
* |
* |
* T T T * |
* |
* |
* T T T * |
* |
* * * * * * * * * * *
63
* * * * * * * * * * *
* |
X |
X |
* |
|
* |
X X * |
|
* |
X |
X |
X * |
|
* X |
X X * |
|
* * X X X * X X X * * |
|||||||
* |
|
* |
X X |
X X X * |
* |
||
15. * |
|
|
* X |
X |
X * |
|
* |
* |
|
* |
X X |
X |
X X |
* |
* |
* * X X X * X X X * * |
|||||||
* X |
X X * |
|
* X X X * |
||||
* X |
X * |
|
* |
X X * |
** * * * * * * * * *
** * * * * * * * * *
*Z Z Z Z Z Z Z Z Z *
*Z Z Z Z Z Z Z Z Z *
** * * * * Z Z Z * *
* |
* |
Z Z |
Z |
* |
* |
|
17. * |
* Z |
Z |
Z * |
|
* |
|
* |
* Z Z |
Z |
* |
|
|
* |
** Z Z Z * * * * * *
*Z Z Z Z Z Z Z Z Z *
*Z Z Z Z Z Z Z Z Z *
** * * * * * * * * *
* * * * * * * * * * *
* |
Y Y |
* |
|
* |
Y Y * |
* |
Y Y |
Y * |
* |
Y |
Y Y * |
* * Y Y Y * Y Y Y * * |
|||||
* |
* |
Y Y Y Y Y |
* * |
||
16. * |
|
* Y Y Y * |
* |
||
* |
|
* Y Y Y * |
* |
||
* |
|
* Y Y Y * |
* |
||
* |
|
* Y Y Y * |
* |
||
* |
|
* Y Y Y * |
* |
** * * * * * * * * *
** * * * * * * * * *
*O O O O O O O O O *
*O * * * * * * * O *
* O * |
|
* O * |
|
* O * |
* * * |
* O * |
|
18. * O * |
* O * |
* O * |
|
* O * |
* * * |
* |
O * |
* O * |
|
* |
O * |
*O * * * * * * * O *
*O O O O O O O O O *
** * * * * * * * * *
64
** * * * * * * * * *
*E E E E E E E E E *
*E * * * * * * * * *
* E * |
* |
*E * * * * * * * * *
19.* E E E E E E E E E *
*E * * * * * * * * *
* E * |
* |
*E * * * * * * * * *
*E E E E E E E E E *
** * * * * * * * * *
** * * * * * * * * *
*S S S S S S S S S *
*S * * * * * * * * *
* S * |
* |
*S * * * * * * * * *
21.* S S S S S S S S S *
** * * * * * * * S *
* |
* S * |
** * * * * * * * S *
*S S S S S S S S S *
** * * * * * * * * *
** * * * * * * * * *
*C C C C C C C C C *
*C C C C C C C C C *
*C C * * * * * * * *
* C C * |
* |
|
20. * C C |
* |
* |
* C C |
* |
* |
*C C * * * * * * * *
*C C C C C C C C C *
*C C C C C C C C C *
** * * * * * * * * *
** * * * * * * * * *
* |
M |
M |
* |
* |
M |
M |
* |
* |
M |
M |
M * |
* M |
M |
M |
* |
*M M M M * M M M M *
*M M M M M M M M M *
22.* M M * M M M * M M *
*M M * * M * * M M *
* M M * |
* * M M * |
||
* M |
M * |
* |
M M * |
* M |
M * |
* |
M M * |
* * * * * * * * * * *
65
* * * * * * * * * * *
* A A * |
* B B * |
* A A * |
* B B * |
* * * * |
* * * * |
* |
* |
23. * |
* |
* |
* |
* * * * |
* * * * |
* C C * |
* D D * |
* C C * |
* D D * |
** * * * * * * * * *
** * * * * * * * * *
*P P P P P P P P P *
*P * * * * * * * P *
* P * |
* P * |
*P * * * * * * * P *
25.* P P P P P P P P P *
*P * * * * * * * * *
* P * |
* |
|
* P |
* |
* |
* P |
* |
* |
* * * * * * * * * * *
* * * * * * * * * * *
* |
F F F * |
|
* |
|
* |
F F * |
|
|
* |
* |
F * * |
|
|
* |
* |
* |
* |
|
* |
24. * |
|
|
* |
* |
* |
|
|
* |
* * |
* |
|
|
|
* * G * |
* |
|
|
|
* G G * |
* |
|
|
* G G G * |
** * * * * * * * * *
** * * * * * * * * *
*Q Q Q Q Q Q Q Q Q *
*Q Q * * * * * * Q *
* Q |
* Q * |
|
* Q * |
* Q |
* * Q |
* |
* Q * |
26. * Q |
* * |
Q * |
* Q * |
* Q |
* |
* Q * * Q * |
|
* Q |
* |
* Q * Q * |
*Q * * * * * * Q Q *
*Q Q Q Q Q Q Q Q Q *
** * * * * * * * * *
66
* * * * * * * * * * * |
* * * * * * * * * * * |
||||||
* R R R R R R R R R * |
* K * |
|
* K * |
||||
* R * * * * * * R * * |
* K * |
* K * * |
|||||
* R * |
* R * * |
* K * |
* K * * |
||||
* R * * * * R * |
* |
* K * * * * K * |
* |
||||
27. * |
R R |
R R R * |
* |
28. * |
K K K K K * |
* |
|
* R * * * * R * |
* |
* K * * * * K * |
* |
||||
* R * |
* R * * |
* K * |
* K * * |
||||
* R * * * * * * R * * |
* K * |
* K * * |
|||||
* R R R R R R R R R * |
* K * |
|
* K * |
||||
* * * * * * * * * * * |
* * * * * * * * * * * |
* * * * * * * * * * *
* |
J * |
* J * |
|
* |
|
* |
* J * |
|
* J |
* |
* |
* |
* J |
* |
* |
J * * |
|
* |
* |
J * |
|
* J * |
|
29. * |
* |
* J |
* |
|
* * |
* |
J * |
* J * |
|
* |
|
* |
* J * |
|
* J |
* |
* |
* |
* |
J * |
* J |
* |
* |
* |
* |
J * |
* |
J |
* |
* * * * * * * * * * *
* * * * * * * * * * *
* |
* |
* |
|
* |
* |
* N |
* |
|
* |
* |
* N N |
* |
|
* |
* |
* N N N |
* |
|
* |
30. * |
* * * * |
* * |
* * * * |
|
* |
|
* * |
|
* |
* |
|
* O |
* |
* |
* |
|
* O |
O * |
* |
** O O O * *
** * * * * * * * * *
67
Пример 6. Дан вид квадратной символьной матрицы с числом строк и столбцов N = 11 :
* * * * * * * * * * *
* * @ @ @ * |
* |
|
* $ * @ @ * |
* |
|
* $ $ * |
@ * |
* |
* $ $ $ |
* * |
* |
** * * * * * * * * *
** * # # # *
** & * # # *
** & & * # *
** & & & * *
** * * * * * * * * *
Требуется составить программу для ЭВМ, позволяющую получить на экране видеотерминала такую матрицу при значениях N = 1 - 20 . Искомый результат может быть достигнут последовательным перебором элементов матрицы по строкам и столбцам на основе счетной циклической алгоритмической структуры. Из-за нерационального использования оперативной памяти нецелесообразно применение соответствующего одной строке одномерного символьного массива, равно как и соответствующего всей матрице двумерного массива. Достаточным является использование простых переменных (или констант), а формирование строк провести на основе форматного ввода-вывода. Обработка элементов матрицы в соответствии с требованиями задания должна составить тело вложенной циклической структуры.
68
CЗАДАНИЕ 6. Пример 6. Прогр. на языке FORTRAN. PROGRAM T6
C
CHARACTER*1 C, C1, C2, C3, C4, C5, C6 DATA C1, C2, C3, C4, C5, C6
* / ’*’, ’@’, ’#’, ’$’, ’&’, ’ ’ /
C
5WRITE(*,10)
10FORMAT(1X,’Размер картинки [1-20]: N = ’, $) READ(*,*) N
IF( N .LT. 1 .OR. N .GT. 20 |
) |
GOTO 5 |
|||||
C |
|
|
|
|
|
|
|
M = |
( N + |
1 ) / |
2 |
|
|
|
|
DO |
95 |
I = 1 , |
N |
! |
|
Цикл по строкам |
|
DO |
75 |
|
J = 1 |
, N |
! |
Цикл по столбцам |
|
|
C = |
C1 |
|
|
|
|
|
|
IF( |
I .EQ. 1 .OR. I .EQ. N .OR. I .EQ. M |
*.OR. J .EQ. 1 .OR. J .EQ. N .OR. J .EQ. M
* |
.OR. I |
.EQ. J |
) |
GOTO 55 |
|
|
IF( |
I .GT. J ) |
GOTO 15 |
||
|
C = |
C2 |
|
|
|
|
IF( |
J .LT. M ) |
GOTO 55 |
||
|
|
C = C3 |
|
|
|
|
|
IF( I .GT. M ) |
GOTO 55 |
||
|
|
|
GOTO 35 |
|
|
15 |
C = |
C4 |
|
|
|
|
IF( |
I .LT. M ) |
GOTO 55 |
||
|
C = |
C5 |
|
|
|
|
IF( |
J .GT. M ) |
GOTO 55 |
||
35 |
|
C |
= C6 |
|
|
C
69
55 |
WRITE(*,60) |
C |
60 |
FORMAT(A2,$) |
|
75 |
CONTINUE |
! Конец цикла по столбцам |
|
WRITE(*,*) |
|
C |
|
|
95 |
CONTINUE |
! Конец цикла по строкам |
|
GOTO 5 |
|
|
END |
|
/* ЗАДАНИЕ 6. Пример 6. Программа на языке C. */
#include <stdio.h> #include <math.h>
int main( void ) {
char c;
char c1=’*’, c2=’@’, c3=’#’, c4=’$’, c5=’&’, c6=’ ’; int i, j, k, m, n;
l: printf( |
" Размер картинки [1-20]: N = " ); |
scanf ( |
"\f %d", &n ); |
if( n < |
1 || n > 20 ) goto l; |
k = n + |
1; |
m = k / |
2; |
for( i = 1; i < k; i++ ) { /* Цикл по строкам */ |
for( j = 1; j < k; j++ ){ /* Цикл по столбцам*/ if( i == 1 || i == n || i == m || i == j
|| j == 1 || j == n || j == m ) c = c1;
70