Рахимов Р.М.
Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно. Вот она: 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. Последовательно выполните следующее: 1) Приведите пример таких чисел x, y, при которых программа неверно решает поставленную задачу. 2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).
Штрихланган өлкә Ү күчәреннән уңда урнашкан, димәк беренче шарт х>=0 Уң октан штрихланган өлкә беренче максимум белән чикләнгән, димәк математиканы искә төшерсәк икенче шарт Өске октан чикләүче шарт Аскы октан Барлыгы бер – берсе эченә урнашкан дүрт шарт яки бер, дүрт шартны AND логик операция се белән берләштерүче шарт булырга тише
write('принадлежит') операторы өч шарт эчендә урнашкан, ә безгә дүрт шар үтәлүе кирәк «не принадлежит» нинди очракта язылуын карыйк. Else алдыннан end юг, димәк write('не принадлежит') операторы бары тик y >= sin(x) шорты үтәлгәндә генә башкарыла if y <= 1 then if x >= 0 then if y >= sin(x) then write('принадлежит') else write('не принадлежит')
да нет принадлежит y >= sin(x) да x >= 0 да y <= 1 не принадлежит нет
(x=3.14, y=0.5) (тишеле өлкәгә эләгү дөрес билгеләнмәгән) (x=0, y=1) яки (x=-1, y=0) (бер төрле язу да чыгарылмый) var x,y: real; begin readln(x,y); if (x >= 0) and (x <= pi/2) and (y = sin(x)) then write('принадлежит') else write('не принадлежит'); end.
3 балл Барлык биремнәр үтәлгән, программада хаталар 1 дән артык түгел 2 балл Өч пунктның икесе генә дөрес үтәлгән, программада хаталар 2 дән артык түгел 1 балл Өч пунктның берсе генә дөрес үтәлгән, программада хаталар 3 тән артык түгел
Тема: Массива бел ә н эшли ә ү. Опишите на русском языке или одном из языков программирования алгоритм получения из заданного целочисленного массива размером 30 элементов другого массива, который будет содержать положительные значения элементов первого массива
const N = 30; var a, b:array[1..N] of integer; i,к: integer; begin for i:=1 to N do read(a[i]); к:=0; for i:=1 to N do if a[i] > 0 then begin k:=k+1; b[k]:= a[i]]; end; writeln('Результат:'); for i:=1 to k do { вывод всех элементов массива B } write(b[i], ' '); end.
Тема: Оту стратегиясен табу. Два игрока играют в следующую игру. На координатной плоскости стоит фишка. Игроки ходят по очереди. В начале игры фишка находится в точке с координатами (5,2). Ход состоит в том, что игрок перемещает фишку из точки с координатами (x,y) в одну из трех точек: или в точку с координатами (x+3,y), или в точку с координатами (x,y+3), или в точку с координатами (x,y+4). Выигрывает игрок, после хода которого расстояние по прямой от фишки до точки с координатами (0,0) не меньше 13 единиц. Кто выигрывает при безошибочной игре обоих игроков – игрок, делающий первый ход, или игрок, делающий второй ход? Каким должен быть первый ход выигрывающего игрока? Ответ обоснуйте.
Һәр ноктадан өч төрле ноктага эләгеп бала Пифагор теоремасы буенча (x,y) ноктасыннан координаталар башлангычына кадәр ара формуласы буенча исәпләнә; таймыр алудан котылу өчен тигезсезлегеннән тигезкөчле шортына күчәбез Башлангыч момента, шарт үтәлми Беренче уенчы фишкины өч төрле ноктага йөри ала, аларны таблицага языйк.
1 уенчы 2 уенчы 1 уенчы (5,2) 29 (8,2) 68 (11,2)125 (14,2) 200 (11,5) 146 (11,6)157 (8,5) 89 (11,5) 146 (8,8) 128 (8,9) 145 (8,6) 100 (11,6) 157 (8,9) 145 (8,10) 164 (5,5) 50 (8,5) 89 (11,5) 146 (8,8) 128 (8,9) 145 (5,8) 89 (8,8) 128 (5,11)146 (5,12)169 (5,9) 106 (8,9)145 (5,12)169 (5,13) 196 (5,6) 61 (8,6) 100 (11,6) 157 (8,9) 145 (8,10) 164 (5,9) 106 (8,9)145 (5,12)169 (5,13) 196 (5,10) 125 (8,10)164 (5,13)194 (5,14)221
1 уенчы 2 уенчы 1 уенчы 2 уенчы (5,2) 29 (8,2) 68 (8,5) 89 (11,5) 146(14,5)221 (8,8) 128(11,8)185 (8,9) 145(11,9)202 (8,6) 100 (11,6) 157(11,9)202 (8,9) 145(11,9)202 (8,10) 164(11,10)221 (5,5) 50(8,5) 89 (11,5) 146(11,8)185 (8,8) 128(11,8)185 (8,9) 145(11,9)202 (5,6) 61(8,6) 100 (11,6) 157(11,9)202 (8,9) 145(11,9)202 (8,10) 164(11,10)221 Икенче уенчы ота,отучи уенчы беренче ходта (8,5), яки (8,6) ноктасына йөрергә тише. Бу ходлардан соң 1 уенчы ота алмый, ә аның теләсә нинди ходыннан соң икенче уенчы ота. Таблицада 1 уенчының барлык ходларын икенче уенчының оту өчен кирәкле ходларын гына критерии
Чыгышны ә зеро ә г ә нд ә кулланылган материаллар FIPI.ru сайтларыннан алынды