Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему мировое хозяйство

Содержание

Чем плох массив символов?var B: array[1..N] of char;Это массив символов:каждый символ – отдельный объект;массив имеет длину N, которая задана при объявленииЧто нужно:обрабатывать последовательность символов как единое целоестрока должна иметь переменную длину
Программирование  на языке Паскаль Символьные строки Чем плох массив символов?var B: array[1..N] of char;Это массив символов:каждый символ – В разделе var строки описываются следующим образом:Описание символьных строк Максимальная длина строки Символьные строкидлина строкирабочая частьs[1]s[2]s[3]s[4]var s: string;var s: string[20];Длина строки:n := length ( s );var n: integer; В тексте программы на языке Паскаль последовательность любых символов, заключенная в апострофы, Константе автоматически присваивается Пустая строка задается двумя последовательными апострофами:Символ-константа и строка-константа: неименованные константы st:='';		{ пустая Символьные строкиЗадача: ввести строку с клавиатуры и заменить все буквы «а» на Задания«3»: Ввести символьную строку и заменить все буквы «а» на буквы «б», Задания«5»: Ввести символьную строку и проверить, является ли она палиндромом (палиндром читается Результатом выполнения операции конкатенации Операции со строкамиОбъединение: добавить одну строку в конец другой.Запись нового значения:var s, Удаление и вставкаУдаление части строки:Вставка в строку:s := '123456789';Delete ( s, 3, Поиск в строкеПоиск в строке:s := 'Здесь был Вася.';n := Pos ( Примерыs := 'Вася Петя Митя';n := Pos ( 'Петя', s );Delete ( Пример решения задачиЗадача: Ввести имя, отчество и фамилию. Преобразовать их к формату Программаprogram qq;var s, name, otch: string;  n: integer;begin  writeln('Введите имя, Задания«3»: Ввести в одну строку фамилию, имя и отчество, разделив их пробелом. Задания«5»: Ввести путь к файлу и «разобрать» его, выводя каждую вложенную папку Задачи на обработку строкЗадача: с клавиатуры вводится символьная строка, представляющая собой сумму Преобразования «строка»-«число»Из строки в число:s := '123';Val ( s, N, r ); Программаprogram qq;var s, s1, s2: string;  r, n, n1, n2, sum: Задания«3»: Ввести арифметическое выражение: разность двух чисел. Вычислить эту разность.  Пример: Задания«5»: Ввести арифметическое выражение c тремя числами, в котором можно использовать сложение Задания«6»: Ввести арифметическое выражение c тремя числами, в котором можно использовать сложение, Посимвольный вводЗадача: с клавиатуры вводится число N, обозначающее количество футболистов команды «Шайба», Посимвольный вводПропуск фамилии:repeat read(c);until c = ' '; { пока не встретим Программаprogram qq;var c: char;  i, N, count, Year, Gol: integer;begin writeln('Количество Посимвольный вводЕсли фамилия нужна:fam := ''; { пустая строка }repeat  read(c); Посимвольный вводЕсли нужно хранить все фамилии:const MAX = 100;var fam: array[1..MAX] of Задания«3»: Вывести фамилии и имена всех футболистов, которые забили больше двух голов. Задания«5»: Вывести в алфавитном порядке фамилии и имена всех футболистов, которые забили
Слайды презентации

Слайд 2 Чем плох массив символов?
var B: array[1..N] of char;
Это

Чем плох массив символов?var B: array[1..N] of char;Это массив символов:каждый символ

массив символов:
каждый символ – отдельный объект;
массив имеет длину N,

которая задана при объявлении

Что нужно:
обрабатывать последовательность символов как единое целое
строка должна иметь переменную длину


Слайд 3 В разделе var строки описываются следующим образом:
Описание символьных

В разделе var строки описываются следующим образом:Описание символьных строк Максимальная длина

строк
Максимальная длина строки - 255 символов.

Нумеруются ее

компоненты начиная с 0, но этот нулевой байт хранит длину строки.

Если <длина> не указана, то считается, что в строке 255 символов.
Поэтому для экономии памяти следует по возможности точно указывать длину используемых строк.

var <имя_строки>: string[<длина>];


Слайд 4 Символьные строки
длина строки
рабочая часть
s[1]
s[2]
s[3]
s[4]
var s: string;
var s: string[20];
Длина

Символьные строкидлина строкирабочая частьs[1]s[2]s[3]s[4]var s: string;var s: string[20];Длина строки:n := length ( s );var n: integer;

строки:
n := length ( s );
var n: integer;


Слайд 5 В тексте программы на языке Паскаль последовательность любых

В тексте программы на языке Паскаль последовательность любых символов, заключенная в

символов, заключенная в апострофы, воспринимается как символ или строка.


Например:

Символ-константа и строка-константа: неименованные константы

c:='z'; {c: char}
s:='abc'; {s: string}


Слайд 6 Константе автоматически присваивается "минимальный" тип данных, достаточный для

Константе автоматически присваивается

ее представления:
char или string[k].
Поэтому попытка написать
Символ-константа и строка-константа:

неименованные константы

вызовет ошибку уже на этапе компиляции.

c:='zzz'; {c: char}


Слайд 7 Пустая строка задается двумя последовательными апострофами:
Символ-константа и строка-константа:

Пустая строка задается двумя последовательными апострофами:Символ-константа и строка-константа: неименованные константы st:='';		{

неименованные константы
st:=''; { пустая строка }
Если же необходимо

сделать так, чтобы среди символов строки содержался и сам апостроф, его нужно удвоить:

Если теперь вывести на экран эту строку, то получится следующее:

Don't worry about the apostrophe!

s:='Don''t worry about the apostrophe!';


Слайд 8 Символьные строки
Задача: ввести строку с клавиатуры и заменить

Символьные строкиЗадача: ввести строку с клавиатуры и заменить все буквы «а»

все буквы «а» на буквы «б».
program qq;
var s: string;

i: integer;
begin
writeln('Введите строку');
readln(s);
for i:=1 to Length(s) do
if s[i] = 'а' then s[i] := 'б';
writeln(s);
end.

readln(s);

writeln(s);

Length(s)

ввод строки

длина строки

вывод строки


Слайд 9 Задания

«3»: Ввести символьную строку и заменить все буквы

Задания«3»: Ввести символьную строку и заменить все буквы «а» на буквы

«а» на буквы «б», как заглавные, так и строчные.

Пример:
Введите строку:
ааббссААББСС
Результат:
ббббссББББСС
«4»: Ввести символьную строку и заменить все буквы «а» на буквы «б» и наоборот, как заглавные, так и строчные.
Пример:
Введите строку:
ааббссААББСС
Результат:
ббаассББААСС

Слайд 10 Задания

«5»: Ввести символьную строку и проверить, является ли

Задания«5»: Ввести символьную строку и проверить, является ли она палиндромом (палиндром

она палиндромом (палиндром читается одинаково в обоих направлениях).

Пример: Пример:
Введите строку: Введите строку:
АБВГДЕ КАЗАК
Результат: Результат:
Не палиндром. Палиндром.

Слайд 11 Результатом выполнения операции конкатенации "+", является строка, в

Результатом выполнения операции конкатенации

которой исходные строки-операнды соединены в порядке их следования в

выражении.
Например,

Операция конкатенации

X:='Пример'; Y:='сложения'; Z:='строк';
Writeln(X + Y + Z);
Writeln(Y + ' ' + Z + ' ' + X);

На экран будут выведены строки:
Примерсложениястрок
сложения строк Пример

'Кро'+' 'код'+ 'ил'
позволит получить новую строку
'Крокодил'


Слайд 12 Операции со строками
Объединение: добавить одну строку в конец

Операции со строкамиОбъединение: добавить одну строку в конец другой.Запись нового значения:var

другой.
Запись нового значения:
var s, s1, s2: string;
s := 'Вася';
s1

:= 'Привет';
s2 := 'Вася';
s := s1 + ', ' + s2 + '!';

'Привет, Вася!'

Подстрока: выделить часть строки в другую строку.

s := '123456789';

s1 := Copy ( s, 3, 6 );
s2 := Copy ( s1, 2, 3 );

'345678'

'456'

с 3-его символа

6 штук


Слайд 13 Удаление и вставка
Удаление части строки:
Вставка в строку:
s :=

Удаление и вставкаУдаление части строки:Вставка в строку:s := '123456789';Delete ( s,

'123456789';
Delete ( s, 3, 6 );
с 3-его символа
6

штук

строка
меняется!

'123456789'

'129'

s := '123456789';
Insert ( 'ABC', s, 3 );
Insert ( 'Q', s, 5 );

куда вставляем

что вставляем

начиная с 3-его символа

'12ABC3456789'

'12ABQC3456789'


Слайд 14 Поиск в строке
Поиск в строке:
s := 'Здесь был

Поиск в строкеПоиск в строке:s := 'Здесь был Вася.';n := Pos

Вася.';
n := Pos ( 'е', s );
if n >

0 then
writeln('Буква е – это s[', n, ']')
else writeln('Не нашли');
n := Pos ( 'Вася', s );
s1 := Copy ( s, n, 4 );

s[3]

3

n = 11

Особенности:
функция возвращает номер символа, с которого начинается образец в строке
если слова нет, возвращается 0
поиск с начала (находится первое слово)

var n: integer;


Слайд 15 Примеры
s := 'Вася Петя Митя';
n := Pos (

Примерыs := 'Вася Петя Митя';n := Pos ( 'Петя', s );Delete

'Петя', s );
Delete ( s, n, 4 );
Insert (

'Лена', s, n );

'Вася Лена Митя'

s := 'Вася Петя Митя';
n := length ( s );
s1 := Copy ( s, 1, 4 );
s2 := Copy ( s, 11, 4 );
s3 := Copy ( s, 6, 4 );
s := s3 + s1 + s2;
n := length ( s );

'Вася Митя'

14

'Вася'

'Митя'

'Петя'

'ПетяВасяМитя'

12

6


Слайд 16 Пример решения задачи
Задача: Ввести имя, отчество и фамилию.

Пример решения задачиЗадача: Ввести имя, отчество и фамилию. Преобразовать их к

Преобразовать их к формату «фамилия-инициалы».
Пример:
Введите имя,

фамилию и отчество:
Василий Алибабаевич Хрюндиков
Результат:
Хрюндиков В.А.

Алгоритм:
найти первый пробел и выделить имя
удалить имя с пробелом из основной строки
найти первый пробел и выделить отчество
удалить отчество с пробелом из основной строки
«сцепить» фамилию, первые буквы имени и фамилии, точки, пробелы…


Слайд 17 Программа
program qq;
var s, name, otch: string;
n:

Программаprogram qq;var s, name, otch: string; n: integer;begin writeln('Введите имя, отчество

integer;
begin
writeln('Введите имя, отчество и фамилию');
readln(s);

n := Pos(' ', s);
name := Copy(s, 1, n-1); { вырезать имя }
Delete(s, 1, n);
n := Pos(' ', s);
otch := Copy(s, 1, n-1); { вырезать отчество }
Delete(s, 1, n); { осталась фамилия }
s := s + ' ' + name[1] + '.' + otch[1] + '.';
writeln(s);
end.

Слайд 18 Задания

«3»: Ввести в одну строку фамилию, имя и

Задания«3»: Ввести в одну строку фамилию, имя и отчество, разделив их

отчество, разделив их пробелом. Вывести инициалы и фамилию.

Пример:
Введите фамилию, имя и отчество:
Иванов Петр Семёнович
Результат:
П.С. Иванов
«4»: Ввести имя файла (возможно, без расширения) и изменить его расширение на «.exe».
Пример:
Введите имя файла: Введите имя файла:
qqq qqq.com
Результат: Результат:
qqq.exe qqq.exe

Слайд 19 Задания

«5»: Ввести путь к файлу и «разобрать» его,

Задания«5»: Ввести путь к файлу и «разобрать» его, выводя каждую вложенную

выводя каждую вложенную папку с новой строки
Пример:


Введите путь к файлу:
C:\Мои документы\10-Б\Вася\qq.exe
Результат:
C:
Мои документы
10-Б
Вася
qq.exe

Слайд 20 Задачи на обработку строк
Задача: с клавиатуры вводится символьная

Задачи на обработку строкЗадача: с клавиатуры вводится символьная строка, представляющая собой

строка, представляющая собой сумму двух целых чисел, например:
12+35
Вычислить эту

сумму:
12+35=47

Алгоритм:
найти знак «+»
выделить числа слева и справа в отдельные строки
перевести строки в числа
сложить
вывести результат


Слайд 21 Преобразования «строка»-«число»
Из строки в число:
s := '123';
Val (

Преобразования «строка»-«число»Из строки в число:s := '123';Val ( s, N, r

s, N, r ); { N = 123 }

{ r = 0, если ошибки не было
r – номер ошибочного символа}
s := '123.456';
Val ( s, X, r ); { X = 123.456 }

Из числа в строку:

N := 123;
Str ( N, s ); { '123' }
X := 123.456;
Str ( X, s ); { '1.234560E+002' }
Str ( X:10:3, s ); { ' 123.456' }

var N, r: integer;
X: real;
s: string;



Слайд 22 Программа
program qq;
var s, s1, s2: string;
r,

Программаprogram qq;var s, s1, s2: string; r, n, n1, n2, sum:

n, n1, n2, sum: integer;
begin
writeln('Введите выражение (сумму чисел):');

readln(s);
n:= Pos('+', s);
s1:= Copy(s, 1, n-1);
s2:= Copy(s, n+1, Length(s)-n);
Val(s1, n1, r);
Val(s2, n2, r);
sum:= n1 + n2;
writeln(n1, '+', n2, '=', sum);
end.

слагаемые-строки

слагаемые-числа

сумма

слагаемые-строки

слагаемые-числа


Слайд 23 Задания

«3»: Ввести арифметическое выражение: разность двух чисел. Вычислить

Задания«3»: Ввести арифметическое выражение: разность двух чисел. Вычислить эту разность. Пример:

эту разность.
Пример:
25-12
Ответ: 13
«4»: Ввести арифметическое

выражение: сумму трёх чисел. Вычислить эту сумму.
Пример:
25+12+34
Ответ: 71

Слайд 24 Задания

«5»: Ввести арифметическое выражение c тремя числами, в

Задания«5»: Ввести арифметическое выражение c тремя числами, в котором можно использовать

котором можно использовать сложение и вычитание. Вычислить это выражение.

Пример: Пример:
25+12+34 25+12-34
Ответ: 71 Ответ: 3
Пример: Пример:
25-12+34 25-12-34
Ответ: 47 Ответ: -21

Слайд 25 Задания

«6»: Ввести арифметическое выражение c тремя числами, в

Задания«6»: Ввести арифметическое выражение c тремя числами, в котором можно использовать

котором можно использовать сложение, вычитание и умножение. Вычислить это

выражение.
Пример: Пример:
25+12*3 25*2-34
Ответ: 61 Ответ: 16
Пример: Пример:
25-12+34 25*2*3
Ответ: 47 Ответ: 150

Слайд 26 Посимвольный ввод
Задача: с клавиатуры вводится число N, обозначающее

Посимвольный вводЗадача: с клавиатуры вводится число N, обозначающее количество футболистов команды

количество футболистов команды «Шайба», а затем – N строк,

в каждой из которых – информация об одном футболисте таком формате:
<Фамилия> <Имя> <год рождения> <голы>
Все данные разделяются одним пробелом. Нужно подсчитать, сколько футболистов, родившихся в период с 1988 по1990 год, не забили мячей вообще.

Алгоритм:

for i:=1 to N do begin
{ пропускаем фамилию и имя }
{ читаем год рождения Year и число голов Gol }
if (1988 <= Year) and (Year <=1990) and
(Gol = 0) then { увеличиваем счетчик }
end;


Слайд 27 Посимвольный ввод
Пропуск фамилии:
repeat
read(c);
until c = ' ';

Посимвольный вводПропуск фамилии:repeat read(c);until c = ' '; { пока не

{ пока не встретим пробел }
var c: char;
Пропуск имени:
repeat

read(c); until c = ' ';

Ввод года рождения:

read(Year); { из той же введенной строки }

var Year: integer;

Ввод числа голов и переход к следующей строке:

readln(Gol); { читать все до конца строки }

var Gol: integer;


Слайд 28 Программа
program qq;
var c: char;
i, N, count,

Программаprogram qq;var c: char; i, N, count, Year, Gol: integer;begin writeln('Количество

Year, Gol: integer;
begin
writeln('Количество футболистов');
readln(N);
count := 0;

for i:=1 to N do begin
repeat read(c); until c = ' ';
repeat read(c); until c = ' ';
read(Year);
readln(Gol);
if (1988 <= Year) and (year <= 1990) and
(Gol = 0) then count := count + 1;
end;
writeln(count);
end.

repeat read(c); until c = ' ';
repeat read(c); until c = ' ';
read(Year);
readln(Gol);


Слайд 29 Посимвольный ввод
Если фамилия нужна:
fam := ''; { пустая

Посимвольный вводЕсли фамилия нужна:fam := ''; { пустая строка }repeat read(c);

строка }
repeat
read(c); {

прочитать символ }
fam := fam + c; { прицепить к фамилии }
until c = ' ';

Вместо read(Year):

s := ''; { пустая строка }
repeat
read(c); { прочитать символ }
s := s + c; { прицепить к году }
until c = ' ';
Val(s, Year, r); { строку – в число }

var fam: string;

var s: string;


Слайд 30 Посимвольный ввод
Если нужно хранить все фамилии:
const MAX =

Посимвольный вводЕсли нужно хранить все фамилии:const MAX = 100;var fam: array[1..MAX]

100;
var fam: array[1..MAX] of string;
...
fam[i] := ''; { пустая

строка }
repeat
read(c); { прочитать символ }
fam[i] := fam[i] + c;
until c = ' ';

массив символьных строк


Слайд 31 Задания

«3»: Вывести фамилии и имена всех футболистов, которые

Задания«3»: Вывести фамилии и имена всех футболистов, которые забили больше двух

забили больше двух голов.
Пример:
Иванов Василий
Семёнов

Кузьма
«4»: Вывести фамилию и имя футболиста, забившего наибольшее число голов, и количество забитых им голов.
Пример:
Иванов Василий 25

Информация о футболистах вводится так же, как и для приведенной задачи (сначала N, потом N строк с данными).


  • Имя файла: mirovoe-hozyaystvo.pptx
  • Количество просмотров: 170
  • Количество скачиваний: 0
- Предыдущая Oxford Cambridge