Министерство образования Республики Беларусь
БЕЛОРУССКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
МЕЖДУНАРОДНЫЙ ИНСТИТУТ ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ
Группа 417315
КОНТРОЛЬНАЯ РАБОТА
по дисциплине “Основы алгоритмизации и программирования”
Выполнил: студент
Проверила: Попова Ю. Б.
Минск 2006
ЗАДАНИЕ № 1
ЗНАКОМСТВО СО СРЕДОЙ. ОБЪЯВЛЕНИЕ ОСНОВНЫХ ТИПОВ ДАННЫХ. ВВОД/ВЫВОД ДАННЫХ. ОПЕРАЦИИ В ЯЗЫКЕ C/C++
Цель работы
Закрепление практических навыков построения простой программы, объявления основных типов данных и организации ввода/вывода переменных, применения операций при написании программ на языке C/C++.
Постановка задачи
Написать программу вычисления сопротивления электрической цепи, состоящей из двух параллельно соединенных сопротивлений, а затем вычислить сопротивление электрической цепи, состоящей из двух последовательно соединенных сопротивлений.
Листинг программы на языке C++
#include <clx.h>
#include<iostream.h> // подсоединение к программе раздела библиотеки с функциями// по потокового ввода/вывода данных
void main()
{ // начало функции main()
int a, b, c, d; // объявление переменных a, b, c целого типа
cout<<"Введите значение сопротивления a и b:"; // вывод строки на экран
cin>>a>>b; // ввод значений a и b
c=a*b; // умножение значений a и b и присвоение переменной с
d=a+b; // присваивание переменной c значения суммы переменных a и b c=c/d;
cout<<"Сопротивление цепи с последующим соединением ="<<c; // вывод значения переменной c на экран c=a+b;
cout<<"Сопротивление цепи с параллельным соединением ="<<c; // вывод значения переменной a на экран cin>>a;
Результаты работы программы
Введите значения переменных: 4 7
Результат: 2 и 11
Выводы по лабораторной работе
В ходе выполнения задания была составлена схема машинного алгоритма по условию задачи, написан код программы и получены результаты работы программы. В результате выполнения работы были закреплены практические навыки построения простой программы на языке программирования C/C++, в которой были объявлены переменные целого типа. Организован ввод значений переменных с помощью оператора потокового ввода, произведен расчет суммы значений переменных и организован вывод результата на экран с помощью оператора потокового вывода.
ЗАДАНИЕ № 2
ОПЕРАТОРЫ ЯЗЫКА C/C++. ФОРМАТИРОВАННЫЙ ВВОД/ВЫВОД ДАННЫХ. СТРУКТУРЫ ВЫБОРА. СТРУКТУРЫ ПОВТОРЕНИЯ
Цель работы
Закрепление практических навыков построения программы на языке C/C++ с использованием структур выбора if-else, switch, с использованием структур повторения do-while, while, for, а также с организацией ввода/вывода данных с применением функций форматированного ввода/вывода.
Постановка задачи
Написать программу вычисления площади кольца. Программа должна проверять правильность исходных данных. Использовать структуру выбора if-else. Использовать форматированный ввод/вывод данных.
Листинг программы на языке C++
#include <clx.h>
#include<iostream.h>
void main()
{ int n,x;
cout<<"Введите значение кольца:"<<endl;
cin>>n;
x=3.14;
if (n<0) cout<<"Значение не верные"; // если значение условия (n<0) является истинным, на экран выводится текст Значение не верные
else if (n>0) cout<<x*n*n;
}
Результаты работы программы
Введите значения переменных: 0
Результат: Значения не верны
Введите значения переменных: 4
Результат: 48
Выводы по лабораторной работе
В результате выполнения работы были закреплены практические навыки построения простой программы на языке программирования C/C++, в которой были объявлены переменные целого типа. Организован ввод значений переменных с помощью оператора потокового ввода, произведен расчет суммы значений переменных и организован вывод результата на экран с помощью оператора потокового вывода а также использовалась структуру выбора if-else.
ЗАДАНИЕ № 3
МАССИВЫ И УКАЗАТЕЛИ В C/C++
Цель работы
Закрепление практических навыков построения программы на языке C/C++ с использованием массивов данных и переменных типа указатель.
Постановка задачи
1. Написать программу, которая проверяет, представляют ли элементы введенного с клавиатуры массива возрастающую последовательность. Использовать форматированный ввод-вывод данных.
Листинг программы на языке C++
#include <clx.h>
#include<iostream.h>
#include<stdio.h>
void main()
{
int i,a;
int mas[5]; // объявление массива mas
printf("Введите элементы массива \n");
for(i=0;i<5;i++) // использование вложенной структуры повторения for для
{
scanf("%d",&mas[i]); // заносим значение в массив
a=mas[0];
}
printf(" Вывод элементов масива \n");
for(i=0;i<5;i++) // использование вложенной структуры повторения for для
{
printf("%d",mas[i],"\n"); // вывод суммы элементов массива mas на экран
}
for(i=1;i<4;i++) // использование вложенной структуры повторения for для if (i++<a) cout<<"Массив не является возрастающей последовательностью ";
// использование else-if конструкции
}
Результаты работы программы
Введите значения : 4 7 5 6 8
Результат: 4 7 5 6 8 Массив не является возрастающей последовательностью
Выводы по лабораторной работе
В ходе выполнения задания была составлена схема машинного алгоритма по условию задачи, написан код программы и получены результаты работы программы. В результате выполнения работы были закреплены практические навыки построения простой программы на языке программирования C/C++, в которой были объявлен массив MAS. Организован ввод значений переменных с помощью оператора потокового ввода, произведен расчет значений массива на возрастающую последовательность и организован вывод результата на экран с помощью оператора потокового вывода.
ЗАДАНИЕ № 4
ФУНКЦИИ В C/C++. УКАЗАТЕЛИ НА ФУНКЦИИ. ПЕРЕГРУЗКА ФУНКЦИЙ. ШАБЛОНЫ ФУНКЦИЙ
Цель работы
Закрепление практических навыков построения программы на языке C/C++ с использованием функций, указателей на функции, массивов указателей на функции, рекурсивных функций, функций со списком переменной длины, параметров, используемых по умолчанию, аргументов командной строки, встроенных функций, перегруженных функций и шаблонов функций.
Постановка задачи
Написать программу, в которой необходимо определить массив указателей на функции. Вводить цифру, определяющую какую функцию надо выполнить: 0-найти минимальное число, 1-найти максимальное число, 2-вычислить сумму чисел, 3-вычислить разность чисел, 4-найти произведение чисел, 5-найти частное чисел, 6-завершить работу. Выполнить соответствующую функцию, используя указатель на нее, и вывести результаты на экран. В программе предусмотреть использование прототипа функции.
Листинг программы на языке C++
//---------------------------------------------------------------------------
#include <clx.h>
#include<stdio.h>
#include<iostream.h>
void fun1(int);
void fun2(int);
void fun3(int);
void fun4(int);
void fun5(int);
void fun6(int);
main()
{
void(*F[6])(int)={fun1, fun2, fun3, fun4, fun5, fun6}; // объявление массива указателей *F[6] на
// функции и инициализация его именами функций
int choice;
printf("ВВЕДИТЕ НОМЕР ОТ 0 do 5, 6 ДЛЯ ЗАКРИТИЯ");
scanf("%d", &choice);
while(choice>=0 && choice<6)
{ (*F[choice])(choice); // вызов функции при помощи разыменования
// указателя на функцию. Указатель на функцию выбирается по индексу choice
// вызванной функции в качестве аргумента передается переменная choice
printf(" ВВЕДИТЕ НОМЕР ОТ 0 do 5, 6 ДЛЯ ЗАКРИТИЯ");
scanf("%d", &choice);
}
printf("Введено 6 для завершения");
return 0;
}
void fun1(int a)
{
int i,s,m;
int mas[5];
m=99; // максимальное число
for(i=0;i<5;i++)
scanf("%d",&mas[i]); // использование структуры повторения do while
if(i<m) m=i;
printf("Min :%d", m);
}
// вычисление суммы чмсел
void fun2(int b)
{
int a;
int m; // максимальное число
puts("Введите числа. Для завершения ведите 0:");
m=0;
do {scanf("%d",&a); // использование структуры повторения do while
if(a>m) m=a; // тело цикла выполняется пока значение условия (a>0)
} while(a>0); // является истина
printf("Максимальное число :%d", m);
}
void fun3(int c)
{
int a, b, x; // объявление переменных a, b, c целого типа
cout<<"Введите значение переменных a и b:"; // вывод строки на экран
cin>>a>>b; // ввод значений a и b
x=a+b; //присваивание переменной c значения суммы переменных a и b
cout<<"Сумма="<<x;
}
void fun4(int d)
{ int a, b, x; // объявление переменных a, b, c целого типа
cout<<"Введите значение переменных a и b:"; // вывод строки на экран
cin>>a>>b; // ввод значений a и b
x=a-b; // присваивание переменной c значения суммы переменных a и b
cout<<"Сумма="<<x;}
void fun5(int e)
{ int a, b, x; // объявление переменных a, b, c целого типа
cout<<"Введите значение переменных a и b:"; // вывод строки на экран
cin>>a>>b; // ввод значений a и b
x=a*b; //присваивание переменной c значения суммы переменных a и b
cout<<"Сумма="<<x;}
void fun6(int r)
{ printf("Введено %d для вызова функции fun3\n", r);}
Похожие работы
... ищется, когда одно из неизвестных (вообще говоря, любое) полагается равным некоторому числу (тоже, вообще говоря, любому). После этого оставшаяся система имеет единственное решение. §4. Пример решения задача линейного программирования Решим задачу линейного программирования симплекс – методом : f(x) = 2x1 + 3x2 + 4x3→ max 3x1 + x2 + 3x3<=5 5x1 + 4x2 + 4x3<=12 2x1 + x2 + 2x3 ...
... лучей, исходящих из одной точки, называется многогранным выпуклым конусом с вершиной в данной точке. 1.4 Математические основы решения задачи линейного программирования графическим способом 1.4.1 Математический аппарат Для понимания всего дальнейшего полезно знать и представлять себе геометрическую интерпретацию задач линейного программирования, которую можно дать для случаев n = 2 и n = ...
... игр, теория массового обслуживания, и др. 1. ПОСТАНОВКА ЗАДАЧИ Целью нашего курсового проекта является решение задачи линейного программирования графическим методом. 1.1 Математическое программирование. Математическое программирование ("планирование") – это раздел математики, занимающийся разработкой методов отыскания экстремальных значений функции, на аргументы которой наложены ...
... задачи линейного программирования, они очень сложны и решаются специальными, обычно многостадийными приемами с использованием эвристических элементов. 3. Решение задач 3.1. Решение задачи линейного программирования 3.1.1.Постановка задачи Сформулируем задачу: Определить значения переменных, обеспечивающие минимизацию целевой функции. Составим целевую функцию и зададим ограничения. ...
0 комментариев