Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otchet.doc
Скачиваний:
3
Добавлен:
22.07.2019
Размер:
1.28 Mб
Скачать

Лабораторная работа №5 « Исполнительный оператор if и операция ? в организации ветвление»

Составить четыре варианта программы:

  • с использованием оператора if и операции ?:

  • с использованием логической переменной и без использования.

Натуральное число N является точным квадратом.

  1. Найдем корень из данного числа

  2. Возведем данное число в квадрат

  3. Сравниваем полученное число с исходным

int x;

double z;

x=CSpinEdit1->Value;

z=sqrt(x);

if (z*z==x)

Label1->Caption="Число является точным квадратом";

else

Label1->Caption="Число не является

точным квадратом";

int x;

x=CSpinEdit1->Value;

bool z=sqrt(x),z=z*z;

if (z==x)

Label1->Caption="Число является точным квадратом";

else

Label1->Caption="Число не является точным квадратом";

int x;

double z;

x=CSpinEdit1->Value;

z=sqrt(x),

Label1->Caption=( z*z==x)?"Число является точным квадратом":"Число не является точным квадратом";

int x;

x=CSpinEdit1->Value;

bool z=sqrt(x),z=z*z;

Label1->Caption=z==x?"Число является точным

квадратом":"Число не является точным квадратом";

Лабораторная работа №6 «Ветвящиеся алгоритмы»

Известны стороны трёх квадратов. Определить максимальную разность их площадей.

  1. Сначала находим площади квадратов по данным сторонам.

  2. Сравниваем S1 и S2, большее из них записываем в max, меньшее-min.

  3. Затем сравниваем S3 с большей из площадей, если S3 больше - записываем в max.

  4. Если S3 оказывается меньше - делаем проверку S3 меньше min. Если меньше - записываем в ячейку min.

  5. В ычисляем максимальную разность – из max вычитаем min.

int x, y, z, S1, S2, S3, min, max;

x=CSpinEdit1->Value;

y=CSpinEdit2->Value;

z=CSpinEdit3->Value;

S1=x*x;

S2=y*y;

S3=z*z;

if (S1>S2)

{max=S1;

min=S2;

}

else

{max=S2;

min=S1;

}

if(S3>max)

max=S3;

else

if (S3<min) min=S3;

Label1->Caption=max-min;

Можно ли коробку размером a × b × c упаковать в посылку размером x × y × z? «Углом» укладывать нельзя.

  1. Сравниваем a и b, большее из них записываем в max1, меньшее-min1.

  2. Затем сравниваем c с большей из площадей, если c больше - записываем в max1.

  3. Если c оказывается меньше - делаем проверку c меньше min1. Если меньше - записываем в ячейку min1.

  4. Т ем же методом сравниваем x, y, z и находим max2 и min2.

  5. В конце, сравниваем между собой max, min и среднее число.

int a, b, c, x, y, z, min1, max1, min2, max2;

a=CSpinEdit1->Value;

b=CSpinEdit2->Value;

c=CSpinEdit3->Value;

x=CSpinEdit4->Value;

y=CSpinEdit5->Value;

z=CSpinEdit6->Value;

if (a>b)

{max1=a;

min1=b}

else

{max1=b;

min1=a;}

if (c>max1)

max1=c;

else

if (c<min1)

min1=c;

if (x>y)

{max2=x;

min2=y;}

else

{max2=y;

min2=x;}

if (z>max2)

max2=z;

else

if (z<min2)

min2=z;

bool f=max1<=max2&&min1<=min2&&

a+b+c-min1-max1<=x+y+z-max2-min2;

Label1->Caption=f?"да ":"нет";

Определить правильность введённой даты: число — от 1 до 31, месяц — от 1 до 12, в феврале не больше 29 дней, а в апреле, июне, сентябре и ноябре — 30 дней.

Для ввода использовать объекты CSpinEdit

Проверяем y=2.

  1. Если “Да”, проверяем x, он должен быть не больше 29.

  2. Если “Нет”, проверяем y=4 или y=6 или y=9 или y=11.

  • Если “Да”, проверяем x, он должен быть не больше 30.

  • Если “Нет”, проверяем x, он должен быть не больше 31.

int x, y, z;

bool f;

x=CSpinEdit1->Value;

y=CSpinEdit2->Value;

if (y==2)

f=(x<=29)? 1:0;

else

if(y==4||y==6||y==9||y==11)

f=(x<=30)?1:0;

else

f=(x<=31)?1:0;

Label1->Caption=f==1?"Дата введена верно":"Дата введена не верно";

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]