Учебно-методическое пособие для учащихся заочной школы юных техников, обучающихся по направлению «программирование»


НазваниеУчебно-методическое пособие для учащихся заочной школы юных техников, обучающихся по направлению «программирование»
страница6/10
ТипУчебно-методическое пособие
1   2   3   4   5   6   7   8   9   10



Литература


  1. Вирт Н. Алгоритмы + структуры данных = программы. М., 1985.

  2. Голубь Н.Г., Кириленко Е.Г. Алгоритмические языки и программирование: Учебное пособие, часть 1. ХАИ, 1997.

  3. Грогоно П. Программирование на языке Паскаль. М., 1982.

  4. Джонс Ж., Харроу К. Решение задач в системе Турбо Паскаль. М., 1991.

  5. Йенсен К., Вирт Н. Паскаль: руководство для пользователя. М., 1989.

  6. Пильщиков В.Н. Сборник упражнений по языку Паскаль. М., 1989.

  7. Фаронов В.В. Турбо Паскаль 7.0. Начальный курс. Учебное пособие. М., 1997.

  8. Фаронов В.В. Турбо Паскаль 7.0. Практика программирования. Учебное пособие. М., 1997.

ЗАДАНИЕ № 6



Символьные и строковые типы данных в Pascal
Цель работы. Разработать алгоритмы и программы решения задач. Исходные данные –символы и строки ( типы char, string). Использовать операторы цикла для посимвольной обработки строк и стандартные процедуры и функции для обработки строк.

Теоретическая часть:

Наряду с числовой информацией в Паскале используется алфавитно-цифровая или символьная информация, которая  включает в себя заглавные, строчные буквы, цифры от 0 до 9 и  вспомогательные  символы. Для описания символьных и строковых переменных используются типы данных CHAR или STRING.
Тип  данных CHAR

Каждая переменная символьного типа может принимать значение только одного символа. Все символы упорядочены в соответствии с принятым в ЭВМ коде (например, ASCII). При этом порядковый номер символов называется кодом (например, код латинского символа 'А '  равен 65; символа '3' равен 51).

Для символьных данных не определены никакие арифметические операции, но они могут сравниваться по своим кодам, участвовать в чтении, печати, операторах присваивания. Существуют две стандартные функции преобразования

Для работы с символами в Паскале часто используются следующие функции:

  • ord(ch) - численное значение(код) символа.

Например, ord('Д') = 132, ord('Е') = 133 и т.д. Букве Д соответствует номер (код) в таблице символов - 132. Это таблица ASCII - Американский стандартный код для обмена информацией, в которой закодировано 256 символов, и каждый из них имеет свой номер (код).

Таблицу ASCII - можно разделить на 2 части: 1 часть - 128 кодов символов, которая является общей и неизменной. 2 часть (расширение) - еще 128 кодов, вариативная, которая содержит коды национальных алфавитов и иные символы. Для русскоязычных пользователей подходит расширение таблицы ASCII, известное как кодовая таблица 866.

  • chr ( k ) - возвращает  символ по его коду, где k - код символа.

Например: chr(133) = 'E'

  • pred(ch) - предыдущий символ, например pred('F') ='E'

  • succ(ch) - следующий символ, например succ('F') = 'G'

Строка - это ограниченная апострофами последовательность любых символов

Например: ' jlhhf ' , ' qwerty ', ' 12345 ' , ' Привет ! '

Строку можно представить как массив, элементы которого имеют тип CHАR. Например: BUK: array[1..17] of char;

Массив BUK - массив символов, который содержит 17 символов. Если символов меньше, то строка дополняется пробелами справа. В противном случае возникает ошибка несоответствия типов. Так как массивы символов являются обычными массивами с элементами типа CHAR, они обладают всеми свойствами массивов.

Пример: Из набора 10 любых символов напечатать только заглавные английские буквы и их коды.

program lr1;
type sl =array [1..10] of char;
var   s: sl; {описание массива символов}
i: integer;
begin 
writeln ('введите 10  символов'):
for i:=1 to 10 do  readln (s[i]);          {ввод массива}
for i:=1 to 10 do
if (s[i]>=’A’) and (s[i]<= ‘Z’) then  writeln (‘Символ :’, s[i], ‘ его код =’, ord (s[i]);
readln;
end.
Тип данных STRING

В Турбо Паскале предусмотрен тип данных STRING. Переменная типа STRING может принимать значения переменной длины. Максимально возможная длина переменной 255 символов. Например:

var

str: STRING[200];

ow: STRING[10];

В скобках указывается максимальная длина для данной переменной. Для ввода значений типа STRING необходимо использовать READLN, а не READ. За один раз может быть введена только одна строка. Две строки можно сравнивать, используя операции отношения (сначала сравниваются самые левые символы, если они равны, то сравниваются следующие). Для работы с переменными типа STRING используют следующие стандартные процедуры и функции:

1) Функция LENGTH
C:=LENGTH(st); Переменной С будет присвоено целое значение, показывающее количество символов в строковой переменной st . Например:

Значение st

Выражение

Результат

‘abcd’

Length(st)

4


2) Функция СОNCAТ - сцепление строк в порядке их перечисления.
st:=CONCAT(st1,st2,...,stN); st-переменная типа STRING, состоящая из строк st1,...,stN.

Например:

Выражение

Результат

concat(‘Фамилия ‘,’Имя ’,’Отчество’)

‘Фамилия Имя Отчество’


3) Функция POS
P:=POS (st1, st2); Р- целое число, показывающее номер позиции, с которой начинается строка st1 в строке st2.

Например:

Значение st

Выражение

Результат

‘abcd’

Pos (‘bc’,st)

2


4) Функция COPY 
S1:=COPY( st, I, J); Sl-символьная подстрока, выделенная из строки st с позиции I, длиной J символов.

Например:

Значение st

Выражение

Результат

‘abcd’

copy(st,3,2)

‘cd’


5) Процедура DELETE(St, I, J); 
Из строки st удаляется J символов, начиная с I позиции.

Значение st

Выражение

Результат

‘abcd’

delete(st,1,2)

‘cd’


6) Процедура INSERT(Str1, Str2, I);
Строка Str1 вставляется с I позиции в строку Str2.

Значение st

Выражение

Результат

‘abcd’

insert(st,’****’,3)

‘**abcd**’


7) Процедура STR (V, St);
Числовое значение переменной V преобразуется в строку символов и записывается в строку St.

Значение v

Выражение

Результат

-140

str(v,st)

‘-140’


8) Процедура VAL (St, V, C);

Значение st

Выражение

Результат

‘-140’

val (st,v,c)

C=0

‘1.2E+01’

val (st,v,c)

C=0

’12-5’

val (st,v,c)

C=3


Строковое выражение st преобразуется в величину целочисленного или вещественного типа и записывается в переменной V . Если при  этом ошибок не обнаруживается, то С будет равно 0 . В противном  случае значение С будет равно номеру позиции первого ошибочного символа и V будет неопределенно. Строка st не должна содержать незначащих пробелов, переменная V может быть целой или вещественной, а переменная С - только целой.


Пример: Подсчитать количество слов во введенной с клавиатуры строке.

program lr2;
var
s: string[30];
kol, i, n: integer;
begin

writeln ('введите строку');

readln (s);
kol:=0;          {счетчик количества слов}
n:= length(s);            {определяем длину введенного текста}
s:= concat('  ',s); {добавляем пробел к первому слову}
for i:=1 to n do
if (copy (s,i,1)='  ') and (copy (s,i+1,1)<>' ')  then  kol := kol+1; {подсчет количества слов}
writeln (s,'  количество слов= ',  kol);
readln;

end.
Задачи для самостоятельного решения:

  1. Напишите программу, подсчитывающую количество букв во введенном с клавиатуры слове. Ввод осуществляйте в цикле while do. Выход из программы — строка '999'.

  2. Напишите программу, подсчитывающую количество вхождений заданной буквы во введенную строку.

  3. Напишите программу, которая вводит строку и выводит ее, сокращая каждый раз на 1 символ до тех пор, пока в строке не останется 1 символ

  4. Напишите программу, определяющую число слов в строке. Одно слово от другого отделяется одним пробелом.

  5. Напишите программу, определяющую, является ли введенное слово числом.

  6. Введите 2 целых числа. Преобразуйте числа в две строки, объедините их в одну строку и выведите на экран результат.

  7. Напишите программу, которая удаляет из введенной строки любой введенный с клавиатуры символ. В результате должна получиться программа-модель работы одного из режимов любого текстового редактора.

  8. Напишите программу, удаляющую из введенной строки все пробелы. Для удаления примените в ней оператор Repeat и функцию Pos.

  9. Напишите программу, сортирующую символы введенной с клавиатуры строки в порядке возрастания их номеров в ASCII-таблице. Например, если введено: 'СВА', в результате надо получить "ABC.

  10. Вычислите длину самого короткого слова в предложении из трех слов, разделенных пробелами.

  11. Выясните, какая из букв — первая или последняя — встречается в заданном слове чаще.

  12. Задано существительное первого склонения, оканчивающееся на «а». Напечатайте это слово во всех падежах..

  13. Сколько букв «у» в заданном слове стоит на четных местах?

  14. Замените в заданном слове все буквы «о» пробелами.

  15. В тексте, состоящем из латинских букв и заканчивающемся точкой, подсчитайте количество гласных букв.

  16. Даны два слова. Поменяйте местами буквы этих слов, занимающие одинаковые позиции.

  17. Заданы фамилия, имя и отчество учащегося, разделенные пробелами. Напечатайте его фамилию и инициалы.

  18. Дан текст, в котором слова разделены пробелами: подсчитайте число слов в тексте; найдите самое длинное слово текста (длина текста 100 символов).

  19. Задан текст, состоящий из слов, разделенных одним или несколькими пробелами. Сформируйте новый текст, включив в него слова заданного текста, разделенные только одним пробелом.

  20. Сложное слово состоит из двух частей одинаковой длины и соединительной гласной. Найдите обе части этого слова.


Контрольные вопросы

  1. Что такое строка?

  2. Каким идентификатором определяются данные строкового типа?

  3. Какова максимально возможная длина строки? Как определить текущую длину строки?

  4. Какие выражения называются строковыми?

  5. Какие операции допустимы над строковыми данными?

  6. Каким образом производится сравнение строк?

  7. Как можно обратиться к отдельным символам строки?

  8. Объясните назначение специальных процедур и функций обработки данных строкового типа. Приведите примеры.


Литература

  1. Бабушкина И.А. Практикум по Турбо Паскалю.- М.: АБФ, 1998.

  2. Емелина Е.И. Основы программирования на языке Паскаль. - М.: Финансы и статистика,1997.

  3. Зуев Е.А. Turbo Pascal. Практическое программирование.- М.: ПРИОР, 1997 .

  4. Фаронов В.В. Турбо-Паскаль 7.0. Начальный курс. Учебное пособие.- М.:"Нолидж",1998.
1   2   3   4   5   6   7   8   9   10

Похожие:

Учебно-методическое пособие для учащихся заочной школы юных техников, обучающихся по направлению «программирование» iconУчебно-методическое пособие по дисциплине «Бюджетное планирование и прогнозирование»
Учебно-методическое пособие предназначено для бакалавров, обучающихся по направлению 38. 03. 01 «Экономика» профиль «Финансы и кредит»...

Учебно-методическое пособие для учащихся заочной школы юных техников, обучающихся по направлению «программирование» iconУчебно-методическое пособие по дисциплине «Расходы бюджета»
Учебно-методическое пособие предназначено для бакалавров, обучающихся по направлению 38. 03. 01 «Экономика» профиль «Финансы и кредит»...

Учебно-методическое пособие для учащихся заочной школы юных техников, обучающихся по направлению «программирование» iconОрганизация практик и итоговой аттестации: учебно-методическое пособие...
Учебно-методическое пособие предназначено для студентов, обучающихся по направлению «Туризм» (уровень «бакалавриат») и для преподавателей...

Учебно-методическое пособие для учащихся заочной школы юных техников, обучающихся по направлению «программирование» iconОрганизация практик и итоговой аттестации: учебно-методическое пособие...
Учебно-методическое пособие предназначено для студентов, обучающихся по направлению «Туризм» (уровень «бакалавриат») и для преподавателей...

Учебно-методическое пособие для учащихся заочной школы юных техников, обучающихся по направлению «программирование» iconУчебно-методическое пособие для семинарских занятий (Практикум)
Учебно-методическое пособие предназначено для подготовки студентов, обучающихся в Юридическом институте Сибирского федерального университета...

Учебно-методическое пособие для учащихся заочной школы юных техников, обучающихся по направлению «программирование» iconУчебно-методическое пособие по дисциплине Предпринимательское право
Учебно-методическое пособие предназначено для изучения студентами юридического факультета учебной дисциплины «Предпринимательское...

Учебно-методическое пособие для учащихся заочной школы юных техников, обучающихся по направлению «программирование» iconУчебно-методическое пособие по дисциплине «Трудовое право» для студентов,...
Учебно-методическое пособие по дисциплине «Трудовое право» составлено в соответствии с требованиями Государственного образовательного...

Учебно-методическое пособие для учащихся заочной школы юных техников, обучающихся по направлению «программирование» iconОрганизация и технология документационного обеспечения управления учебно-методическое пособие
...

Учебно-методическое пособие для учащихся заочной школы юных техников, обучающихся по направлению «программирование» iconУчебно-методическое пособие для студентов-бакалавров, обучающихся...
Б39 Таможенное право: учеб метод пособие / С. В. Безуглов. – Краснодар, 2013. – 56 с

Учебно-методическое пособие для учащихся заочной школы юных техников, обучающихся по направлению «программирование» iconУчебно-методическое пособие для студентов-бакалавров, обучающихся...
Б39 Таможенное право: учеб метод пособие / С. В. Безуглов. – Краснодар, 2013. – 56 с

Вы можете разместить ссылку на наш сайт:


Все бланки и формы на filling-form.ru




При копировании материала укажите ссылку © 2019
контакты
filling-form.ru

Поиск