Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 курс / 2 / 02.pdf
Скачиваний:
15
Добавлен:
21.08.2019
Размер:
318.6 Кб
Скачать

ВАРИАНТЫ ЗАДАНИЙ ЛР_2_2

Критерии оценивания работы:

В таблице приведены критерии, по которым студент может оценить свою работу.

Критерии оценивания заданий

Процент

Для задачи 1:

 

имеется защита от неправильного ввода данных, приводящих к ошибкам

10

времени выполнения

10

реализовано меню, позволяющее выбрать способ решения задачи

5

реализован вывод на экран и в файл в виде таблицы

5

реализованы все три способа вычисления

5

вычисления производятся оптимальным способом (то, что можно,

 

выносится за пределы цикла)

 

Для задачи 2:

10

алгоритм вычисления значений функции реализован так, что отсутствуют

ошибки времени выполнения для данных внутри заданного прямоугольника

10

реализовано меню, позволяющее выбрать способ вывода результата работы (на

экран или в файл)

15

реализован вывод на экран / в файл в виде двумерной таблицы

Итого -

70

Дополнительно к этому общая оценка работы:

 

Аккуратное форматирование, комментариев необходимое и достаточное

10

количество.

 

Программа выводит сведения о разработчике и номер варианта

10

Подготовлен набор тестовых данных для проверки работы программы

10

Наличие предупреждений при трансляции, неряшливое форматирование, а

 

также неоптимальное решение задачи снижает итоговую оценку на 20%

 

При наличии синтаксических ошибок (программа не транслируется) работа

 

не оценивается (0 процентов выполнения)

 

Итого

100 %

Общие требования к программам

Программа должна выводить на экран

сведения об авторе (курс, группа, фамилия, имя);

номер варианта задания и условия задач;

инструкции пользователю.

Программа пишется с учетом рекомендаций структурного программирования и должна состоять из нескольких обособленных ветвей оператора switch – в соответствии с количеством заданий. Выбор задания должен осуществляться с помощью простейшего меню

1.Задание 1

2.Задание 2

3.Задание 3

0.Выход

Введите номер задания для выполнения ->

Программа должна осуществлять

ввод данных с клавиатуры или из файла;

проверку входных данных на корректность и обработку некорректных данных таким образом, чтобы не происходило аварийного завершения программы;

вывод результатов работы на экран или в файл в заданном формате

Программный код должен сопровождаться комментариями, поясняющими назначение констант, переменных, функций и других блоков программы.

Программа должна работать таким образом, чтобы точно соблюдались условия задания.

Форматированный вывод данных

Используя объект cout можно форматировать выводимые данные, то есть приводить их к определённому виду. Для этого потребуются три дополнительных выражения.

Файл iomanip.h, который подключается в начале программы, содержит объявления трех манипуляторов, являющихся членами класса ios (базовый в иерархии классов ввода - вывода): setw(), setprecision(), setiosflags().

Манипулятор setw() задает минимальную ширину (в символах) выводимого поля. Она определяет формат вывода только следующей за ней переменной, после чего все сделанные установки сбрасываются.

Манипулятор setprecision() задает количество цифр после десятичной точки при выводе чисел с плавающей запятой.

Манипулятор setiosflags (i) вызывается один раз, устанавливая параметр fixed, который задает вывод чисел с плавающей запятой в фиксированном формате, т.е. без экспоненты (рис. 1).

#include <iostream> #include <iomanip> using namespace std; int main()

{float A; int B=56; cout<<" input A "; cin>>A;

cout<<setw(8) << setprecision(2) << setiosflags (ios::fixed) << A << endl; cout<<setw(20)<<B<<endl;

return 0;

}

Рисунок 1 – Форматирование ввода/вывода объектом cout

Внимание! Рабочий набор исходных данных – не руководство к действию, а пример. То есть N не обязано быть равным 12 (главное, что оно целое и положительное!) для варианта 1, а вводится с клавиатуры, так же, как и a, xнач, и xкон – снимаются с клавиатуры и объявлены как вещественные.

Задание 1.

Вычислите и выведите на экран значения функции y = f(x) в точках x0=xнач, x1=x0+h, x2=x1+h, … xN =

xкон, где h =(xкон – xнач)/N. (Иными словами: затабулируйте функцию y = f(x) на отрезке

[xнач ; xкон ] с шагом h.) Функция y = f(x) зависит от параметра a.

Результаты вычислений следует оформить в виде таблицы, снабженной заголовком и вывести на экран и в файл;

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

Вид функции y = f(x) и рабочий набор исходных данных приведены в таблице.

 

Вид функции y = f(x)

Рабочий набор исходных данных

 

п\п

 

N

a

xнач

xкон

 

 

 

 

1.

 

 

 

 

12

3,5

2,2

3,3

 

 

 

 

 

 

 

 

 

2.

 

 

 

 

15

25

1,5

2,9

 

 

 

 

 

 

 

 

 

3.

 

 

 

 

10

3,1

1,5

3,5

 

 

 

 

 

 

 

 

 

 

Вид функции y = f(x)

Рабочий набор исходных данных

 

п\п

 

N

a

xнач

xкон

 

 

 

 

 

 

 

 

4.

 

 

 

 

 

 

 

 

12

3,0

2,3

3,5

 

 

 

 

 

 

 

 

 

 

 

 

 

5.

 

 

 

 

 

 

 

 

15

1,5

1,2

2,5

 

 

 

 

 

 

 

 

 

 

 

 

 

6.

 

 

 

 

 

 

 

 

10

2,2

2,5

3,5

 

 

 

 

 

 

 

 

 

 

 

 

 

7.

 

 

 

 

 

 

 

 

20

4,5

1,1

10

 

 

 

 

 

 

 

 

 

 

 

 

 

8.

 

 

 

 

 

 

 

 

15

2,8

1,2

5,0

 

 

 

 

 

 

 

 

 

 

 

 

 

9.

 

 

 

 

 

 

 

 

10

1,5

1,05

4,4

 

 

 

 

 

 

 

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

15

2,11

0,2

1,0

 

 

 

 

 

 

 

 

 

 

 

 

 

11

 

 

 

 

 

 

 

 

18

1,5

2,0

3,5

 

 

 

 

 

 

 

 

 

 

 

 

 

12

 

 

 

 

 

 

 

 

15

1,2

0,1

0,25

 

 

 

 

 

 

 

 

 

 

 

 

 

13

 

 

 

 

 

 

 

 

12

0,5

-7,3

7,3

 

 

 

 

 

 

 

 

 

 

 

 

 

14

 

 

 

 

 

 

 

 

15

1,5

2,1

4,4

 

 

 

 

 

 

 

 

 

 

 

 

 

15

 

 

 

 

 

 

 

 

20

2

1,2

2,5

 

 

 

 

 

 

 

 

 

 

 

 

 

Примерный вид окна с решением задачи:

Задание 2.

Затабулировать функцию Z=f(x,y) с шагами x и y внутри прямоугольника x [ a,b ], y [ c,d ] и

области существования данной функции. Составить универсальную программу для произвольных

значений параметров a, b, c, d, x и y.

Значения функции Z округлить до двух знаков после десятичной точки.

Результаты вывести на экран и в файл (по выбору пользователя) в виде двумерной таблицы, вместо

несуществующих значений вывести астериск (*).

Рекомендуется решать задачу с использованием вложенных циклов с параметром. Для горизонтальной табуляции рекомендуется использовать манипулятор setw(n) (подключить заголовочный файл iomanip.h директивой #include <iomanip>). «Лишние» знаки после запятой можно отбросить,

используя функцию

 

floor, а можно использовать манипулятор

setprecision

 

Вид функции y = f(x) и рабочий набор исходных данных приведены в таблице

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

№ п\п

Вид функции Z = f(x,y)

Рабочий набор исходных данных

 

 

a

b

 

d

x

y

 

 

 

 

 

 

 

 

 

c

 

1.

 

 

x + y

 

 

-1

1

-1

 

1

0.2

0.2

 

 

 

xy

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.

lg( 4 x 2 y 2 )

-1

1

-1

 

1

0.2

0.2

3.

 

e 4x2 y 2

 

 

0

3

0

 

3

0.3

0.3

 

 

x y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.

arccos(x2 + y 2 2)

0

2

0

 

2

0.2

0.2

5.

 

 

1 + x y2

-1

1

0

 

1

0.2

0.1

6.

 

 

x + y

 

 

0

1

0

 

2

0.1

0.2

 

 

x y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7.

 

arcsin(x + y)

-1

1

-1

 

1

0.2

0.2

 

 

 

 

xy

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8.

ln

x + y

 

 

 

0

2

0

 

2

0.2

0.2

x y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9.

 

 

4 x 2

y 2

-2

2

-2

 

2

0.4

0.4

 

 

 

 

xy

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10.

arccos

 

xy

-1

1

-1

 

1

0.2

0.2

1 xy

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11.

 

 

9 +3x y 2

-3

0

-3

 

0

0.3

0.3

12.

arcsin( x 2 + y 2 )

-1

1

-1

 

1

0.2

0.2

13.

 

 

xy

 

 

 

 

0

2

0

 

2

0.2

0.2

2

xy

 

 

 

 

 

14.

 

arcsin

x + y

-1

1

-1

 

1

0.2

0.2

 

 

 

 

x y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15.

 

 

x

y

 

 

-1

1

-1

 

1

0.2

0.2

 

 

 

y

x

 

 

 

 

 

 

 

 

 

Примерный вид окна с решением задачи:

Соседние файлы в папке 2