NOIP 2017 复赛(Pascal)准备

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NOIP 2017 复赛(Pascal)准备相关的知识,希望对你有一定的参考价值。

Rating :1500

0/100 (0%)

NOIP2017初赛终于过去啦,迎来的是新一轮的奋斗——复赛。为了激励自己,我便傻逼傻逼的写了一个Rating计算器,反应我每天的刷题记录。程序如下:

var i,j,lt,rating,sub,ac,ce,un,day,en,pu,a,b,c,d,e,jian,bs:real;
var s:ansistring;
begin
  s:=‘-------------------------------------------------------‘;
  writeln(s);
  writeln(‘Input‘);
  write(‘Your Last Rating : ‘);read(lt);
  write(‘Accepted : ‘);read(ac);
  write(‘Compile Error : ‘);read(ce);
  write(‘Unaccepted and un-ce : ‘);read(un);
  writeln(‘What dat is it today?‘);
  writeln(‘1 : Monday‘);
  writeln(‘2 : Tuesday‘);
  writeln(‘3 : Wednesday‘);
  writeln(‘4 : Thursday‘);
  writeln(‘5 : Friday‘);
  writeln(‘6 : Saturday‘);
  writeln(‘7 : Sunday‘);
  write(‘Input a number : ‘);read(day);
  writeln(‘The degree of difficulty of the problems :‘);
  write(‘Five stars : ‘);read(a);
  write(‘Four stars : ‘);read(b);
  write(‘Three stars : ‘);read(c);
  write(‘Two stars : ‘);read(d);
  write(‘One stars : ‘);read(e);
  writeln(‘Finish inputing! Loading...‘);
  writeln(s);
  writeln(‘Result‘);
  writeln(‘Submit : ‘,ac+ce+un:0:0);
  writeln(‘Solve : ‘,a+b+c+d+e:0:0);
  writeln(s);
  writeln(‘Encouragement‘);
  if (ac=0) and (ac+ce+un>0) then
  begin
    writeln(‘No accepted but submit +‘,lt/1000*(ac+un):0:2);
    pu:=lt/100*(ac+un);
  end else begin
  pu:=lt/100*(a*2.5+b*2+c*1.5+d+e*0.5);
  writeln(‘Solve +‘,pu:0:2);
  pu:=pu+lt/100*ac;
  writeln(‘Accepted +‘,lt/100*ac:0:2);end;
  if (1<=day) and (day<=5) then
  begin
    randomize;
    en:=(random(9)+1)/10+1;
    writeln(‘Monday to Friday *‘,en:0:2);
  end else en:=1;
  writeln(‘All +‘,pu*en:0:2);
  writeln(s);
  writeln(‘Punish‘);
  if (ac+ce+un=0) then begin jian:=lt/100*2.5;writeln(‘No Submit -‘,jian);
  end else begin
  jian:=lt/100*ce*0.3;
  writeln(‘Compile Error -‘,jian:0:2);
  jian:=jian+lt/100*un*0.5;
  writeln(‘Unaccepted and un-ce -‘,lt/100*un*0.5:0:2);end;
  if (6<=day) and (day<=7) then
  begin
    randomize;
    bs:=(random(9)+1)/10+1;
    writeln(‘Weekends *‘,bs:0:2);
  end else bs:=1;
  writeln(‘All -‘,bs*jian:0:2);
  writeln(s);
  rating:=lt+en*pu-bs*jian;
  writeln(‘Your finally rating is ‘,rating:0:2);
  writeln(s);
  writeln(‘Please press Enter to return...‘);
  readln;
  readln(s);
end.

运行结果如下(模拟):

技术分享

 

Let‘s fight ! 

 持续更新中...

以上是关于NOIP 2017 复赛(Pascal)准备的主要内容,如果未能解决你的问题,请参考以下文章

noip需要准备哪些方面的基础知识。复赛需要做哪些类型的题目(提高组)?

noip需要准备哪些方面的基础知识.复赛需要做哪些类型的题目(提高组)?

noip2006普及组pascal试题解答

noip2010普及组复赛接水问题

求第十二届全国青少年奥林匹克信息学联赛(普及组PASCAL语言)复赛试题

守望者逃离 pascal 2007NOIP普及组第三题