Презентация "Исполнитель Робот. Строки" 9 класс
Подписи к слайдам:
Строки
Презентация к уроку информатики
9 класс
Автор: Юдин Андрей Борисович
МКОУ Плесская СОШ
Исполнитель РОБОТ
Т
Е
К
С
Т
char s[10];
cout <<"Введи строку";
cin >>s;
Объявляем в памяти массив для хранения 10 символов
Вводим строку как обычную переменную
1
Занятие 1.
Знакомство со строками.
С последней до первой буквы:
С первой до последней буквы:
for(i=0;i<length(s);i=i+1)
Т
Е
К
С
Т
2
for(i=length(s)-1;i>=0;i=i-1)
0
1
2
3
4
n = length(s)
В переменной n будет число 5
Программа
{
char s1[250];
char s2[250];
cout <<"Введи первую строку "; cin >>s1;
cout <<"Введи вторую строку "; cin >>s2;
int n=length(s1);
int m=length(s2);
if (n==m) cout <<"Строки равны";
if (n>m) cout <<"Первая больше";
if (n<m) cout <<"Вторая больше";
}
Сравнить длину двух строк введенных с клавиатуры.
Вычисляем длину строк
Сравниваем длины и выводим соответствующие пояснения
3
Программа
{
char s1[250];
char s2[250];
s1="ИНФОРМАТИКА";
s2=s2+s1[7]+s1[3]+s1[4]+s1[7];
cout << s2;
}
Из слова ИНФОРМАТИКА вырезкой букв получить слово ТОРТ.
4
К новой строке добавляем символы из слова ИНФОРМАТИКА
3. Дана строка символов. Вывести на экран ее первый и последний символ.
4. С клавиатуры вводится слово, верно ли, что оно начинается и заканчивается на одну и туже букву
1. Получите из слова "ИНТЕГРАЛ" слова "ГАНТЕЛИ", "РЕНТГЕН", "ТИГР", "АГЕНТ".
2. Составить программу, которая запрашивает фамилию и имя человека и выводит их в одну строку с приветствием.
5
Программа
{
char s[250];
cout <<"Введи строку "; cin >>s;
int k=0,i;
for(i=0;i<length(s);i=i+1)
{
if (s[i]=='a') k=k+1;
}
cout <<"Количество букв а = ";
cout <<k;
}
Дана строка символов. Определить сколько раз в ней встречается буква а (строчная, английская).
Перебираем от 1 до последней буквы
Если на i-ом месте стоит а увеличиваем k на 1
6
Занятие 2.
Способы решения задач на строки.
Начало
Ввод S
i,1,length(s)
Si ='a'
k=k+1
Вывод k
Конец
Да
Нет
Блок-схема к задаче подсчета букв А в строке
k=0
7
Программа
{
char s[250];
cout <<"Введи строку "; cin >>s;
int i;
for(i=0;i<length(s);i=i+1)
{
if (s[i]=='А') s[i]='О';
}
cout <<"Измененная строка : ";
cout <<s;
}
Дана строка символов. Заменить в ней все буквы А на букву О.
Перебираем от 1 до последней буквы
Если на i-ом месте стоит А ставим на i-е место О.
8
Начало
Ввод S
i,1,length(s)
Si ='A'
Si ='O'
Вывод S
Конец
Да
Нет
Блок-схема к задаче замен буквы А на О
9
Программа
{
char s[250],temp[250]="";
cout <<"Введи строку "; cin >>s;
int i;
for(i=0;i<length(s);i=i+1)
{
if (s[i]!='R') temp=temp+s[i];
}
s=temp;
cout <<"Новая строка = ";
cout <<s;
}
Удалить из строки введенной с клавиатуры все буквы R (латинские, заглавные).
Перебираем от 1 до последней буквы
Подготавливаем дополнительную переменную
Если на i-ом месте не стоит R то прибавляем эту букву к тому, что есть в temp
То, что получилось в temp перемещаем обратно в s
10
Начало
Ввод S
i,1,length(S)
Si !='R'
temp=temp+ Si
Вывод S
Конец
Да
Нет
Блок-схема к задаче удаления букв R из строки
temp=""
S=temp
11
1. Дан текст. Определить каких букв М или Н в нем больше.
2. Составить программу, исправляющую правописание «ЖИ» и «ШИ» в слове, введенном с клавиатуры.
3. Дана строка символов. После каждой буквы П вставить три знака восклицания «!!!».
12
Решение
Решение
Решение
for(i=0;i<length(s);i=i+1)
{
if (s[i]=='а' | s[i]=='б')
{
if (s[i]=='а') {
s[i]='б'
}
else
{
s[i]='а';
}
}
}
cout <<s;
В заданном тексте везде букву "а" заменить на букву "б", а букву "б" - на букву "а".
Из всей строки нам нужно выбрать только А и Б
И только после осуществлять замену
13
Занятие 3.
Задачи на вложенные
циклы и условия.
Начало
Ввод S
i, 1, length(S)
Si ='а'
Si ='б'
Si ='а'
Вывод S
Конец
Si ='а' или Si ='б'
Да
Нет
Да
Нет
Блок-схема к задаче замены А на Б и наоборот
14
Программа
{
char s[250];
cout <<"Введи строку "; cin >>s;
int k,i,j;
char s1[8]=",.;:!?-'";
for(i=0;i<8;i=i+1)
{
k=0;
for(j=0;j<length(s);j=j+1) if (s[j]==s1[i]) k=k+1;
if (k!=0) coutln <<s1[i] <<" - " <<k <<" разa";
}
}
Дана строка символов, содержащая знаки препинания. Подсчитать какие и сколько знаков препинания содержит строка.
Внешний цикл, осуществляющий перебор знаков записанных в S1
Тело внешнего цикла содержит цикл, отвечающий за перебор символов введенной строки
15
Начало
Ввод S
i, 1, 8
s1="',.;:!?-"
K=0
j, 1, length(S)
Sj = S1i
Да
Нет
K=K+1
K!=0
Вывод S1i,K
Нет
Да
Конец
Блок-схема к задаче подсчета знаков препинания
16
1. Дана строка, изображающая двоичную запись целого положительного числа. Вывести строку изображающую десятичную запись того же числа.
2. Дана строка содержащая буквы и цифры, Определить чего в данной строке больше, букв или цифр.
3. Из заданного текста выбрать и вывести на экран те символы, которые встречаются в нём ровно один раз.
17
Решение
Решение
Решение
18
Список литературы и интернет источников
- Система «Исполнители 2.5» и методические рекомендации к ней. – Автор: Поляков К.Ю. http://kpolyakov.spb.ru/school/robots/methodic.htm
- В.В. Подбельский, С.С.Фомин. Программирование на языке Си. М .: ФиС, 1999, 600 с.
- Х.М.Дейтел., П.Дж.Дейтел. Как программировать на Си++. М .: ЗАО БИНОМ, 1999, 1000 с. (первые 600 страниц - изложение обычного Си, наиболее подходят для начинающих).
В начало презентации
Программа
{
char s[250];
char s1[250];
cout <<"Введи строку "; cin >>s;
int i,j;
for(i=0;i<length(s);i=i+1)
{
int k=0;
for(j=0;j<length(s);j=j+1)
if (s[j]==s[i]) k=k+1;
if (k==1) cout << s[i];
}
}
Вернуться к условию
19
Программа
{
char s[250];
cout <<"Введи строку "; cin >>s;
int k=0,k1=0,i,j;
char s1[10]="0123456789";
for(i=0;i<length(s1);i=i+1)
{
for(j=0;j<length(s);j=j+1)
if (s[j]==s1[i]) k=k+1;
}
k1=length(s)-k;
if (k>k1) cout <<"Цифр больше";
if (k<k1) cout <<"Букв больше";
if (k==k1) cout <<"Одинаково";
}
Вернуться к условию
20
Программа
{
char s[250];
cout <<"Введи строку "; cin >>s;
int i,n=0;
int r=1;
for(i=length(s)-1;i>=0;i=i-1)
{
if (s[i]=='1')n=n+r;
r=r*2;
}
cout <<"Десятичная запись = ";
cout <<n;
}
Вернуться к условию
21
Программа
{
char s[250];
cout <<"Введи строку "; cin >>s;
int k,k1,i;
for(i=0;i<length(s);i=i+1)
{
if (s[i]=='М') k=k+1;
if (s[i]=='Н') k1=k1+1;
}
if (k>k1) cout <<"Букв М больше";
if (k<k1) cout <<"Букв Н больше";
if (k==k1) cout <<"Одинаково";
}
Вернуться к условию
22
Программа
{
char s[250];
cout <<"Введи строку "; cin >>s;
int i;
for(i=1;i<length(s);i=i+1)
{
if (s[i]=='Ы' | s[i-1]=='Ж')
s[i]='И';
if (s[i]=='Ы' | s[i-1]=='Ш')
s[i]='И';
}
cout << s;
}
Вернуться к условию
23
Программа
{
char s[250],temp[250]="";
cout <<"Введи строку "; cin >>s;
int i;
for(i=0;i<length(s);i=i+1)
{
if (s[i]!='П') temp=temp+s[i];
else temp=temp+s[i]+"!!!"
}
s=temp;
cout <<"Новая строка = ";
cout <<s;
}
Вернуться к условию
24