Программирование. Работа с символами

Содержание

Слайд 2

Действия со строками Конкатенация – сложение (“склеивание”) строк Пример: a=‘ab’, b=‘xy’,

Действия со строками

Конкатенация – сложение (“склеивание”) строк
Пример: a=‘ab’, b=‘xy’, c=a+b=‘abxy’
Сравнение строк:
Пример:

‘abc’<>’abd’, ‘Abc’<‘abc’, ‘bc’>’ab’
Слайд 3

Теоретический материал для pascal PROGRAM ; CONST … описание констант; VAR

Теоретический материал для pascal

PROGRAM < имя >;
CONST … описание констант;
VAR …

описание переменных; //глобальные переменные
FUNCTION <имя>(аргумент функции:тип аргумента):тип функции
begin
}
END.
Слайд 4

Операции X:=5; // x присвоить 5 Readln(x); // ввести x Writeln

Операции

X:=5; // x присвоить 5
Readln(x); // ввести x
Writeln (x); // вывести

x
If (у) then (д1) else (д2); // условие: Если условие (у) выполняется, тогда делаем действие (д1), иначе действие (д2)
While (у) do // пока условие в скобках истинно, выполняется тело подпрограммы
for <пар.цикла> := <нач.знач> to <кон.знач.> do тело цикла// для параметра цикла целочисленного типа с начальным значением до конечного значения делаем (д)
Слайд 5

Основные функции Copy(S, poz, n) - выделяет из строки S, начиная

Основные функции

Copy(S, poz, n) - выделяет из строки S, начиная с

позиции poz, подстроку из n символов;
Length(S) определяет текущую длину строкового выражения S;
Pos(subS, S) определяет позицию первого вхождения подстроки subS в строку S;
Delete (S, poz, n) удаляет из строки S, начиная с позиции poz, подстроку из n символов;
Insert(subS, S, poz) вставляет в строку S, начиная с позиции poz, подстроку subS;
Str(x, S) преобразует число x в строковый формат;
Chr(n) код символа; Ord(ch) символ.
Слайд 6

Теоретический материал для С++ #include … директивы using namespace std …

Теоретический материал для С++

#include … директивы
using namespace std … директива

объявления пространства имен
const … описание констант
Тип функции <имя> (тип_аргумента аргумент_функции) … функция
{
setlocale(LC_ALL, "Russian"); // в Windows (где мы пишем текст программы) и в MS DOS (где отображается ее результат) используется разная кодировка русских букв. Эта команда служит для вывода русского текста.

system (“pause”); //остановка программы
return (возвращаемое значение);
}
Слайд 7

Используемые директивы #include // подключает в c++ функции, которые обеспечивают ввод/вывод.

Используемые директивы

#include // подключает в c++ функции, которые обеспечивают ввод/вывод.
#include

//директива для использования математических функций
#include //позволяет использовать манипуляторы
//пример cout<#include // для получения системного времени;
//пример: srand((type)time(time_delay)) – функция, позволяющая генерировать новые числа в рандоме по времени (type – тип генерируемых данных, time – генерация по времени, time_delay – задержка в миллисекундах); a=rand()%MAX_RAND±OFFSET – генерация рандомных чисел (rand()% - сама функция, MAX_RAND – максимальное значение, OFFSET – смещение на числовой прямой значений)
using namespace std; // эффект от ее применения состоит в том, что вы можете свободно применять команды ввода-вывода cout и cin. И процессор при этом будет четко понимать, что это команды, а не переменные.
Слайд 8

Операции X=5; //x присвоить пять cin>>x; // ввести x cin.getline(s,n) –

Операции

X=5; //x присвоить пять
cin>>x; // ввести x
cin.getline(s,n) – s – вводимая

строка, n – количество символов
cout<cout<cout<<“Hello, world! \n”; // вывести строку “Hello, world!” с переносом
if (у) {д1}; else {д2}; //условие: Если условие (у) выполняется, то делаем действие (д1), иначе действие (д2)
While (у) // пока условие в скобках истинно, выполняется тело подпрограммы
for (парам=нач.знач; парам<кон.знач; парам++) тело цикла // для параметра цикла целочисленного типа с начальным значением до конечного значения (при < не включительно, при <=включительно) с шагом (++ - увеличение счетчика на 1, для другого шага парам+=шаг)
Слайд 9

Операции Операции инкремента i++ постфиксная форма i=i+1; ++i префиксная форма i=i+1;

Операции

Операции инкремента
i++ постфиксная форма i=i+1;
++i префиксная форма i=i+1;
Операции

декремента
i– – постфиксная форма i=i–1
– – i префиксная форма i=i–1
Слайд 10

Основные функции strcpy(s1,s2) – она копирует в строку s1 содержимое строки

Основные функции

strcpy(s1,s2) – она копирует в строку s1 содержимое строки s2;
strcmp(s1,

s2) – она сравнивает содержимое строк s1 и s2: если они равны, то функция дает 0, если s1s2, то положительное;
itoa(I,s,r) – преобразует целое I в строку s, пользуясь системой счисления с основанием r;
strlen(s) – длина строки;
strstr(s1,s2) - возвращает указатель на первое вхождение одной строки в другую
Слайд 11

Примечание К сожалению, в С++ отсутствует тип «строка». Поэтому мы будем рассматривать строки как массивы символов.

Примечание

К сожалению, в С++ отсутствует тип «строка». Поэтому мы будем рассматривать

строки как массивы символов.
Слайд 12

Пример Условие: Составить программу, которая определит, является ли заданное слово перевертышем.

Пример

Условие:
Составить программу, которая определит, является ли заданное слово перевертышем.

Слайд 13

Pascal program str; var s:string[10]; l:integer; flag:boolean; begin flag:=true; readln(s); l:=length(s);

Pascal

program str;
var s:string[10];
l:integer;
flag:boolean;
begin
flag:=true;
readln(s);
l:=length(s);
for var i:=1 to

l do
begin
if (s[i]<>s[l-i+1]) then flag:=false;
if (flag=false) then break;
end;
if (flag=true) then writeln('Да, слово является перевертышем')
else writeln('Нет, словно не является перевертышем');
end.
Слайд 14

C++ #include using namespace std; int main() { char s[10]; cin.getline(s,9);

C++

#include
using namespace std;
int main()
{
char s[10];
cin.getline(s,9);
int l = strlen(s);
bool flag =

true;
for (int i = 0; i < l; i++)
{

if (flag == false)
break;
}
if (flag == true)
cout << "Yes" << endl;
else
cout << "No" << endl;
system("pause");
return 0;
}