ホーム » 2024 » 5月 » 23

日別アーカイブ: 2024年5月23日

2024年5月
 1234
567891011
12131415161718
19202122232425
262728293031  

検索・リンク

Surface GO に Ubuntu 24.04 をインストール

仕事で使っていた Surface Go だけど、最近は処理速度も「もっさり」で使う機会もほぼなく、Ubuntu 24.04 をインストールを試してみる。ブートメディアで Type-C USB を購入し Rufus で イメージファイルを書き込む。

BitLockerの解除から

ひとまず、Try モードで起動もできたし、本気のインストールを試そうとしたら、BitLocker で暗号化されているとの表示。暗号化解除をしようと再起動したら、BitLocker キーの催促画面。はて、なんだっけ。

学校のアカウントでデバイスを探したら普通に キーが見つかったので、解除。といっても時間かかるなぁ…

{CAPTION}Surface Go では「vol-長押ししながら電源」でブートメニューを出すとあるが、上手くいかなかった。仕方がないのでWindowsで「回復」機能でブートメニューを起動させた。
{CAPTION}
{CAPTION}

OneNoteの起動用アイコン

snap を使っていろいろな最新アプリも使うことができるが、Microsoft OneNote が起動できなかった。手作業で起動しようとすると、「うまく起動できない場合は –no-sabdbox のオプションをつけるといいかも」みたいな説明が出る。ということで、デスクトップに下記のファイルを置いて対応。

#!/usr/bin/env xdg-open
[Desktop Entry]
Terminal=false
Type=Application
Name=Microsoft OneNote
Icon=/snap/onenote-desktop/current/meta/gui/icon.png
Exec=/snap/onenote-desktop/current/onenote-desktop --no-sandbox

ひとまず設定完了

情報構造論のレポート課題

情報構造論の前期中間までのレポートとして、自分の理解力に応じて下記課題の1つを選んで回答せよ。ポインタや文字列操作の練習を目的とするため、言語はC言語,C++にて行うこと。

  1. 入力の中の特定文字列ABCを、別の文字列DEFGに変換して出力したい。ABCやDEFGの文字列は最初に与える。
    最初の2行で、変換元ABCと変換後DEFGで与えられ、その後に複数行の入力が続くものとする。

    • 変換元,変換後の文字列は、空白を含まない50文字以内の文字。複数行の入力は10文字以内、1行は200文字以内とする。
    • 入力例と変換例
    orange  (変換元)
    apple   (変換後)
    I like an orange.
    He likes a pineapple.
    
    I like an apple.
    He likes a pineapple.
  2.  URLが複数行入力として与えられる。最初にすべての入力行を配列に格納した後、URLの中のドメイン名部分は大文字小文字の区別がないので、ドメイン名部分だけ小文字に修正し、その結果を表示せよ。
    • URLは10行以内、URLの1行は200文字以内とする。
    • 変換例
      • http://HOGE.jp/FUGA.html → http://hoge.jp/FUGA.html
      • https://www.Google.co.jp/search?q=FOO+BAR
        → https://www.google.co.jp/search?q=FOO+BAR

  3. プログラムのソースコードが入力として与えられる。最初にすべての入力行を配列に格納した後、プログラム中のキーワード(int, char, if, while, など)だけを大文字に変換して出力するプログラムを作成せよ。(難易度高いので注意)
    • プログラムは10行以内。1行は200文字以内とする。
    • 変換例
      • int a = 123 ; → INT a = 123 ;
      • for( int form = 0 ; form < 10 ; form++ ) printf( “int = %d\n” , form ) ; // if
        → FOR( INT form = 0 ; form < 10 ; form++ ) printf( int = %d\n” , form ) ; // if

        • formはキーワードではない。
        • “int…”は、C言語の文字列内なのでキーワードではない。(オプション)
        • /*…*/ , // のコメント内の if はキーワードではない。(オプション)

レポートには、下記の点を記載してあること。

  • プログラムリスト
  • 説明(コメントや解説)
  • 動作検証とその結果
  • 考察(自分のプログラムの問題点)

C言語での文字列処理に便利な標準関数<string.h>

  • strlen( str ) : 文字列の長さを数える。文字列末尾文字NUL ‘\0’ までの文字数
  • strcpy( dest , src ) : 文字列をコピー。
  • strcmp( s1 , s2 ) : 文字列を比較(辞書順で s1<s2 なら負の値, s1=s2 なら0, s1>s2 なら正の値を返す)
  • strncmp( s1 , s2 , n ) : 文字列を指定した長さ n までで比較。

文字判定に便利な標準関数<ctype.h>

  • isalpha( c ) : 文字 c が英字(A-Z or a-z)、isdigit( c ) : 文字 c が数字(0-9)

レポートの提出先はこちら

システム

最新の投稿(電子情報)

アーカイブ

カテゴリー