「整数」を含む日記 RSS

はてなキーワード: 整数とは

2022-08-15

数学宿題です

x^3+y^3+z^3=29の整数解の組の一つはx=1,y=-1,z=3ですが、

では、x^3+y^3+z^3=33整数解を求めよ。


少しむずい

2022-08-13

anond:20220813151623

整数しか受け付けないのかよ

0.5%とか1.5%とか入力しても小数点以下を無視しやがる

プログラマー生産性は人により100倍くらい差があるというけれど

 割りとマジだよねと思う出来事をふと思い出したので書いてみる。

 といっても後輩が俺の思ってもいないところでつまづいて、それに俺がカルチャーショックを受けたというだけの話。

 問題の話なんだけど、とある有名サービスJSON APIを叩いて呼び出し結果を手元のオブジェクトマッピングするというただそれだけのコードを書くというもの

 普通に考えて一日もしないで出来ると思うような代物だけど、三日以上悩んで彼はそれでも出来なかった。

 何があったかというと、そのJSON API

{ ..., "count": 10000000000000000000000000000000000000, ...}

 という感じで多倍長整数リテラルとして書かれているのを前提として受け取る仕様だった。

 JavaScriptの通常の整数と違って、JSON整数リテラル仕様上大きさの制限記載がないので、上のようなのも合法

 で、彼の使ってたプログラミング言語オブジェクト から JSONの変換ライブラリが、多倍長整数文字列("")としてシリアライズするような仕様なことがわかって、彼は行き詰まった。

 そこで何をやり始めたかというと、JSON整数がそのまま1000000000000000みたいにシリアライズされるライブラリ探し始めたんだけど、それは見つからないまま。

 というわけで「増田さん、詰まってるんですけど……」と言われて助け舟出すことになったはいものの、彼のコード見るとJSON抽象構文木クラスがそのまま使えるようだった。

 なので、

String serialiaze(Ast.JsValue value) {
    return switch(value) {
        case Ast.JsNull nullValue-> "null";
        case Ast.JsInt bigIntValue -> bigIntValue.toString();
        case Ast.JsArray arrayValue -> arrayValue.stream().map(v -> serialize(v)).collect(Collectors.joining(", ", "[", "]"));
        // 他のJSONの木についても同様に処理
        default -> throw new RuntimeException("cannot reach")
    };
}

 1時間しない内にこんな感じのコード言語Javaじゃなかったけど、だいたいこういう感じ)を書いて無事問題解決。細かいタイポとかあるかもだけど、日記では確認してないのでそれはおいといて)。

 結局、JSONの形が期待と違って、しか既存APIじゃいいのがなかったのに延々API探すことしか出来なかったのが問題解決できなかった原因だけど、このくらいのは割りとちょこちょこある。

 きっと、それから一週間放置しても問題解決できなかっただろうし、どうも同じチームの同僚も問題解決できなかったようだった。

 最近APIは叩けるけど、そこでトラブルとどうにもならなくエンジニアにちょくちょく遭遇するんだけど、やっぱりもうちょっと基礎出来てないと駄目だなと思った出来事だった。

 具体的には、再帰が相性が良いプログラムを書けるとか、APIに頼れないときはさっさと自作する頭の切り替えとかもろもろ。

 それと、情報大学出てるのなら、せめて木構造に対してはサクっと再帰関数くらい書けてほしかったなと思う出来事だった。

2022-08-01

anond:20220731183342

自動安価をつけて返信するプログラムでもこんなに長く複雑になる(一部抜粋) 

/**************************************

以下のCSV_DIR, FILE_PATHS, SETTINGSを書き換えてね。 <h3>o- *************************************/</h3>

//CSVファイルが置かれてるディレクトリパス投稿前にエラー出たら大体ここの設定ミス。 例:"C:\\Users\\sakuraimasahiro\\Documents\\iMacros\\Macros\\rentou\\";

const CSV_DIR =

'C:\\Users\\USER\\Desktop\\iMacros\\Macros\\rentou\\';

//ファイルパスCSV絶対パスで、拡張子必要。iimは相対パスでよく、拡張子不要

const FILE_PATHS = {

//投稿文が書かれたCSVファイル

textCsv: CSV_DIR + 'textNoAnker.csv',

//レス投稿文が書かれたCSV。通常とレス用で分けないなら同じファイルを使えばいい。

replyTextCsv: CSV_DIR + 'textReply.csv',

};

const SETTINGS = {

//投稿後の基本待ち時間

baseWaitTime: 5,

//baseWaitTime+0~waitTimeRange(ランダム)だけ待つ

waitTimeRange: 5,

//連投しすぎだと忠告された場合に処理を一時停止させる時間(秒)

waitTimeForAvoidingPunishment: 60 * 30,

//メール

mail: 'sage',

//名前設定

nameSettings: {

//名前名無しなら''。

name: '',

//以下、偽装ワッチョイ設定。浪人ワッチョイを非表示にしてるときだけtrueにしてね。

//妙なニックネーム(ワッチョイ、アウアウウーなど)をランダムで決めて付加するかどうか。true=付加する。false=付加しない。

nickname: false,

//妙なニックネームの後に付く8桁の文字列ランダムで決めて付加するかどうか。

korokoro: false,

//IPランダムで決めて付加するかどうか。

ip: false,

//地域ランダムで決めて付加するかどうか。

area: false,

},

postSettings: {

//アンカー無し投稿をするならtrue。しないならfalse。noAnkerPostかreplyPostのどちらかはtrueにすること(両方trueでもOK)。

noAnkerPost: false,

//アンカー付き投稿(返信)をするならtrue。しないならfalse。もしnoAnkerPostとreplyPostの両方がtrue場合投稿は返信が優先され、返信対象が見つからなくなったらアンカー無し投稿をする。

replyPost: true,

//最初に取得するアンカー無し投稿CSVファイルの行番号。もし返信用と同じCSVファイルを使うなら-1と入力

noAnkerPostTextCsvStartRow: 1,

//最初に取得する返信用投稿CSVファイルの行番号。もしアンカー無しと同じCSVファイルを使うなら-1と入力

replyPostTextCsvStartRow: 1,

//テキストCSV/返信用テキストCSVの取得行が最終行に達したら最初の行まで戻るかどうか。true=戻る。false=マクロ終了。

textCsvLoop: true,

//返信する場合、これより小さなレス番には返信しない。返信を投稿すると、この数値は前回の返信先のレス番に更新される。

minAnker: 895,

//返信する場合名前に以下の文字列を含む投稿アンカーをつけて返信する(ワッチョイやIPなど名前フィールドにあるものならなんでも可)。配列複数指定可能指定無しなら空配列([])。filterNamesとfilterNamesNotIncluded共に無指定ならレス番1から順に返信していく(minAnkerが設定されてればそこから順に)。以下のfilter系は全て併用可能

filterNames: [],

//↑とは逆に、名前に以下の文字列を含まない投稿アンカーをつけて返信する。↑と併用も可能

filterNamesNotIncluded: [],

//返信する場合、本文に以下の文字列を含む投稿アンカーをつけて返信する。

filterText: ['自演かな', '自演わらわら', 'スクリプト使うの', '安価ガバ', '>>660', '自演擁護', '最後' ,'あいうえお', 'かきくけこ', 'さしすせそ', 'なにぬねの', 'はひふへほ', 'まみむめも', 'やいゆえよ', 'やゆよ', 'らりるれろ', 'わいうえを', 'わをん', 'わいうえをん'],

},

//自分IPアドレス確認VPNとかでIPを変更してマクロを動かしてるとき、突然VPN作動しなくなってIPが元に戻ったときマクロを止めるためのもの

ipSettings: {

//自分現在IPアドレス確認をする。

checkIp: true,

//以下の文字列自分現在IPアドレスに含まれている場合マクロを一時停止する。基本的自分の本当のIPアドレス入力

avoidTheIp: '133.206.99.224',

},

//浪人設定。最後動作確認したのは5年くらい前で、今も同じように動作するかは、浪人を持ってないか確認できずわからない。

roninSettings: {

//浪人ログインしてるかどうかをチェックするかどうか。trueらするfalseならしない。trueにしていてもし浪人ログインしていないことを確認したらログインしにいく。

checkLogin: false,

//浪人ログインメールアドレス

mailAdress: 'abc@def.com',

//浪人ログインパスワード

password: '1234',

},

//false: run()実行させず(デバッグ用)

run: true,

//true: 投稿処理だけしない デバッグ

skipPost: false,

};

/**************************************

設定箇所終わり。

書き込めない時の早見表 - 5ちゃんねるwiki

https://info.5ch.net/index.php/%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%82%81%E3%81%AA%E3%81%84%E6%99%82%E3%81%AE%E6%97%A9%E8%A6%8B%E8%A1%A8 <h3>o- *************************************/</h3>

/**************************************

メモ

クラスフィールド宣言できない。

・NULL演算子(??)は使えない。論理積(&&)は使える。

オブジェクトの分割代入はできない。

・importはできない。 <h3>o- *************************************/</h3>

/**************************************

関数 <h3>o- *************************************/</h3>

/**

* ここから始まる。

*/

function run() {

//設定ミスがないか調べる。

checkSettings();

var _TextCsvCursors = new TextCsvCursors(

new TextCsvCursor(

SETTINGS.postSettings.noAnkerPostTextCsvStartRow > 0

? SETTINGS.postSettings.noAnkerPostTextCsvStartRow - 1

: SETTINGS.postSettings.noAnkerPostTextCsvStartRow,

FILE_PATHS.textCsv,

SETTINGS.postSettings.textCsvLoop,

),

new TextCsvCursor(

SETTINGS.postSettings.replyPostTextCsvStartRow > 0

? SETTINGS.postSettings.replyPostTextCsvStartRow - 1

: SETTINGS.postSettings.replyPostTextCsvStartRow,

FILE_PATHS.replyTextCsv,

SETTINGS.postSettings.textCsvLoop,

),

);

var _LoopStatuses = new LoopStatuses(0, SETTINGS.postSettings.minAnker);

const _MyPosterName = new MyPosterName({

name: SETTINGS.nameSettings.name,

});

//スレURL指定

const _ThreadUrl = openPromptThreadUrl();

//ループ

while (true) {

//IP確認する設定なら、それをする。

SETTINGS.ipSettings.checkIp && checkCurrentIpNotTheIp();

//スレを開く

openUrl(_ThreadUrl.fullUrlHttps());

//浪人ログインする設定なら、浪人ログインしているかどうかを確認し、していなければログインしにいく。

if (SETTINGS.roninSettings.checkLogin) {

if (!checkRoninLogin()) {

loginRonin();

continue;

}

}

//投稿に使うテキスト取得。

const p = (function () {

if (SETTINGS.postSettings.replyPost) {

//返信あり設定の場合。返信対象が無いか調べる。

const targetAnkerNumber = createPostDOMList()

.filterPostnumberHigher(_LoopStatuses.currentMinAnker())

.filterByPostername(SETTINGS.postSettings.filterNames)

.filterByPosternameNotIncluded(

SETTINGS.postSettings.filterNamesNotIncluded,

)

.filterByText(SETTINGS.postSettings.filterText)

.lowestPostNumber();

if (targetAnkerNumber !== null) {

//返信対象があったのでアンカー付き投稿文を作る。

const r = _TextCsvCursors.takeNextRowTextAsReply(targetAnkerNumber);

messageDisplay(`返信対象有り。アンカー先: ${targetAnkerNumber}`);

return {

...r,

updatedLoopStatuses:

_LoopStatuses.updateMinAnker(targetAnkerNumber),

};

}

}

if (SETTINGS.postSettings.noAnkerPost) {

//返信対象無し、或いは返信しない設定の場合アンカー無し投稿文を作る。

const r = _TextCsvCursors.takeNextRowTextAsNoAnker();

messageDisplay('返信対象無し。アンカー無し投稿。');

return {

...r,

updatedLoopStatuses: _LoopStatuses,

};

}

return null;

})();

if (p) {

//投稿

postThenCheckError(

_ThreadUrl.serverName(),

_MyPosterName.randomize({

nickname: SETTINGS.nameSettings.nickname,

korokoro: SETTINGS.nameSettings.korokoro,

ip: SETTINGS.nameSettings.ip,

area: SETTINGS.nameSettings.area,

}),

SETTINGS.mail,

p.text,

);

//_TextCsvCursorsと_LoopStatusesを更新

_TextCsvCursors = p.updatedTextCsvCursors;

_LoopStatuses = p.updatedLoopStatuses.incrementPostCount();

messageDisplay([

`投稿回数: ${_LoopStatuses.currentPostCount()}`,

`minAnker: ${_LoopStatuses.currentMinAnker()}`,

`今回アンカー無し投稿取得行: ${_TextCsvCursors.currentRows().noAnker}`,

`今回アンカー有り投稿取得行: ${_TextCsvCursors.currentRows().reply}`,

]);

} else {

messageDisplay([

`返信対象が現われるのを待機中...。`,

`投稿回数: ${_LoopStatuses.currentPostCount()}`,

`minAnker: ${_LoopStatuses.currentMinAnker()}`,

`今回アンカー無し投稿取得行: ${_TextCsvCursors.currentRows().noAnker}`,

`今回アンカー有り投稿取得行: ${_TextCsvCursors.currentRows().reply}`,

]);

}

//短時間で連投しまくると規制されるので一定時間待機。

wait(SETTINGS.baseWaitTime + randomRange(0, SETTINGS.waitTimeRange));

}

}

/**

* 投稿処理と投稿結果を見てリトライしたりマクロ終了したり。

* @param {string} serverName サーバー

* @param {MyPosterName} _MyPosterName

* @param {string} postMail メール

* @param {MyText} _MyText

* @param {number} retryTimes

* @returns {void}}

*/

function postThenCheckError(

serverName,

_MyPosterName,

postMail,

_MyText,

retryTimes = 0,

) {

const r =

retryTimes === 0

? new ValuesOfPost(serverName, _MyPosterName, postMail, _MyText).post(

postTo5chTread,

postConfirm,

)

: new ValuesOfPost(

serverName,

_MyPosterName,

postMail,

_MyText,

).postSubstring(retryTimes, postTo5chTread, postConfirm);

if (r) {

back();

return;

}

//エラーページに飛ばされた。エラー情報取得。

wait(7);

const error = createPostErrorMessage().analyze();

messageDisplay(error.message);

if (error.order === 'KILL') {

kill();

} else if (error.order === 'SKIP') {

return;

} else if (error.order === 'TRUNCATE') {

back();

return postThenCheckError(

serverName,

_MyPosterName,

postMail,

_MyText,

retryTimes + 1,

);

} else if (error.order === 'WAIT') {

wait(SETTINGS.waitTimeForAvoidingPunishment);

return postThenCheckError(

serverName,

_MyPosterName,

postMail,

_MyText,

retryTimes,

);

} else if (error.order === 'LOGIN') {

//動作未確認

return postThenCheckError(

serverName,

_MyPosterName,

postMail,

_MyText,

retryTimes,

);

}

return;

}

/**

* 現在IPアドレスに、SETTINGS.ipSettings.avoidTheIpの値が含まれていないことを確認する。含まれていたらマクロを一時停止。

* @returns

*/

function checkCurrentIpNotTheIp() {

//IP確認ページへ飛ぶ

openUrl('https://www.cman.jp/network/support/go_access.cgi');

const _IpAdress = createIpAdressFromCMan();

if (_IpAdress.includes(SETTINGS.ipSettings.avoidTheIp)) {

pause('現在IP指定した値が含まれていることを確認。');

//ポーズ解除したならもう一度確認しに。

checkCurrentIpNotTheIp();

}

return;

}

/**

* 設定に致命的な問題が無いか検査

* @returns

*/

function checkSettings() {

if (

SETTINGS.postSettings.noAnkerPost === false &&

SETTINGS.postSettings.replyPost === false

) {

return kill('設定エラー。noAnkerPostとreplyPost両方ともfalseになってる。');

}

if (

SETTINGS.postSettings.noAnkerPostTextCsvStartRow < 0 &&

SETTINGS.postSettings.replyPostTextCsvStartRow < 0

) {

return kill(

'設定エラー。noAnkerPostTextCsvStartRowとreplyPostTextCsvStartRow両方とも-1になってる。',

);

}

if (

SETTINGS.postSettings.noAnkerPostTextCsvStartRow === 0 ||

SETTINGS.postSettings.replyPostTextCsvStartRow === 0

) {

return kill(

'設定エラー。noAnkerPostTextCsvStartRow/replyPostTextCsvStartRowの初期値は-1或いは1以上で。',

);

}

}

/**

* 入力フォームを表示して入力されたスレURLを受け取る。

* @returns {ThreadUrl}

*/

function openPromptThreadUrl() {

const url = prompt('スレURL入力');

return new ThreadUrl(url);

}

/**

* 開いてるスレレス全て読み取ってPostListインスタンスを作って返す。

* 重すぎるので使うのやめ。どうやらインスタンスの大量生成が原因な模様。

* createPostDOMListを使う。

* @returns {PostList}

*/

function createPostList() {

const posts = window.document.getElementsByClassName('post');

return new PostList(Array.from(posts).map((e) => new Post(e)));

}

/**

* 開いてるスレレス全て取得してPostDOMListに格納して返す。

* @returns

*/

function createPostDOMList() {

const posts = window.document.getElementsByClassName('post');

var arrPostDOMList = [];

for (let index = 0; index < posts.length; index++) {

//HTMLCollectionからElementを1つずつ抽出して配列に。

arrPostDOMList.push(posts.item(index));

}

return new PostDOMList(arrPostDOMList);

}

/**

* 開いてる投稿結果画面に表示されてるエラーを読み取ってPostErrorMessageインスタンスを作って返す。

* @returns {PostErrorMessage}

*/

function createPostErrorMessage() {

return new PostErrorMessage(

window.document

.g Permalink | 記事への反応(0) | 15:40

2022-07-31

anond:20220731003926

何を重視するかは多少変わると思うが、落ちぶれるデメリット無視して書いてみる

1. 高校受験をしなくて良いので、中学内申点を気にせずに過ごせる、つまり中高の、6年間、成績を気にしないで、まとまった時間をもてることで、本当に没頭したいことに没頭できる時間を作れる

2. 1は、勉強以外の意味で書いたが、勉強に関しても、先取りで勉強できるので、大学受験で有利なのは言うまでもないが、中学受験で、算数をしていることで、整数問題とか確率とかそういうのに抵抗がなくなっていることがむしろ大きく、難関大学数学に有利

3. 頭いい人が周りにいることで、予想外の刺激を受けやすい。数学オリンピックの存在を知る等

勉強に加えて、「時間」が大きいと思うんよな

2022-07-10

anond:20220710023735

まぁ仮に男女比が数千倍とかの差があるなら、プロになれる人数は少数でかつ整数なんだから女性が0人でも不思議じゃないんだけど

実際はそうではないわけだから羽生理論おかしいのよね

やっぱ少なく見ても10年に一人くらいはプロが出ないとおかし

2022-06-15

anond:20220615130319

それだと整数から実数に頭を切り替えないといけないじゃん。だって比率とかで考えるんだろ? そんなの無理に決まってる。難しすぎ!

2022-06-12

anond:20220611104653

ふっちゃけ、整数じゃなくて、実数で書けばいいだけと思う。

1,2 の間にいれるときは 1... 1.1 1.2 1.3.... 2 で、

1と 1.1 の間にいれるときは、 1.01 とかさ。

2022-05-19

高校範囲数学でいらないやつwwwwww

あえて一つ決めるのは最強議論みたいなものちょっと熱いと思う

定番三角関数

整数問題

図形の性質

数列とか選んでみる?

2022-05-13

数学にn桁、かつ各桁の値の整数が異なる数字求める公式みたいなのある?

なるべく軽い方法で三つの異なる数字を求めたい(例123、526)言語JavaScript

今はLoop文で

1つ目をランダムで出す

2つ目をランダムでだし、1つ目と値が同じなら、5以上ならー1,5以下なら+1(10とかー1にはしたくないため)

3つ目は12と比べてどっちかと同じなら上と同じ処理ってやってるけど、そうなると手を加えた後にどっちかと同じ値になる可能性がでてきそう

 

Loopで全部の桁をそれぞれチェックするってやつは処理回数が多いからあまり使いたくない

じゃあ最初から数学でよくありそうなそれぞれの桁で値がことなる3桁のランダム数字を求めるのが一番効率いい処理なんじゃないかと思ったけど数学がわからない

かーにはんとりっちーになんとかしてもらいたかたこ

setjmp/longjmpの存在。かんべんしろ

switchcaseで毎度書かないといけないbreak文。なくしておいてフォースルーしたいときになんかの命令を書くようにしてほしかった

算術シフト論理シフト演算子をわけてほしかった。符号整数の右シフトきらい。というか演算子にしないで関数にしてほしかった

rotとビットカウントと最左ビット位置検出と左右ビット反転の標準関数つけといてほしかった

2022-04-25

anond:20220425010538

横だけど、例えば「コラッツ予想がおおよそすべての正の整数について成り立つことが証明されましたね」とか?

2022-03-20

anond:20220320071941

受験整数問題とかそれこそ数学オリンピック問題とか面白いと思うけどな

数学面白いと思う気持ち教師関係ないと思うぞ

偉そうなこと言ってるけど圏論とか群論とかの純粋数学については面白さはわからん

2022-03-06

anond:20220305162311

分母=r個の連続した整数の積

分子=r個の連続した整数の積

分子の各々の整数の倍数は分母に当然現れる。

はい論破

2022-03-05

anond:20220305165040

ルート6次元」はさすがにネタだと思うが、次元って整数以外の値でも存在するんだね。

次元」は整数値だけではない。無理数次元だって有り得る

anond:20210504134004

組合せ(nCr)の分子が、分母で必ず割れるってすごくない?

組合せ」と言うくらいだから、その値は必ず整数になる。

まり組合せを計算する際の分子は必ず分母で割りきれるわけ。

これって、誰も言わないけど、かなり驚きのことだと思う。

例えば、10×9×8×7×6が5×4×3×2×1で割りきれるかって考えてみてほしいんだけど、計算しないですぐわかる?

直感的にはわからないじゃん。でもこれって、10C5の分子と分母だから、割りきれるわけですよ。

他にも、111×110×99×98×97×96×95が7×6×5×4×3×2×1で割れるとか、わからないでしょ。

これも、111C7の分子と分母だから割りきれるの。

すごさがわかったよね?

もっとすごいのは、これが一般的に言えること。

すなわち、組合nCrって、任意整数nから下に連続するr個の整数を、r×r-1×…×2×1で割った値だけど、

こんな変な割り算が、自然数nとrがどんな値でも常に整数になるなんて驚き!!

マジすごくない?

マジですごいと思うのに、誰も感動してないから、教養殿堂たる増田に書き込んでみたよ!

 

追記

ちょっと証明してみるかーと思ったら思いの外手こずった。ググったらパスカルの等式っていうのが出てきてこれがわかれば帰納法でいけるのか。この等式自体もなかなか面白い

なるほど。

パスカル三角形ってやつで、一番上が整数から下側は全部整数になるってわけか。

直感的には一番わかりやすいかも。

厳密な証明をするまでもないよ。

7個の数字が並んでいたらどこかに7で割れ数字が混じっている。n個の数字が並んでいたらどこかにnで割れ数字が混じっている。

いやいや、重複があるかもしれないじゃん。

2で割れる数と4で割れる数が被ってたら、結局4でしか割れない。

この説明もわかりやすいとは思ったんだけど、証明としてはダメなのかな?

ほんとそれ。整数論的にちゃん証明するにはルジャンドル定理的な考察必要

からない人は高校数学の美しい物語記事: https://manabitimes.jp/math/589 を見て、どうぞ。

サイト見たけど、厳密にやろうとすると難しいね

2022-02-11

anond:20220211224358

1と2の間には

自然数はない

整数もない

・0.1は9個ある(数え方による)

・0.01は以下略

小数無限存在する

こんな感じである

2022-02-05

anond:20220205143958

イテレータかい概念が出てくるずっとまえからiは使われてるやで

たぶんFORTRANの「暗黙の型宣言(i~nで始まる変数整数型)」からやで

2022-01-29

国立大大学共通テストに「情報1」が必須になることについて

国立大受験共通テストプログラミング…25年から情報」追加で6教科8科目に

https://www.yomiuri.co.jp/kyoiku/kyoiku/daigakunyushi/20220128-OYT1T50158/

国立大受験、「情報」追加を正式決定 25年共通テストから

https://www.asahi.com/articles/ASQ1X7S36Q1SUTIL01M.html

国立大協会共通テストに「情報」追加 25年以降、6教科8科目に

https://mainichi.jp/articles/20220128/k00/00m/040/332000c

2022年4月高校入学した生徒を対象にした大学入学共通テストから教科情報試験が追加されることはもう決まっていたのだが「そんなのわざわざ受けるやついるの?」とならないように、文科省入試センター布石をうった結果としての国立大学の入試での必須化だと思う。

「なぜ国立大学だけなのか?」

これについては、私立大学には強制できるスキームがない(補助金をちらつかせればできるかもしれないが)のと、地方高校などにその衝撃波が届くように、だと個人的に思っている。

国立大学は文科省植民地だし。独法なのに独立してないし。

ぶっちゃけ首都圏などは、高校情報教員は余ってはいないが足りてはいるが、地方では情報教員採用をまだ実施していない県もあれば、ようやく始めてまだ数名しかいないという県もある。

そんな情報教員採用消極的地方での、高校KPIの一つに国公立大学への合格者人数というものがある。教育委員会によっては、特定進学校助成金みたいなのを出して、進学実績をさらに上げさせようとしている県もあると思う。そんななか情報をきちんと教えられる教員がいないと、国立大学に不利になるよ、というのは地方高校教員委員会への圧力になるのである

「急すぎるじゃないか」とお怒りの校長とかもいるだろうけど、受験には関係いからという言い訳で、教育委員会教員採用してこなかったり、未履修問題のように高校勝手情報をやらずに他教科に置き換えて授業を潰していたりしたことが、結果としてスマホしか使えない大学生大量生産してきたのではないだろうか?

教科「情報」の歴史

高校情報という授業は実は2003年高校入学した生徒から必修科目となっている(正確には必履修科目)。ということで教科が出来てからもう20年近くになる。

商業高校工業高校は別として、全ての普通科で必修の教科が「ドーン」と爆誕したのがその年だったのだが、文科省の失政を今の今まで引きずっていたのだった。

それまでにない教科(情報処理に類する科目は無かったわけじゃないが)が誕生するということは、教える人が新たに必要となるということである

教員免許区分も新たに誕生するということである

それが全国何千校の普通科高校で急に始まるのである。まあ、時代必要だったのでそれはしょうがないと思うが。

大学教員養成課程で、一気に何千人も情報教員を輩出できるわけではないので、現職の教員に講習を行って新たな免許を持たせることにした。

まずは意識高い教員に、現職講習の講師役となるための研修を行い、育成された講師たちが各都道府県で現職教員にたった15日間の講習で「教科情報をもう教えられるよ」ということにした。

すごい促成栽培である豆苗2世代収穫みたいな。

しか希望した受講者だけ目標ノルマ人数にとても足りず(講習を受けられる教科に縛りを付けた失策があり、そもそも希望しているのに受けられなかった教員もいる)、各学校肩たたきのように希望しなくても免許を取りに活かされた数学理科家庭科教員が多数いるというわけである

これを時限的な教員免許とすれば、大学情報教員免許をとった新しい教員がどんどん入ってきたのだが、いかんせん恒久的な免許だったのだ。

あと教員免許更新があるじゃないかと思われるかもしれないが、免許更新はどの教科で更新するとかはなくて、文科省が認めている免許更新の講座だったら何の教科の内容でもいいし、生徒指導でもレクリエーション論でも何でもアリなのだ。一気に全部の免許有効期限が延びる仕組みである

情報処理学会は、教科情報の内容で更新講習をやってはいるが、知名度は高くないようである

そんな石器時代のような人たちが令和の時代に、「情報とは」と教えている現状があるから、それを刷新したいという文科省意図もあったような気がする。

恒久免許をいまから取り上げるわけにもいかないし、全て定年退職するまで待っていたら日本沈没するのが加速するだけである

入試科目となるにあたって

学習指導要領という教科で教える内容が決められる教育界の法律みたいなものがあって、だいたい10年に1度のペースで改訂される。

最初情報は、情報A、B、Cという科目があり、いわゆる町のパソコン教室的な内容でも教科の内容をけっこう満たしてしまものであった。

とはいえTCP/IPWWWDNSの概略や、アルゴリズム知財などの法規は当時から教科書に載っていたのであるよ。

その次の世代学習指導要領で、「社会情報」「情報科学」の2つに再編され、今の高校1年生の代まではこれを勉強している。2年後に高3で始めて習う生徒もいるかもしれないが。

今度の4月から入学生では、情報1に一本化されて、全ての高校生が共通範囲勉強している(これが大事)はずなので入試に出しても良いよね、と出来たわけである

それまではどれかだけ勉強したら卒業OKという扱いで複数科目あったので。

今年の1年生が浪人して1個下の代と一緒に国立大学を受けると、他教科の試験は移行措置で現行科目の試験が用意されるのだが、情報は今の科目での出題がないからどうするの?という問いかけが国立大協会からあった。さっきの複数科目の問題があって浪人生に強要できるのかよーという問題だったのだが、文科省入試センター強気に「社会情報情報科学か、どっちかだけでもやっていれば100点分になる問題をその年だけ新たに設置するので、無問題」という回答により、国立大学の入試必須化が正式に決まった。

情報1

情報1にはプログラミングだけではなく、問題解決の考え方、情報デザインとコミュニケーションデータサイエンスの基礎などが入っている。

ちなみに、情報2という科目もできて、数学みたいに1をやったあとでなければ2を勉強できない、より高度な内容になっている。物理基礎に対する物理みたいな。

データサイエンスといえば聞こえがよいが、それよりちゃんとした統計を学ばせるのが先じゃね?と思う人も多いと思う。

実は数学1で統計の内容が必須化して10年経つのだが、10個や20個の整数を手計算計算して、分散標準偏差偏差値を出してたり、相関係数と散布図くらいしか届かない、「紙の上で鉛筆でやる意味があるのか?」という内容であるセンター試験共通テストでは奇をてらうことが難しい分野だったが、今年の共通テストやらかした。

次の学習指導要領では数学教育者と統計教育者のバトルなどがあって、それも興味深いのだが、それはまた別のお話

劇薬ではあるが、かわいい生徒たちの志望大学進学という、餌をつるされた教員たちの良心で今まできちんとした情報教育を受けることができなかったかもしれない地方高校生が報われるようになるといいと思っている。

民間企業陰謀論について

あ、あと入試改革すると、企業が儲けるために結託しているんじゃないかと思う方もいるかと思うが、情報1にからめてうちは底辺校と呼ばれる学校なのだが、プログラミング教材とかの売り込みはかなり来るし、ベネッセはすでに高校情報1のオンライン教材の売り込みをガンガンやっている。東進ハイスクール情報講師を確保しているようである

なので「教える教員がいない、地方を見捨てるのか!」となった場合は、ベネッセやら東進高校向け教材でもやらせお金解決してください。

国立大学目指す層ならば、それで到達点はいくと思うし。

国立大大学共通テストに「情報1」が必須になることについて

国立大受験共通テストプログラミング…25年から情報」追加で6教科8科目に

https://www.yomiuri.co.jp/kyoiku/kyoiku/daigakunyushi/20220128-OYT1T50158/

国立大受験、「情報」追加を正式決定 25年共通テストから

https://www.asahi.com/articles/ASQ1X7S36Q1SUTIL01M.html

国立大協会共通テストに「情報」追加 25年以降、6教科8科目に

https://mainichi.jp/articles/20220128/k00/00m/040/332000c

2022年4月高校入学した生徒を対象にした大学入学共通テストから教科情報試験が追加されることはもう決まっていたのだが「そんなのわざわざ受けるやついるの?」とならないように、文科省入試センター布石をうった結果としての国立大学の入試での必須化だと思う。

「なぜ国立大学だけなのか?」

これについては、私立大学には強制できるスキームがない(補助金をちらつかせればできるかもしれないが)のと、地方高校などにその衝撃波が届くように、だと個人的に思っている。

国立大学は文科省植民地だし。独法なのに独立してないし。

ぶっちゃけ首都圏などは、高校情報教員は余ってはいないが足りてはいるが、地方では情報教員採用をまだ実施していない県もあれば、ようやく始めてまだ数名しかいないという県もある。

そんな情報教員採用消極的地方での、高校KPIの一つに国公立大学への合格者人数というものがある。教育委員会によっては、特定進学校助成金みたいなのを出して、進学実績をさらに上げさせようとしている県もあると思う。そんななか情報をきちんと教えられる教員がいないと、国立大学に不利になるよ、というのは地方高校教員委員会への圧力になるのである

「急すぎるじゃないか」とお怒りの校長とかもいるだろうけど、受験には関係いからという言い訳で、教育委員会教員採用してこなかったり、未履修問題のように高校勝手情報をやらずに他教科に置き換えて授業を潰していたりしたことが、結果としてスマホしか使えない大学生大量生産してきたのではないだろうか?

教科「情報」の歴史

高校情報という授業は実は2003年高校入学した生徒から必修科目となっている(正確には必履修科目)。ということで教科が出来てからもう20年近くになる。

商業高校工業高校は別として、全ての普通科で必修の教科が「ドーン」と爆誕したのがその年だったのだが、文科省の失政を今の今まで引きずっていたのだった。

それまでにない教科(情報処理に類する科目は無かったわけじゃないが)が誕生するということは、教える人が新たに必要となるということである

教員免許区分も新たに誕生するということである

それが全国何千校の普通科高校で急に始まるのである。まあ、時代必要だったのでそれはしょうがないと思うが。

大学教員養成課程で、一気に何千人も情報教員を輩出できるわけではないので、現職の教員に講習を行って新たな免許を持たせることにした。

まずは意識高い教員に、現職講習の講師役となるための研修を行い、育成された講師たちが各都道府県で現職教員にたった15日間の講習で「教科情報をもう教えられるよ」ということにした。

すごい促成栽培である豆苗2世代収穫みたいな。

しか希望した受講者だけ目標ノルマ人数にとても足りず(講習を受けられる教科に縛りを付けた失策があり、そもそも希望しているのに受けられなかった教員もいる)、各学校肩たたきのように希望しなくても免許を取りに活かされた数学理科家庭科教員が多数いるというわけである

これを時限的な教員免許とすれば、大学情報教員免許をとった新しい教員がどんどん入ってきたのだが、いかんせん恒久的な免許だったのだ。

あと教員免許更新があるじゃないかと思われるかもしれないが、免許更新はどの教科で更新するとかはなくて、文科省が認めている免許更新の講座だったら何の教科の内容でもいいし、生徒指導でもレクリエーション論でも何でもアリなのだ。一気に全部の免許有効期限が延びる仕組みである

情報処理学会は、教科情報の内容で更新講習をやってはいるが、知名度は高くないようである

そんな石器時代のような人たちが令和の時代に、「情報とは」と教えている現状があるから、それを刷新したいという文科省意図もあったような気がする。

恒久免許をいまから取り上げるわけにもいかないし、全て定年退職するまで待っていたら日本沈没するのが加速するだけである

入試科目となるにあたって

学習指導要領という教科で教える内容が決められる教育界の法律みたいなものがあって、だいたい10年に1度のペースで改訂される。

最初情報は、情報A、B、Cという科目があり、いわゆる町のパソコン教室的な内容でも教科の内容をけっこう満たしてしまものであった。

とはいえTCP/IPWWWDNSの概略や、アルゴリズム知財などの法規は当時から教科書に載っていたのであるよ。

その次の世代学習指導要領で、「社会情報」「情報科学」の2つに再編され、今の高校1年生の代まではこれを勉強している。2年後に高3で始めて習う生徒もいるかもしれないが。

今度の4月から入学生では、情報1に一本化されて、全ての高校生が共通範囲勉強している(これが大事)はずなので入試に出しても良いよね、と出来たわけである

それまではどれかだけ勉強したら卒業OKという扱いで複数科目あったので。

今年の1年生が浪人して1個下の代と一緒に国立大学を受けると、他教科の試験は移行措置で現行科目の試験が用意されるのだが、情報は今の科目での出題がないからどうするの?という問いかけが国立大協会からあった。さっきの複数科目の問題があって浪人生に強要できるのかよーという問題だったのだが、文科省入試センター強気に「社会情報情報科学か、どっちかだけでもやっていれば100点分になる問題をその年だけ新たに設置するので、無問題」という回答により、国立大学の入試必須化が正式に決まった。

情報1

情報1にはプログラミングだけではなく、問題解決の考え方、情報デザインとコミュニケーションデータサイエンスの基礎などが入っている。

ちなみに、情報2という科目もできて、数学みたいに1をやったあとでなければ2を勉強できない、より高度な内容になっている。物理基礎に対する物理みたいな。

データサイエンスといえば聞こえがよいが、それよりちゃんとした統計を学ばせるのが先じゃね?と思う人も多いと思う。

実は数学1で統計の内容が必須化して10年経つのだが、10個や20個の整数を手計算計算して、分散標準偏差偏差値を出してたり、相関係数と散布図くらいしか届かない、「紙の上で鉛筆でやる意味があるのか?」という内容であるセンター試験共通テストでは奇をてらうことが難しい分野だったが、今年の共通テストやらかした。

次の学習指導要領では数学教育者と統計教育者のバトルなどがあって、それも興味深いのだが、それはまた別のお話

劇薬ではあるが、かわいい生徒たちの志望大学進学という、餌をつるされた教員たちの良心で今まできちんとした情報教育を受けることができなかったかもしれない地方高校生が報われるようになるといいと思っている。

民間企業陰謀論について

あ、あと入試改革すると、企業が儲けるために結託しているんじゃないかと思う方もいるかと思うが、情報1にからめてうちは底辺校と呼ばれる学校なのだが、プログラミング教材とかの売り込みはかなり来るし、ベネッセはすでに高校情報1のオンライン教材の売り込みをガンガンやっている。東進ハイスクール情報講師を確保しているようである

なので「教える教員がいない、地方を見捨てるのか!」となった場合は、ベネッセやら東進高校向け教材でもやらせお金解決してください。

国立大学目指す層ならば、それで到達点はいくと思うし。

2022-01-24

Z世代も言うほど野党を支持してないんじゃないか

名護市長選当日出口調査(%)

岸本(野党系)/渡具知(与党系)

18・19歳 66.6/33.4

20代 43.2/56.8

30代 42.6/57.4

40代 54.5/45.5

50代 73.3/26.7

60代 60.4/39.6

70代 71.4/28.6

80代以上 83.3/16.7

この結果を受けてリベラル左派は「若者自民党支持というのは印象操作!Z世代(18・19歳)は野党を支持している!」と主張しているが、

18・19歳で選挙に行くほど政治に関心にあるのは大学生ばかりで、文系教員の影響を受けて野党支持になっている側面があるのでは?

選挙に来ていない若者対象にした世論調査じゃないと本当の支持率は見えてこないと思う

そもそも18・19歳が2:1、80代以上が5:1と簡単整数比なのでサンプル数が少ない可能性もあるが…)

2022-01-08

昔「とらドラ!」というライトノベルがあった。その巻番号の振り方が不思議だった

1巻目は「とらドラ!」で問題なかったのだが、2巻目は「とらドラ2!」で、当時から私には「タイトル名の間に巻番号付けるの?どうしてそこにビックリマーク付けるの??」って感じだった。

とらドラ!2」(タイトル名の後ろに巻番号)ではなぜダメだったのだろう。アニメ化されて10年以上経った今でも、深く疑問に思っている。

そして、「とらドラ!」は最終的には10巻まで刊行されたので、最終巻は「とらドラ10!」という名称だった。

ところで、数学には階乗という概念がある。例えば、「5の階乗」と言えば5から1までの整数を掛け算した値のことで、5×4×3×2×1=120となる。

そして、その階乗は数式で表す際、ビックリマークが用いられる。つまり、「5の階乗」は「5!」と表現する。

とすると、「10!」は「10階乗」という意味であり、計算すると10×9×8×7×6×5×4×3×2×1=3628800である

よって、「とらドラ10!」とは「とらドラ3628800」と同じ意味なのだ

これはすごいことだ。ライトノベル史上、最大の巻番号だと思われる。おそらく現在でも、それを抜く作品は無いだろう。

ログイン ユーザー登録
ようこそ ゲスト さん