В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
martynova93
martynova93
22.02.2022 10:16 •  Информатика

Программа должна выводить за на полет стрелы и при утвердительном ответе изобразить летящую стрелу слева направо до конца графического окна. При отрицательном ответе должен быть выход из программы. Использовать вложенный цикл с предусловием. Внешний цикл организует за и получает ответ пользователя, а внутренний цикл выполняет полет стрелы.

Показать ответ
Ответ:
IvanShadow
IvanShadow
19.10.2020 01:58

PascalABC.NET 3.5.1

program D_contest;

type

 TStat = record

   nick: string;

   wins, battles: integer;

   proc: real;

 end;

var

 N, i, num: integer;

 str: array of string;

 stat: array of TStat;

 nick: string;

function found(ni_ck: string): integer;

begin

 found := -1;

 for var e := 0 to Length(stat) - 1 do

 begin

   if stat[e].nick = ni_ck then  

   begin

     found := e;

     break;

   end;

 end;

end;

var

 v_pts, e_pts, l_e: integer;  

 F: textfile;

 k: real;

 s: string;

begin

 Assign(F, 'input.txt');

 Reset(F);

 readln(F, n);

 SetLength(str, n);

 SetLength(stat, 1);

 for i := 0 to n - 1 do

 begin

   readln(F, str[i]);    

   //get enemy_nick

   nick := Copy(str[i], 1, Pos(' ', str[i]) - 1);    

   Delete(str[i], 1, Pos(' ', str[i]));

   

   if (stat[0].nick <> '') then

   begin

     num := found(nick);

     if (num = -1) then //not found

     begin

       l_e := Length(stat);

       SetLength(stat, l_e + 1);

       num := l_e;

       stat[num].nick := nick;

     end;

   end

     else

   begin

     stat[0].nick := nick;

   end;

   

   stat[num].battles += 1;

   

     //get Vania_points

   v_pts := StrToInt(Copy(str[i], 1, Pos(' ', str[i])));    

   Delete(str[i], 1, Pos(' ', str[i]));

   

     //get enemy_points

   e_pts := StrToInt(str[i]);

   

   if v_pts > e_pts Then

     stat[num].wins += 1;

 end;

 Close(F);        

 

 //вычисляю процент побед

 for i := 0 to Length(stat) - 1 do

 begin

   stat[i].proc := stat[i].wins / stat[i].battles;  

 end;

 

 //сортировка по процентам

 for i := 0 to Length(stat) - 2 do  

 begin

   for var j := 0 to Length(stat) - i - 2 do  

   begin

     if stat[j].proc > stat[j + 1].proc then  

     begin

       k := stat[j].proc;

       stat[j].proc := stat[j + 1].proc;

       stat[j + 1].proc := k;

       

       s := stat[j].nick;

       stat[j].nick := stat[j + 1].nick;

       stat[j + 1].nick := s;

     end;

   end;

 end;

 

 //сортировка по алфавиту

 for i := 0 to Length(stat) - 2 do  

 begin

   for var j := 0 to Length(stat) - i - 2 do  

   begin

     if (stat[j].proc = stat[j + 1].proc) and (stat[j].nick > stat[j + 1].nick) then  

     begin

       k := stat[j].proc;

       stat[j].proc := stat[j + 1].proc;

       stat[j + 1].proc := k;

       

       s := stat[j].nick;

       stat[j].nick := stat[j + 1].nick;

       stat[j + 1].nick := s;

     end;

   end;

 end;

 

 writeln(Length(stat));

 for i := 0 to Length(stat) - 1 do

 begin

   write(stat[i].nick, ' ');

   writeln(stat[i].proc * 100:0:6);

 end;

end.

Объяснение:

Смотри код

0,0(0 оценок)
Ответ:
yanix2020
yanix2020
04.05.2023 17:34

использовать Чертежник

алг

нач

сместиться в точку (1,12)

опустить перо

сместиться в точку (3,12)

сместиться в точку (4,13)

сместиться в точку (5,13)

сместиться в точку (6,14)

сместиться в точку (6,13)

сместиться в точку (9,10)

сместиться в точку (18,10)

сместиться в точку (20,8)

сместиться в точку (20,5)

сместиться в точку (19,4)

сместиться в точку (19,7)

сместиться в точку (17,1)

сместиться в точку (15,1)

сместиться в точку (16,2)

сместиться в точку (16,3)

сместиться в точку (15,5)

сместиться в точку (15,6)

сместиться в точку (13,5)

сместиться в точку (10,6)

сместиться в точку (7,5)

сместиться в точку (7,1)

сместиться в точку (5,1)

сместиться в точку (6,2)

сместиться в точку (6,6)

сместиться в точку (4,10)

сместиться в точку (1,11)

сместиться в точку (1,12)

поднять перо

|глазик

сместиться в точку (3.95,11.95)

опустить перо

сместиться в точку (3.95,12.05)

сместиться в точку (4.05,12.05)

сместиться в точку (4.05,11.95)

сместиться в точку (3.95,11.95)

поднять перо

сместиться в точку (0,0)

кон


Очень Гении программы КуМир написать программу (КуМир Чертёжник) чтобы получилась следующая фигура:
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота