- •Л абораторная работа №1 «Линейные алгоритмы»
- •Лабораторная работа №2 «Целочисленные операции»
- •Лабораторная работа №3
- •Лабораторная работа №4 «Логические выражения»
- •Лабораторная работа №5 « Исполнительный оператор if и операция ? в организации ветвление»
- •Лабораторная работа №6 «Ветвящиеся алгоритмы»
- •Лабораторная работа №7 «Оператор выбора»
- •Лабораторная работа №8 «Циклические алгоритмы»
Лабораторная работа №5 « Исполнительный оператор if и операция ? в организации ветвление»
Составить четыре варианта программы:
с использованием оператора if и операции ?:
с использованием логической переменной и без использования.
Натуральное число N является точным квадратом.
Найдем корень из данного числа
Возведем данное число в квадрат
Сравниваем полученное число с исходным
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 «Ветвящиеся алгоритмы»
Известны стороны трёх квадратов. Определить максимальную разность их площадей.
Сначала находим площади квадратов по данным сторонам.
Сравниваем S1 и S2, большее из них записываем в max, меньшее-min.
Затем сравниваем S3 с большей из площадей, если S3 больше - записываем в max.
Если S3 оказывается меньше - делаем проверку S3 меньше min. Если меньше - записываем в ячейку min.
В ычисляем максимальную разность – из 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? «Углом» укладывать нельзя.
Сравниваем a и b, большее из них записываем в max1, меньшее-min1.
Затем сравниваем c с большей из площадей, если c больше - записываем в max1.
Если c оказывается меньше - делаем проверку c меньше min1. Если меньше - записываем в ячейку min1.
Т ем же методом сравниваем x, y, z и находим max2 и min2.
В конце, сравниваем между собой 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.
Если “Да”, проверяем x, он должен быть не больше 29.
Если “Нет”, проверяем 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?"Дата введена верно":"Дата введена не верно";