Презентация "Исполнитель Робот. Строки" 9 класс


Подписи к слайдам:
Слайд 1

Строки

Презентация к уроку информатики

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