Задача 1

Оставить в строке только первое вхождение каждого символа, взаимный порядок оставленных символов сохранить.

 

program z1;var s: set of char;inp, res: string;i: byte; begin s:=[]; res:= ''; for i:= 1 to length(inp) do if not(inp[i] in s) then begin res:= res+inp[i]; s:= s+[inp[i]]; end;end.

Задача 2

Оставить в строке только последнее вхождение каждого символа, взаимный порядок оставленных символов сохранить.

program z2;var inp, res: string; i: byte; begin res:= ''; for i:= 1 to length(inp) do begin k:= pos(inp[i],res); if k<>0 then delete(res,k,1); res:= res+inp[i]; end;end.

Задача 3

Выдать первые 100 000 натуральных чисел в случайном порядке без повторений.

 

program z3;var bset: array[0..12499] of byte; {множество, битовый массив} ed: array[1..8] of byte; el,k: longint; kmp,bin: integer;begin ed[1]:= 1; {генерация массива битовых единиц} for k:= 2 to 8 do ed[k]:= ed[k-1] shl 1;{-------------------------------------------------------} k:=0; randomize; {процедура активизации генератора случайных чисел} while k<100000 dobegin el:= 1+random(99999); {случайное число из диапазона 0..99999} kmp:= el div 8; bit:= el mod 8; if bit=0 then bit:= 8; if bset[kmp]and ed[bit]=0 {проверка повторов} then begin inc(k); writeln(el); bset[kmp]:= bset[kmp]or ed[bit] end;endend.

3. ОБЪЕКТЫ ИССЛЕДОВАНИЯ, ОБОРУДОВАНИЕ, МАТЕРИАЛЫ И НАГЛЯДНЫЕ ПОСОБИЯ

3.1. IBM – совместимый компьютер.

3.2. Установленная операционная система Windows.

3.3. Установленное приложение Borland Delphi.

3.4. Справочная система приложения Borland Delphi.

 

4. ЗАДАНИЕ НА РАБОТУ

4.1. Изучение теоретические положения работы по программированию в среде Borland Delphi.

4.2. Выполнение индивидуального задания преподавателя по программированию в пределах вопросов, рассмотренных в данной лабораторной работе.

 

5. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

5.1. Ознакомиться с теоретическими положениями данной лабораторной работы.

5.2. Выполнить индивидуальное задание преподавателя по программированию (по заданиям приложения).

5.3. Оформить отчет по работе.

5.4. Защитить лабораторную работу путем ответа на вопросы преподавателя.

 

6. СОДЕРЖАНИЕ ОТЧЕТА

6.1. Описание цели работы.

6.2. Основные теоретические положения работы

6.3. Содержание индивидуального задания преподавателя по программированию.

6.4. Описание методики выполнения индивидуального задания.

 

7. СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

7.1. Delphi 7 : [наиболее полное руководство] / А. Д. Хомоненко [и др.];под общ.ред.А.Д.Хомоненко .— СПб. : БХВ - Петербург, 2007 .— 1216с. : ил. (7 экз.)

7.2. Программирование в Delphi 7 / П. Г. Дарахвелидзе, Е. П.Марков .— СПб.: БХВ -Петербург, 2004 .— 784c. : ил. (1 экз.)

7.3 Осипов Д. Delphi. Профессиональное программирование. - СПб.: Символ-Плюс, 2006. -1056 с., ил.

 

ПРИЛОЖЕНИЕ

 

Индивидуальные задания

 

1. Строковый тип данных

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

1.2. Найти последнее вхождение заданной подстроки в строку.

1.3. Найти n-е вхождение подстроки в строку.

1.4. Удалить ведущие и конечные пробелы в строке.

1.5. Удалить повторные пробелы в строке. Из каждой группы расположенных рядом пробелов должен остаться только один.

1.6. Проверить, встречаются ли в заданной строке только две буквы а?

 

1.7. Написать процедуру удаления повторных гласных в слове. Например, если в слове есть буква а, то после преобразований она должна остаться одна, другие буквы а должны быть удалены.

1.8. Найти i-e вхождение символа х в строку s.

1.9. Заменить в строке s символы аа, стоящие рядом, на символ ya.

1.10. В заданной строке удалить часть между символами с номерами i и j.

1.11. В заданной строке удалить часть между символом с номером i и буквой а, если она находится правее символа i, в противном случае удалить все символы до конца строки.

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

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

1.14. В английском предложении слова разделены одним пробелом. Во всех словах, следующих за артиклями а и the, первую букву заменить на прописную. Написать программу, выполняющую эту работу.

1.15. Написать программу, определяющую самую часто встречающуюся букву в заданном английском тексте (все буквы в нем строчные).

1.16. В предложении, состоящем из слов, разделенных одним пробелом, заменить первую букву у слов, следующих за словами die, der, das, на прописную.

1.17. В заданном предложении переставить слова в порядке возрастания их длины.

1.11. Все слова заданного английского текста переписать «пословно» в массив.

1.19. Написать программу, удаляющую из заданного текста все части, заключенные в круглые скобки, вместе со скобками.

1.20. Написать программу, подсчитывающую, сколько раз в предложении встречается указанное слово.

1.21. Написать программу, определяющую, какой процент слов в тексте начинается на букву k.

1.22. Написать программу, определяющую, на какую букву чаще всего начинаются слова в заданном предложении.

1.23. Написать программу, проверяющую, все ли буквы слова KEY встречаются в заданном слове.

1.24. Задана строка вида: '01234567890123456789'. Написать программу, печатающую с помощью заданной строки таблицу вида

…………...

1.25. Написать программу, проверяющую, можно ли из букв заданного слова получить другое заданное слово.

1.26. Написать программу, которая удаляет из заданного предложения все вхождения заданного слова.

1.27. Задана строка, состоящая из слов, разделенных одним или несколькими пробелами. Удалить повторные вхождения каждого слова.

1.28. В заданном английском слове удалить повторные (встречающиеся больше одного раза) вхождения каждой гласной буквы.

1.29. Результаты измерений углов вводятся с клавиатуры до тех пор, пока не будет введен нуль. Измерения разделяются пробелами. Каждое измерение содержит градусы, минуты и секунды, разделенные запятыми. «Ведущие» нули опускаются. Примером ввода может служить строка:

«36,18,5 12,7,54 0,0,13 0». Написать программу, выявляющую наибольший угол и сумму измерений.

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

 

2. Типы данных «множество» и «запись»

2.1. Написать программу, проверяющую, является ли строка символов числом с плавающей точкой, т.е. состоит ли оно из цифр, знаков «+» и «-», точки, разделителя «е» или «Е», причем точка не может быть первым и последним символом мантиссы и не используется в порядке.

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

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

2.4. Написать программу, которая в заданной строке, состоящей из слов, отделенных одним или несколькими пробелами, удаляет слова, содержащие хотя бы одну цифру.

2.5. Заданы два слова. Написать программу, которая проверит, можно ли получить второе слово из букв первого.

 

Даны два непустых множества прописных и строчных букв. Написать программу, которая выводит:

2.6. общие буквы исходных множеств;

2.7. все буквы, встречающиеся в обоих множествах;

2.8. буквы, которых нет как в первом, так и во втором множестве;

2.9. буквы, которые есть в первом множестве, но нет во втором;

2.10. прописные буквы, которые есть во втором множестве, но нет в первом;

2.11. все буквы, встречающиеся в обоих множествах, но без различения прописных и строчных;

2.12. выводит перечисленные множества в алфавитном порядке;

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

 

Даны ml и m2 — множества номеров деталей двух механизмов, р - множество номеров пластмассовых деталей. Номер детали представляет собой трехзначное натуральное число. Нависать программу, которая вводит заданные множества с клавиатуры (признаком окончания ввода каждого множества является нуль) и выводит номера:

2.14. пластмассовых деталей среди деталей первого механизма;

2.15. одинаковых пластмассовых деталей среди деталей первого и второго механизмов;

2.16. пластмассовых деталей, которых нет среди деталей второго механизма;

2.17. индивидуальных деталей каждого механизма, не являющихся пластмассовыми.

2.18. В табл. 1 хранится список сотрудников фирмы, в табл. 2 – список сотрудников, владеющих английским языком, в табл. 3 – список сотрудников, владеющих французским языком, в табл. 4 – список сотрудников, владеющих немецким языком. Написать программу, выводящую фамилии сотрудников фирмы, не владеющих иностранными языками.

2.19. Массив содержит элементы, соответствующие росту школьников. Написать программу выбора школьников, рост каждого из которых меньше R.

2.20. Массив содержит элементы, соответствующие весу школьников. Написать программу выбора школьников, суммарный вес которых больше А.

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

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

2.23. Пусть точка описывается типом:

type

point = record

x,y : rea

end;

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

2.24. Используя понятие «запись», описать тип дата. Написать программу, которая из двух дат будет определять более раннюю, находить количество суток между заданными датами, количество лет, месяцев дней между заданными датами.

2.25. Пусть поле шахматной доски описывается типом

type

doska = record

vert : (a, b, с, d, e, f, g, h);

horiz : 1..8;

end;

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


Министерство образования и науки Российской Федерации

 

 

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

«Тульский государственный университет»

 

 

Политехнический институт

Кафедра «Сварка, литье и технология конструкционных материалов»

 








Дата добавления: 2015-03-19; просмотров: 1211;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.019 сек.