Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Методические указания к лабораторной работе №1



 

1.4.1 Процедуры и функции. Структура процедур и функций.

 

В турбопаскале имеются средства деления программы на части. На верхнем уровне это модули, на нижнем уровне деления это процедуры и функции.

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

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

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

 

Function имя функции(список формальных параметров): тип результата;

Label

Const описание локальных меток, констант, переменных, типов.

Var

Procedure.

Function описание внутренних процедур и функций

 

Begin

.. операторы, среди которых должен быть хотя бы один,

который присваивает имени функции значение результата.

End

 

Аргументы функции называют формальными параметрами, и содержатся в списке формальных параметров. Результат функции присваивается её имени. Результаты блока могут быть так же указаны в списке параметров, в этом случае используется не функция а процедура:

Procedure: имя процедуры(список формальных параметров);

Label

Const описание локальных меток, констант, переменных, типов.

Var

 

 

Procedure описание внутренних процедур и функций.

Function

 

Begin

.

. операторы.

.

End

 

Имя процедуры не используется для обозначения результата, а в списке фор мальных параметров имени результата предшествует слово Var.

Если результаты имеют разный тип, то в списке формальных параметров каж дому имени результата предшествует слово Var.

Обращение к процедуре является предложение языка, оно не может быть ис-пользовано в выражениях в операторах присвоения и вывода.

Вопросы для защиты лабораторной работе №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 байт - для значения текущей длины строки.

 

К любому символу строки можно обратиться, указав его номер:

 

N+1 N

 

Текущая длинна строки.

 

М – мах длинна строки

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. Дан текст, являющийся русскими словами. Выполнить разделение каждого его слова на части для переноса. Далее правила переноса русских слов.
a) Две идущие подряд гласные можно разделить, если первой из них пред-шествует согласная, а за второй идет хотя бы одна буква (буква й при этом рас-сматривается вместе с предшествующей гласной как единое целое).
b) Две идущие подряд согласные можно разделить, если первой из них предшествует гласная, а в той части слова, которая идет за второй согласной, имеется хотя бы одна гласная (буквы ъ, ь вместе с предшествующей согласной рас-

сматриваются как единое целое).
c) Если не удается применить пункты a, b, то следует попытаться разбить слова так, чтобы первая часть содержала более чем одну букву и оканчивалась на гласную, а вторая содержала хотя бы одну гласную. Вероятность правильного разбиения увеличивается, если предварительно воспользоваться хотя бы неполным списком приставок, содержащих гласные, и попытаться, прежде всего, выделить из слова такую приставку.

2.Написать программу раздачи карт при игре в дурака, количество игроков задается с клавиатуры.

3.Для произвольного символьного множества сгенерировать все подмножества.

Примечание: Гласные буквы - а, е, и, о, у, ы, э, ю, я (ё обычно не входит в литерный тип); согласные - все остальные буквы, кроме ь, ъ; звонкие согласные - б, в, г, д, ж, з, й, л, м, н, р; глухие согласные - к, п, с, т, ф, х, ц, ч, ш, щ.

 


Поделиться:



Популярное:

  1. VI. Методические указания по выполнению и изложению
  2. АБСОЛЮТНАЯ И ОТНОСИТЕЛЬНАЯ АДРЕСАЦИЯ ПРИ РАБОТЕ С ФОРМУЛАМИ
  3. Аденовирусы. Характеристика возбудителей, принципы лабораторной диагностики.
  4. Акценты в работе с финансовой (инвестиционной) информацией
  5. Анализ результатов. Вывод по работе
  6. БЕЗОПАСНОСТЬ В РАБОТЕ С ПЧЕЛАМИ
  7. Библиографический список должен всесторонне охватывать исследуемую тему. В курсовой работе он должен содержать 10-15 наименований.
  8. Библиографическое описание документов, представленных в списке использованных источников к работе
  9. Библиографическое описание монографий, учебников или учебных пособий без указания авторов.
  10. Бруцеллез. Этиология, принципы лабораторной диагностики, профилактика.
  11. В РАБОТЕ С ДЕТЬМИ С ЗАДЕРЖКОЙ
  12. В список должны включаться только те источники, которые действительно использовались в работе.


Последнее изменение этой страницы: 2016-08-31; Просмотров: 869; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.071 с.)
Главная | Случайная страница | Обратная связь