SlideShare une entreprise Scribd logo
1  sur  26
プログラミング入門
-Ruby超入門編-
ゴール
• プログラミングの基礎を理解する
ステップ1 文字を出力する puts
ステップ2 計算する +(足し算)
ステップ3 文字をつなげる +(文字をつなぐ)
ステップ4 変数を使う hako1、hako2、hako3
ステップ5 繰り返す times、print
ステップ6 もっと繰り返す while
ステップ7 判断する if、rand
ステップ8 やりたいことを調べる
ステップ9 ケンシロウプログラム
プログラムをどこで動かすか
• paiza.ioを使います https://paiza.io
• インストールとか不要
• Webブラウザさえあればいい
paiza.ioの使い方
• 今回はRubyを使います
題材 北斗の拳
• とある企業の新入社員向けプログラミング研修が題材です
ステップ1 文字を出力する
• putsを使います
• put stringでputs、文字を出力することができます
puts "あたたたたたた"
あたたたたたた(「た」は6個)は
全角で入力します
ここに半角スペース
Shiftを押しながら2で “ を入力しますputsは半角
ステップ1 実行する
• [実行]ボタンを押してみましょう
• 結果が出力されましたか?
➡「あたたたたたた」と表示されます
ステップ2 計算する
• +を使います
• +で数字をつなぐと二つの数を足します
puts 1+2
全部半角文字で入力します
ここに半角スペース
ステップ2 実行する
• [実行]ボタンを押してみましょう
• 結果が出力されましたか?
➡「3」と表示されます
ステップ2 計算する
• 足し算だけでなく引き算、かけ算、割り算もできます。
ステップ3 文字をつなげる
• +を使います
• “+” には文字をつなぐ機能もあります
puts "今は"+"2"+"月です"
「今は」と「月です」は全角です
ここに半角スペース
ステップ3 実行する
• [実行]ボタンを押してみましょう
• 結果が出力されましたか?
➡「今は2月です」と表示されます
ステップ4 変数を使う
• 変数 hako1、hako2、hako3を使います
• 変数には数字や文字を入れることができます。
hako1="今は"
hako2="2"
hako3="月です"
puts hako1+hako2+hako3
ステップ4 実行する
• [実行]ボタンを押してみましょう
• 結果が出力されましたか?
➡「今は2月です」と表示されます
ステップ4
• 変数の中身は変更できます
ステップ5 繰り返す
• timesを使います
• ■.timesと書くと■の回数だけ実行します
• printで文字を表示させると改行しません(行ごとに折り返さない)
print "あ"
6.times do
print "た"
end
print "ー"
ステップ5 実行する
• [実行]ボタンを押してみましょう
• 結果が出力されましたか?
➡ 「あたたたたたたー」が出力されます
ステップ6 もっと繰り返す
• whileを使います
• 条件を満たす限りずっと繰り返します
print "あ"
while true do
print "た"
end
ステップ6 実行する
• [実行]ボタンを押してみましょう
• 結果が出力されましたか?
➡タイムアウトするまで出力し続ける
ステップ7 判断する
• ifを使います
• rand(2)は0か1かをランダムに返します
• if ■ == ★ は、■と★が等しいかを判断します
if rand(2) == 0
print "0です"
else
print "0でないです"
end
ステップ7 実行する
• [実行]ボタンを押してみましょう
• 結果が出力されましたか?
➡「0です」「0でないです」のどちらかが表示されます
ステップ8 やりたいことを調べる
• Googleを使います
• 「今は2月です」から「2月」だけ切り出したい
• Googleで「ruby 文字を切り出す」で検索
ステップ8 やりたいことを調べる
• [■,★]を使います
• ■文字目から★文字目を切り出します
• 0から数えます。0文字目:今、1文字目:は、2文字目:2、・・・
hako="今は2月です“
puts hako[0,2]
puts hako[2,2]
puts hako[-2,2]
ステップ9 ケンシロウプログラム
• 仕様
• 「あ」か「た」をランダムに出力する
• 「あたたたたたた」が出たら「お前はもう死んでいる」を出力する
・回答例
https://paiza.io/projects/4lNxOQiKhNaDgn8DAUGrvA
【出力イメージ】
ステップ9 ヒント
変数hakoに空文字(“”)をセット hako=“”
変数flagに0をセット flag=0
flagが0なら繰り返す(while) while flag== ・・・
0か1かをランダムに求める kazu=rand(2)
もし1なら if ・・・
「あ」を変数hakoにつなげる hako=hako+ ・・・
「あ」を出力する print “あ”
その他なら else
「た」を変数hakoにセットする hako=hako+ ・・・
「た」を出力する print “た”
変数hakoの最後の7文字が「あたたたたたた」なら if hako[・・・」== ・・・
flagに1をセットする flag=1
「お前はもう死んでいる」を出力する puts ・・・
ステップ9 プログラム例

Contenu connexe

Tendances

mypy - 待望のPython3.9型ヒント対応
mypy - 待望のPython3.9型ヒント対応mypy - 待望のPython3.9型ヒント対応
mypy - 待望のPython3.9型ヒント対応KyutatsuNishiura
 
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境10分でわかるPythonの開発環境
10分でわかるPythonの開発環境Hisao Soyama
 
なぜ科学計算にはPythonか?
なぜ科学計算にはPythonか?なぜ科学計算にはPythonか?
なぜ科学計算にはPythonか?Aki Ariga
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版Katsuhiro Morishita
 
scikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアルscikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアル敦志 金谷
 
Python東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしようPython東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしようHiroshi Funai
 
素振りのススメ at Python入門者の集い
素振りのススメ at Python入門者の集い素振りのススメ at Python入門者の集い
素振りのススメ at Python入門者の集いTakayuki Shimizukawa
 
OSS 資料管理システム kassis orange のご紹介
OSS 資料管理システム kassis orange のご紹介OSS 資料管理システム kassis orange のご紹介
OSS 資料管理システム kassis orange のご紹介Akifumi Nakamura
 
S20 t1 stapyのこれまでとこれから
S20 t1 stapyのこれまでとこれからS20 t1 stapyのこれまでとこれから
S20 t1 stapyのこれまでとこれからTakeshi Akutsu
 
Python学習奮闘記#07 webapp
Python学習奮闘記#07 webappPython学習奮闘記#07 webapp
Python学習奮闘記#07 webappTakeshi Akutsu
 
Pipenvのご紹介 v2
Pipenvのご紹介 v2Pipenvのご紹介 v2
Pipenvのご紹介 v2C Y
 
サーチシングス
サーチシングスサーチシングス
サーチシングスSolur
 
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門Hironori Sekine
 
Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門Takayuki Shimizukawa
 
IPython notebookを使おう
IPython notebookを使おうIPython notebookを使おう
IPython notebookを使おうKazufumi Ohkawa
 
サードパーティパッケージの歩き方
サードパーティパッケージの歩き方サードパーティパッケージの歩き方
サードパーティパッケージの歩き方Takesxi Sximada
 

Tendances (20)

mypy - 待望のPython3.9型ヒント対応
mypy - 待望のPython3.9型ヒント対応mypy - 待望のPython3.9型ヒント対応
mypy - 待望のPython3.9型ヒント対応
 
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境10分でわかるPythonの開発環境
10分でわかるPythonの開発環境
 
なぜ科学計算にはPythonか?
なぜ科学計算にはPythonか?なぜ科学計算にはPythonか?
なぜ科学計算にはPythonか?
 
第1回python勉強会
第1回python勉強会第1回python勉強会
第1回python勉強会
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
 
scikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアルscikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアル
 
Python東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしようPython東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしよう
 
素振りのススメ at Python入門者の集い
素振りのススメ at Python入門者の集い素振りのススメ at Python入門者の集い
素振りのススメ at Python入門者の集い
 
stapy#23 LT
stapy#23 LTstapy#23 LT
stapy#23 LT
 
OSS 資料管理システム kassis orange のご紹介
OSS 資料管理システム kassis orange のご紹介OSS 資料管理システム kassis orange のご紹介
OSS 資料管理システム kassis orange のご紹介
 
S20 t1 stapyのこれまでとこれから
S20 t1 stapyのこれまでとこれからS20 t1 stapyのこれまでとこれから
S20 t1 stapyのこれまでとこれから
 
Python学習奮闘記#07 webapp
Python学習奮闘記#07 webappPython学習奮闘記#07 webapp
Python学習奮闘記#07 webapp
 
Pipenvのご紹介 v2
Pipenvのご紹介 v2Pipenvのご紹介 v2
Pipenvのご紹介 v2
 
サーチシングス
サーチシングスサーチシングス
サーチシングス
 
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門
 
S18 t0 introduction
S18 t0 introductionS18 t0 introduction
S18 t0 introduction
 
Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門
 
IPython notebookを使おう
IPython notebookを使おうIPython notebookを使おう
IPython notebookを使おう
 
GPT
GPTGPT
GPT
 
サードパーティパッケージの歩き方
サードパーティパッケージの歩き方サードパーティパッケージの歩き方
サードパーティパッケージの歩き方
 

Similaire à プログラミング入門 Ruby超入門編

111015 tokyo scipy2_ディスカッション
111015 tokyo scipy2_ディスカッション111015 tokyo scipy2_ディスカッション
111015 tokyo scipy2_ディスカッションShohei Hido
 
Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementationsmasahitojp
 
密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境Fumihito Yokoyama
 
Deep learning reading club @ nimiri for SWEST
Deep learning reading club @ nimiri for SWESTDeep learning reading club @ nimiri for SWEST
Deep learning reading club @ nimiri for SWESTKiyoshi Ogawa
 
PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜
PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜
PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜Katsuhiro Miura
 
Rubyを使った分散全文検索ミドルウェア
Rubyを使った分散全文検索ミドルウェアRubyを使った分散全文検索ミドルウェア
Rubyを使った分散全文検索ミドルウェアKouhei Sutou
 
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話Tokoroten Nakayama
 
Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話Drecom Co., Ltd.
 
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜PR・継続できる目標の立て方・改善編 先生:増井 雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜PR・継続できる目標の立て方・改善編 先生:増井 雄一郎増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜PR・継続できる目標の立て方・改善編 先生:増井 雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜PR・継続できる目標の立て方・改善編 先生:増井 雄一郎schoowebcampus
 
Stripeを1年使ってみて思ったこと
Stripeを1年使ってみて思ったことStripeを1年使ってみて思ったこと
Stripeを1年使ってみて思ったことtomoaki koshi
 
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼうGraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼうKoichi Sakata
 
QCon2009 Tokyo - Ruby on Railsで変わるエンタープライズ開発の現場
QCon2009 Tokyo - Ruby on Railsで変わるエンタープライズ開発の現場QCon2009 Tokyo - Ruby on Railsで変わるエンタープライズ開発の現場
QCon2009 Tokyo - Ruby on Railsで変わるエンタープライズ開発の現場Yasuko Ohba
 
Capistrano introduction
Capistrano introductionCapistrano introduction
Capistrano introductionMisa Kondo
 
Ruby初級者向けレッスン KOF2015 出張版
Ruby初級者向けレッスン KOF2015 出張版Ruby初級者向けレッスン KOF2015 出張版
Ruby初級者向けレッスン KOF2015 出張版higaki
 
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版DIVE INTO CODE Corp.
 
議論を描く技術「ファシリテーショングラフィック」
議論を描く技術「ファシリテーショングラフィック」議論を描く技術「ファシリテーショングラフィック」
議論を描く技術「ファシリテーショングラフィック」nishikawa_makoto7
 
20150228_渋谷Webエンジニア朝会LT資料
20150228_渋谷Webエンジニア朝会LT資料20150228_渋谷Webエンジニア朝会LT資料
20150228_渋谷Webエンジニア朝会LT資料慎平 仁藤
 

Similaire à プログラミング入門 Ruby超入門編 (20)

111015 tokyo scipy2_ディスカッション
111015 tokyo scipy2_ディスカッション111015 tokyo scipy2_ディスカッション
111015 tokyo scipy2_ディスカッション
 
Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementations
 
密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境
 
Deep learning reading club @ nimiri for SWEST
Deep learning reading club @ nimiri for SWESTDeep learning reading club @ nimiri for SWEST
Deep learning reading club @ nimiri for SWEST
 
PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜
PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜
PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜
 
Rubyを使った分散全文検索ミドルウェア
Rubyを使った分散全文検索ミドルウェアRubyを使った分散全文検索ミドルウェア
Rubyを使った分散全文検索ミドルウェア
 
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話
 
Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話
 
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜PR・継続できる目標の立て方・改善編 先生:増井 雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜PR・継続できる目標の立て方・改善編 先生:増井 雄一郎増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜PR・継続できる目標の立て方・改善編 先生:増井 雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜PR・継続できる目標の立て方・改善編 先生:増井 雄一郎
 
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
 
Rubyの話を少し
Rubyの話を少しRubyの話を少し
Rubyの話を少し
 
Goをえらんだ理由
Goをえらんだ理由Goをえらんだ理由
Goをえらんだ理由
 
Stripeを1年使ってみて思ったこと
Stripeを1年使ってみて思ったことStripeを1年使ってみて思ったこと
Stripeを1年使ってみて思ったこと
 
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼうGraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
 
QCon2009 Tokyo - Ruby on Railsで変わるエンタープライズ開発の現場
QCon2009 Tokyo - Ruby on Railsで変わるエンタープライズ開発の現場QCon2009 Tokyo - Ruby on Railsで変わるエンタープライズ開発の現場
QCon2009 Tokyo - Ruby on Railsで変わるエンタープライズ開発の現場
 
Capistrano introduction
Capistrano introductionCapistrano introduction
Capistrano introduction
 
Ruby初級者向けレッスン KOF2015 出張版
Ruby初級者向けレッスン KOF2015 出張版Ruby初級者向けレッスン KOF2015 出張版
Ruby初級者向けレッスン KOF2015 出張版
 
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版
 
議論を描く技術「ファシリテーショングラフィック」
議論を描く技術「ファシリテーショングラフィック」議論を描く技術「ファシリテーショングラフィック」
議論を描く技術「ファシリテーショングラフィック」
 
20150228_渋谷Webエンジニア朝会LT資料
20150228_渋谷Webエンジニア朝会LT資料20150228_渋谷Webエンジニア朝会LT資料
20150228_渋谷Webエンジニア朝会LT資料
 

プログラミング入門 Ruby超入門編