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

Задачи для самостоятельной работы № 2 и 4 Примеры решения задач

Задание 3.2. Решить прикладную задачу с помощью циклического вычислительного процесса.

Дано натуральное число N. Вычислить сумму первых N слагаемых: .

Словесный алгоритм.

Шаг 1. Ввести с клавиатуры значения переменной M.

Шаг 2. Задать начальное значение: S = 0, N = 1.

Шаг 3. Организовать цикл с постусловием: S = S +, N= N+1

Шаг 4. Если N≤M, тогда возвращаемся на шаг 3, если нет то идем на шаг 5.

Шаг 5. Выведем значения переменной S .

Шаг 6. Остановить выполнение программы

Листинг программы.

#include<stdio.h>

#include<math.h>

#include<conio.h>

void main(){

clrscr();

float s,x;

int n,m;

printf("Введите значения переменной m ");

scanf("%i",&m);

s=0;

n=1;

while (n<=m)

{ x=(n/(n+1);

s+=x;

n++;

}

printf("\ns=%6.2f",s);

getch();

}

Задание 3.4. Составить программу для решения задачи с целыми числами.

Дано натуральное число n99. Дописать к нему цифру k в конец.

Словесный алгоритм.

Шаг 1. Ввести с клавиатуры число ≤ 99.

Шаг 2. Ввести с клавиатуры цифру.

Шаг 3. умножить введенное число на 10 и прибавить введенную цифру.

Шаг 4. Выводим результат

Шаг 5. Остановить выполнение программы

Листинг программы.

#include<stdio.h>

#include<math.h>

#include<conio.h>

void main(){

clrscr();

int n,k;

printf("Введите значения натурального числа <=99 ");

scanf("%i",&n);

printf("Введите цифру 0<=k<=9 ");

scanf("%i",&k);

n=n*10+k;

printf("\nНовое число %i",n);

getch();

}

Практическая работа № 4

Тема: Обработка одномерных массивов.

Цель: Закрепить на практике теоретические знания по обработке одномерных массивов.

Порядок выполнения практической работы

  1. Изучите теоретический материал. [4, стр.55-67].

  2. Ознакомьтесь с примерами программ.

  3. Составьте алгоритм и программу по указанному варианту задания, используя «Сборник задач для практических работ».

  4. Отладьте программу и выполните расчеты на ПК.

  5. Оформите отчет о выполненной работе.

Содержание отчета

  1. Тема работы.

  2. Цель работы.

  3. Условия задач.

  4. Листинг программы.

  5. Решение задачи на ПК.

  6. Краткие выводы по работе.

Задачи для обязательного выполнения № 1, 2 и 3.

Примеры решения задач.

Задание 4.1. Селективная обработка одномерного массива

Найти сумму положительных чисел массива.

Словесный алгоритм.

Шаг 1. Организовать ввод с клавиатуры заданного массива в виде цикла с параметром.

Шаг 2. Задать начальное значение: S = 0.

Шаг 3. Организовать цикл с параметром для выбора положительных элементов массива

Шаг 4. Если Хi≥0, тогда идем на шаг 5, если условие не выполняется, возвращаемся на шаг 3.

Шаг 5. Считаем сумму положительных элементов массива S = S + Xi.

Шаг 6. Выводим получившуюся сумму (S)

Шаг 7. Остановить выполнение программы

Листинг программы.

#include<stdio.h>

#include<math.h>

#include<conio.h>

#define n 10

void main(){

clrscr();

int a[n],i,s;

printf("Введите значения элементов массива ");

for(i=0;i<n;i++) scanf("%i",&a[i]);

clrscr();

printf("\nВведенный массив \n");

for(i=0;i<n;i++) printf(" %i ",a[i]);

printf("\n");

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

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

printf("\ns=%i",s);

getch();

}

Задание 4.2. Нахождение экстремального значения в массиве.

Найти значение минимального числа массива

Словесный алгоритм.

Шаг 1. Организовать ввод с клавиатуры заданного массива в виде цикла с параметром.

Шаг 2. Задать начальное значение: min = 32600.

Шаг 3. Организовать цикл с параметром для выбора положительных элементов массива

Шаг 4. Если Хi≤min , тогда идем на шаг 5, если условие не выполняется, возвращаемся на шаг 3.

Шаг 5. изменяем значение экстремальной переменной min = Xi.

Шаг 6. Выводим получившийся экстремум (min)

Шаг 7. Остановить выполнение программы

Листинг программы.

#include<stdio.h>

#include<math.h>

#include<conio.h>

#define n 10

void main(){

clrscr();

int a[n],i,min;

printf("Введите значения элементов массива ");

for(i=0;i<n;i++) scanf("%i",&a[i]);

clrscr();

printf("\nВведенный массив \n");

for(i=0;i<n;i++) printf(" %i ",a[i]);

printf("\n");

for(i=0,min=a[1];i<n;i++)

if(a[i]<=min) min=a[i];

printf("\nmin=%i",min);

getch();

}

Задание 4.3. Формирование одномерного рабочего массива.

Дан массив X(12). Сформировать новый массив из положительных чисел исходного

Словесный алгоритм.

Шаг 1. Организовать ввод с клавиатуры заданного массива в виде цикла с параметром.

Шаг 2. Задать начальное значение счетчика для определения номеров элементов нового массива: j = -1.

Шаг 3. Организовать цикл с параметром для выбора положительных элементов массива

Шаг 4. Если Хi≥0, тогда идем на шаг 5, если условие не выполняется, возвращаемся на шаг 3.

Шаг 5. Изменяем значение счетчика j++.

Шаг 6. Элементу массива Вj присваиваем значение Хі.

Шаг 7. Выводим получившийся массива Вj.

Шаг 8. Остановить выполнение программы

Листинг программы.

#include<stdio.h>

#include<math.h>

#include<conio.h>

#define n 10

void main(){

clrscr();

float a[n],b[n];

int i,j;

printf("Введите значения элементов массива ");

for(i=0;i<n;i++) scanf("%f",&a[i]);

clrscr();

printf("\nВведенный массив \n");

for(i=0;i<n;i++) printf(" %6.2f ",a[i]);

printf("\n");

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

if(a[i]>=0) {j++;b[j]=a[i];}

if (j==-1) printf("\nМассив не сформирован");

else

{ printf("\nНовый массив:\n");

for(i=0;i<j+1;i++) printf(" %6.2f ",b[i]);

}

getch();

}