Домашние задания: Другие предметы

Пожалуйсто, помогите решить две задачи по информатике. Зарание спасибо!

само решение тоже нужно. Вот условия: Два игрока играют в следующую игру. На координатной плоскости стоит фишка. В начале игры фишка находится в точке с координатами (–2,–1). Игроки ходят по очереди. Ход состоит в том, что игрок перемещает фишку из точки с координатами (x,y) в одну из трех точек: (x+3,y), (x,y+4), (x+2,y+2). Игра заканчивается, как только расстояние от фишки до начала координат превысит число 9. Выигрывает игрок, который сделал последний ход. Кто выигрывает при безошибочной игре – игрок, делающий первый ход, или игрок, делающий второй ход? Каким должен быть первый ход выигрывающего игрока? Ответ обоснуйте. _________________________ Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 100 – баллы учащихся выпускного класса за итоговый тест по информатике. Для получения положительной оценки за тест требовалось набрать не менее 20 баллов. Опишите на русском языке или на одном из языков программирования алгоритм, который позволяет найти и вывести минимальный балл среди учащихся, получивших за тест положительную оценку. Известно, что в классе хотя бы один учащийся получил за тест положительную оценку. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них. Паскаль Бейсик const N=30; var a: array [1..N] of integer; i, j, min: integer; begin for i:=1 to N do readln(a); … end. N=30 DIM A(N) AS INTEGER DIM I, J, MIN AS INTEGER FOR I = 1 TO N INPUT A(I) NEXT I … END СИ Естественный язык #include <stdio.h> #define N 30 void main(void) {int a[N]; int i, j, min; for (i=0; i<n;>); … } Объявляем массив A из 30 элементов. Объявляем целочисленные переменные I, J, MIN. В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й. … В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например, Borland Pascal 7.0) или в виде блок-схемы. В этом случае вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).
1 задача:

uses crt;

const MAXLEVEL=100;
MAXSTEPS=3;
x0=-2;
y0=-1;
hod:array [1..MAXSTEPS,1..2] of integer = (
(3,0), (0,4), (2,2)
);

var game:array [1..MAXLEVEL,1..2] of integer;
f:text; fname:string;

function dist(x,y:integer):real;
begin
dist:=sqrt(sqr(x)+sqr(y));
end;

function endofgame (l:integer):boolean;
begin
endofgame:=dist(game[l,1],game[l,2])>9;
end;

procedure print(l:integer);
var i:integer;
begin
writeln (f);
for i:=1 to l do write (f,'(',game[i,1]:2,',',game[i,2]:2,') ');
if l mod 2 = 0 then write (f,'1 win')
else write (f,'2 win');
end;

procedure step (x,y,l:integer);
{x,y - координаты точки, l - уровень просмотра}
var i:integer;
begin
game[l,1]:=x;
game[l,2]:=y;
if endofgame(l) then print(l)
else for i:=1 to MAXSTEPS do step (x+hod[i,1],y+hod[i,2],l+1);
end;

begin
clrscr;
assign(f,'c3.txt');{con}
rewrite(f);
step(x0,y0,1);
close (f);
end.

2 задача:

N = 30
DIM a(1 TO N) AS INTEGER
DIM i AS INTEGER
DIM j AS INTEGER
DIM min AS INTEGER

FOR i = 1 TO N
INPUT a(i)
NEXT i
...
END

REM Решение
N = 30
DIM a(1 TO N) AS INTEGER
DIM i AS INTEGER
DIM j AS INTEGER
DIM min AS INTEGER

FOR i = 1 TO N
INPUT a(i)
NEXT i
min = 100
FOR i = 1 TO N
IF (a(i) >= 20) AND (a(i) < min) THEN
min = a(i)
END IF
NEXT i
PRINT min
END
Polina Likhtenberg
Polina Likhtenberg
6 607
Лучший ответ