4.  Дано вещественное число A и целое число N (> 0). Вывести все целые степени числа A от 1 до N.

5.  Дано вещественное число A и целое число N (> 0). Вывести 1 + A + A2 + A3 + ... + AN.

Методические рекомендации по проведению СРСП.

Контрольный пример 1. Нарисовать блок-схему и написать программу для вычисления выражения с использованием циклических структур (рисунок 3).

Контрольный пример 2. Нарисовать блок-схему и написать программу для вычисления выражения с использованием циклических структур (рисунок 4).

/* пример 1 */

#include <stdio. h>

#include <math. h>

#include <conio. h>

main ()

{ float i, f, n, p;

clrscr();

printf("Enter n\n");

scanf("%n", &n);

f=p=1;

for(i=1;i<=n;i++)

{

f*=i;

p*=2+1/f;

}

printf("P = %6.2f", p);

getch();

return 0;

}

/* пример 2*/

#include <stdio. h>

#include <math. h>

#include <conio. h>

#define e 0.01

main ()

{ float k, f, s, ak;

clrscr();

f=1;

s=k=0;

do

{

k++;

f*=k;

ak=pow(-1,k)*(k+1)/f;

s+=ak;

}

while (fabs(ak)>e);

printf("S = %6.2f k = %4.0f", s, k);

getch();

return 0;

}

 

Рисунок 3

Рисунок 4

Рекомендуемая литература:

1осн[134-153], 2осн[211-255], 3осн[57-63], 5доп[28-41],6доп[116-126], 7доп[11-15]

Тема 4. Алгоритмическое описание, составление программ обработки одномерного массива.

Форма проведения: Решение задач.

Задание. Реализовать обработку одномерного массива, как указано в варианте. Составить блок-схему алгоритма и написать программу.

НЕ нашли? Не то? Что вы ищете?

Варианты заданий:

1.  Дан массив размера N. Вывести индексы массива в том порядке, в котором соответствующие им элементы образуют возрастающую последовательность.

2.  Дан массив размера N. Вывести вначале его элементы с четными индексами, а затем — с нечетными.

3.  Дан целочисленный массив A размера 10. Вывести номер первого из тех его элементов A[i], которые удовлетворяют двойному неравенству: A[1] < A[i] < A[10]. Если таких элементов нет, то вывести 0.

4.  Дан целочисленный массив размера N. Преобразовать его, прибавив к четным числам первый элемент. Первый элемент массива не изменять.

5.  Дан целочисленный массив размера N. Вывести вначале все его четные элементы, а затем — нечетные.

Методические рекомендации по проведению СРСП.

Контрольный пример 1. Дан массив А(100). Определить количество положительных элементов с четными номерами и сумму отрицательных элементов с нечетными номерами (рисунок 5).

Контрольный пример 2. Дан массив А(100). Найти среднеарифметическую сумму положительных элементов, следующих за первым по порядку нулевым элементом (рисунок 6).

/* пример 1 */

#include <stdio. h>

#include <conio. h>

#define n 100

main()

{ int i, s, k, a[n];

clrscr();

for(i=0; i<n; i++)

scanf(“%d”, &a[i]);

s=k=0;

for(i=0; i<n; i+=2)

{ if (a[i]<0) s+=a[i];

if (a[i+1]>0) k++;}

printf(“k = %5d s = %5d”, k, s);

getch();

return 0; }

/* пример 2 */

#include <stdio. h>

#include <conio. h>

#define n 100

main()

{ int i, j, k, a[n]; float s;

clrscr();

for(i=0; i<n; i++)

scanf(“%d”, &a[i]);

s=k=0;

for(i=0; i<n-1; i++)

if (a[i]==0) {

for(j=i+1; j<n; j++)

if (a[j]>0) { s+=a[j]; k++; }

if (k>0) {s/=k; goto m1; } }

m1: printf(“s = %6.2f”, s);

getch();

return 0; }


Рисунок 5

Рисунок 6

 

Рекомендуемая литература:

1осн[223-253], 2осн[244-255], 5доп[41-46], 7доп[15-23]

Тема 5. Алгоритмическое описание, составление программ обработки двумерного массива.

Форма проведения: Решение задач.

Задание. Задав двумерный массив вещественных данных (матрицу А), реализовать его обработку, как указано в варианте. Исходные данные задать самостоятельно, учитывая специфику задачи. Составить блок-схему алгоритма и написать программу.

Варианты заданий:

1.  Дано число k (0 < k < 11) и матрица размера 4 x 10. Найти сумму и произведение элементов k-го столбца данной матрицы.

2.  Дана матрица размера 5 x 9. Найти суммы элементов всех ее четных столбцов.

3.  Дана матрица размера 5 x 10. Найти минимальное значение в каждом столбце.

4.  Дана матрица размера 5 x 10. В каждой строке найти количество элементов, больших среднего арифметического всех элементов этой строки.

5.  Дана матрица размера 5 x 10. Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждой строке.

Методические рекомендации по проведению СРСП.

Контрольный пример 1. Дан массив А(10, 10). В области, лежащей не выше главной диагонали, определить минимум, а в области, лежащей не выше побочной диагонали, сумму элементов. Присвоить минимальному элементу полученное значение суммы (рисунок 7).

Контрольный пример 2. По матрице А(20, 20) построить массив В(20), присвоив В(I) значение 1, если в строке с номером I матрицы А число положительных элементов не меньше числа отрицательных, и значение 0 – в противном случае (рисунок 8).

/* пример 1 */

#include <stdio. h>

#include <conio. h>

#define n 10

main()

{ int i, j, m, p, min, s, a[n][n];

clrscr();

for(i=0; i<n; i++)

for(j=0; j<n; j++) scanf(“%d”, &a[i][j]);

s=a[0][n-1]; min=a[0][0]; m=p=0;

for(i=1; i<n; i++)

for(j=0; j<n; j++)

{ if (j<=i)

{ if (a[i][j]<min) {min=a[i][j]; m=i; p=j; }

if (j>=n-1-i) s+=a[i][j]; }

a[m][p]=s;

for(i=0; i<n; i++)

{ for(j=0; j<n; j++) printf(“%3d”, a[i][j]);

printf(“\n”); }

getch(); return 0; }

/* пример 2 */

#include <stdio. h>

#include <conio. h>

# define n 10

main()

{ int i, j, k, p, a[n][n], b[n];

clrscr();

for(i=0; i<n; i++)

for(j=0; j<n; j++) scanf(“%d”, &a[i][j]);

for(i=0; i<n; i++)

{ p=k=0;

for(j=0; j<n; j++)

{ if (a[i][j]>0) p++;

else if (a[i][j]<0) k++;

if (p>=k) b[i]=1;

else b[i]=0; }

for(i=0; i<n; i++)

printf(“%3d”, b[i]);

getch();

return 0; }

Контрольный пример 3. По матрице А(20, 20) построить массив В(20) по правилу: В(J) присвоить 1, если в столбце с номером J матрицы А есть хотя бы один отрицательный элемент, и значение 0 – в противном случае (рисунок 9).

Контрольный пример 4. По матрице А(10, 10) построить массив В(10) по правилу: В(1) равен сумме элементов главной диагонали, В(2) – сумме элементов диагонали, лежащей ниже главной и параллельно ей и т. д. (рисунок 10).

/* пример 3 */

#include <stdio. h>

#include <conio. h>

#define n 20

main()

{ int i, j, a[n][n], b[n];

clrscr();

for(i=0; i<n; i++)

for(j=0; j<n; j++) scanf(“%d”, &a[i][j]);

for(j=0; j<n; j++)

{ b[j]=0;

for(i=0; i<n; i++)

if (a[i][j]<0)

{ b[j]=1;

break; }}

for(i=0; i<n; i++) printf(“%3d”, b[i]);

getch();

return 0; }

/* пример 4 */

#include <stdio. h>

#include <conio. h>

#define n 10

main()

{ int i, j, s, k, a[n][n], b[n];

clrscr();

for(i=0; i<n; i++)

for(j=0; j<n; j++) scanf(“%d”, &a[i][j]);

for(j=0; j<n; j++)

{ s=0;

for(i=j; i<n; i++)

s+=a[i][i-j];

b[j]=s; }

for(i=0; i<n; i++) printf(“%3d”, b[i]);

getch();

return 0; }

Рисунок 7

Рисунок 8

Рисунок 9

Рисунок 10

Рекомендуемая литература:

1осн[223-253], 2осн[244-255], 5доп[41-46], 7доп[15-23]

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27