Название: Примеры решения задач по программированию
Вид работы: контрольная работа
Рубрика: Информатика и программирование
Размер файла: 21 Kb
Скачать файл: referat.me-134796.docx
Краткое описание работы: Написание программы вычисления сопротивления электрической цепи, состоящей из двух параллельно и двух последовательно соединенных сопротивлений. Схема машинного алгоритма по условию задачи. Применение операций при написании программ на языке C/C++.
Примеры решения задач по программированию
Министерство образования Республики Беларусь
БЕЛОРУССКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
МЕЖДУНАРОДНЫЙ ИНСТИТУТ ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ
Группа 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] на
// функции и инициализация его именами функций
intchoice;
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]); // использование структуры повторения dowhile
if(i<m) m=i;
printf("Min :%d", m);
}
// вычисление суммы чмсел
voidfun2(intb)
{
inta;
intm; // максимальное число
puts("Введите числа. Для завершения ведите 0:");
m=0;
do {scanf("%d",&a); // использование структуры повторения dowhile
if(a>m) m=a; // тело цикла выполняется пока значение условия (a>0)
} while(a>0); // является истина
printf("Максимальное число :%d", m);
}
voidfun3(intc)
{
inta, 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)
{ inta, 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)
{ inta, 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 для вызова функции fun3n", r);}
Похожие работы
-
Компьютерная модель СГ в координатах d, q, 0 в режиме ХХ
Простейшая компьютерная модель турбоагрегата, исследование на ней динамической устойчивости. Создание компьютерной модели СГ в координатах d, q, 0, получение осциллограммы токов в обмотках статора и ротора и напряжения в обмотках статора в режиме ХХ.
-
Нормирование и измерение параметров фидеров проводного вещания
В течение ряда лет станционные и линейные цеха МГРС ежегодно получают расчетные нормы на основные параметры распределительных и магистральных фидерных линий (РФ и МФ) для первого канала ПВ.
-
Моделирование электрических цепей в системе Mathcad
Понятие матрицы, определение ее составных частей и границ, обосновывающие теории. Арифметические операции над матрицами, способы их представления в Mathcad. Формирование уравнений цепи на основе теории графов. Характеристика топологических матриц графа.
-
Разработка устройства сравнения декодирования
Функциональная схема и алгоритм работы устройства. Техническое обоснование выбора серии ИМС. Состав и описание работы узлов устройства. Расчёт необходимых сопротивлений резисторов, потребляемой мощности и тока. Построение и анализ временных диаграмм.
-
Характеристики числовых показателей нерезервированного устройства
Промышленные ЭВМ как нерезервированные восстанавливаемые объекты. Расчетно-логическая схема нерезервированного устройства - цепочка последовательных элементов, отказ любого из которых приводит к отказу устройства. Анализ числовых показателей надежности.
-
Разработка алгоритма и программы для вычисления коэффициента оперативной готовности системы
Вычисление физических параметров реальной электрической цепи посредством преобразования её к эквивалентной. Схема алгоритма программы и ее разработка на языках программирования СИ и С++, результаты расчета зависимостей эквивалентных сопротивлений.
-
Проектирование автоматического интерфейса ввода-вывода
Изучение и проектирование автоматического интерфейса ввода-вывода, состоящего из канала измерения в указанных пределах и канала управления напряжением в определенном диапазоне с максимальной приведенной погрешностью и ограниченным временем измерения.
-
Преобразователь кода (ПК)
Проектирование преобразователя кода (ПК), рассчет его энергопотребления и быстродействия. Составление таблицы истинности ПК. Написание булевых функций, минимизация и преобразование к выбранному базису. Составление структурной схемы преобразователя кода.
-
Метод Гаусса для расчета электрических цепей
Разработка алгоритма составления системы уравнений при помощи законов Кирхгофа по определенной электрической схеме. Приложение для решения данной системы методом Гаусса с выбором ведущего элемента по строке. Описание программы, руководство пользователя.
-
Алгоритмизация
Основным в процессе программирования является разработка алгоритма. Это один из наиболее сложных этапов решения задачи с использованием ЭВМ.