C
т
р
о
к
а
S:String[6];
S:array[1..6]of char;
S[i]
S[i]:='A'; //присваивание
If (S[i]='A') then … ;
//проверка условий
Задача 1. Вводится строка (с клавиатуры или из файла), представляющая Фамилия Имя Отчество (разделены пробелом). Составить программу присваивающую Фамилия, Имя, Отчество трем различным переменным.
S – Исходная строка
S1- переменная для фамилии
S2 – переменная для имени
S3 – переменная для отчества
Иванов Иван Иванович
S1
S2
S3
в
И
а
н
о
в
ПРОБЕЛ -НЕТ
ПРОБЕЛ -НЕТ
ПРОБЕЛ -НЕТ
ПРОБЕЛ -НЕТ
ПРОБЕЛ -НЕТ
ПРОБЕЛ -НЕТ
ПРОБЕЛ -ДА
Переходим к заполнению второй строки и т.д.
i:=1;
while (s[i]<>' ') do begin
s1:=s1+s[i];
i:=i+1;
end;
Начинаем с первой буквы
Пока очередной символ не равен ПРОБЕЛ
Запоминаем этот символ в переменной S1 и переходим к другому символу
В конце пробела нет.
Сравниваем порядковый номер буквы с длинной строки.
Разрезка строки 5
S3 присваиваем фрагмент строки S с i-го символа до конца
Разрезка строки 7
То же самое с циклом
Repeat …
Until…
Разрезка строки 9
Номер слова
Если номер слова 1 и это не пробел, заполняем переменную S1
Если встретился пробел, увеличиваем номер слова.
Разрезка строки 10
Удаляем из S часть до первого пробела
Номер первого пробела (он до удаления был вторым)
Копируем часть строки до пробела в S2
Удаляем из S часть до второго пробела
Разрезка строки 12
Повторять пока в переменной ch не окажется пробел
Вводим очередной символ
Добавляем символ к строке S1
Таким же образом заполняем S2
S3 просто вводим с клавиатуры
Разрезка строки 14
a:array[1..255] of string; объявим массив слов, из которых состоит строка.
Начнем заполнение с первой ячейки массива
Перебираем от первой до последней буквы
Если символ не пробел, запоминаем его в k-ю ячейку массива
Если встретился пробел, переходим к следующей ячейке
Выводим массив слов на экран
Разрезка строки 15
a:='';
s:=s+' ';
for i:=1 to length(s)do
begin
if (s[i]<>' ') then a:=a+s[i];
if (s[i]=' ') then
begin
writeln(a);
a:='';
end;
end;
Переменная под первое слово
В конце строки добавим пробел
Повторяем до конца строки
Если символ не пробел, запоминаем его
Если символ пробел …
Выводим слово на экран
Готовим переменную для нового слова
Английские заглавные начинаются с номера 65
Английские заглавные заканчиваются номером 90
Русские заглавные: 192 ≤ i ≤ 223
Русские строчные: 224 ≤ i ≤ 255
Английские заглавные: 65 ≤ i ≤ 90
Английские строчные: 97 ≤ i ≤ 122
Цифры: 48 ≤ i ≤ 57
Разница в кодах между заглавной и строчной -32
Коды символов 20
Коды символов 21
Координаты начала первой строки
Устанавливаем курсор в позицию X,Y
Выводим символ и его код.
Переходим к следующей строке
Если это 25 строка то…
Переходим к следующему столбику и начинаем с первой строки
Коды символов 23
Пусть количество букв равно нулю
Перебираем буквы в строке
Определяем код буквы
Английские буквы
Русские буквы
Коды символов 25
Код символа как элемент множества
Символ, как элемент множества
Коды символов 26
Перебираем буквы в строке
Определяем код буквы
Если буква заглавная
Увеличиваем код буквы на 32
Заменяем букву в строке на новую
Коды символов 27
var a:string;
s:array[1..33] of integer;
b,i:integer;
begin
clrscr;
write('введи строку{русские заглавные}');
readln(a);
for i:=1 to length(a) do
begin
b:=ord(a[i]);
if(b>=192)and(b<=223)then s[b-191]:=s[b-191]+1;
end;
for i:=1 to 33 do
if (s[i]<>0) then writeln(chr(i+191),' - ', s[i]);
end.
Массив в котором будем запоминать количество букв
Перебираем буквы в строке
Определяем код буквы
Если буква русская заглавная увеличиваем количество таких букв в массиве
Выводим только те буквы, которые встретились в строке
Коды символов 28
Например:
Случайное число из интервала [10 ; 30].
А = 10, В = 30,
подставим в формулу
m :=RANDOM(B-A+1)+A;
m :=RANDOM(30-10+1)+10;
такую запись нужно упростить
m :=RANDOM(21)+10;
Коды символов 29
Задача 5. Составить программу – генератор паролей из английских заглавных, строчных букв и цифр.
Количество букв в пароле
Определяем тип символа (Заглавный, строчный, цифра)
В зависимости от типа случайным образом получаем код символа из интервала
Добавляем символ к паролю
Коды символов 30
Задача 6. Составить программу удаляющую «лишние» пробелы между словами, то есть слова должны быть разделены одним пробелом.
write('введи строку'); readln(s);
i := 1;
while i < length(s) do
begin
if (s[i] = ' ') and (s[i + 1] = ' ')
then begin
delete(s, i, 1);
i:=i-1;
end;
i:=i+1;
end;
writeln(s);
С первой буквы и пока i меньше длины строки
Если на i-ом месте пробел и после него пробел то…
Удаляем пробел, и возвращаемся на один символ назад
Переходим к следующему символу
Первая буква новой строки
Перебираем от второй буквы до последней
Если на i-ом месте не пробел или перед ним не пробел то заносим символ в S1
Заменяем S на строку без лишних пробелов
Способы решения задач с дополнительной переменной и без 32
Перебираем буквы до середины строки
Обмениваем местами буквы относительно середины строки
Способы решения задач с дополнительной переменной и без 34
Определяем длину строки
Перебираем буквы с последней до первой и переносим их в переменную S1
Заменяем содержимое S на перевернутую строку
Способы решения задач с дополнительной переменной и без 36
http://inf.reshuege.ru/ - сайт РЕШУ ЕГЭ Информатика
http://progbook.ru/pascal/1365-semakin-shestakov-osnovy-programmirovaniya.html – картинка к книге И. Г. Семакина
http://progbook.ru/pascal/1193-dagene-100-zadach-po-programmirovaniyu.html - картинка к книге В.А. Дагене
http://nashol.com/2012051065220/paskal-dlya-shkolnikov-podgotovka-k-ege-po-informatike-kashaev-sherstneva-2011.html -картинка к книге С.М. Кашева.
Интернет источники:
Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:
Email: Нажмите что бы посмотреть