русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

II. Экспериментальный раздел работы


Дата добавления: 2015-06-12; просмотров: 440; Нарушение авторских прав


Пример 1. Напишем программу, в которой логическая переменная принимает значение true, если, случайным образом выбранная, точка с координатами (x,y) попадает внутрь кольца с центром в начале координат и радиусами 0.1 и 0.6, иначе - логическая переменная принимает значение false.

#include <iostream.h>



#include <conio.h>

#include <stdlib.h>

void main (void)

{

float x,y;

bool p;

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

randomize();

x=rand()/10000.0; y=rand()/10000.0;

cout<<"x="<<x<<" y="<<y<<endl;

//Расчет

p=((x*x + y*y)> 0.1) && ((x*x + y*y) < 0.6);

//Вывод результата}

cout<<"p="<<p;

getch();

}

Поэкспериментируйте с программой. Замените логическое выражение на

p=!(((x*x + y*y)< 0.1) || ((x*x + y*y) > 0.6));

Основываясь на законах де Моргана, объясните полученные экспериментальные результаты.

Пример 2. Составим программу, результатом работы которой будет удаление из двоичного представления данного натурального числа i-го бита.

 

#include <iostream.h>



#include <conio.h>

void main (void)

{

int n,x,y,z,k;

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

cout<<"Введите значение натурального числа n=?"<<endl;

cin>>n;

cout<<"Введите номер вычеркиваемого бита k=?"<<endl;

cin>>k;

//Расчет

x=1 << k;

y=~x;

z=n & y; //Можно было написать z=n & ~(1 << k);

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

cout<<"x="<<x<<" y="<<y<<" z="<<z<<endl;

getch();

}

Необходимо разобраться с алгоритмом программы, провести тестовый расчет.

 

Пример 3. Дайте объяснение результатам следующей программы.

 

#include <iostream.h>



#include <conio.h>

void main (void)

{

cout<<(1365 & 2730)<<endl;

cout<<(1365 | 2730)<<endl;

cout<<(1365 ^ 2730)<<endl;

cout<<(1365 & 0xFF)<<endl;

cout<<(1365 & 0xFF0)<<endl;

cout<<(1365 & 0xFF00)<<endl;

getch();

}

 

Для объяснения полученных результатов переведите числа в двоичную систему счисления. Поэкспериментируйте с программой. Убедитесь, например, что -256 & 255 =0; -256 | 255 = -1; -256 ^ 255 = -1. Вспомните, что для представления отрицательных чисел в компьютере используется дополнительный код.

Замените побитовые операции над числами логическими и сравните полученные результаты. Дайте объяснение путем выполнения данных операций без использования ЭВМ.

 

Пример 4. Составим программу определения наибольшего из двух чисел.

 

#include <iostream.h>



#include <conio.h>

 

double Max(double a,double b)

{

if (a>b)

return a;

else

return b;

}

void main (void)

{

double x,y,max;

cout<<"Введите два числа x,y=?";

cin>>x>>y;

cout<<"max="<<Max(x,y)<<endl;

getch();

}

 

Разработайте алгоритм и составьте программу определения наибольшего числа из трех, четырех чисел. Используйте для ввода чисел генератор случайных чисел randomize(); rand. Проведите вычислительный эксперимент с программой.

Пример 5. Проведите вычислительный эксперимент с программой, использующей оператор switch:

#include <iostream.h>



#include <conio.h>

void main (void)

{

short month;

cout<<"Введите номер месяца в году:"<<endl; cin>>month;

switch (month)

{

case 1: cout<<"зимняя сессия";break;

case 2: case 3:

case 4: case 5: cout<<"весенний семестр";break;

case 6: cout<<"летняя сессия";break;

case 7:case 8: cout<<"летние каникулы";break;

case 9:case 10:

case 11:case 12: cout<<"осенний семестр";break;

}

getch(); }



<== предыдущая лекция | следующая лекция ==>
Условный оператор switch | Ш. Раздел заданий для самостоятельной работы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.197 сек.