русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Задания для самостоятельной работы


Дата добавления: 2015-07-23; просмотров: 1263; Нарушение авторских прав


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

Решение. Все знаки сравнения и скобки перечислим в строковой константе srav_sk. В теле программы последовательно рассмотрим все символы введенной строки s, проверяя каждый на вхождение в строку srav_sk, выводя на экран содержащиеся в строковой константе символы строки s.

program string_1;

const srav_sk='<>=(){}[]';

var s:String; i:Integer;

begin

Writeln('Введите строку:'); Readln(s);

for i:=1 to Length(s) do

if Pos(s[i],srav_sk)<>0 then write(s[i]);

Readln

end.

Пример 2. Дана строка, состоящая из слов, разделенных пробелами (одним или несколькими). Составить программу обработки данной строки, выводящую через запятую слова четной длины, которые при обмене местами левой и правой половины дают то же слово (например, папа, мама, канкан).

Решение. В строке, последовательно перебирая элементы, будем выделять начало ns и конец ks каждого слова, копировать слово в другую строковую переменную, а затем проверять четность длины и равенство частей строки slovo. Слова, для которых выполнено условие задания будем склеивать в переменной otv. После добавления к ответу последнего слова в конце otv будет лишняя запятая, которую перед выводом на экран необходимо удалить.

program string_2;

var s, slovo, otv:String; ns, ks, i, m: Integer;

begin

Writeln ('Введите строку:'); Readln(s);

i:=1; ns:=1; otv:=''; s:=s+' ';

while i<=Length(s) do

begin

while (i<=Length(s)) and (s[i]<>' ') do i:=i+1; {ищем очередной пробел}

ks:=i; slovo:=Copy(s, ns, ks-ns); {выделяем слово}

m:=Length(slovo) div 2; {половина длины слова}

if (Length(slovo) mod 2=0) and (Copy(slovo,1,m)=Copy(slovo,m+1,m))

{если слово имеет четную длину}



then otv:= otv+slovo+ ','; {добавляем слово к ответу}

while (i<=Length(s)) and (s[i]=' ') do i:=i+1; {пропускаем пробелы}

ns:=i; {начало следующего слова}

end;

Delete(otv, Length(otv), 1); {удаляем лишнюю запятую в конце}

Writeln(otv);

Readln

end.

Варианты заданий

Задание 1. Составить программу обработки данной строки, позволяющую:

a) выписать все прописные буквы из данной строки в порядке их следования;

b) определить, содержатся ли в тексте цифры;

c) найти общее количество круглых, квадратных и фигурных скобок в тексте;

d) выписать все знаки препинания из данной строки, сохранив их последовательность;

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

a) слова, одинаково читающиеся справа налево и слева направо;

b) слова заданной длины, в которые входит данная буква;

c) слова, начинающиеся с прописной буквы, в которых все остальные буквы строчные;

d) слова, которые начинаются и заканчиваются одной и той же буквой и содержат хотя бы одну введенную с клавиатуры букву.

 



<== предыдущая лекция | следующая лекция ==>
Строковые функции и процедуры | МНОЖЕСТВА. ДАННЫЕ ТИПА SET


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.606 сек.