Рефетека.ру / Информатика и програм-ие

Контрольная работа: Примеры решения задач по программированию

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

БЕЛОРУССКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ


МЕЖДУНАРОДНЫЙ ИНСТИТУТ ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ


Группа 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++ с использованием массивов данных и переменных типа указатель.

Постановка задачи


Написать программу, которая проверяет, представляют ли элементы введенного с клавиатуры массива возрастающую последовательность. Использовать форматированный ввод-вывод данных.


Листинг программы на языке 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);}

Похожие работы:

  1. Обучение решению задач из раздела "Основы ...
  2. • Динамическое программирование, алгоритмы на графах
  3. •  ... Задачник по программированию. Циклические алгоритмы" ...
  4. • Развитие алгоритмической культуры школьников методами ...
  5. • Информационные процессы в маркетинге и объективная ...
  6. • Решение задач линейного программирования
  7. • Формирование инвестиционного портфеля
  8. • Задача квадратичного программирования с параметром в ...
  9. • Решение транспортной задачи линейного ...
  10. • Решение задачи линейного программирования ...
  11. • Решение задачи линейного программирования симплекс-методом
  12. • Задача квадратичного программирования с параметром в ...
  13. • Решения задач линейного программирования ...
  14. • Примеры решения задач по курсу химии
  15. • Решение задач нелинейного программирования
  16. • Решение задач линейного программирования симплекс ...
  17. • Примеры решения задач по реакциям электролиза
  18. • Линейное программирование: решение задач графическим способом
  19. • Решение задач линейного программирования симплекс ...
Рефетека ру refoteka@gmail.com