Сабақтың тақырыбы: Cимволдық айнымалылар.
Бағдарламалық-дидактикалық қамсыздандыру: TurboPascal, жұмыс дәптері, интерактивті тақта.
Сабақтың мақсаты: Символдық айнымалыларды түрлендірудің функция-лары мен процедураларын қолданып, мәтіндерді түрлендіру программасын құра білу дағдысын қалыптастыру. Символдың ASCII кодын және керісінше кодқа сәйкес символ табудың стандарт функцияларын қолдана білуге үйрету.
Сабақтың типі: практикалық сабақ
Сабақтың барысы:
Ұйымдастыру кезеңі (Оқушылармен амандасу, тексеру).
Өткен сабақты еске түсіру мақсатында пысықтау сұрақтары:
Паскальда қандай құрылымдық типтер бар?
Жиым деген не? Жиымның қандай түрлері бар?
Паскальда жиым қалай сипатталады?
Бірөлшемді жиымды енгізу және шығару қалай жүзеге асады?
Екі өлшемді жиымды енгізу және шығару қалай жүзеге асады?
Квадрат матрица деген не?
Квадрат матрицаның негізгі және қосалқы диагональ элементтерінің шарты қандай?
Матрицаны транспонирлеу деген не және ол қалай жүзеге асырылады?
Паскалда символдар тізбегін жол /литер/ /строка/ дейді. Сөздермен, символдармен жұмыс істейтін шамаларды жолдық немесе литерлік шамалар д.а. Паскалда жеке таңбаның типі CHAR деп аталды. Ал, жолдың типі STRING д.а.
chr(x) – x коды бойынша таңбаны анықтайды.
Char – айнымалының мәні жеке символ болатынын білдіретін тип,
String - айнымалының мәні сөз/сөйлем екенін білдіретін тип, мәндегі символдар саны 256-дан аспауы керек.
Text - мәтіндік тип, файл аттарын белгілеуде қолданылады.
Мәні символ (әріп, цифр, таңба) болатын айнымалы символдық айнымалы деп аталалды.
Символдық айнымалыларды түрлендірудің стандарт функциялары.
1. Length (a) – функциясы а символдық айнымалының ұзындығын табады. Функция нәтижесінде бүтін сан шығады.
Мысал: а='информатика'; k=length (a); writeln ('a жолының ұзындығы=', k);
2. Concat (a1,a2) – функциясы а1 және а2 жолдық айнымалыларды біріктіреді.
(сoncat – конкатенация - біріктіру). Функция нәтижесінде жолдық айнымалы шығады.
Мысал: а1:='бағдар'; а2:='шам'; b:=concat (a1, a2); writeln (b);
Программаның орындалу нәтижесінде «бағдаршам» сөзі шығады. Екі жолды біріктіру үшін "+" таңбасын да қолдануға болады.
Мысал: а:='информатика';
b:='ғылымы'; writeln (a+b);
3. Copy (a, n, k) – функциясы а жолының п-ші символынан бастап к символ көшіріп (немесе қиып) алады.
Мысал: сору ('қалам',3,2) – 'ла'; сору ('кітап', 1,1) – 'к'
4. Pos (a1,a2) – функциясы а2 жолындағы а1 ішкі жолының басталу позициясын көрсетеді, егер а2 жолында а1 жолы болса, онда функция мәні 0-ге тең болады.
Мысал: pos('ка', 'физика') – 5; pos ('та', 'физика') – 0; pos('cd', 'abcdcdrf') – 3.
5. Ord функциясы символдың сәйкес ASСII кодын табады. (Ordinal value - реттік мәні).
Мысал: ord ('A') – 65; ord('a') – 97.
6. Chr функциясы кодқа сәйкес символды береді. (charаcter - символ)
Мысал:chr (65) – 'A'; ord (49) – 1
Бұл функцияны # (диез белгісі) символымен алмастыруға болады. Мысал: # 65 – 'А'
Символдық айнымалыларды түрлендірудің стандарт процедуралары.
1. Deletе (a, m, n) процедурасы а жолдың т-ші символынан бастап п символ жоюды жүзеге асырады. Мысал: а:='информаитка'; deletе (a, 7, 5); writeln (a);
нәтижеде экранға "информ" сөзі шығады.
2. Insert (a1, a2, n) процедурасы а1 ішкі жолын а2 жолының п нөмірлі символынан бастап а2 жолының арасына апарып қояды, а2 жолының қалған символдары соңына қарай ығысады.
Мысал. а1:='-'; а2:='Ол оқушы'; insert(a1, a2, 3); writeln (a2);
нәтижеде а2 жолындағы екі сөздің арасына сызықша белгісі қойылады.
3. Str (x, a) – х бүтін немесе нақты санды а символдық тұрақтыға түрлендіретін процедура.
Егер х=512 болса, Str (x, a) процедурасының орындалу нәтижесі а='512'. Мұндағы 512 мәні сан емес, символдық тұрақты.
4. Val (a, x, c) процедурасы Str-ға кері процедура. Ол а символдық тұрақтыны х санға айналдыруды жүзеге асырады. Мұндағы с - бүтін айнымалы. Егер а-ны х-ке түрлендіру мүмкін болса, яғни а-ның барлық символы сан болса, с айнымалысының мәні 0-ге тең. Керісінше жағдайа, с-ның мәні сан емес 1-символдың нөміріне тең.
Мысал: 1) а='416'; val (a, x, c); нәтижеде х=416; с=0
2) a='41ав6'; val (a, x, c); нәтижеде с=3
Символдармен жұмыста жиі қолданылатын стандартты функциялар.
Атауы
|
Процедура немесе функция
|
Шаманың типі
|
әрекеті
|
Chr(x)
|
функция
|
x - integer
|
Х санын сиволға түрлендіреді
|
Odd(x)
|
функция
|
x - integer
|
=True,егер х -тақ, =False х -жұп болса
|
Inc(x)
|
процедура
|
x - реттік
|
X-ті 1-ге арттырады
|
Dec(x)
|
процедура
|
x - реттік
|
X-ті 1-ге кемітеді
|
Inc(x,n)
|
процедура
|
x - реттік,
n - бүтін
|
X-ті n-ге арттырады
|
Dec(x,n)
|
процедура
|
x - реттік,
n - бүтін
|
X-ті n-ге кемітеді
|
Random(x)
|
функция
|
x - integer
|
0 мен x-1 аралғынан кездейсоқ сан табады
|
Random
|
функция
|
|
(0..1) аралғынан кездейсоқ сан табады
|
Мәтінмен /сөз-сөйлем/ жұмыста жиі қолданылатын функциялармен процедуралар
Атауы
|
Процедура немесе функция
|
Шаманың типі
|
әрекеті
|
Length(s)
|
функция
|
s - string
|
S –жолының ұзындығын анықтайды. /Қанша әріп бар?/
|
Copy(st,poz,n)
|
функция
|
st – string
poz,n-integer
|
St-сөзінің poz-нөмірінен бастап қатар тұрған n-символды көшіріп алады
|
Delete(st,poz,n)
|
процедура
|
|
St-сөзінің poz-нөмірінен бастап қатар тұрған n-символды өшіреді
|
Insert(s1,s2,n)
|
процедура
|
s1,s2,- string, n - integer
|
S1-сөзін s2-cөзіне n-нөмірінен бастап тіркеп жазады
|
Pos(s1,s2)
|
функция
|
S1, s2- string
|
s1 кіші сөзі s2-ұзын сөздің ішінде барма/жоқпа, соны анықтайды (егер жоқ болса нәтиже 0)
|
Str(i,s)
|
процедура
|
s- string, i- integer,
|
і санын симол типіне өңдеп, нәтижесін s мәні ретінде жазады
|
Val(s,і,code)
|
процедура
|
s - string, і - integer, real
code - integer
|
Сөз ретінде берілген s санын бүтін н/е нақты санға ауыстырып, нәтижені i-дың мәні ретінде жазады. Қате жоқ болса code=0
|
UpCase(c)
|
функция
|
c - char
|
Латынның кіші әріптерін бас әріпке ауыстырады
|
Chr(i)
|
|
i- integer
|
і санына сәйкес смиволды /әріпті ASC-код/ береді.
|
Ord(s)
|
|
s-chr
|
S символының бүтін сан түріндегі водын береді
|
Мысал 1: Берілген мәтінде "ас" жолы неше рет кездесетінін анықтаңдар.
Var a:string; i,n:interger;
Begin
writeln('мәтін енгіз');
readln (a);
for i:=1 to length (a) do
if copy (a, i, 2)='ac' then n:=n+1;
writeln ('n=', n) end.
А) Берілген сөзде қанша «а» әрібі бар екенін анықтайтын программа жазыңыз.
|
program a_sanau;
uses crt;
var i,n,k: integer;
s: string;
begin
write('tanbalar tizbegin engiz, ');
read(s);
n:=length(s); k:=0;
for i:=1 to n do
if (s[i]='а') or (s[i]='a') then k:=k+1;
writeln('sozdegi kichi "a"-lar sany - ',k);
end.
|
Б) Ұзындығы 25 символдан аспайтын сөз
тіркесін алып, одан мүмкнідгінше
бірнеше жаңа сөз құрастырыңдар
|
program esep_1_121bet;
uses crt;
var soz, jsoz: string; i, j: integer;
begin
TextColor(12);
soz:='akparattandaru';
jsoz:=copy(soz,1,5);
writeln(jsoz);
jsoz:=copy(soz,3,3)+copy(soz,8,2);
writeln(jsoz);
end.
|
Деңгейлік тапсырмалар:
І-деңгей
1. Сөйлемде неше сөз бар екенін анықтау.
2. Жолдағы ашылған және жабылған жақшалар саны тең бе?
ІІ-деңгей
Екі сөйлемнен тұратын құрмалас сөйлемнің соңғы сөйлемін шығаратын программа құрыңдар.
Берілген бүтін санның цифрларының қосындысын табатын программа құрыыңыз.
ІІІ-деңгей
Сөйлемдегі 1-ші және соңғы сөздердің орнын ауыстырыңыз.
Сөздер массивіндегі сөздерді ұзындығының өсуі бойынша реттеңдер.
Берілген сөз төңкерілген (полиндром) сөз бола ма?
Бекіту сұрақтары:
Символдық айнымалы деген не?
Символдық айнымалынның ұзындығы деген не?
Символдық айнымалыларға қандай стандарт функциялар қолданылады?
Символдық айнымалыларға қандай стандарт процедуралар қолданылады?
ASСII коды деген не?
Символдық айнымалыдан символ қиып алу қалай жүзеге асады?
Достарыңызбен бөлісу: |