Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Основы алгоритмизации и программирования
Основы алгоритмизации и программирования ЧАСТЬ 2 МЕТОДИЧЕСКИЕ УКАЗАНИЯ К ЛАБОРАТОРЫМ РАБОТАМ
Рекомендовано к изданию Редакционно-издательским советом государственного образовательного учреждения высшего профессионального образования «Оренбургский государственный университет»
Оренбург 2008
УДК 22.18я73 Д-29
Рецензент Заместитель директора по НМР Кузюшин С.А.
Дель Л.А. Д-29 Основы алгоритмизации и программирования [Текст]: в 2 ч.мето- Дическиекие указания к лабораторным работам. Часть 2/Л.А.Дель, А.А.Гурьянов. – Оренбург: ГОУ ОГУ, 2008. - 55 с. Методические указания предназначены для выполнения лабораторных работ, обеспечивающих учебный процесс по дисциплине “Основы алгорит- мизации и программирования” часть 2 в колледже электроники и бизнеса ОГУ для студентов 2 курса в 4 семестре специальности 220105.51 “программное обеспечение вычислительной техники и автоматизированных систем” очной и заочной формы обучения. Методические указания составлены с учетом Государственного образова- тельного стандарта среднего профессионального образования по направлению подготовки дипломированных специалистов - утвержденного 8.02.2002 Мини- стерством Образования Российской Федерации. ББК 22.18я73
ã Дель Л.А., 2008 ã Гурьянов А.А., 2008 ã ГОУ ОГУ, 2008
Содержание Введение 5 1 Лабораторная работа № 1. Составление и отладка программ с испол- зованием процедур и функций 6 1.1 Ход работы 6 1.2 Содержание отчета 6 1.3 Варианты заданий 6 1.4 Методические указания к лабораторной работе № 1 11 1.5 Вопросы к защите лабораторной работы № 1 12 2 Лабораторная работа № 2. Составление и отладка программ со строко- выми типами данных(Строки) 13 2.1 Ход работы 13 2.2 Содержание отчета 13 2.3 Варианты заданий 13 2.4 Методические указания к лабораторной работе № 2 16 2.5 Вопросы к защите лабораторной работы № 2 17 3 Лабораторная работа № 3. Составление и отладка программ с исполь- зованием множества 18 3.1 Ход работы. 18 3.2 Содержание отчета 18 3.3 Варианты заданий 18 3.4 Методические указания к лабораторной работе № 3 21 3.5 Вопросы к защите лабораторной работы № 3 26 4 Лабораторная работа № 4. Составление и отладка программ с комби-нированными типами данных (Записи) 26 4.1 Ход работы 26 4.2 Содержание отчета 27 4.3 Методические указания к лабораторной работе № 4 27 4.4 Варианты заданий 31 4.5 Пример программы 36 4.6 Вопросы к защите лабораторной работы №4 37 5 Лабораторная работа № 5. Назначение, открытие и закрытие файлов 37 5.1 Ход работы 37 5.2 Содержание отчета 38 5.3 Методические указания к лабораторной работе № 5. 38 5.4 Вопросы к защите лабораторной работы № 5 48 6 Лабораторная работа № 6. Процедуры и функции модуля System 48 6.1 Ход работы 49 6.2 Содержание отчета 49 6.3 Методические указания к лабораторной работе № 6 49 6.4 Вопросы для допуска к лабораторной работе № 6 50 7 Лабораторная работа № 7. Работа с временными и внешними файлами 50 7.1 Ход работы 51 7.2 Содержание отчета 51 7.3 Варианты заданий к лабораторной работе №7 51 7.4 Вопросы к защите лабораторной работы № 7 53 8 Вопросы к экзамену по предмету основы алгоритмизации и программи-рования 53 Список использованных источников 54
Введение Для успешного выполнение лабораторных работ на первом занятии студент должен получить у преподавателя график выполнения лабораторных работ на текущий семестр. Перед посещением лаборатории изучить теорию вопроса, предполагаемого к исследованию, ознакомиться с руководством по соответствующей работе. Оформление отчетов должно производиться после окончания работы непо-средственно в лаборатории, при наличии свободного времени или дома. Для подготовки к защите отчета следует проанализировать разработанные программные средства, сопоставить их с целевым назначением задания, обобщить результаты исследований в виде лаконичных выводов по работе. В данных методических указаниях рассмотрены особенности применения подпрограмм в виде процедуры или функций, примеры для усвоения темы. Структурированные типы данных: записи, строки., файлы. Организация доступа к файлам, процедуры и функции для работы с файлами, текстовые типизированные и не типизированные файлы. В таблице 1 представлены этапы и календарные сроки выполнения лабора-торных работ Таблица 1- Этапы выполнения лабораторных работ
1 Лабораторная работа №1 «Составление и отладка программ с использованием процедур и функций»
Цель работы: «Получение навыков в написании программ с исполь-зованием процедур и функций»
1.1 Ход работы:
1. Составить блок-схему по заданию своего варианта 2. Запустить интегрированную среду программирования Turbo Pascal 3. Набрать текст программы 4. Откомпилировать программу 5. Сохранить файл с программой на диске А: под именем lab1.pas 6. Распечатать текст программы и её результат 7. Составить отчет
1.2 Содержание отчёта: 1 Тема 2 Цель работы 3 Ход работы 4 Постановка задачи 5 Блок-схема 6 Листинг программы 7 Результаты программы
1.3 Варианты заданий: 1 Напишите программу, которая по значениям двух катетов вычисляет гипотенузу, площадь, радиусы вписанной и описанной окружностей прямоугольного треугольника? 2 Напишите программу, состоящую из трёх процедур и основной программы. Первая процедура организует ввод двух целых чисел X и Y, вторая вычисляет их сумму, третья выводит результат. 3 Напишите программу вычисления площади поверхности и длины экватора на основе известного радиуса планет солнечной системы. Форму планет будем считать шаром. Вычисление площади и длины экватора оформите отдельными функциями. 4 Составить программу поиска большего из четырёх чисел с использованием подпрограммы поиска большего из двух. 5 Даны координаты вершин многоугольника(X1, Y1, X2, Y2, …, X10, Y10). Определить его периметр(вычисление расстояния между вершинами оформить подпрограммой). 6 Вычислить сумму: 1! +2! +3! +…+n!, используя функцию вычисления фак-ториала числа k. 7 Вычислить сумму простых и сверхпростых чисел, не превосходящих заданного числа N. 8 Составьте программу вычисления сочетания из N по M. Число сочетаний определяется по формуле: . Используйте подпрограмму вычисления факториала. 9 Определить НОД трёх натуральных чисел. 10 Даны действительные числа S, t. Составить программу вычисления вы-ражения: f(t, -2S, 1.17)+f(2/2, t, S-1), где f(a, b, c)=(2a-b-Sin(c))/(5+|c|) 11 Составить программу перевода двоичной записи натурального числа в де-сятичную. 12 Составить программу сокращения дроби , где M и N натуральные числа 13 Составить программу вычисления суммы квадратов простых чисел, ле-жащих в интервале(M..N). 14 Составьте программу вывода на экран всех натуральных чисел, не пре-восходящих N и делящихся на каждую из своих цифр. 15 Составьте программу нахождения наименьшего натурального N-значного числа X(x> =10), равного утроенному произведению своих цифр 16 Составить программу сравнения площадей и периметров двух парал-лелограммов 17 Написать программу сравнения площадей и периметров двух пря-моугольных треугольников, если заданы их катеты. 18 Вычислить значение выражения: y: =a1 x4 + a 2*x3 +a3 *x2 +a4 *x +a 5 , где коэффициенты a1, a 2, a3, a4, a 5 и х – это числа, вводимые с клавиатуры. 19 Упорядочить значения трех переменных а, b и с в порядке их возрастания, используя процедуру перемены местами значений двух переменных. 20 Даны координаты трех вершин треугольника. Найти длины всех его сторон. 21 Дано натуральное число. Найти все его делители. Подсчитать их количе-ство. 22 Даны два натуральных числа. Определить, является ли первое число пере-вертышем второго? 23 Даны координаты трех вершин треугольника АВС и даны координаты чет-вертой точки D. Определить, является ли эта точка внутренней точкой треугольника. 24 Составить программу нахождения наибольшего общего делителя нес-кольких чисел, используя функцию нахождения НОД двух чисел(алгоритм Евклида). 25 Даны действительные числа s, t. Получить F(t, -2s, 1.17) + F(2.2, t, s – t), Где F(a, b, c)=2a-b-sinc. 5+½ c½ 26 Даны действительные числа s, t. Получить g(1.2, s)+g(t, s) – g(2s, t), Где n (а, b) 27 Даны действительные числа a, b, c. Получить max(a, a+b)+max(a, b+c) 1 + max(a+bc, 15) 28 Даны действительные числа a, b. Получить u = min(a, b), v = min(ab, a+b2), min(u + v, 3.14). 29 Дано натуральное число n. Среди чисел 1, 2, …, n найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел. (Определить процедуру, позволяющую распознавать полные квадраты.) 30 Даны действительные числа x1, y1, x2, y2, …, x10, y10. Найти периметр десятиугольника, вершины которого имеют соответственно координаты (x1, y1), (x2, y2), …, (x10, y10). (Определить процедуру вычисления расстояния между двумя точками, заданными своими координатами). 31 Даны действительные числа a, b, c, d. Найти площадь пятиугольника. (Определить процедуру вычисления площади треугольника по трем его сторонам). 32 Даны натуральное число n, действительные числа x1, y1, x2, y2, …, xn, yn,. Найти площадь n – угольника, вершины которого при некотором последовательном обходе имеют координаты (x1, y1), (x2, y2), …, (xn, yn). ( Определить процедуру вычисления площади треугольника по координатам его вершин). 33 Дано натуральное число n. Выяснить, имеются ли среди чисел n, n+1, …, 2n близнецы, т.е. простые числа, разность между которыми равна двум. (определить процедуру, позволяющую распознавать простые числа). 34 Дано натуральное число n; найти n!. Использовать программу, вклю-чающую рекурсивную процедуру вычисления n! Чем эта программа хуже не рекурсивной программы вычисления программы вычисления n!? 35 Даны натуральные числа n, m; найти НОД (n, m). Использовать программу, включающую рекурсивную процедуру вычисления НОД, основанную на соотношении НОД, основанную на соотношении НОД (n, m)=НОД (m, r), где r - остаток от деления n на m). Чем эта программа хуже не рекурсивной программы вычисления НОД (n, m)? 36 Даны натуральные числа a, c, m. Получить f(m), где n, если 0 £ n £ 9 f(n) = g(n) f( n-1-g(n) ) +n в противном случае. g(n)= остаток от деления an +c на 10
Использовать программу, включающую рекурсивную процедуру вычисления f(n). 37 Даны неотрицательные целые числа n, m; вычислить А(n, m), где m+1, если n=0, A(n, m) = A(n-1, 1), если n ¹ 0, m=0 A(n-1, A(n, m-1)), если n > 0, m > 0
Вычислить z-сумму значения функций z=f(a, b)+f(a2, b2)+f(a2-1, b)+f(a-b, b)+f(a2+b2, b2-1),
u2+t2, если u> 0, t> 0; f(u, t)= u+t2, если u £ 0, t £ 0; u-t, если u> 0, t £ 0; u+t, если u £ 0, t> 0; где a) a=2, 5; b=-7, 3; б) a=-0, 5; b=4, 2; в) a=-0, 2; b=-0, 42; г) a=23, 7; b=41, 2;
38 Вычислить z-сумму значения функций z=f(sin α, a)+f(cos α, a)+f(sin2 α, a-1)+f(sin α -cos α, a2-1)+f(sin2α -1, cosα +a), u+sin(t), если u> 0; f(u, t)= u+t, если u £ 0;
где a) α =π /18; a=-2, 1; б) α =2, 3; a=21, 3; в) α =-π /14; a=-0, 2; г) α =-π /10; a=31, 2;
39 Вычислить z-сумму значения функций z=f(Ö ï xï, y)+f(a, b)+f(Ö ï xï +1, -y)+f(ï xï -ï yï, x)+f(x+y, a+b), u + 2t, если u ³ 0; f(u, t)= u + t, если u £ -1; u +t, если -1< u< 0;
где a) x=2, 31; y=4, 2; a=3, 1; b=0, 02; б) x=-4, 21; y=-31, 2; a=1, 2; b=-3, 2; в) x=0, 34; y=17, 2; a=-4, 6; b=-0, 44; г) x=-14, 2; y=0, 31; a=7, 2; b=4, 7;
40 Вычислить z-сумму значений функций z=f(sin(x)+cos(y, x + y) + f(sin(x), cos(y) ) + f( x - y, x) + f (sin2(x) -2, a) +f(a+3, b + 1), u + t, если u> 1; f(u, t)= u-t, если 0 £ u £ 1; t - u, если u< 0; где a) x=3, 14; y=0, 41; a=0, 1; b=-2, 1; б) x=0, 32; y=3, 14/10; a=-0, 21; b=4, 2; в) x=19, 2; y=0, 48; a=-4, 3; b=-6, 1; г) x=0, 62; y=2/3; a=17, 1; b=0, 2;
41 Даны действительные числа а1, …, аn , b1, …bn. В последовательности а1, …, аn , и в последовательности b1, …bn все элементы, следующие за элементом с наибольшим значением(за первым по порядку, если их несколько), заменить на 0.5. 42 а) Написать программу, в ходе выполнения которой компоненты файла F1 переписываются в файл F2, а компоненты файла F2 - в файл F1. Использовать файл H как вспомогательный. Компоненты всех файлов имеют тип real. В Паскале не разрешены операторы присваивания вида: F: =G? где F и G имена файлов, поэтому следует описать процедуру присваивания присв(F, G); б) С помощью процедуры присв(F, G) (см. задание а)) написать программу, в ходе выполнения которой файлы F1, F2, F3, F4, F5 обмениваются компонентами в соответствии со следующей схемой: F1 F2 F3 F4 F5 F3 F4 F5 F3 F1 т.е. компоненты файла F1 переписываются в файл F3, компоненты файла F2 переписываются в файл F4 и т.д. Разрешается использовать только один дополнительный файл. 43 Дано: натуральное n, действительные a1, …, a3n. Получить x+y2+z2, где x=a1*a2*…*an, y=an+1*an+2*…*a2n, z=a2n+1*a2n+2*…*a3n. 44 Даны натуральные k, m. Требуется вывести на экран рамку из звездочек ****** * * * * * * ****** высота которой – k строк, ширина – m знаковых позиций. Полезно описать про-цедуру печати (s, n), обращение к которой дает вывод n символов s. 45 Дано: натуральное n, целые неотрицательные a1, …, an. Рассмотреть отрезки последовательности a1, …, an (идущих подряд членов), состоящей из: а) полных квадратов; б) степеней пятерки; в) простых чисел; г) совершенных чисел. В каждом случае получить наибольшую из длин рассматриваемых отрезков. (Описать процедуры, позволяющие распознавать полные квадраты, степени пя-терки, простые числа, совершенные числа.). 44 Даны действительные x1, y1, x2, y2, …, x10, y10. Найти периметр деся-тиугольника, вершины которого имеют, соответственно, координаты (x1, y1), (x2, y2), …, (x10, y10). Описать процедуру вычисления расстояния между двумя точками, заданными своими координатами. 45 Даны целые u1, u2, v1, v2, w1, w2 (u2, v2, w2 < > 0). Вычислить ,
где - рациональные числа . Ответ получить в виде двух взаимно простых чисел р1, р2 – числителя и знаменателя дроби, являющейся значе- нием выписанного выражения. Описать процедуру полного сокращения рационального числа, заданного числителем и знаменателем х, у (у> 0). Описать также процедуры сложения и умножения рациональных чисел.
Вопросы для защиты лабораторной работе №1 1.Что понимается под структурным программированием? Зачем оно при-меняется? 2.Что называется программой? 3.В чём различие между стандартными и определёнными пользователям про-граммами? Привести пример. 4.Что такое подпрограмма – процедура, подпрограмма – функция? Для чего они предназначены? 5.Сходство и отличие процедур и функций в языке Turbo Pascal? 6. Как в программе объявляется процедура, функция? 7. Как в программе вызывается процедура, функция? 8. Что называется параметром, и каково его назначение? 9..Каковы отличия параметров-значений от параметров переменных, особен-ности их описания и применения? 10. Чем отличаются локальные и глобальные параметры? Какова область их действия?
2 Лабораторная работа №2. Составление и отладка программ со строковыми типами данных (Строки).
Цель работы: Получение навыков в организации ввода/вывода значений строковых типов данных. Получение практических навыков программирования задач с использованием строк.
2.1 Ход работы: 1. Составить и отладить программу используя действия со строками и функции Contact, Length 2. Составить и отладить программу используя Pos, Delete, Insert 3. Выполнить индивидуальное задание по данной теме 4. Составить блок-схему по заданию своего варианта 5. Запустить интегрированную среду программирования Turbo Pascal набрать текст программы 6. Откомпилировать программу 7. Сохранить файл с программой на диске А: под именем lab3.pas 8. Распечатать текст программы и результат её работы 9.Составить отчёт 2.2 Содержание отчёта: 1.Тема 2. Цель работы 3.Ход работы 4.Постановка задачи 5.Блок-схемы к каждой задаче 6.Листинг программы 7.Результат выполнения программы 2.3 Варианты заданий: 1 Напишите программу, подсчитывающую количество букв во введенном с клавиатуры слове. Ввод осуществляйте в цикле while do. Выход из программы – строка ‘999’. 2 Напишите программу, подсчитывающую количество вхождений заданной вами буквы в введенной строке. 3 Напишите программу, которая вводит строку и выводит ее, сокращая каждый раз на 1 символ до тех пор, пока в строке не останется 1 символ. 4 Напишите программу, определяющую число слов в строке. Одно слово от другого отделяется 1 пробелом. 5 Составьте программу, определяющую, является ли введенное слово числом. 6 Введите 2 целых числа. Преобразуйте числа в две строки, объедините их в одну проку и выведите на экран результат. 7 Напишите программу, которая удаляет из введенной строки любой тре-буемый введенный с клавиатуры символ. Процесс удаления выделите в отдельную процедуру DelChInString, строку и символ определите как глобальные переменные. В результате у вас должна получиться программа-модель работы одного из режимов любого текстового редактора. 8 Составьте программу, удаляющую все пробелы из введенной строки. Для удаления постройте отдельную функцию NewSt и примените в ней оператор Repeat и функцию Pos. 9 Напишите программу, сортирующую символы введенной с клавиатуры стро-ки в порядке возрастания их номеров в ASCII-таблице. Например, если введено: 'СВА', в результате надо получить 'ABC'. 10 Вычислите длину самого короткого слова в предложении из трех слов, раз-деленных пробелами. 11 Выясните, какая из букв первая или последняя встречается в заданном сло-ве чаще. 12 Задано существительное первого склонения, оканчивающееся на " а". Напе-чатайте это слово во всех падежах. 13 Сколько букв " у" в слове стоит на четных местах? 14 Замените в заданном слове все буквы " о" пробелами. 15 Даны два слова. Поменяйте местами буквы этих слов, занимающие оди-наковые позиции. 16 Заданы фамилия, имя и отчество учащегося, разделенные пробелом. Напечатайте его фамилию и инициалы. 17 Вычеркните i-ю букву слова. 18 Дан текст, в котором слова разделены пробелами. а) сколько слов в тексте? б) найдите самое длинное слово текста (длина текста 100 символов). 19 Задан текст, состоящий из слов, которые разделены одним или несколькими пробелами. Сформируйте новый текст, включив в него слова заданного, разделен-ные только одним пробелом. 20 Сложное слово состоит из двух частей одинаковой длины и соединитель-ной гласной. Найдите обе части этого слова. 21 Вычеркните из заданного слова все буквы, совпадающие с его последней буквой. 22 Вычеркните из слова X те буквы, которые встречаются в слове Z. 23 Подсчитайте число различных букв в слове. 24 Составьте программу подсчета сколько раз в тексте встречается заданный фрагмент (цепочка символов). Например, в тексте " банан упал на барабан" фрагмент " ба" встречает 2 раза. 25 Даны два слова. Составьте программу, определяющую можно или нет из букв слова А составить слово В. 26 Составьте программу, вычеркивающую каждую третью букву слова X. 27 Составьте программу, выясняющую, на гласную или согласную букву окан-чивается слово X. 28 Составьте программу вычисления суммы мест, на которых в слове х стоят буквы " в” и " п". 29 Составьте программу шифрования текстового сообщения. Можно ис-пользовать такой способ шифрования. Шифровальщик задает ключ шифровки — целое число, который определяет величину смещения букв русского алфавита, например: ключ = 3, тогда в тексте буква " а" заменяется на " г" и т. д. Используются все буквы русского алфавита. Е считается дважды. 30 Составьте программу дешифрования текстового сообщения, зашифрванно-го программой из задачи 29. 31 Дано слово. Определить, одинаковы ли второй и четвертый символы в нем. Вывести на экран его последний символ. Определить количество символов в нем. 32 Даны два слова. Верно ли, что первое слово начинается на ту же букву, которой оканчивается второе слово? Определить количество символов в каждом слове. Вывести на экран слова в обратном порядке. 33 Дано слово, состоящее из четного числа букв. Вывести на экран его первую половину. Вывести слово в обратном порядке в середине экрана. 34 Из слова " программа" путем вырезок и склеек его букв получить слова " ром" и " рампа". Из последних двух слов вывести на экран те буквы, которые стоят на чётных местах. 35 Из слова " клоун" путем вырезок и склеек его букв получить слова " уклон", " кулон" и " колун". Из последних трёх слов вывести на экран те буквы, которые стоят на нечётных местах. 36 Дано слово из четного числа букв. Поменять местами его половины. Вы-вести на экран слова в обратном порядке, в середине экрана. 37 Дано слово из 12 букв. Поменять местами его трети следующим образом: первую треть слова разместить на месте третьей, вторую треть — на месте первой, третью треть — на месте второй. Удалить из получившегося слова каждый третий символ. 38 Дано слово s1, Получить слово s2, образованное нечетными буквами слова s1. Вывести на экран слова в обратном порядке. 39 Дано предложение. Вывести все буквы «м» и «н» в нем и подсчитать их количество. Сколько слов в вашем предложении? 40 Даны два предложения. Напечатать слова, которые встречаются в двух предложениях только один раз. Какое из предложений содержит большее число символов? 41 Дано предложение. Определить: а) число вхождений в него буквосочетания " до"; б) число вхождений в него некоторого буквосочетания из двух букв; в) число вхождений в него некоторого буквосочетания. 42 Дано предложение. Все его символы, стоящие на четных местах, заменить на букву " ы". Вывести в середине экрана первое и последнее слово предложения. Какое из выведенных слов длиннее другого?
2.4. Методические указания к лабораторной работе №2
Строка – последовательность символов, кодовой таблицы ПК. Длинна строки динамически изменяется от 0 до 255. Переменные строки должны быть описаны предложениями: Type < имя типа> =String[max длинна строки]; Var имя: < имя типа>; Const;
Строка трактуется как цепочка символов, для строки из N символов, отводится N+1 байт. N байт – для хранения символов в строке; 1 байт - для значения текущей длины строки.
К любому символу строки можно обратиться, указав его номер:
Текущая длинна строки.
М – мах длинна строки L – текущая длинна А – ячейка памяти А+1 – первый символ строки А+L – последний действительный символ A+L+1; А+М – незанятые ячейки памяти
Действия со строками:
1 Сложение (конкатенация строк изображается знаком «+», при его выполнении начало строки идущей после знака «+» подсоединяется к концу строки, указанной до этого знака, аналогичная операция Concat) 2 Сopy(строка, номер, количество) – возвращает подстроку, заданной строки, начинающуюся в позиции, указанной номеров и содержащую заданное количество символов. 3 Delete(St, Poz, N) – удаление N- символов и строки St начиная с позиции Poz. 4 Insert(Str1, Str2, Poz) – замена строки Str1, строкой Str2, в указанной позиции Poz. 5 Val(St, x, code) – преобразует значение St в величину целочисленного или вещественного типа и помещает результат х, значение St не должно содержать незначащих пробелов в начале и в конце. Если во время операции преобразования ошибка не обнаружена, значение code равно нулю, если ошибка обнаружена code будет содержать номер первого ошибочного символа, а значение х не определено. 6 Str(x, st) – преобразование числового значения величины х и помещение результата в строку St, после х может записаться формат, аналогичный формату вывода, если в формате указано недостаточное для вывода количество разрядов, после вывода расширяется автоматически. 7 Pos(str1, str2) – обнаруживает первое появление в строке Str2 подстроки str1, результат имеет целочисленный тип и равен номеру той позиции, где находится первый символ подстроки Str1, если в Str2, подстроки Str1 не найдено, результат равен нулю. 8 Length(St) – вычисляет текущую длину символов в строке St, результат имеет целочисленный тип. 9 UpCase(ch) – преобразует строчную букву в прописную. Параметр и ре-зультат имеет литерный результат, обрабатывает буквы только латинского алфавита.
Порядковые типы данных.
Если нужно по коду получить символ, используется функция Chr(код), который записывается справа от «#». Каждое значение порядкового типа связано с порядковым номером I, узнать значение I можно с помощью функции Ord - I: =ord(z) Говорят, что z1 и z2 порядкового типа Z1> если ord(z1)> ord(z2) в этом смысле ‘d’> ’a’ Для целых чисел значение функции равно аргументу Ord(5)=5 Succ(z) – даёт следующее по отношению к Z значение Pred(z) - предыдущее
2.5 Вопросы для защиты лабораторной работы №2 1. Что такое строка? 2. Каким идентификатором определяются данные строкового типа? 3. Какова максимально возможная длина строки? Как определить текущую длину строки? 4. Какие выражения называют строковыми? 5. Какие операции допустимы над строковыми данными? 6. Каким образом производится сравнение строк? 7. Как можно обратиться к отдельным символам строки? 8. Как производится сцепление строк? 9.Назначение специальных процедур и функций обработки данных строкового типа. Привести примеры.
3 Лабораторная работа №3 Составление и отладка программ с использованием множества
Цель работы: Получение навыков в написании программ с использова- нием множества» 3.1 Ход работы: 1.Составить блок-схему по заданию своего варианта 2.Составить программу по заданию своего варианта 3.Запустить интегрированную среду программирования Turbo Pascal 4.Набрать текст программы 5.Откомпилировать программу 6.Сохранить файл с программой на диске А: под именем lab3.pas 7.Распечатать текст программы и её результат 8.Составить отчет
3.2 Содержание отчёта: 1.Тема 2.Цель работы 3.Ход работы 4.Постановка задачи 5.Блок-схема 6.Листинг программы 7.Результаты программы
3.3 Варианты заданий: 1.Известны сорта роз, выращиваемых тремя цветоводами: «Анжелика», «Виктория», «Гагарин», «Ave Maria», «Катарина», «Юбилейная». Определить те сорта, которые имеются у каждого из цветоводов, которые есть хотя бы у одного из цветоводов, которых нет ни у одного из цветоводов. 1. Заданы имена девочек. Определить, какие из этих имен встречаются во всех классах данной параллели, которые есть только в некоторых классах и какие из этих имен не встречаются ни в одном классе. 2. Задан некоторый набор товаров. Определить для каждого из товаров, какие из них имеются в каждом из п магазинов, какие товары есть хотя бы в одном магазине и каких товаров нет ни в одном магазине. 3. Имеется список класса (всё имена различны). Определить, есть ли в классе человек, который побывал в гостях у всех. (Для каждого ученика составить множество побывавших у него в гостях друзей, сам ученик в это множество не входит.) 4. Имеется множество, содержащее натуральные числа из не которого диапазона. Сформировать два множества, первое из которых содержит все простые числа из данного множества, а второе — все составные. 5.На трех участках возделывают сельскохозяйственные культуры. Известны виды культур, выращиваемых на каждом из участков. Определить виды тех культур, которые возделывают на каждом из участков; возделывают хотя бы на одном из участков; не возделывают ни на одном участке. (Культуры: картофель, укроп, морковь, горох, капуста, редис.) 6.Известны марки машин, изготовляемых в данной стране и импортируемых за рубеж. Даны некоторые N стран. Определить для каждой из марок, какие из них были: -доставлены во все страны; -доставлены в некоторые из стран; -не доставлены ни в одну страну. 7.В озере водится несколько видов рыб. Три рыбака поймали рыб, представляющих некоторые из имеющихся видов. Определить: -какие виды рыб есть у каждого рыбака; -какие рыбы есть в озере, но нет ни у одного из рыбаков. 9. В N колхозах выращивают некоторые сельскохозяйственные культуры из имеющегося перечня. Определить культуры: -возделываемые во всех колхозах; -возделываемые только в некоторых колхозах. 10. Есть список игрушек, некоторые из которых имеются в N детских садах. Определить игрушки из списка: -которых нет ни в одном из детсадов; -которые есть в каждом из детсадов. 11.Составить программу, которая вычисляет сумму тех элементов двумерного массива, номера строк и столбцов которых принадлежат соответственно непустым множествам S{ и 52. 12.Задано некоторое множество М имножество Т того же типа. Подсчитать, сколько элементов из множеств Т и М совпадает. 13. Из диапазона целых чисел m ... п выделить: 1) множество чисел, делящихся без остатка или на к, или на (к, I — про-стые); 2) множество чисел, делящихся на к и I без остатка. 14.Дан текст из цифр и строчных латинских букв, за которыми следует точка. Определить, каких букв — гласных (я, е, /, о, и) или согласных — больше в этом тексте. 15.Подсчитать количество различных цифр в десятичной записи натурального числа. 16.Напечатать в возрастающем порядке все цифры, не входящие в запись данного натурального числа. 17.Дан текст из строчных латинских букв, за которыми следует точка. Напечатать все буквы, входящие в текст не менее двух раз. 18.Дан текст из строчных латинских букв, за которыми следует точка. Напечатать все буквы, входящие в текст по одному разу. 19.Дан текст, за которым следует точка. В алфавитном порядке напечатать все строчные русские гласные буквы (а, е, и, о, у, ы, э, ю, я), входящие в этот текст. 20.Дан текст на русском языке. Напечатать в алфавитном порядке все гласные буквы, которые входят в каждое слово. 21.Дан текст на русском языке. Напечатать в алфавитном порядке все согласные буквы, которые не входят ни в одно слово. 22.Дан текст на русском языке. Напечатать в алфавитном порядке все звонкие согласные буквы, которые входят в каждое не четное слово и не входят ни в одно четное слово. 23.Дан текст на русском языке. Напечатать в алфавитном порядке все звонкие согласные буквы, которые входят хотя бы в одно слово. 24.Дан текст на русском языке. Напечатать в алфавитном порядке все глухие согласные буквы, которые не входят хотя бы в одно слово. 25.Дан текст на русском языке. Напечатать в алфавитном порядке все согласные буквы, которые входят только в одно слово. 26.Дан текст на русском языке. Напечатать в алфавитном порядке все глухие согласные буквы, которые не входят только в одно слово. 27.Дан текст на русском языке. Напечатать в алфавитном порядке все звонкие согласные буквы, которые входят более чем в одно слово. 28.Дан текст на русском языке. Напечатать в алфавитном порядке все гласные буквы, которые не входят более чем в одно слово. 29.Дан текст на русском языке. Напечатать в алфавитном порядке все глухие согласные буквы, которые входят в каждое не четное слово и не входят хотя бы в одно четное слово. Задачи повышенной сложности: 1. Дан текст, являющийся русскими словами. Выполнить разделение каждого его слова на части для переноса. Далее правила переноса русских слов. сматриваются как единое целое). 2.Написать программу раздачи карт при игре в дурака, количество игроков задается с клавиатуры. 3.Для произвольного символьного множества сгенерировать все подмножества. Примечание: Гласные буквы - а, е, и, о, у, ы, э, ю, я (ё обычно не входит в литерный тип); согласные - все остальные буквы, кроме ь, ъ; звонкие согласные - б, в, г, д, ж, з, й, л, м, н, р; глухие согласные - к, п, с, т, ф, х, ц, ч, ш, щ.
Варианты заданий Популярное:
|
Последнее изменение этой страницы: 2016-08-31; Просмотров: 750; Нарушение авторского права страницы