Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК_ПВМ.doc
Скачиваний:
5094
Добавлен:
21.02.2016
Размер:
2.79 Mб
Скачать

Тема 3. Алгоритмическое описание, запись программ циклических структур алгоритмов.

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

Задание 1. Выполнить задание согласно варианту, используя операторы циклаFOR,WHILEиDOWHILE. Составить блок-схему алгоритма и написать программу.

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

    1. Даны два целых числа A и B (A < B). Вывести все целые числа, расположенные между данными числами (включая сами эти числа), в порядке их возрастания, а также количество N этих чисел.

    2. Даны два целых числа A и B (A < B). Вывести все целые числа, расположенные между данными числами (не включая сами эти числа), в порядке их убывания, а также количество N этих чисел.

    3. Дано вещественное число A и целое число N (> 0). Вывести A в степени N: AN = A·A·...·A (числа A перемножаются N раз).

    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]