ユーマちゃんのブログ

質問・要望はTwitterもしくはコメントで。返信はTwitterで。

Programming Midterm

 

program midterm
  implicit none
  real:: Ax=0.0, Ay=0.0, Mxl=0.0, Mxr=0.0, Myl=0.0, Myr=0.0, SumA=0.0, SumMx=0.0, SumMy=0.0,xc=0.0,yc=0.0
  integer:: i=0, N

   print*, "Inout N here"
   read(*,*) N

   do i= 1,N-1
        Ax = Ax + 1 - real(i)/real(N)
        Ay = Ay + sqrt(1-(- 1+real(i)/real(N))**2)
        Mxl = Mxl + 0.5*(1-(- 1+real(i)/real(N))**2)
        Mxr =  Mxr + 0.5*(1-real(i)/real(N))**2
        Myl = Myl + (- 1+real(i)/real(N))*sqrt(1-(- 1+real(i)/real(N))**2)
        Myr = Myr + real(i)/real(N)*(1-real(i)/real(N))
   end do

   SumA =  (Ax + Ay + 1.0)/real(N)
   SumMx = ( Mxl+ Mxr+ 0.5 )/real(N)
   SumMy = ( Myl+ Myr)/real(N)


   xc = SumMy/SumA
   yc = SumMx/SumA

   print *, "xc=",xc,"yc=",yc
end program midterm

Programming Example 7 (訂正版)

!This program was change on November 18.

 

 

program report7
  implicit none
  real:: b
  integer:: a,c,i,j,k,N,t=0
  logical judge

  print*, "Enter the limit of hypotenuse"
  read(*,*) N
  print*, "The following numbers are all primitive Pythagorean triples with hypotenuse no longer than",N

  do i= 2,N
    c = i
    do j = 1, N
      a = j
      b = sqrt(real(c**2-a**2))
      if (b==real(int(b)) .and. b/=0 .and. real(a)<=b ) then
        judge = .true.
        do k =2,int(b)
          if (mod(a,k)==0 .and. mod(int(b),k)==0) then
            judge = .false.
          end if
        end do
        if ( judge ) then
          t = t + 1
          print*, t,")",a,int(b),c
        end if
      end if
    end do
  end do
  print*, "The total number of primitive Pythagorean triplese is",t
end program report7

Programming Example

program repo
implicit none
real(8)::up,xold=0.0,xnew !Up is border. Other two are terms of series.
character(16)::e !This e will be used to say conclusion correctly.
integer::i=0 !counter

print*,"Assign the numerical tolerance (e.g. 1D-6)"
read*,up !Read up here.
print*,"Input the guessed value"
read*,xnew !Read x_1 here.

write (e,'(f0.15)') up
!1d-6 can't be shown correctly if you "print up".
!So I changed it to character here.

do while (abs(xnew-xold)>=up) !This shows this loop will stop when xn converges enough.
xold = xnew !substitue xnew provided before this step for xold.
xnew = xnew - res(xnew)/dres(xnew,up) !The xnew provided before this step is changed into "new" xnew.
i = i + 1 !Add counter by 1.
print*,"Iteration =",i,"Convergent result =",xnew,"Residual =",res(xold)
end do
!This is conclusion.
print*,"The numerical solution with the precision up to",e,"is",xnew

contains
!These functions below are ones used above.
function res(x)
real(8) res, x
res = x**2.0 - 2.0**x
end function

function dres(x,up)
real(8) dres,x,up
dres = (res(x+up)-res(x))/up
end function

end program repo

Programming Example

program isbn
implicit none
logical judge
character(len=10)::a
integer::i,b,h,s=0,t,j,y,q,l
print*, 'Type in a 10-digit ISBN marked with "?" for the missing digit.'
read*, a
judge = .false. !This judge will be used to check whether including "?" or not.
b= ichar(a(10:10)) !This b will be used to check whether including "X" or not.
!This is ERROR message when user input wrong number.
if (len_trim(a)/=10 ) then
print*, "Program is terminated deu to incorrect input"
stop
end if

!This "do" checks whether input includes "?" or not.
do i =1,10
if (ichar(a(i:i))==63 ) then ! "?" is 63 in command
judge = .true.
h = i !This shows there is "?" at "h"th place.
end if
end do

if (judge) then
if ( b==120 .or. b==88 ) then !x=120 X=88
!This is when input include "?" and "X".
do i = 1,h-1
read(a(i:i),*) t
s = s + t*(11-i)
end do
do j = h+1,9
read(a(j:j),*) t
s = s + t*(11-j)
end do
s = s + 10
else
!This is when input include "?" but "X".
do i = 1,h-1
read(a(i:i),*) t
s = s + t*(11-i)
end do
do j = h+1,10
read(a(j:j),*) t
s = s + t*(11-j)
end do
end if
!This "do" finds what is "?" from 0 to 10.
do q =0,10
s = s + q*(11-h)
if ( mod(s,11)==0 ) then
l = q
exit
end if
s = s - q*(11-h)
end do
!This is final solution when input includes "?"
if (l==10) then
print*,"The missing digit is X"
else
print*,"The missing digit is",l
end if
stop
end if
!Situation above is When the setences include "?"
!Below one is When the input doesn't include "?"
if ( b==120 .or. b==88 ) then !Checking whether input includes x or not.
do i = 1,9
read(a(i:i),*) t
s = s + t*(11-i)
end do
s = s + 10
else
do i = 1,10
read(a(i:i),*) t
s = s + t*(11-i)
end do
end if
!Final answer
if ( mod(s,11)==0 ) then
print*, "This ISBN is valid"
else
print*, "This ISBN is invalid"
end if
end program isbn

京大 転学部・転学科 できるんですか!?

転学資格照会の結果が返ってきました。

 

京大には転学部・転学科制度があります。このシステムは総合大学ならではのものでして、理転文転が制度上は可能です。この画像は毎年の転学部・転学科の様子をデータ化したものです。見方は 転学許可者(人)/転学希望者(人) です。

入学後の進路変更について-カウンセリングルーム(京都大学)

f:id:yuma2012:20171102193356j:plain

見ればわかりますが、総合人間学部が圧倒的に多い。一方で他の学部は少数って感じです。

 

転学部の可否は入試時の点数で出願資格の有無を分け、そのあとに面接等をして合否を決めます。今回僕は出願資格の有無、つまり入試の成績がボーダーを超えているか否かを調べました。ちなみにいくらでも出せるので、「法学部」「教育学部」「経済学部」「総合人間学部」「理学部」「文学部」に出してみました。

 

結果

総合人間学部 ◎

他全部 ✖

 

でした。ちなみに僕の成績は工学部換算で594?/1000ぐらいだったと思います。忘れました。ブログのどこかに詳しく書いてあります。工学部で好きなところに転学したいなら、少なくとも620~点、つまり最上位の情報学科には受かってないとダメなんじゃないですかね。噂によると、工学部内での転科は入試時の点数を0.9倍してその成績と入試のボーダーを比較するらしいです。それが本当ならもっと必要です。たぶんたけ(五浪丸)の点数ぐらい取らないとダメ。確か680点ぐらい?

 

ここで肝心なことがあって、工学部地球工学科・工業化学科は一年生の間は転学部届を出すことが・・・できません。理由は知りませんけど。

 

ちなみに転学部ができないわけではありません。仮に工学部二年生のときに転学部すると、工学部1回生→2回生→(転学部)→総合人間学部3回生→4回生となり留年する必要はありません。法学部などは必ず2回生からの編入になるので、工学部1回生→2回生→(転学部)→法学部3回生→4回生となるはずです。

 

僕は別に転学部する気はないんですけど、もしそういう選択を考えている人の参考になればうれしいです。

 

個人的な意見を言うと、転学部の幅はもっと広げるべきだと思います。最近では、東大のように入試時点で学部を分けず、三回生に上がる時点で進学振り分けをするというシステムを取り入れようという意見もあります。しかし、入りたい学部があるからその大学を選んだ生徒にしてみれば、全く興味のない学部に入れられるリスクを背負わなくてはいけません。デメリットは思いつくだけでたくさんあります。大学に入ってから進路決定したいという人たちを掬い上げるべきと思うなら、転学部などをより容易にする方が手っ取り早いと僕は思っています。

 

追記 2019年3月14日

友達が工学部から総合人間学部に転学部しました。こちらに本人がブログ書いてます。是非そちらも読んでください。

 

https://mattsun0383.hatenablog.com/entry/2019/03/04/012638

 

 

京大入試について:補足と訂正+学科ごとの難易度(理系)

久しぶりに更新しました。

今日から大学では期末テストです。

僕はもう最低限単位取ったからいいかなと思って投げやりな気持ちでこれを書いています。

 

今まで書いた京大入試についての記事で訂正しないとまずいところを見つけたのでここで書いておこうと思います。

※入試についてはもちろん自分でちゃんと調べてください。

 

>特色入試について

ここでは僕が京大特色入試をオススメしました。その中で「他の大学を受ける人も試しに受けてみたら?制限特にないし」と書きました。が、特色入試は一般入試と異なり、合格したら原則蹴ることができません気をつけてください。

まあ京大受かって蹴る人はあんまいないと思いますが、万が一ということで。

 

以下、入試について補足

京大には理系で受けられる学部学科がとてもたくさんあります。もちろん医・工・農・薬・理は当然なのですが、教・経・総人も理系で受けることができます。総合人間学部は理系でも文系でもない学部なんですが、教・経、特に教育を理系で受けることができるので結構便利(?)です。ってか受けられないのが法と文だけです。

 

教育学部、経済学部は理系向けにそれぞれ10人、25人の枠があります。(文系向けにはそれぞれ44人、180人)

これを見ると少なっ!と思うかもです。でも倍率はそれぞれ3.6倍、5.1倍なので、経済はまだしも教育はそんなに高くないです。ま、こんな選択肢もあんのか~と思ってください。

 

京大で理系科目(センター+国数英理)で受けられる学部学科は以下の通りです。

医学部 (医学・人健)

薬学部 (薬科学科・薬学科)

農学部 (6学科)

工学部 (6学科)

理学部

経済(理系)

教育(理系)

総人(理系)

 

ちなみに難易度ですが、医学部はずば抜けて難しいのは確かなんですが、そのあとが微妙です。というのも工・農は入試の時点で学科が決まるので、上と下の差が大きく学部どうしで比べることができません。それぞれ学部によって配点も違うのでさらに面倒くさい。しかも教育は二次理科が一個、経済は二次理科がなし。採点方法も学部にゆだねられているので開示の結果を他の学部に当てはめることも難しい。

 

ということでこれ以降は完全に僕の憶測と僕の点数で話を進めます。参考にしないでください。まず、僕の点数は以下の通り。

f:id:yuma2012:20170725010403j:plain

 

センターがやばい。で、二次でどうにかしたって感じです。ちなみに理科はまとめられてしまっているので内訳を話すと、

センター化学 67

センター物理 70

二次化学 20(?)

二次物理 90(?)

です。二次は自己採点ですが。

 

この成績を他の学科に当てはめるとどうなるかというと、こうなります。

 

医学部 (医学✖・人健◎)

 

薬学部 (薬科学科◎・薬学科◎)

 

農学部 (6学科)*農学部は学科ごとの最低点を公表してないらしい

全ての最低点+50, 最難学科の最低点 - 30?

 

工学部 (情報✖、物工✖、建築◎、電電◎、地球◎、工化◎ )

 

理学部◎

 

経済(理系)◎

 

教育(理系)◎

 

総人(理系)◎

 

人健と薬科学科以外は全部ギリギリでした。したがって、採点方法が変わるとまた結果はだいぶ変わると思います。ここで言えるのは、どこの学科も工・農学部上位よりは低い点数で入れるだろうということです。だいたいどこも6割くらいがボーダーなのでね。難易度を大雑把に書くと、

 

医>>農上位(応用生命・食品)=工上位(情報・物工)>経済>理学>薬・薬学科>農工中位=教育>総人>薬・薬科=農・工下位=医・人健

 

経済はほぼ数学勝負なのでよくわからんけどたぶんこんな感じかな。異議反論は随時受けつけております。まあふーんぐらいに思っておいてください。ちなみに僕は数学が平均ちょい?英語は平均以下、国語は平均、化学ゴミ、物理平均ちょい上って感覚です。

【3】五浪【一浪期】

晴れが結構長い間つづいたので、もう雨は降らないのかと油断してましたが、空梅雨と言われてもやっぱり梅雨だけあって、7月になってから不快指数ガン上がりですね。俺は元気です。デニムのパンツにカビもはやしていません。

 

こんにちは。たけです。

 

今回はデニムのパンツにカビを生やしてしまった一浪の頃の話を書きます。

デニムにカビが生えたことについては、ただの現象であり、特別のストーリーや盛り上がりもなく、「俺が部屋の中でデニムに生えたカビと出逢った」という事実それ以上でも以下でもありません。ただ放置してたら生えてた。それだけ。誰にも迷惑かけてない。引かれる筋合いもない。

 

前回の記事の通り、高校でそれほど勉強していなかったバカが、急に勉強漬けの毎日に放り込まれました。

北九州に本校舎を置く予備校の寮に入ったのですが、そこは寮が「監獄」と呼ばれるほど寮生を規則でガチガチにする所で、平均1日10時間は勉強させられていました。

 

寮の規則の中でも特にキツかったのは、携帯、スマホなど指定電子機器類の持ち込み禁止や、門限の18:00に1秒でも遅れようもんなら即一時退寮となり帰らされる、というものなどでした。夜遅くまで勉強させられる (23時10分まで強制自習、23時30分に完全消灯) うえに、朝も早くから起こされ (7時半くらい?が起床時間) ました。

 

基本的に、内容は別にして長時間勉強する人が正義、勉強時間短い人は白い目で見られる傾向がありました。起床時間は7時半なのに、やる気あるなら6時半には起きて、エントランスの広間まで出てきて勉強すべき、みたいな空気。これが厳しい規則より何より一番嫌だった。しっかり流されて勉強してましたが。

 

自宅生でもやる人は10時間よりもっとやるでしょうが、その寮にはあまり勉強が好きではなかったり、得意ではないという人も多かったので、それだけ勉強させるのにチューター方や寮長は苦労されていたと思います。

 

高校時代あれほど勉強とは縁遠かった自分が、急にそんなスパルタな予備校に入ってやっていけるのかと、入学前は不安にもなりました。

しかし、本気で勉強をし始めてから、新しい知識が増えること、問題を解けるようになることの楽しさに気づきました。

4月の終わりごろには勉強が楽しくなってきたので、気分が良い日は15時間ほど通しで勉強してもそれほど苦ではありませんでした。それでも勉強''時間''至上主義にはかなり疲れましたが…。

成績の伸び方については、ありがたいことにやった分だけ素直に伸びてくれました。詳しくは後述。

 

 

しかし、勉強漬けの毎日は早くも終わりを迎えてしまいます。

 

その寮の近所にある河原では毎年花火大会が開かれているのですが、その花火大会がその校舎では一大イベントとなっており、その日ばかりは寮生がこぞって自習を休んで花火を見に出かけていました。

高校を卒業したとはいえ思春期もまだ抜けず、モラトリアム真っ只中の男子にとって、当然onagoはそのイベントを盛り上げる重要なファクターであり、寮生、自宅生ともに男子はみな花火大会前になるとそわそわし始め、異界の存在であるonagoとやらと花火を見る、いや、花火を見ることを理由にonagoと2人で河原を歩くことに執念を燃やしていました。

自分も例にもれず、なんでもないフリをしながらも当時仲のよかった女子勢の動向を血眼で観察していました。

周囲の男子が女子を誘って散ったり咲いたりしている中、一番仲の良かった女子 (以下、Y) から誘いを受け、クールにOKした私は無事、花火大会にonagoと行けるという社会的ステータスと優越感を手にし、勉強への集中力をみごとに失いました。

 

あ、デニムのパンツにカビが生えたのもこの頃でした。梅雨って怖い。

 

花火大会で親睦を深めた私とYは8月上旬から付き合い始めました。そこからは、周りの痛い視線に屈することなくずっと彼女とイチャイチャしていました。

男子寮という猿山で本当に猿と化した人間は群れからはじかれてしまうのが道理で、一部からは本気で反感を買っていましたが、「構わん俺は彼女といる」という男らしさから勉強そっちのけでデートしてました。今の自分でもそうしただろうと思うので、たぶん死なないと治らない系のやつです。

 

結局そんなに勉強ばっかりでもない1年になり、成績もけっこう伸びましたがなんか中途半端でした。センター試験は900点換算で200点くらいの伸びでしたし、前期で京大工学部地球工、後期で京都工業繊維大学(学部学科は忘れた)を受けましたが両方落ちました。

 

世間体もあるので落ちた時は2日間ほど人並みに落ち込んだフリをしていましたが、内心では次の年の楽しい寮生活や更なる学力向上に思いを致してワクワクしていました。

 

一方Yは無事に前期試験で合格を貰って旅立っていきました。

 

そう、受験期カップル、女は受かって男は落ちる。

 

間違っても浪人中に駿台で彼女探しなどするべきではないし、もし予備校内でカップルを見つけたら妬むことなく彼氏の冥福を祈りましょう。こちらから願うまでもなく無事3月には爆発します。

 

もしそのまま関係が続いたもしても、彼氏が合格する前に絶対別れます。絶対。例外はありません。あるとしたら変態同士のカップルなので気をつけましょう。目が合うと襲ってきます。

 

こんな感じで一浪期は終わりました。

 

勉強面では、「数学は勉強時間に比例して伸びる」「英語は根気よく勉強してたらある日急に伸びる」「理科系はある程度まで(センター8割程度)はすぐ伸びるけどそこから大変。」ということを実感しました。

あと地理は10月からしっかりやればなんとかなる。一浪期はやらなかったので伸びませんでしたが。

 

以上です。

次は二浪期について書きます。