Размер шрифта: A AA Изображения Выключить Включить Цвет сайта Ц Ц Ц Х
Бесплатный конструктор сайтов - uCoz
Четверг, 02.05.2024, 12:58
Приветствую Вас Гость | RSS

Сайт учителя информатики  и ИКТ Шинкаренко Евгения Александровича

Реклама
Оцените сайт
Оцените мой сайт
Всего ответов: 837
Программирование
Какой язык программирования выбрать для подготовки к ЕГЭ
Всего ответов: 804

Исправление программы, написанной неправильно программистом . Решение задач части С1

#Задача №1.
Требовалось написать программу, при выполнении которой с клавиатуры считываются координаты точки на плоскости (x,y – действительные числа) и определяется принадлежность этой точки заданной заштрихованной области (включая границы). Программист торопился и написал программу неправильно.

Последовательно выполните следующее:
1) Приведите пример таких чисел x, y, при которых программа неверно решает поставленную задачу.
2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, достаточно указать любой способ доработки исходной программы).




ПРОГРАММА
НА ПАСКАЛЕ

ПРОГРАММА
НА БЕЙСИКЕ

ПРОГРАММА
НА СИ

var x,y: real;
begin
readln(x,y);
if x*x+y*y>=4 then
if x>= –2 then
if y<= –x then
write('принадлежит')
else
write('не принадлежит')
end.

INPUT x, y
IF x*x+y*y>=4 THEN
IF x>= –2 THEN
IF y<= –x THEN
PRINT "принадлежит"
ELSE
PRINT "не принадлежит"
ENDIF
ENDIF
ENDIF
END

void main(void)
{ float x,y;
scanf("% f % f",&x,&y);
if (x*x+y*y>=4)
if (x>= –2)
if (y<= –x)
printf("принадлежит");
else
printf("не принадлежит");
}

Перейти к решению задачи

#Задача №2.
Требовалось написать программу, при выполнении которой с клавиатуры считываются координаты точки на плоскости (x, y – действительные числа) и определяется принадлежность этой точки заданной заштрихованной области (включая границы).
Программист торопился и написал программу неправильно.

Последовательно выполните следующее:
1) Приведите пример таких чисел x, y, при которых программа неправильно решает поставленную задачу.
2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами,
поэтому можно указать любой правильный способ доработки исходной программы).

ПРОГРАММА
НА ПАСКАЛЕ
ПРОГРАММА
НА БЕЙСИКЕ
ПРОГРАММА
НА СИ
var x,y: real;
begin
readln(x,y);
if x*x+y*y<=1 then
begin
if x<=0 then
write('принадлежит');
if y>=0 then
write('принадлежит')
else
write('не принадлежит')
end
end.

INPUT x, y
IF x*x+y*y<=1 THEN
IF x<=0 THEN
PRINT "принадлежит"
ENDIF
IF y>=0 THEN
PRINT "принадлежит"
ELSE
PRINT "не принадлежит"
ENDIF
ENDIF
END

void main(void) {
float x,y;
scanf("%f%f",&x,&y);
if (x*x+y*y<=1)
{
if (x<=0)
printf("принадлежит");
if (y>=0)
printf("принадлежит");
else
printf("не принадлежит");
}
}


Перейти к решению задачи

#Задача №3.
Требовалось написать программу, при выполнении которой с клавиатуры считываются координаты точки на плоскости (x, y – действиительные числа) и определяется принадлежность этой точки заданной заштрихованной области (включая границы).
Программист торопился и написал программу неправильно.


Последовательно выполните следующее:
1) Приведите пример таких чисел x, y, при которых программа неправильно решает поставленную задачу.
2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой правильный способ доработки исходной программы.)

ПРОГРАММА НА
ПАСКАЛЕ
ПРОГРАММА НА
БЕЙСИКЕ

ПРОГРАММА НА СИ
var x,y: real;
begin
readln(x,y);
if y<=x then
if y<=-x then
if y>=x*x-2 then
write('принадлежит')
else
write('не принадлежит')
end.

INPUT x, y
IF y<=x THEN
IF y<=-x THEN
IF y>=x*x-2 THEN
PRINT "принадлежит"
ELSE
PRINT "не принадлежит"
ENDIF
ENDIF
ENDIF
END

void main(void)
{ float x,y;
scanf("%f%f",&x,&y);
if (y<=x)
if (y<=-x)
if (y>=x*x-2)
printf("принадлежит");
else
printf("не
принадлежит");
}

Перейти к решению задачи


#Задача №4.
Требовалось написать программу, при выполнении которой с клавиатуры считываются координаты точки на плоскости (x, y – действительные числа) и определяется принадлежность этой точки заданной заштрихованной области (включая границы).
Область ограничена осями координат и прямыми y = 3 – 2x и x = 3 – 2y.
Программист торопился и написал программу неправильно.

Последовательно выполните следующее:
1) Приведите пример таких чисел x, y, при которых программа неправильно решает поставленную задачу.
2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой правильный способ доработки исходной программы).


ПРОГРАММА
НА ПАСКАЛЕ

ПРОГРАММА
НА БЕЙСИКЕ

ПРОГРАММА
НА СИ

var x,y: real;
begin
readln(x,y);
if x>=0 then
if y>=0 then
if y<=3-2*x then
if x<=3-2*y then
write('принадлежит')
else
write('не принадлежит')
end.

INPUT x, y
IF x>=0 THEN
IF y>=0 THEN
IF y<=3-2*x THEN
IF x<=3-2*y THEN
PRINT "принадлежит"
ELSE
PRINT "не принадлежит"
ENDIF
ENDIF
ENDIF
END

void main(void) {
float x,y;
scanf("%f%f",&x,&y);
if (x>=0)
if (y>=0)
if (y<=3-2*x)
if (x<=3-2*y)
printf("принадлежит");
else
printf("не принадлежит");
}

Перейти к решению задачи

#Задача №5.
Требовалось написать программу, при выполнении которой с клавиатуры считываются координаты точки на плоскости (x,y – действительные числа) и определяется принадлежность этой точки заданной заштрихованной области (включая границы). Область ограничена осью абсцисс, прямыми y = 1 и x = Pi, и графиком функции y = sin x.
Программист торопился и написал программу неправильно.


Последовательно выполните следующее:
1) Приведите пример таких чисел x, y, при которых программа неправильно решает поставленную задачу.
2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами,
поэтому можно указать любой правильный способ доработки исходной программы).

ПРОГРАММА НА ПАСКАЛЕ
ПРОГРАММА НА БЕЙСИКЕ
ПРОГРАММА НА СИ
var x,y: real;
begin
readln(x,y);
if y>=0 then
if y<=1 then
if x>=0 then
if x<=3.14 then
if y<=sin(x) then
write('принадлежит')
else
write('не принадлежит')
end.

INPUT x, y
IF y>=0 THEN
IF y<=1 THEN
IF x>=0 THEN
IF x<=3.14 THEN
IF Y<=sin(X) THEN
PRINT "принадлежит"
ELSE
PRINT "не принадлежит"
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
END

void main(void) {
float x,y;
scanf("%f%f",&x,&y);
if (y>=0)
if (y<=1)
if (x>=0)
if (x<=3.14)
if (y<=sin(x))
printf("принадлежит");
else
printf("не принадлежит");
}

Перейти к решению задачи

#Задача №6.
Требовалось написать программу, при выполнении которой с клавиатуры считываются координаты точки на плоскости (x,y – действительные числа) и определяется принадлежность этой точки заданной закрашенной области (включая границы).
Область ограничена гиперболой xy = 1 и прямыми x = 2 и y = 2.
Программист торопился и написал программу неправильно.


Последовательно выполните следующее:
1. Приведите пример таких чисел x, 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.

INPUT x, y
IF x*y>=1 THEN
IF x<=2 THEN
IF y<=2 THEN
PRINT "принадлежит"
ELSE
PRINT "не принадлежит"
ENDIF
ENDIF
ENDIF
END

void main(void)
{ float x,y;
scanf("%f%f",&x,&y);
if (x*y>=1)
if (x<=2)
if (y<=2)
printf("принадлежит");
else
printf("не принадлежит");
}

Перейти к решению задачи

#Задача №7.
Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x,y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы.
Программист торопился и написал программу неправильно.


Последовательно выполните следующее:
1) Приведите пример таких чисел x, y, при которых программа неверно решает поставленную задачу.
2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы.)



ПРОГРАММА НА ПАСКАЛЕПРОГРАММА НА БЕЙСИКЕ

ПРОГРАММА НА СИ

var x,y: real;
begin
readln(x,y);
if y<=1 then
if x>=0 then
if y>=sin(x) then
write('принадлежит')
else
write('не принадлежит')
end.

INPUT x, y
IF y<=1 THEN
IF x>=0 THEN
IF y>=SIN(x) THEN
PRINT "принадлежит"
ELSE
PRINT "не принадлежит"
ENDIF
ENDIF
ENDIF
END

void main(void)
{ float x,y;
scanf("%f%f",&x,&y);
if (y<=1)
if (x>=0)
if (y>=sin(x))
printf("принадлежит");
else
printf("не принадлежит");
}

Перейти к решению задачи

#Задача №8.
Требовалось написать программу, которая решает уравнение «a|x|=b» относительно 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.

INPUT a, b, x
IF a = 0 THEN
IF b = 0 THEN
PRINT "любое число"
ELSE
PRINT "нет решений"
ENDIF
ELSE
IF b = 0 THEN
PRINT "x = 0"
ELSE
PRINT "x =",b/a, " или x =",-b/a
END IF
END IF
END

void main(void)
{float a,b,x;
scanf("%f%f%f", &a,&b,&x);
if (a==0)
if (b==0)
printf("любое число");
else
printf ("нет решений");
else
if (b==0)
printf("x = 0");
else
printf("x=%f или x=%f", b/a,-b/a);
}


Последовательно выполните три задания:
1) Приведите пример таких чисел a, b, x, при которых программа неверно решает поставленную задачу.
2) Укажите, какая часть программы является лишней.
3) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).

Перейти к решению задачи


Возврат к списку
Реклама
Календарь
«  Май 2024  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031
Поиск
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Счетчик яндекс
Яндекс.Метрика