Перейти к публикации
Дедовский городской форум
Санёк

Qbasik

Рекомендованные сообщения

Вот, спешиал фо ю, задачка, что делал Кевин:

 

CLS
INPUT "x,y,z"; x, y, z
IF x < y + z AND y < x + z AND z < x + y THEN
PRINT "exists"

IF x >= y THEN
IF x >= z THEN
max = x
min1 = y
min2 = z
ELSE
max = z
min1 = y
min2 = x
END IF
ELSE
IF y >= z THEN
max = y
min1 = x
min2 = z
END IF
END IF


IF max ^ 2 < (min1 ^ 2 + min2 ^ 2) THEN
PRINT "ostro"
ELSE
PRINT "ne ostro"
END IF

ELSE
PRINT "does not exist"
END IF

Изменено пользователем Alair

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

попробывал последнюю предложение свята(пост выше), у мну почему то остроугольность не показывает, за то в моей проге всё норм.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
попробывал последнюю предложение свята(пост выше), у мну почему то остроугольность не показывает, за то в моей проге всё норм.

В твоём варианте он не определяет большую сторону.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

интересно, как это в твоём варианте он определяет большее из a,b,c?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

остро тупо.. а где прямо?:) 3-4-5 введите чо получиться?;)

Изменено пользователем Maksim

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
интересно, как это в твоём варианте он определяет большее из a,b,c?

Этот кусок кода:

 

IF x >= y THEN
IF x >= z THEN
max = x
min1 = y
min2 = z
ELSE
max = z
min1 = y
min2 = x
END IF
ELSE
IF y >= z THEN
max = y
min1 = x
min2 = z
END IF
END IF

 

Соответственно max - максимальное min1, min2 - два других числа.

 

 

2 Maksim Прямо им не нужно учитывать, вообще там даже не надо определять тупой ли он. Задание "Острый ли".

Кстати да, нужно исправить, что б не писал "тупо". (исправил)

Изменено пользователем Alair

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
IF x >= y THEN
IF x >= z THEN
max = x
min1 = y
min2 = z
ELSE
max = z
min1 = y
min2 = x
END IF
ELSE
IF y >= z THEN
max = y
min1 = x
min2 = z
END IF
END IF

Во-первых, после последнего IF должен идти ещё один ELSE (случай x<y<z у Вас, кажется, остался неохваченным)

Во-вторых, всё же лучше как-то так:

max=x
min1=y
min2=z
IF min1>max THEN
tmp=max
max=min1
min1=tmp
END IF
IF min2>max THEN
tmp=max
max=min2
min2=tmp
END IF

Ну а совсем здорово написать отдельную подпрограмму для находжения наибольшего элемета в массиве из N элементов и использовать в данной программе для случая N=3.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Во-первых, после последнего IF должен идти ещё один ELSE (случай x<y<z у Вас, кажется, остался неохваченным)

Посмотрите внимательней, он охватывается.

 

Во-вторых, всё же лучше как-то так:

max=x
min1=y
min2=z
IF min1>max THEN
tmp=max
max=min1
min1=tmp
END IF
IF min2>max THEN
tmp=max
max=min2
min2=tmp
END IF

Я думал сделать похожее, но решил, что лучше сделать нагляднее.

 

Ну а совсем здорово написать отдельную подпрограмму для находжения наибольшего элемета в массиве из N элементов и использовать в данной программе для случая N=3.

Это конечно проще, но они, к сожаленю, массивов ещё не проходили.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
IF x >= y THEN (1)

IF x >= z THEN (2)

max = x

min1 = y

min2 = z

ELSE

max = z

min1 = y

min2 = x

END IF (3)

ELSE (4)

IF y >= z THEN (5)

max = y

min1 = x

min2 = z

END IF

END IF

x<y - значит, первый IF (1) не срабатывает. Кусок (2-3), соответсвенно, весь пропускаем. Переходим к ELSE (4). Поскольку y<z, то и IF (5) не срабатывает. И где же охватывается эта ситуация :unsure: ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
IF x >= y THEN (1)

IF x >= z THEN (2)

max = x

min1 = y

min2 = z

ELSE

max = z

min1 = y

min2 = x

END IF (3)

ELSE (4)

IF y >= z THEN (5)

max = y

min1 = x

min2 = z

END IF

END IF

x<y - значит, первый IF (1) не срабатывает. Кусок (2-3), соответсвенно, весь пропускаем. Переходим к ELSE (4). Поскольку y<z, то и IF (5) не срабатывает. И где же охватывается эта ситуация :unsure: ?

Гм... жутко извиняюсь, я действительно не прав(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

да, бывает, ты пропустил один END IF

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

×
×
  • Создать...