ЕГЭ по информатике. Решение заданий С1.
материал для подготовки к егэ (гиа) по информатике и икт (11 класс) на тему
Презентация. Принадлежность точки заданной закрашенной области. Задание условий для некоторой ограниченной области.
Скачать:
| Вложение | Размер |
|---|---|
| 1.94 МБ |
Предварительный просмотр:
Подписи к слайдам:
Задача . Требовалось написать программу, при выполнении которой с клавиатуры считываются координаты точки на плоскости ( x,y –действительные числа) и определяется принадлежность этой точки заданной закрашенной области (включая границы). Область ограничена гиперболой xy = 1 и прямыми x = 2 и y = 2. Программист торопился и написал программу неправильно. var x,y: real; begin readln(x,у); if x*y>=1 then if x<=2 then if y<=2 then write('принадлежит') else write('не принадлежит') end. Последовательно выполните следующее: Приведите пример таких чисел x , y , при которых программа неверно решает поставленную задачу. Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, достаточно указать любой способ доработки исходной программы).
Характеристика задания повышенного уровня сложности С1 Задание С1 нацелено на проверку умения читать короткую простую программу на алгоритмическом языке (языке программирования) и умение искать и исправлять ошибки в небольшом фрагменте программы. Вам предлагается некоторая задача и вариант её решения, в котором (сознательно) допущена ошибка. Требуется найти эту ошибку и указать, как нужно изменить программу, чтобы она верно решала поставленную задачу. Обратите внимание – в задании требуется найти смысловую, а не синтаксическую ошибку.
Рассмотрим примеры В данной задаче закрашенную область ограничивают три прямые линии : горизонтальная (ось ox ) , вертикальная(ось oy ), наклонная( y=1/2 х-1) Получаем условие : (x>=0) and (y<=0) and (y>=0.5 * x-1)
(y<=2-x*x) and (y>=0) а) б) (y>=x*x-2) and (y<=0)
x *x+y*y<=1 (x *x+y*y<=1) and (x>=0) (x *x+y*y<=1) and (x>=0) and (y<=0) (x *x+y*y>=4) and (x<=2) and (y>=0) and (y<=x) в) г) д) е)
ж) з) и) к) (x *x+y*y>=4) and (x>=-2) and (y>=0) and (y<=-x) (x *x+y*y>=4) and (x>=-2) and (x<=0) and (y>=0) and (y<=2) (x*y>=1) and (x>=-2) and (x<0) and (y>=-2) and (y<0) (x*y<=-1) and (x>=-2) and (x<0) and (y>0) and (y<=2)
( x *x+y*y<=1 ) and ((y>=x) or (x<=0)) Использование оператора or («ИЛИ»)
а) б) в) г) (x *x+y*y<=1) and ( (y>=-x) or (y<=x) ) ( y<=2-x*x) and ( (y>=x) or (y>=0) ) ( y>=x*x-2) and ( (y<=x) or (y<=-x) ) (x *x+y*y<=1) and ( (x<=0) or (y>=0) )
д) (x *x+y*y<=1) and ( (x>=0) or (y>=0) )
Периодические функции (y>=0) and (y<=0.5) and (y<=sin(x)) and (x>=0) and (x<=pi) а) б) (x>=-pi/2) and (y>=-1) and (y>=x-1) and (y<=sin(x))
в) г) (y>=0) and (y<=1) and (x>=0) and (x<=3.14) and ((y<=sin(x))or (x>=1.57)) (y>=0) and (y<=1) and (x>=0) and (x<=3.14) and ((y<=sin(x))or (x<=1.57))
Задача 1. Требовалось написать программу, при выполнении которой с клавиатуры считываются координаты точки на плоскости ( x,y –действительные числа) и определяется принадлежность этой точки заданной закрашенной области (включая границы). Область ограничена гиперболой xy = 1 и прямыми x = 2 и y = 2. Программист торопился и написал программу неправильно. var x,y: real; begin readln(x,у); if x*y>=1 then if x<=2 then if y<=2 then write('принадлежит') else write('не принадлежит') end. Последовательно выполните следующее: Приведите пример таких чисел x , y , при которых программа неверно решает поставленную задачу. Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, достаточно указать любой способ доработки исходной программы).
Решение : x=0, y=0 (Любая пара (x,y), для которой выполняется: xy<1 или x>2 или (xy≥1 и x<0 и y<0) 2) Возможная доработка : var x,y: real; begin readln(x,у); if (x*y>=1) and (x>0) and (x<=2) and (y>0) and (y<=2) then write('принадлежит') else write('не принадлежит') end.
Задача 2. var x,y: real; begin readln(x,у); if x*y<=-1 then if x<=2 then if y>=-2 then write('принадлежит') else write('не принадлежит') end. Последовательно выполните следующее: 1) Приведите пример таких чисел x, y, при которых программа неверно решает поставленную задачу. 2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, достаточно указать любой способ доработки исходной программы).
Решение : x=0, y=0 (Любая пара (x,y), для которой выполняется: xy>-1 или x>2 или (xy≤-1 и x<0 и y>0) 2) Возможная доработка : var x,y: real; begin readln(x,у); if (x*y<= -1) and (x>0) and (x<=2) and (y>= -2) and (y<0) then write('принадлежит') else write('не принадлежит') end.
