Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 8 лет назад пользователемМария Махотина
1 Символьные переменные. Стандартные функции для работы с символьными переменными. Булевские переменные. В Паскале есть четыре стандартных типа: вещественный, целый, символьный и булевский. Описание переменных символьного типа – служебное слово CHAR. Переменные символьного типа принимают значения символов. Не только тех символов, которые можно напечатать, но и различных служебных символов. Для каждого символа есть свой код - целое число. Его можно определить с помощью функции ORD (порядок). Функцией, обратной к функции ORD, является CHR (нахождение символа по его коду). Кроме того для символьных переменных существуют функции SUCC (следующий) и PRED (предыдущий). UROK5PR1 - распечатывает в цикле символы, имеющие коды от 32 до 50. (*Распечатка символов по кодам*) Program simvol; var x,i:integer;c:char; BEGIN for x:=32 to 50 do begin c:=chr(x);writeln(x,' - ',c,' ') end END.
2 UROK5PR2 - распечатывает 15 символов, начиная с данного и предшествующие ему. Используется функция PRED. Program pr; var sim :char; i:integer; Begin write('Введите символ-');read(sim);writeln; for i:=1 to 15 do begin write(sim);sim:=pred(sim) end; End. UROK5PR3 - по данному символу печатает 15 строк. В первой строке - данный символ. Во второй строке - данный символ и следующий за ним. В третьей строке - данный символ и два следующих за ним и так далее. Program pr; var sim1,sim2:char; i,j:integer; Begin write('Введите символ-');read(sim1);writeln; for i:=1 to 15 do begin sim2:=sim1; for j:=1 to i do begin write(sim2);sim2:=succ(sim2) end; writeln; end; End.
3 Символьные переменные часто используют для организации диалога программы с человеком. Символьный тип принадлежит к ординарным (упорядоченным) типам. Поэтому символьная переменная может выступать в роли параметра цикла - UROK5PR4. (* Символьная переменная - параметр цикла *) Program s; var sim:char; Begin for sim:='a' to 'n' do write(sim); writeln; for sim:='n' downto 'a' do write(sim); End. Последний из стандартных типов в Паскале – булевский (BOOLEAN). Переменные этого типа принимают только два значения TRUE (истина) и FALSE (ложь). С переменными булевского типа можно выполнять логические операции AND (и), OR (или), NOT (не). С помощью булевских переменных в программах удобно делать различные переключатели, управляющие ходом программы. На простых учебных примерах трудно показать, что это очень удобно. Возможно, последний пример позволит это почувствовать. Если нет, это не страшно. Достаточно знать о существовании переменных булевского типа и понимать, как работают программы, использующие булевские переменные.
4 Пример: UROK5PR5 - Составить программу, которая среди чисел от 1 до 999 ищет такие, которые равны сумме квадратов своих цифр. Если такие не находятся, программа должна сообщить об этом. Заданному условию удовлетворяет только единица. Program ch; Var i,ed,des,sot:integer; rez,kon,pr:boolean; Begin i:=0;rez:=false;pr:=false; repeat i:=i+1; ed:=i mod 10;des:=(i div 10) mod 10; sot:=i div 100; rez:=(i=(ed*ed+des*des+sot*sot)); if rez then begin write(i);pr:=true end; kon:=(i=999) until kon; if not pr then write('Не могу найти'); End.
5 UROK5PR6 – определение кода нажатой клавиши. Функция READKEY – принимает значение нажатой клавиши, при этом символ не отображается на экране. Это называется отсутствием эхо-сопровождения. Программа заканчивается, когда нажата клавиша, код которой = 13. Это клавиша ВВОД. program kod; uses crt; var a:char; begin repeat a:=readkey; writeln(ord(a)); until ord(a)=13; repeat until keypressed end.
6 Переменные строкового типа, их функции. Стандартная процедура позиционирования курсора GOTOXY Описание переменных строкового типа – служебное слово STRING, после которого можно написать [80], или любое другое число. Оно обозначает максимальное число символов, которое может быть в строке. Если число не указано, то по умолчанию максимальное число символов = 255. Минимальное число символов = 0, при этом строка называется пустой. Значение переменной строкового типа в программе – текст в апострофах, например ST:=строка символов, ST:=''. В последнем случае – строка пустая. Функции и процедуры переменных строкового типа. Использовать readln для ввода данных. Функция length (st) – возвращает длину строки. Например, length (abcd) = 4. Функция copy(st,n1,n2)- вырезает из строки st n2 символа, начиная с позиции n1. Например, st := информатика; st1 := copy(st,3,5). st1 будет равно форма. При этом исходная строка не изменяется. Функция concat или + - конкатенация (склеивание) строк. Например, а:= телевизор; b := copy(a,5,1)+copy(a,7,3), b будет равно взор'. Функция pos(s,st) – возвращает номер позиции 1-го символа подстроки s в строке st. Например, pos(шип, подшипник)=4. Если подстрока не найдена, результат=0.
7 Процедура Insert(s,st,n) – вставляет в строку st подстроку s, начиная с позиции n, строка сдвигается вправо. st – переменная, s и n – выражения. Например, st=кьютер, s=омп, процедура insert(s,st,2) возвращает в переменной st слово компьютер. Процедура delete(st,n,m) – удаляет из строки st m символов, начиная с позиции n. st – строковая переменная, n и m – целые выражения. Например, st=угроза, процедура delete(st,1,2) возвратит в переменной st слово роза Процедура str(x,s) – преобразует число x в строку s – строковая переменная, x – целое выражение. Например, процедура str(5890,s) возвратит s=5890. Процедура val(s,x,y) – преобразует цифровую строку s в число x. В переменной y сохраняется номер позиции недопустимого символа строки s, если такового нет y=0. x и y – переменные целого типа, s – строка. Например, процедура val(1234v567,x,y) возвратит x= , y=5. В примерах используется функция CLRSCR – очистка экрана и стандартная процедура позиционирования курсора GOTOXY(x,y), которая устанавливает курсор в x-столбец и y-строку. Х меняется от 1 до 79 слева направо, Y от 1 до 24 сверху вниз. Примеры: Составим интерактивную программу, которая запрашивает Ваше имя и год рождения и сообщает Ваш возраст. Текущий год вырежем из заданного предложения.
8 program interaktiv; var s,s1,s2,s3:string[80]; a,g,g1,v:integer; begin s:='Сейчас 2006 год'; write('Введите свое имя_');readln(s1); write('Введите свой год рождения_');read(g); s2:=copy(s,8,4); val(s2,g1,a); v:=g1-g;str(v,s3); writeln(s1+' тебе '+s3+' лет') end. UROK5P10 program strok; uses crt; var s,st:string[80]; x,y:integer; begin clrscr; st:='информатика'; writeln('уни'+copy(st,3,5));delete(st,1,5); s:=' мате';insert(s,st,1);writeln(st); writeln(pos('мат',st)); str(4578,st);writeln(copy(st,2,3)); val('1232d4671',x,y);writeln(odd(x),' ',y); repeat until keypressed; end.
9 UROK5PR7 – псевдографический редактор program redaktor; uses crt; var z,s:char;i,j:integer; begin clrscr;z:='*';i:=40;j:=12;gotoXY(i,j);write(z); repeat s:=readkey; case s of '8':j:=j-1; '2':j:=j+1; '4':i:=i-1; '6':i:=i+1; '7':begin i:=i-1;j:=j-1 end; '9':begin i:=i+1;j:=j-1 end; '1':begin i:=i-1;j:=j+1 end; '3':begin i:=i+1;j:=j+1 end; '0':z:=' '; '*':z:='*'; end; if i>79 then i:=79;if i<1 then i:=1; if j>24 then j:=24;if j<1 then j:=1; gotoXY(i,j);write(z); until s='.'; gotoXY(1,24);repeat until keypressed end.
10 UROK5PR8 – бегущая строка program beg_ctroka; uses crt; var st,p:string;i:integer; begin clrscr; st:='выхожу один я на дорогу '; for i:=55 downto 1 do begin gotoXY(i,12);write(st);delay(60000);{функция delay создает задержку во времени}end; for i:=2 to length(st) do begin gotoXy(1,12);write(copy(st,i,length(st)));delay(60000);end; repeat until keypressed end.
11 UR5PR9 – осыпающаяся строка. program osyp_ctroka; uses crt; var st,p:string;i,j:integer; begin clrscr; st:='белеет парус одинокий в тумане моря голубом'; gotoXY(1,1);write(st); for i:=length(st) downto 1 do for j:=2 to 23 do begin gotoXY(i,j);write(copy(st,i,1)); gotoXY(i,j-1);write(' '); delay(3000); end; gotoXY(1,24); repeat until keypressed end.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.