専門学校56日目(情報工学)7月1日(月)
1時限~3時限
HTML基礎 スラスラわかるHTML&CSSの基本 第2版
前回6月24日はclass属性とdivタグについて学びました。複数のタグに対してclass属性を追加し、CSSでまとめて色を設定したりしました。
前回の課題の解答について解説がありました。
<h1>タグは<header>グループに入れ、<h3>や<p>タグはdivタグでくくりそれぞれに色を設定するようでした。
divを習うと何でもかんでもdiv使いたくなる人が出てきますが、仕方ないときに使うものだと覚えておいてください。
今日は教科書を進めます。
まずは教科書通りにCSSファイルに打ち込みました。
セレクタが初めて見るもので、
a:link(href属性が設定されている)
a:visited(リンク先が訪問済み)
a:hover(マウスポインタがリンクに乗っている。ユーザーに優しいサイト作りに使うでしょう)
a:active(マウスボタンが押されている。クリックしたことを教えるもの)
を使いました。ユーザに使いやすいことをアクセシビリティといいます。今あげたセレクタは必ず:link、:visited、:hover、:activeの順に記述すること。順といっても4つ使わないといけないわけではないです。たいていはhoverだけだったりします。
教科書はp.170までに記載されているhtml、cssを入力していきました。ボックスモデルという項目以外はすでに習っています。classで属性を付けて、それに対応するcssを書いていきました。先生が着目してほしいとおっしゃったのはp.167の4辺のマージンを0にするところです。
* {
box-sizing: border-box;
}
これは全称セレクトという。今は便利な呪文と覚えておいて。後期に入ったらガッツリ学びます。
body {
margin: 0 0 0 0;
}
これはマージンでありますが、まとめて書くことができます。上、右、下、左の順になっている。時計回りと覚えるとよいです。数字が3つだと、上、左右、下になり、2つだと上下、左右になり、1つだと上下左右になる。マージンがすべて0ということはmargin: 0;と同じなので数字0を4つから1つに直してください。
main {
margin: 90px auto 90px auto;
max-width: 1000px;
}
を入力しましたが、マージンにautoが設定されました。これは自動という意味。右と左は自由に計算してくださいという便利なもの。widthは横幅という意味。非常に重要で、widthを決めないと真ん中に配置されない。
widthとmargin-left auto、margin-right autoの3点セットで使う。
max-widthを1000にすると、ブラウザが1000以下になると幅を調整していく。widthだと固定になる。スマホが出てきてからこうしたプロパティができた。
前期の期末テストは作品制作をしてもらいます。7月の29と30、31が授業になるが、そろそろ作り始めてもらいます。学内サーバーでのみ閲覧可能なので著作権は気にしなくていいです。好きなもので作ってもらう。月末までに提出です。
練習問題に取り組み、bodyに色を設定して、それからmainにも色を付けました。ここではmainの色が勝っている。これはHTMLの仕様で、bodyの上にmainが乗っていると思ってください。
背景に画像を入れる操作をします。
body{
background-image: url(images/kabe_shima2.gif)
}
で画像を背景に入れました。urlは相対パスになります。画像は繰返しで表示されるので作るときは最小の画像にする。そうでないと重くなるからです。
main {
border: 1px solid #003366;
padding: 10px;
margin: 120px auto;
max-width: 1000px;
background-image: url(images/hana2.gif)
}
で設定の順番を後ろにすると、mainの画像を背景にできました。
4時限~6時限
Java基礎 スッキリわかるJava入門 第4版
今日はオンライン授業でした。
for文の復習から始まりました。
■配列
今までは変数といって、名前を変えながら作っていきました。配列は変数の塊みたいなもの。
前から何番目という感じに番号が付けられ、これを添字といいます。基本的に0から始まる。変数と同じで配列もメモリ上にこれ作って、というように
int[] data = new int[5];
と宣言する。予約語以外の名前なら何でもいい。int[5]の5は要素数。
■要素に値を代入する
data[1] = 100;
かならず添字の場所を大括弧の中に書いて指定する。0から始まるので今のは2番目に代入。
ループを使って代入することができる。
for(int i=0; i<5;i++) {
data[i] = 100;
}
1から順番に値を要素に代入する。
for(int i=0; i<5;i++) {
data[i] = i+1;
}
for(int i=0; i<5;i++) {
System.out.println(data[i});
}
これは配列の先頭から順に1、2、3、4、5を代入し、それを表示させる。
int i=0を作っていますが、ブロックの中だけでしか有効でないので、下のfor文で再び宣言して作っている。もし変数iをほかで使いたければ、プログラムの先頭で宣言する必要がある。基本はfor内でループの時に作る。
public class Main {
public static void main(String[] args) {
int[] data = new int[5];
for (int i = 0; i < 5; i++) {
data[i] = i + 1;
}
for (int i = 0; i < 5; i++) {
System.out.println(data[i]);
}
}
}
public class Main {
public static void main(String[] args) {
int[] data = new int[5];
for (int i = 0; i < 5; i++) {
data[i] = i * 5;
}
for (int i = 0; i < 5; i++) {
System.out.println(data[i]);
}
}
}
public class Main {
public static void main(String[] args) {
int[] data = new int[5];
for (int i = 0; i < 5; i++) {
data[i] = 5 - i;}
for (int i = 0; i < 5 ; i++) {
System.out.println(data[i]);
}
}
}
配列の作成と値の代入を同時に行うこともできます。変数でいう初期化ですね。
int[] data = {1,2,3,4,5}
この例を使ったコードが以下です。
public class Main {
public static void main(String[] args) {
int[] data = {1,2,3,4,5};
for (int i = 0; i < 5 ; i++) {
System.out.println(data[i]);
}
}
}
絶対使う命令なので覚えてください。
配列の長さが変わることもあります。そのたびに直すのは面倒であり、配列の個数を計算してくれるのが、
for(int i=0; i<data.length; i++)
として配列の要素数を算出する。
public class Main {
public static void main(String[] args) {
int[] data = {0,5,0,20,30,0,0,20};
for (int i = 0; i < data.length ; i++) {
if (data[i] > 0) {
System.out.println(data[i]);
}
}
}
}
これはdata.lengthを使い、8つの要素を持つ配列で要素が0より大きければ出力する。
演習問題は配列を使って処理してください。
public class Main {
public static void main(String[] args) {
int data[] = new int[5];
for (int i = 0; i < 5; i++) {
System.out.println("点数を入力してください。");
data[i] = new java.util.Scanner(System.in).nextInt();
System.out.println("入力された点数は" + data[i] + "点です。");
}
}
}
public class Main {
public static void main(String[] args) {
int data[] = new int[5];
for (int i = 0; i < 5; i++) {
System.out.println((i + 1) + "科目めの点数を入力してください。");
data[i] = new java.util.Scanner(System.in).nextInt();
System.out.println((i + 1) + "科目めの点数は" + data[i] + "点です。");
}
}
}
public class Main {
public static void main(String[] args) {
int data[] = new int[5];
int total = 0;
double average = 0;
for (int i = 0; i < 5; i++) {
System.out.println((i + 1) + "科目めの点数を入力してください。");
data[i] = new java.util.Scanner(System.in).nextInt();
System.out.println((i + 1) + "科目めの点数は" + data[i] + "点です。");
total += data[i];
}
average = total / 5.0;
System.out.println("5科目の合計点は" + total + "点です。");
System.out.println("5科目の平均点は" + average + "点です。");
}
}
演習問題2
public class Main {
public static void main(String[] args) {
int scores[] = new int[5];
for (int i = 0; i<5;i++) {
scores[i] = i;
}
for (int i = 0; i<5;i++) {
System.out.println(scores[i]);
}
}
}
public class Main {
public static void main(String[] args) {
int scores[] = new int[5];
for (int i = 0; i<5;i++) {
scores[i] = i + 1;
}
for (int i = 0; i<5;i++) {
System.out.println(scores[i]);
}
}
}
public class Main {
public static void main(String[] args) {
int scores[] = new int[5];
for (int i = 0; i<5;i++) {
scores[i] = i * 5;
}
for (int i = 0; i<5;i++) {
System.out.println(scores[i]);
}
}
}
public class Main {
public static void main(String[] args) {
int scores[] = new int[5];
for (int i = 0; i<5;i++) {
scores[i] = 5 - i;
}
for (int i = 0; i<5;i++) {
System.out.println(scores[i]);
}
}
}
教科書3章練習問題
public class Main {
public static void main(String[] args) {
System.out.print("[メニュー] 1:検索 2:登録 3:削除 4:変更>");
int selected = new java.util.Scanner(System.in).nextInt();
switch (selected) {
case 1 -> {
System.out.println("検索します");
}
case 2 -> {
System.out.println("登録します");
}
case 3 -> {
System.out.println("削除します");
}
case 4 -> {
System.out.println("変更します");
}
}
}
}
public class Main {
public static void main(String[] args) {
System.out.println("【数あてゲーム】");
int ans = new java.util.Random().nextInt(10);
for (int i = 0; i < 5; i++) {
System.out.println("0~9の数字を入力してください");
int num = new java.util.Scanner(System.in).nextInt();
if (num == ans) {
System.out.println("アタリ!");
break;
} else {
System.out.println("違います");
}
}
System.out.println("ゲームを終了します");
}
}
プログラミング実戦練習
/* 作成日:2024/7/1 *設計者:川渕ゆかり
* プログラマ:飯田 *プログラム名:フィボナッチ数列作成* */
public class Main {
public static void main(String[] args) {
int [] f = new int[30];
f[0] = f[1] = 1;
for (int i = 2; i < 30; i++) {
f[i] = f[i-1] + f[i-2];
}
for (int i = 0; i < 30; i++) {
System.out.println((i+1) + "項:" + f[i]);
}
}
}
/* 作成日:2024/7/1 *設計者:川渕ゆかり
* プログラマ:飯田 *プログラム名:売上累計算出* */
public class Main {
public static void main(String[] args) {
//1月~12月の各月の売上
int [] uri = {85,100,76,66,98,120,85,96,113,120,155,180};
//1月~12月の売上累計
int [] rui = {0,0,0,0,0,0,0,0,0,0,0,0};
//1月の累計セット
rui[0] = uri[0];
//1月はセットしたのでiを1からループし、累計額にi月の売上とそれ以前までの累計額を足して代入
for (int i = 1; i < 12; i++) {
rui[i] = uri[i] + rui[i-1];
}
//1月から順に出力
for (int i = 0; i < 12; i++) {
System.out.println((i+1) + "月までの売上累計額:" + rui[i]);
}
}
}
7限目のIT法規は中止になりました。木曜日の7限目に情報数学の代わりに授業が行われる予定です。
この記事が気に入ったらサポートをしてみませんか?