Пример оформления
Министерство образования Республики Беларусь
Учреждение образования
«Полоцкий государственный университет»
Кафедра ИТ
КОНТРОЛЬНАЯ РАБОТА
По курсу: «Конструирование программ и языки программирования»
Группа __-ВСз
Зачетная книжка №_____
Вариант № __
Выполнил Фамилия И.О.
Проверил Фамилия И.О.
Новополоцк, 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;
}