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

Пример оформления

Министерство образования Республики Беларусь

Учреждение образования

«Полоцкий государственный университет»

Кафедра ИТ

КОНТРОЛЬНАЯ РАБОТА

По курсу: «Конструирование программ и языки программирования»

Группа __-ВСз

Зачетная книжка №_____

Вариант № __

Выполнил Фамилия И.О.

Проверил Фамилия И.О.

Новополоцк, 200_

Задание 1

Даны четыре вещественных числа: А, B, C, D. Используя условную операцию вычислить выражение: . Значения всех переменных вводятся с клавиатуры.

//Подключение библиотеки стандартного ввода и вывода

#include <stdio.h>

int main(int argc, char *argv[])

{

//Объявление переменных программы

double A,B,C,D,max,min,res;

//Приглашение к вводу данных

printf(“Введите значения A, B, C, D: ”);

//Ввод данных

scanf(“%lf %lf %lf %lf”,&A,&B,&C,&D);

//Вычисление максимума чисел A и C

max = (A>C)?A:C;

//Вычисление минимума чисел D и B

min = (B<D)?B:D;

//Вычисление значения выражения

res = max/min;

//Вывод результата на экран

printf(“Результат: %.4lf\n”,res);

return 0;

}

Задание 2

Написать программу для вычисления суммы с точностью до 0.000001.

//Подключение библиотек стандартного ввода и вывода

//и математических функций

#include <stdio.h>

#include <math.h>

//Объявление прототипа функции вычисления факториала

double Factorial(unsigned);

int main(int argc, char *argv[])

{

//Объявление переменных программы с начальной инициализацией

unsigned n=1;

double x,S=0.0, s=1.0, e=1e-6;

//Приглашение к вводу значения Х

printf(“Введите X: ”);

//Ввод значения Х

scanf(“%lf”,&x);

//Цикл вычисления суммы ряда

//Выход при достижении заданной точности

while(s>e){

//Вычисление значения члена ряда

s = pow(x,2.0*n)/Factorial(n<<1);

//Вычисление общей суммы

S+=(n%2)?-s:s;

//Инкремент счетчика

n++;

}

//Вывод полученного результата на экран

printf(“Результат: %lf\n”,S);

return 0;

}

//Функция вычисления факториала

double Factorial(unsigned n)

{

//Объявление и инициализация переменных функции

double p=1.0;

unsigned i = 2;

//Цикл вычисления значения факториала числа

for(;i<=n;i++) p*=(double)i;

//Возврат полученного значения

return p;

}

Задание 3

Дан целочисленный массив из 20 элементов. Переписать массив, расположив сначала отрицательные элементы, затем положительные элементы и, в конце, нулевые элементы.

//Подключение библиотеки стандартного ввода и вывода

#include<stdio.h>

//Описание прототипа функции сравнения двух чисел

//согласно условию сортировки

int Cmp(int,int);

int main(int argc, char *argv[])

{

//Описание переменных программы

int a[20],i,r;

//Приглашение к вводу массива

printf(“Введите массив: ”);

//Ввод массива

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

//Цикл сортировки

do{

//Сброс флага сортировки

r = 0;

//Проход по массиву и сравнение всех соседних элементов

//друг с другом

for(i=0;i<19;i++) if(Cmp(a[i],a[i+1])){

//Обмен значений элементов массива если они

//не удовлетворяют условию сортировки

//и установка флага сортировки

r = a[i]; a[i] = a[i+1]; a[i+1] = r; r = 1;

}

}while(r);

//Вывод на экран полученного массива

printf(“Полученный массив:\n”);

for(i=0;i<20;i++) printf(“%d ”,a[i]);

printf(“\n”);

return 0

}

//Функция сравнения двух чисел согласно условию преобразования

//массива

int Cmp(int a,int b)

{

//Переменная res примет значение 1 – если элементы массива,

//переданные в качестве параметров функции

//должны быть переставлены согласно условию задачи

//значение 0 – в противном случае

int res = ((a>0)&&(b<0))||((a==0)&&(b!=0));

//Возврат значения переменной res

return res;

}