理系母の趣味はプログラミング

理系院卒、メーカー技術職の二児の母が、PythonやVBAで色々と作ってアップしていくブログです。

【VBA】検索して、コピペする作業を効率化するマクロを作ってみた。

仕事で、大量のデータから必要なカラムだけ取り出すという単純作業をすることがあります。 このカラムが数列だったらいいのですが、 何十列もあったりするとかなり面倒ですし、ミスも起きかねません。 そこで、マクロをつくりました。 Option Explicit Optio…

【基本情報技術者試験】出題形式が大幅変更された午後試験をCBT方式で受験してきた結果と所感【令和2年度秋期】

こんにちは、 先日、基本情報技術者試験の午前試験を受けてきました。 午前試験から1カ月以上開けての受験。そして何より、今回の午後試験は色々と新形式になっております。 そこで、「旧形式の過去問で対策しているけど、本番はどうなるの?」という人に向…

【FE】基本情報技術者試験、表計算の関数出題頻度を調べてみた。

表計算の過去問を解いていると、よく出てくる関数と、出てこない関数があるな~と思ったので 過去10年分の過去問から、関数の出題頻度を調べてみました。表計算の問題で関数が出てくる場合、空欄になにが入るかを選択肢から選ぶ形式なので、 その選択肢、ま…

基本情報技術者試験をCBT形式で受けてきた所感(午前試験)

先日、コロナによる二度の試験中止を経て、ついに、基本情報技術者試験の午前試験を受けてきました。 1月に出産し、産後0ヵ月でしたが、今受けとかないと、今後もっと大変になる気がしたので、気合で受けました! 今回が初のCBT形式ということで、前情報が…

基本情報技術者試験の勉強を再開します

こんにちは。出産予定日まであと3週間を切りました。 正期産です。Pythonの勉強をぼちぼち続けていたのですが、 産まれたらゆっくりPCに向かう時間なんて絶対無い! と思うようになり、やる気がなくなってきました。ということで、最近は勉強から離れていた…

【Python】年齢付き年表作成ツールを作ってみた

こんにちは。家族が増えて、そろそろライフプランを考えなきゃなーと思い、 エクセルでライフプラン表を作ってみたりしてます。そんなときに使えるかもしれない、年齢付き年表自動作成ツールをpythonで作りました。こんなウィンドウがでてきて、名前と生年月…

PyQはじめました。

こんにちは。Pythonを使えるようになって職場復帰後に楽をしたい!って思いはあるのに なかなかやる気が出ない。そこで、 PyQというPythonに特化したオンライン学習を始めてみました。始めたのは実は2020/10/41か月ぐらい継続しております。スクレイピング…

【VBA】系統図作成マクロを作ってみた

お久しぶりです。 安定期に入り、つわりも落ち着き、プログラミングの勉強を再開しました。 職場復帰した時に役に立つもの作れないかな~と思い、 職場でよく使っていた系統図をもっと簡単に作れればいいなーと、ご無沙汰だったエクセルVBAをいじいじ。 系統…

【雑記】二人目妊娠しました。

ご無沙汰しております。 しばらくブログの更新ストップしてました。 その理由は 二人目妊娠によるつわり!眠気! 妊娠前のやる気がうそのよう。 もう何もする気が起きず、 1歳の娘の育児だけで精一杯。 勉強なんて無理~状態です。 つわりも少し収まってき…

基本情報技術者アルゴリズムの問題をPythonでコーディングしてみた【平成28年春】

過去問コーディング。 今回の問題は、簡易メモ帳プログラムです。過去問PDF「出典:平成28年度 春期 基本情報技術者試験 午後 問8」プログラム #グローバル変数を定義 MemoCnt = 0 MemoMax = 5 Memo = ['']*MemoMax #リストが空だと要素番号で値を入れること…

基本情報技術者アルゴリズムの問題をPythonでコーディングしてみた【平成28年秋】

過去問コーディング。 今回の問題は、数値の編集プログラムです。過去問PDF「出典:平成28年度 秋期 基本情報技術者試験 午後 問8」プログラム def edit(Pattern,Value): #上書きするために、リスト型のPatternを作っておく Pattern_l = list(Pattern) fill …

基本情報技術者アルゴリズムの問題をPythonでコーディングしてみた【平成29年春】

過去問コーディング。 今回の問題は、最短経路と最短距離の探索プログラムです。過去問PDF「出典:平成29年度 春期 基本情報技術者試験 午後 問8」プログラム #配列Distanceを作成する(愚直に作ったけどもっといい方法ありそう) Distance = [[0,2,8,4,-1,-1,…

基本情報技術者アルゴリズムの問題をPythonでコーディングしてみた【平成29年秋】

過去問コーディング。 今回の問題は、文字列の誤りを検出するプログラムです。過去問PDF「出典:平成29年度 秋期 基本情報技術者試験 午後 問8」プログラム #表1の文字と数値の辞書を生成 char_dict = {'_':0,'.':1,',':2,'?':3} for i,c in enumerate(range…

基本情報技術者アルゴリズムの問題をPythonでコーディングしてみた【平成30年秋】

過去問コーディング。 今回の問題は、整数式の解析と計算のアルゴリズムです。過去問PDF「出典:平成30年度 秋期 基本情報技術者試験 午後 問8」 プログラム def compute(Expression): ExpLen = len(Expression) #プログラム(解析処理の部分) Operator =[]…

基本情報技術者アルゴリズムの問題をPythonでコーディングしてみた【平成31年春】

前回からアルゴリズム過去問のコーディングをやっておりまして 私のレベルでコーディングが一日でできるわけがなく 以前のように毎日記事をアップすることができなくなりました。 これからはのんびりペースです。さて、今回はハフマン符号化を用いた文字列圧…

基本情報技術者アルゴリズムの問題をPythonでコーディングしてみた【令和元年秋】

【26日目】Pythonの基本文法に慣れてきた今日この頃。そろそろ参考書外で何か作ってみようと思い、 基本情報技術者試験の試験勉強も兼ねて 最も苦手とするアルゴリズムの過去問をPythonで書いてみました! Pythonの文法の練習にもなるし 問題中に入出力の例…

【25日目】オブジェクト指向プログラミング⑨isで同一オブジェクトを判定する

こんばんは、 今回は参考書の順番的に特殊メソッドをやろうと思ったのですが、 内容が腑に落ちなかったので、isをやります。 特殊メソッドのことは、おいおいってことで。isキーワードは前後のオブジェクトが同一ならTrue,違う場合Falseを返します。 英語と…

【24日目】オブジェクト指向プログラミング⑧クラス変数を定義する

こんばんは、なぺです。まだまだオブジェクト指向プログラミングです。 今回は、クラス変数です。さて、今までインスタンス変数は扱ってきましたが、クラス変数とは、 その名の通りクラスオブジェクトに属する変数です。クラスもオブジェクトなのですね。 定…

【23日目】オブジェクト指向プログラミング⑦コンポジションな関係を作る

こんばんは、なぺです。前回までで、オブジェクト指向プログラミングの4大要素を学びました。 今回は、もうひとつ重要なコンセプト、コンポジションについて学びます。さて、 コンポジション?本にはこう書いてあります。 コンポジション:別クラスのオブジ…

【22日目】オブジェクト指向プログラミング⑥継承させる

こんばんは、なぺです。 今日はオブジェクト指向プログラミングの4大要素のうちの4つ目、継承です。さて、継承とは ja.wikipedia.org 主にクラスベースのオブジェクト指向言語で、既存クラスの機能、構造を共有する新たなクラス(派生クラス、派生型)を定義…

【21日目】オブジェクト指向プログラミング⑤ポリモーフィズム

こんばんは、なぺです。 今日はオブジェクト指向プログラミングの4大要素のうちの一つ、ポリモーフィズムについて学びます。 今日も概念の理解回なので、短くなりそうです。さてポリモーフィズムってなんぞ。 ポリモーフィズムは、「同じインターフェースで…

【20日目】オブジェクト指向プログラミング④抽象化について学ぶ

こんばんは、なぺです。 今日はオブジェクト指向プログラミングの4大要素のうちの2つ目、抽象化について学びます。 今回は短くなりそうまず、抽象化とは 抽象化とは、対象から細部や具体性を取り去り、本質的に重要な要素や、着目している側面のみを取り出し…

【19日目】オブジェクト指向プログラミング③カプセル化について知る

こんばんは、なぺです。 前回、オブジェクト指向プログラミングの書き方を学びました。 オブジェクト指向プログラミングには、カプセル化、抽象化、ポリモーフィズム、継承という4つの主要な概念があります。 今回はそのうちの一つ、カプセル化を学びます。…

【18日目】オブジェクト指向プログラミング②メソッドを追加する

こんばんは、なぺです。 昨日からオブジェクト指向の理解に心折れかけています。 今日も苦しいですが、よろしくお願いします。さて、前回はクラスを定義し、__init__という特殊メソッドを使ってオブジェクト(インスタンス)を生成しました。 今回は、メソッ…

【17日目】オブジェクト指向プログラミング①とりあえずやってみる

こんばんは、なぺです。今回からPart2に入ります! 今日の内容は、プログラミングパラダイムについて。 プログラミングパラダイムとは、プログラミングのスタイル、手法のことらしいです。手続き型プログラミング、関数型プログラミング、オブジェクト指向プ…

【16日目】ファイル操作③CSVファイルを読み書きする

こんばんは、なぺです。 今日はファイル操作の最後、CSVファイルを扱います。 産休前は何かとお世話になっていたCSVファイル。 いずれはエクセルとも連携したいし、きっと大事だよね。ということでまずはCSVについてちゃんと知ることから。CSVはComma Separa…

【15日目】ファイル操作②open関数でファイルを読み書きする

こんばんは、なぺです。 今日はファイル操作の二回目です。 今日はファイルの読み書きをPythonでやってみます。ファイルの読み書きにはopen関数を使います。open("ファイルパス", "モード")モードにはファイルを開くときにどのように動作するべきかを決定す…

【14日目】ファイル操作①どんなOSでも動作するファイルパスを組み立てる

こんばんは、なぺです。 今日も独学プログラマーで勉強します。今回は、ファイルの操作についてです。 Pythonの外側にでていく感じが中級者ぽくてイイですね。・ファイルパスは組み立てるもの ファイルを扱うには、ファイルの住所であるファイルパスを扱えな…

【13日目】モジュールを使う

こんばんは、なぺです。 今日はモジュールです。?モジュールってなんぞ。 本にはこう書いてあります。 "Pythonでは、分割したコードを書いておくファイルそれぞれをモジュールといいます。言い換えればモジュールは、コードを収めたPythonファイル(.py拡張…

【12日目】いろんな方法でループさせてみる

こんばんは、なぺです。 今日もループについて学びます。・range これまではイテラブルな要素について、その要素数だけループを繰り返すコードを書いていましたが、任意の回数だけループしたい。 そんなとき便利なのが、組み込み関数rangeです。 (組み込み…