プログラミング 1 ( 文字型 ) program character1; a,b,c: char; writeln('1 文字づつ3 文字入力してください :'); readln(a); readln(b); readln(c); write(a); write(b); write(c); writeln; a,b,c:char; a:='a'; b:='b'; c:='c'; write(a); write(b); write(c); 東海大学理学部情報数理学科 1
x,y,z: char; x:='a'; y:='b'; z:='c'; writeln(x,y,z,z,y,x); program character2; writeln( 0, Ord( 0 )); writeln( 1, Ord( 1 )); writeln( 9, Ord( 9 )); writeln( A, Ord( A )); writeln( B, Ord( B )); writeln( Z, Ord( Z )); writeln( a, Ord( a )); writeln( b, Ord( b )); writeln( z, Ord( z )); program character3; writeln( 48:,Chr(48)); 東海大学理学部情報数理学科 2
writeln( 49:,Chr(49)); writeln( 57:,Chr(57)); writeln( 65:,Chr(65)); writeln( 66:,Chr(66)); writeln( 90:,Chr(90)); writeln( 97:,Chr(97)); writeln( 98:,Chr(98)); writeln( 122:,Chr(122)); program character4; a,b:char; write( 1 桁の数字を入力 a= ); readln(a); write( 1 桁の数字を入力 b= ); readln(b); writeln( a+b=,a+b); str1,str2, str3: string[30]; str1:='hello'; str2:='pascal'; str3:='world'; 東海大学理学部情報数理学科 3
writeln(str1,' ',str2,' ',str3); str: string[30]; str:='hello Pascal World'; writeln(str); program string1; s:string[30]; len: integer; writeln( 好きな文字列を入力してください : ); readln(s); len := Length(s); writeln(s); writeln( 文字列の長さは,len, です. ); program string2; 東海大学理学部情報数理学科 4
s: string[30]; len,i: integer; writeln( 好きな文字列を入力してください : ); readln(s); len := Length(s); for i:=1 to len do writeln(s[i]); 問題英数字から文字列 strと文字 cを読み込んで 文字列 strに文字 cが含まれるかどうかを判定するプログラムを作成せよ str: string[100]; c: char; i,len,count: integer; write('str: '); readln(str); write('c: '); readln(c); len := length(str); count := 0; for i := 1 to len do if str[i] = c then count := count + 1; end; if count = 0 then 東海大学理学部情報数理学科 5
writeln(c,' は ',str,' に含まれません ') else writeln(c,' は ',str,' に含まれます '); program string3; s: string[30]; i,len: integer; c: char; writeln( 原文を入力してください (30 文字以内 ): ); readln(s); len := Length(s); for i:=1 to (len div 2) do c := s[i]; s[i] := s[len-i+1]; s[len-i+1] := c; end; writeln(s); 問題 文字列を入力し, その文字列中のそれぞれ文字を以下のように変換するプログ ラムを作成せよ. A B B C... Y Z Z [ a b b c... y z z { 0 1 1 2... 8 9 9 : program string4; 東海大学理学部情報数理学科 6
s: string[30]; len,i: integer; write( 文字列を入力してください : ); readln(s); len := Length(s); for i:=1 to len do write(chr(ord(s[i])+1)); writeln; 課題プログラム 1. 英字の文字を2つ入力し 同じ文字かどうかを判定するプログラムを作成せよ 2. 文字を入力し 数字かどうかを判定するプログラムを作成せよ 3. 文字を入力し 英字の大文字かどうかを判定するプログラムを作成せよ 4. 英字の文字を2つ入力し 片方が大文字で もう一方のその小文字かどうかを判定するプログラムを作成せよ 5. 英数字から文字列 strと正整数 nを読み込んで 文字列 strのn 番目の文字を出力するプログラムを作成せよ 6. 英数字から文字列を読み込んで 偶数番目の文字を出力するプログラムを作成せよ 7. 文字列を入力し, その文字列中のそれぞれの文字を以下のように変換するプログラムを作成せよ. A @ B A... Y X Z Y a ` b a... y x z y 0 / 1 0... 8 7 9 8 8. 文字列を入力し, その文字列中の偶数番目の文字を以下のように変換するプログラムを作成せよ. A B B C... Y Z Z [ a b b c... y z z { 0 1 1 2... 8 9 9 : アスキー文字セットを用いること. 9. 文字列を入力し, その文字列中の奇数番目の文字を以下のように変換するプ 東海大学理学部情報数理学科 7
ログラムを作成せよ. A @ B A... Y X Z Y a ` b a... y x z y 0 / 1 0... 8 7 9 8 アスキー文字セットを用いること 10. 入力した文字列をすべて小文字に変換して出力するプログラムを作成せよ. 11. 入力した文字列をすべて大文字に変換して出力するプログラムを作成せよ. 12. 入力した文字列に対して, 大文字は小文字に, 小文字は大文字に変換して出 力するプログラムを作成せよ. アスキーコード表 0 NUL 1 SOH 2 STX 3 ETX 4 EOT 5 ENQ 6 ACK 7 BEL 8 BS 9 HT 10 NL 11 VT 12 NP 13 CR 14 SO 15 SI 16 DLE 17 DC1 18 DC2 19 DC3 20 DC4 21 NAK 22 SYN 23 ETB 24 CAN 25 EM 26 SUB 27 ESC 28 FS 29 GS 30 RS 31 US 32 SP 33! 34 " 35 # 36 $ 37 % 38 & 39 ' 40 ( 41 ) 42 * 43 + 44, 45-46. 47 / 48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7 56 8 57 9 58 : 59 ; 60 < 61 = 62 > 63? 64 @ 65 A 66 B 67 C 68 D 69 E 70 F 71 G 72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O 80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W 88 X 89 Y 90 Z 91 [ 92 \ 93 ] 94 ^ 95 _ 96 ` 97 a 98 b 99 c 100 d 101 e 102 f 103 g 104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o 112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w 120 x 121 y 122 z 123 { 124 125 } 126 ~ 127 DEL 東海大学理学部情報数理学科 8