Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум по программированию на языке Си - A4.doc
Скачиваний:
4
Добавлен:
01.04.2025
Размер:
670.21 Кб
Скачать

Вариант 6

На плоскости определены три области с помощью системы неравенств:

1) 2) 3)

Составить программу для определения количества и номеров областей, в которые попадает точка с заданными координатами (x, y).

Вариант 7

Дворец спорта объявил набор мальчиков в три секции (баскетбол, гимнастика, легкая атлетика), для каждой из которых указаны возрастные границы (например, от 12 до 15 лет) и требования к физическим данным веса и роста (например, рост не менее 150 см, вес не более 40 кг). Составить программу выбора секции для школьника K лет, рост которого L см, вес P кг. Предусмотреть случай, когда параметры школьника не удовлетворяют требованиям ни одной секции.

Вариант 8

Урожайность пшеницы на участке фермера составляет X тонн с одного гектара, а доход от продажи каждой тонны пшеницы – М рублей. Для повышения урожайности можно использовать одно из трех видов удобрений. Затраты на приобретение каждого вида для удобрения одного гектара составляют К1, К2, К3 рублей, а урожайность при этом увеличивается на 20%, 25%, 30% соответственно. Составить программу выбора вида удобрения, при использовании которого доходы фермера от продажи пшеницы (за вычетом затрат на покупку удобрения) будут максимальными. Предусмотреть случай, когда ни один из трех видов удобрения приобретать не выгодно.

Вариант 9

Заданы моменты начала и конца некоторого промежутка времени в часах и минутах (в пределах одних суток). Найти продолжительность этого промежутка в часах и минутах. В программе определить функцию, определяющую продолжительность промежутка времени (в минутах) по значениям начала и конца этого промежутка, заданным в часах и минутах.

Вариант 10

Записать условие принадлежности точки с заданными координатами (x, y) заштрихованной части плоскости.

Лабораторная работа №3 “ Реализация циклов в языке Си ”

Методические указания

  1. При разработке циклического алгоритма следует иметь в виду, что в нем практически всегда явно или неявно присутствуют следующие этапы: инициализация (начальные установки) цикла; тело цикла (что повторять?); условие продолжения цикла (до каких пор повторять?). В цикле с параметром надо предусмотреть модификацию параметра.

  2. Не забывайте заключать в фигурные скобки тело цикла, если в нем требуется выполнить несколько операторов.

  3. Операторы цикла в языке Си взаимозаменяемы, но для каждого конкретного случая можно выбрать наиболее удобный. Оператор dowhile обычно используют, когда тело цикла надо выполнить хотя бы один раз (например, если в цикле требуется ввод данных). Оператор while удобен, когда число итераций заранее неизвестно и нет очевидных параметров цикла. Оператор for используют для организации цикла с параметром (счетчиком).

  4. Если количество итераций заранее неизвестно, то следует предусмотреть аварийный выход из цикла при достижении некоторого достаточно большого числа повторений.

  5. Часто в задачах (например, варианты 3,4,5,8 I уровня) для вычисления очередного слагаемого удобно реккурентно использовать предыдущее слагаемое, а не организовывать вложенный цикл.

Пример 1

Задано натуральное n, вещественное x. Вычислить значение выражения

#include <stdio.h>

double form(int number, double x);

void main()

{

int n; double x; //Исходные данные

puts("Введите число сомножителей:");

scanf("%d",&n);

puts("Введите значение x:");

scanf("%lf",&x);

double value; //Результат

value = form (n, x);

printf("Значение выражения - %.3lf\n", value);

}

/*

Функция возвращает значение выражения (см. условие задачи)

*/

double form(int number, double x)

{

double result;

int i;

result =1;

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

{

result = result * (i*x + i+1);

}

return result;

}

Пример 2

Начав тренировки, спортсмен в первый день пробежал 10 км. В каждый следующий день он увеличивал дневную норму на 10% от нормы предыдущего дня. Определить функцию, возвращающую суммарный путь спортсмена за 7 дней.

Протестировать программу, использующую эту функцию.

#include <stdio.h>

# define P 10 // Путь в первый день

double summa(int d);

void main()

{

int day;

double result;

puts("Введите число дней:");

scanf("%d",&day);

result =summa(d); // Вызов функции summa

printf("Суммарный путь за %d дней - %.2lf\n",d, result);

}

/*

Функция возвращает суммарный путь спортсмена за d дней

*/

double summa(int d)

{

double sum,h; // sum – суммарный путь; h- путь за один день

int i; // Номер дня

sum=0;

h=P;

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

{

sum=sum+h;

h=h+h*0.1;

}

return sum;

}

Задания для самостоятельного выполнения

Задания I уровня сложности

Вариант 1

Вариант 2

Вариант 3

Вариант 4

Вариант 5

Вариант 6

Вариант 7

Вариант 8

Вариант 9

Вариант 10

Вариант 11

EMBED Equation.2

Вариант 12

EMBED Equation.2

Вариант 13

EMBED Equation.2

Вариант 14

EMBED Equation.2

Вариант 15

Вариант 16

Вариант 17

Вариант 18

Вариант 19

Вариант 20

Вариант 21

Вариант 22

Вариант 23

Вариант 24

Вариант 25

Вариант 26

Вариант 27

Вариант 28

Составить программу возведения заданного натурального числа в куб, если: 13=1; 23=3+5; 33=7+9+11; 43=13+15+17+19; 53=21+23+25+27+29 и т.д.

Вариант 29

Начав тренировки, спортсмен в первый день пробежал 10 км. В каждый следующий день он увеличивал дневную норму на 10% от нормы предыдущего дня. Определить: а)  через сколько дней после начала тренировок спортсмен будет пробегать в день более 20 км; б) через сколько дней после начала тренировок его суммарный путь превысит 100 км.

Вариант 30

Напечатать таблицу стоимостей 100г, 200г, … , 1000г, 2000г, … , 10 000г сыра, если известна цена за 1 кг.

Вариант 31

Через каждые три часа одноклеточная амеба делится на две клетки. Сколько амеб будет через 3, 6, 9, … , 24 часа, если первоначально была одна амеба?

Вариант 32

В ЭВМ по очереди поступают числа. Выдавать на печать среднее арифметическое уже поступивших чисел после ввода каждого очередного числа.

Вариант 33

В ЭВМ по очереди поступают числа. Выдавать на печать большее среди уже поступивших чисел после ввода каждого очередного числа.

Вариант 34

Найти суммарный объем (в литрах) двенадцати вложенных друг в друга без зазоров шаров со стенками толщиной 5 мм. Внутренний диаметр внутреннего шара равен 10 см.

Вариант 35

Расположенный на берегу реки металлургический завод осуществил сброс сточных вод, в результате чего концентрация вредных веществ в реке увеличилась и стала равной С. С течением времени эта концентрация уменьшается по закону Сn+1=Cn / K, где Сn - концентрация вредных веществ через n суток после сброса, К - некоторая известная постоянная величина. Требуется сообщить, каков будет уровень загрязнения реки через сутки, двое суток и т.д., до тех пор, пока концентрация не станет меньше предельно допустимой величины D.