Else write('не принадлежит')
else write('не принадлежит'); обратите внимание, что точка с запятой есть только после самого последнего оператора write, так как остальные стоят перед ключевым словом else, перед которым точка с запятой не ставится 15) хотя приведенный выше метод дает работоспособную программу, она получается слишком длинная и некрасивая для такой простой задачи; достаточно сказать, что оператор 16) более элегантное решение формулируется на словах так: «точка принадлежит области, если выполняются одновременно 4 приведенных выше условия, а иначе – не принадлежит»; а вот реализация на Паскале (приведем программу-ответ целиком): var x,y: real; Begin readln(x,y); if (x >= 0) and (x <= pi/2) and (y <= 1) and (y >= sin(x)) then Write('принадлежит') else write('не принадлежит'); End. здесь использовано сложное условие, в котором 4 отношения связаны операциями and («И», требуется одновременное выполнение всех условий)
Задачи для тренировки [2]:
1) Требовалось написать программу, которая решает уравнение «» относительно x для любых чисел a и b, введенных с клавиатуры. Все числа считаются действительными. Программист торопился и написал программу неправильно: var a,b,x: real; Begin readln(a,b,x); if a = 0 then if b = 0 then Write ('любое число') Else write ('нет решений') Else if b = 0 then write('x = 0') else write('x =',b/a,' или x =',-b/a); End. Последовательно выполните три задания: 1) Приведите пример таких чисел a, b, x, при которых программа неверно решает поставленную задачу. 2) Укажите, какая часть программы является лишней. 3) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).
2) Требовалось написать программу, которая решает уравнение «» относительно x для любых чисел a и b, введенных с клавиатуры. Все числа считаются действительными. Программист торопился и написал программу неправильно: var a, b, x: real; Begin readln(a,b,x); if b = 0 then write('x = 0') Else if a = 0 then Write('нет решений') Else write('x =',-b/a); End. Последовательно выполните три задания: 1) Приведите пример таких чисел a, b, x, при которых программа неверно решает поставленную задачу. 2) Укажите, какая часть программы является лишней. 3) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).
3) Требовалось написать программу, которая определяет, лежит ли точка А(х0,у0) внутри треугольной области, ограниченной осями координат и прямой («внутри» понимается в строгом смысле, т.е. случай, когда точка А лежит на границе области, недопустим). В результате программа должна выводить соответствующее текстовое сообщение. Программист сделал в программе ошибки.
var x0, у0, у: real; Begin readln (x0, y0); if (x0 < 2)then begin if (x0 > 0)then begin у = 2 – х0; if (y0 < у) then
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|