Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР(информатика) / Бейсик (курс 'Информатика') №6.doc
Скачиваний:
13
Добавлен:
14.03.2016
Размер:
523.78 Кб
Скачать

Input a,b,c

IF a+b>=c AND b>a THEN ? "Верно" ELSE ? "Неверно"

Другой пример. Для A,В,С выяснить, правда ли что первое число самое большое, а последнее – самое маленькое.

IF a>b AND a>c AND c<a AND c<b THEN ? "Верно" ELSE ? "Неверно"

Еще. Верно ли, что среди чисел имеется ровно одна единица?

IF (a=1 AND b<>1 AND c<>1) OR (a<>1 AND b=1 AND c<>1)

OR (a<>1 AND b<>1 AND c=1) THEN ? "Верно" ELSE ? "Неверно"

Здесь скобки введены лишь для наглядности, поскольку операция AND все равно выполняется прежде операции OR.

Но как решить такую задачу, если чисел не три, а например 20. Логическое выражение сделается слишком громоздким. Здесь можно использовать “арифметический” подход и сосчитать число единиц:

IF a=1 THEN s=s+1

IF b=1 THEN s=s+1

. . .

IF z=1 THEN s=s+1

IF s=1 THEN ? "Верно" ELSE ? "Неверно"

Пример. Написать программу, которая для любого года G определяет високосный он или нет (ответ Да/Нет). Признаком високосно­го года является кратность года числу 4 за исключением тех лет, которые делятся на 100 и не делятся на 400. Кратность чисел можно определять с помощью операции MOD.

Input g

IF (g MOD 4=0) AND NOT((g MOD 100=0) AND (g MOD 400<>0) ) THEN ? "Да" ELSE ? "Нет"

 Задачи для самостоятельного решения. Напишите программу, выясняющую следующие факторы:

1). Даны три произвольных числа A, В, С. Выяснить правда ли что числа расположены в порядке возрастания их значений? Ответы должны быть даны словами: Да/Нет.

2). Даны A, В, С. Выяснить правда ли что среди чисел имеются отрицательные (хотя бы одно)? Ответы – Да/Нет.

3). Выяснить правда ли что среди чисел A, В, С имеются одинаковые? Ответы – Да/Нет.

4). Найти наибольшее из чисел A, В, С. Здесь удобно использовать три оператора IF, каждый из которых проверяет на максимум одно из чисел. Если данное число оказалось самым большим, следует его напечатать и сразу прекратить вычисления оператором END, включенным внутрь структуры IF.

5). Вывести число, занимающее промежуточное положение между самым большим и самым маленьким из чисел A,В, С.

6). Положим, автомобиль был взят на прокат с датой G1, M1, H1, Min1 (год, месяц, день, час, минуты), а был возвращен в G2, M2, H2, Min2. Вычислить сколько времени использовался автомобиль T (в часах), а также, сколько должен заплатить клиент за использование автомобиля при часовом тарифе 100 руб. Длительность всех месяцев считать равной 30 дням. Считаем, что прокат возможен не более чем на 20 дней.

7). То же, но прокат возможен на срок до 70 дней.

8). Те же условия, но длительность каждого месяца брать фактической (с учетом високосности года). Считать также, что событие может происходить в период (2006-2009гг).

9). То же, но до 2050 года.

10). Известны координаты трех вершин треугольника X1,Y1; X2,Y2; X3,Y3. Найти: периметр треугольника P и его площадь S. Треугольник может быть одного из трех видов: (нижняя сторона лежит горизонтально).

11). Известны координаты трех вершин треугольника X1,Y1; X2,Y2; X3,Y3. Найти: периметр треугольника P и его площадь S. Треугольник расположен произвольным образом.

12). На плоскости нарисован прямоугольник (рисунок ниже). Напишите программу, которая для точки с произвольными координатами Xт и Yт определяет факт ее попадания внутрь прямоугольника. Ответ – Да/Нет. Кроме того, вычислить площадь прямоугольникаS.

13). Для той же фигуры определить факт ее попадания точки в область  или  или вне квадрата. Ответ должен быть дан в виде цифр 1, 2 или фразы «Вне квадрата».

14). На плоскости проведена прямая и заданы координаты Xт и Yт точки на плоскости. Определить в какую из областей , , , попала наша точка. Подсказка. Определим принадлежность точки к области 4. Очевидно, что 0<Xт<4, а 0<Yт<3. Далее нам понадобится уравнение прямой (у нас Y=3–X*3/4). Как узнать, что наша точка находится под прямой? Ясно, что Yт должен находиться ниже, чем прямая для того же аргумента 3–Xт*3/4. Т.е. если Yт<3–Xт*3/4, значит точка находится в области 4.

15). На плоскости проведены две прямые линии. Определить, попала ли точка в заштрихованную область. Ответ Да/Нет.