Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Самарский техникум авиационного и промышленного машиностроенияСтр 1 из 9Следующая ⇒
Самарский техникум авиационного и промышленного машиностроения Им. Д.И. Козлова.
УТВЕРЖДАЮ
Зам. директора по УР ____________________Н.В. Кривчун от «______»_______________201_г.
Методические указания по выполнению практических работ I часть. «Паскаль»
2012 Введение В предлагаемых методических указаниях рассматриваются вопросы использования изучаемого теоретического материала по курсу Основы алгоритмизации и программирования, для решения на практических занятиях и при самостоятельном изучении. Настоящеи указания рекомендуется студентам при подготовке к занятиям, контрольным работам. В начале каждого практического занятия кратко приведен теоретический материал, необходимый для решения некоторых задач по данной теме. После него предлагается решение некоторых задач и список задач для самостоятельного выполнения.
Практическая работа № 1 Тема: Составление и описание алгоритмов. Цель: 1. Усвоить понятия: алгоритм, свойства алгоритма, виды алгоритмов, способы представления алгоритмов. 2. Сформировать первичные навыки построения алгоритмов с использованием циклов и ветвления (условий). 3. Отработка навыков составления алгоритмов и представление их в виде блок-схем. Оборудование: компьютеры IBM PC, инструкция. Теоретические сведения. Графический способ представления алгоритмов является более компактным и наглядным по сравнению со словесным. При графическом представлении алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий.
Такое графическое представление называется схемой алгоритма или блок-схемой. В блок-схеме каждому типу действий (вводу исходных данных, вычислению значений выражений, проверке условий, управлению повторением действий, окончанию обработки и т.п.) соответствует геометрическая фигура, представленная в виде блочного символа. Блочные символы соединяются линиями переходов, определяющими очередность выполнения действий.
Схема следования состоит из двух блоков S1 и S2, каждый из которых в простейшем случае может быть арифметическим оператором. Эта структура означает, что два блока алгоритма могут быть размещены друг за другом. Схема ветвления в общем случае отвечает условному оператору и состоит из условия Р и блоков S1 и S2. Если один из блоков отсутствует, то приходим к неполному условному оператору. Она обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран. Структура ветвление существует в четырех основных вариантах:
Базовая структура "цикл" обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла. Схема цикла состоит из логического элемента с проверкой условия Р и блока S, называемого телом цикла. В простейшем случае S является последовательностью обычных арифметических операторов. В случае, изображенном на рис. а, блок S размещен после проверки условия Р (цикл с предусловием). Этот вариант базовой структуры называется цикл-ПОКА. Во втором случае схемы цикла (рис. б) блок S расположен до проверки условия Р (цикл с постусловием). Этой структуре отвечает вариант цикл-ДО.
Задание 1 1. Составить простые алгоритмы в двух видах (словесное описание и в виде блок-схемы): а) Определить расстояние, пройденное человеком, если известно время, скорость движения, и движение было равномерным. б) Вычислить значение: z = (5+a)/(7-y) в) Создать алгоритм, в котором запрашивается имя и затем выводится на экран приветствие его обладателя. 2. Составить алгоритмы с использованием схемы ветвления в двух видах (словесное описание и в виде блок-схемы): а) сказочного алгоритма: “Поехал Иван – Царевич на сером волке за Жар – Птицей. Ехал он, ехал, глядь – перед ним лежит огромный камень. На камне надпись: “Направо пойдешь – коня потеряешь, налево пойдешь – голову сложишь…” б) определения наибольшего из двух заданных целых чисел А и В в) Составить блок-схему и алгоритм, в котором значение переменной вычисляется по формуле: y = a + b, если а – нечетное и y = a*b, если а – четное (условие четности числа: а mod 2 = 0). 3. Составить алгоритмы с использованием схем циклов в двух видах (словесное описание и в виде блок-схемы): а) алгоритм написания М, Ш (использование цикла N раз). б) Составить алгоритм, который выводит на экран квадраты первых N натуральных чисел (от 1 до N) с использованием цикла с предусловием. в) Составить алгоритм, который выводит на экран сумму квадратов первых N натуральных чисел (от 1 до N) с использованием цикла с постусловием. 4. Результаты показать учителю. Дополнительное задание. (каждое задание дополнительно 2 балла) Составьте блок-схему, словесную запись алгоритма и таблицу правильности решения следующих задач, используя циклы с предусловием и с постусловием.
Определить результат выполнения алгоритма при определённых значениях исходных данных (исходные данные получить у учителя)
3. Составить алгоритм (словесно и блок-схема) нахождения суммы 10 членов последовательности с общим членом ak=2 k+1. Вопросы для защиты практической работы:
Практическая работа № 2 Begin <тело программы>; End. Оператор присваивания
Оператор присваивания – это один из основных операторов языка Turbo Pascal. В левой части указывается имя переменной, правая часть – это выражение того же типа, что и переменная. Символы «:=» связывают левую и правую части оператора присваивания и означают «присвоить значение». Данные символы рассматриваются как один специальный символ и пишутся слитно. Например: а := b + c;
Примеры решенийзадач 1. Составить программу «Приветствие». Program Hello; Begin writeln (‘Здравствуй, компьютер!’); write (‘Привет,’); writeln (‘студент.’) End. 2. Найти сумму двух чисел
Практическая работа № 3 Тип данных Integer Действия с целыми числами В типе данных Integer (целое) существует пять подтипов, различающихся: – множеством значений; – количеством занимаемой памяти;
Операции над целыми числами Арифметические операции применимы только к величинам целых и вещественных типов. У операций умножение, деление, деление нацело более высокий приоритет по сравнению со сложением и вычитанием, то есть они автоматически вычисляются первыми. Операция Div – выполняет целочисленное деление. Операция Mod находит остаток от целочисленного деления. Тип данных Real Примеры решений задач 1. Составить программу, вычисляющую значение переменной m при данных i, j, k: m = . Program example_1; Var i, j, k: Integer; m: Real; Begin Write ('Введите значения для i, j и k =>:'); Readln (i, j, k); m:=(i+j)/(k+1); Writeln ('Значение для m=',m); End. Задачи для самостоятельной работы 1. Дан радиус окружности, подсчитать длину окружности. 2. Дан радиус окружности, подсчитать площадь круга. 3. Дан прямоугольный треугольник с катетами a и b. Найти гипотенузу c. 4. Дан произвольный треугольник. Известны стороны a и b и угол между ними . Найти третью сторону c. 5. Дан произвольный треугольник со сторонами a, b и c. Найти площадь треугольника. 6. Вычислить объём шара радиуса R. 7. Найти среднее арифметическое и среднее геометрическое трёх заданных чисел.
8. Найти расстояние между двумя точками с данными координатами. 9. По ребру найти площадь грани, площадь боковой поверхности и объём куба. 10. Вычислить периметр и площадь правильного 10-угольника, вписанного в окружность заданного радиуса. 11. Для заданного целого числа а напечатать следующую таблицу: а а3 а6 а6 а3 а 12. Даны два действительных числа a и b. Получить их сумму, разность и произведение. 13. Дана длина ребра куба. Найти объём куба и площадь его боковой поверхности. 14. Даны два действительных положительных числа. Найти среднеарифметическое и среднегеометрическое этих чисел (или их модулей). 15. Даны катеты прямоугольного треугольника. Найти его гипотенузу и площадь. 16. Смешано V1 литров воды температуры t1 и V2 литров воды температуры t2. Найти объём и температуру образовавшейся смеси. 17. Определить периметр правильного n-угольника, описанного около окружности радиуса r. 18. Дана сторона равностороннего треугольника. Найти площадь этого треугольника. 19. Даны гипотенуза и катет прямоугольного треугольника. Найти катет и радиус вписанной окружности. 20. Найти сумму членов арифметической прогрессии по данным значениям: a, d, n. 21. Треугольник задан длинами сторон. Найти: а) длины высот; б) длины биссектрис; в) длины медиан; г) радиусы вписанной и описанной окружностей. 22. Вычислить расстояние между двумя точками с координатами x1,y1 и x2,y2. 23. Даны целые числа k, m, действительные числа x, y, z. При k<m2 или заменить модулем соответственно значения x, y или z, а два других уменьшить на 0.5. 24. Треугольник задан координатами своих вершин. Найти периметр и площадь треугольника. 25. Дано действительное число х. Получить целую часть х; затем число х, округлённое до ближайшего целого; затем число без дробных цифр. 26. Даны действительные числа x,y. Вычислить расстояние от точки плоскости с координатами (x,y) до границы квадрата с вершинами: а) (-0.5,-0.5),(-0.5,0.5),(0.5,0.5),(0.5,-0.5); б) (0,0),(0,1),(1,1),(1,0). Имеется в виду минимум расстояний от данной точки до точек квадрата. 27. Даны целые (либо вещественные) числа x1, y1, x2, y2, x3, y3. Известно, что точки с вершинами (x1, y1), (x2, y2),(x3, y3) являются тремя вершинами некоторого прямоугольника. Найти координаты четвёртой вершины. Практическая работа № 4 Укороченная развилка If < условие> then < оператор 1 >.
Оператор выбора CASE В случае необходимости разветвить вычислительный процесс в зависимости от выполнения или невыполнения того или иного условия на более чем две ветви используется оператор выбора (случая, селектора, переключателя). Его использование оказывается более удобным по сравнению с использованием оператора if. Case S of C1: <Оператор1> С2: <Оператор2> ................ CN: <ОператорN> Else <Оператор> End; S - выражение порядкового типа значение которого вычисляется; C1, C2,…,CN – константы, с которыми сравнивается значение выражения S; <Оператор1>, <Оператор2>, <Оператор N> - операторы, из которых выполняется тот, с константой которого совпадает значение выражения S. Ветвь оператора else является необязательной. Если она отсутствует и значение выражения S не совпадает ни с одной константой, весь оператор рассматривается как пустой.
Если для нескольких констант нужно выполнить один и тот же оператор, их можно перечислить через запятую, сопроводив их одним оператором. Схематически такую конструкцию можно изобразить следующим образом:
Примеры решений задач 1. Даны действительные числа х и у. Получить max(x,y). Program maximum; Var x,y:real; Begin Write ('Введите х и у'); Readln (x,y); If x>y then m:=x else m:=y; Write (' Максимальное m=',m); End.
2. Ввести число от 1 до 100, если введенное число попадет в диапазон [1..10] определить его четность. Program Chisla; Var I: integer; Begin Write ('Введите число'); Readln (i); Case i of 2, 4, 6, 8: Writeln (‘Четная цифра’) 1, 3, 5, 7, 9: Writeln (‘Нечетная цифра’) 10..100: Writeln (‘Число от 10 до 100’) else Writeln (‘Отрицательное число или больше 100’) end; End. Список задач 1. Даны действительные числа x,y. Получить: а) max(x,y), б) min(x,y), в) max(x,y),min(x,y). 2. Даны действительные числа x, y, z. Вычислить: а) max(x + y + z, x · y · z), б) min2 (x + y + z/2, x · y · z) + 1. 3. Даны действительные числа a, b, c. Проверить выполняется ли неравенство a < b < c. 4. Найти min значение из трёх величин, определяемых арифметическими выражениями a = sin(x), b = cos(x), c = ln(x) при заданных значениях x. 5. Даны действительные числа a, b, c. Удвоить эти числа, если 6. Даны два действительных числа. Заменить первое число нулём, если оно меньше или равно второму, и оставить числа без изменения иначе. 7. Даны действительные числа x,y. Меньшее из этих двух чисел заменить их полусуммой, а большее – их удвоенным произведением. 8. Даны действительные числа a, b, c, d. Если a < b < c < d, то каждое число заменить наибольшим из них; если a > b > c > d, то числа оставить без изменения; иначе все числа заменяются их квадратами. 9. Даны действительные числа a, b, c. Выяснить, имеет ли уравнение ax2+bx+c=0 действительные корни. Если действительные корни имеются, то найти их. В противном случае ответом должно служить сообщение, что действительных корней нет. 10. Даны действительные положительные числа a, b, c, x, y. Выяснить, пройдёт ли кирпич с рёбрами a, b, c в прямоугольное отверстие со сторонами x и y. Просовывать кирпич в отверстие разрешается только так, чтобы каждое из рёбер было параллельно или перпендикулярно каждой из сторон отверстия. 11. Даны два действительных числа. Вывести первое число, если оно больше второго, и оба числа если это не так. 12. Даны три действительных числа. Выбрать из них те, которые принадлежат интервалу (1,3). 13. Даны три действительных числа. Возвести в квадрат те из них, значения которых не отрицательны. 14. Если сумма трёх попарно различных действительных чисел x,y,z меньше единицы, то наименьшее из этих трёх чисел заменить полусуммой двух других; иначе заменить меньшее из x и y полусуммой двух оставшихся значений. 15. Даны два числа. Если первое число больше второго по абсолютной величине, то необходимо уменьшить первое в 5 раз, иначе оставить числа без изменения. 16. Даны действительные положительные числа x, y, z. а) Выяснить, существует ли треугольник с длинами сторон x, y, z. б) Если треугольник существует, то ответить - является ли он остроугольным, тупоугольным или прямоугольным. 17. Даны действительные числа x1,x2,x3,y1,y2,y3. Принадлежит ли начало координат треугольнику с вершинами (x1,y1), (x2,y2), (x3,y3)? 18. Составить программу определения большей площади из двух фигур круга или квадрата. Известно, что сторона квадрата равна а, радиус круга равен r. Вывести и напечатать значение площади большей фигуры. 19. Даны действительные, положительные числа a,b,c,d. Выяснить, можно ли построить четырёхугольник с такими длинами сторон. 20. Определить, является ли целое число чётным. 21. Определить, верно ли, что при делении неотрицательного целого числа а на положительное целое число b, получается остаток равный одному из двух заданных чисел r или s. 22. Вывести значение y(x) в зависимости от введенного значения аргумента: а) б) в) г) д) , е)
Практическая работа № 5 Тема: «Операторы повтора»
При реализации многократного повторения некоторых операций линейной конструкцией необходимо снова и снова повторять одни и те же операторы. Для более компактной реализации этих операций во всех языках используются циклические конструкции, суть которых заключается в том, что вместо многократного переписывания одних и тех же строк программы управление в нужном месте передается предыдущим операторам с тем, чтобы они повторялись. Имеется два вида циклических алгоритмов: цикл с предусловием (цикл ПОКА) и цикл с постусловием (цикл ДО). Оператор цикла REPEAT организует выполнение цикла, состоящего из любого числа операторов, с неизвестным заранее числом повторений. Тело цикла выполняется хотя бы один раз. Выход из цикла осуществляется при истинности некоторого логического выражения. Структура оператора: repeat <тело цикла> until <условие>; Оператор цикла WHILE организует выполнение одного оператора неизвестное заранее число раз. Выход из цикла осуществляется, если некоторое логическое выражение окажется ложным. Так как истинность логического выражения проверяется в начале каждого повтора, тело цикла может не выполняться ни разу. Структура оператора цикла имеет вид: while <условие> do <тело цикла>; Блок-схемы циклических конструкций могут быть изображены следующим образом:
Оператор цикла FOR организует выполнение одного оператора заранее известное число раз. Существует два варианта оператора. for <переменная>:=<нач. значение> to <кон. значение> do <оператор>; for <переменная>:=<нач. значение> downto <кон. значение>
Выполнение очередного повтора включает в себя сначала выполнение оператора, а затем присваивание переменной цикла следующего большего значения (в первом случае) или следующего меньшего (во втором варианте). Особенностью арифметического цикла является то, что число повторений операторов цикла должно быть известно заранее. Примеры решений задач. 1. Вычислить N! (факториал). Program Fak to rial; Var n, i, f: integer; Begin f:=1; Write ('Введите n='); Readln (n); For i:=2 to n do f:=f*i; Writeln (n,'!=',f); End.
2. Найти сумму цифр в записи данного натурального числа; Program SUM; Var a,b,s,k:Integer; Begin Readln (a); s:=0; While a<>0 do Begin b:=b mod 10; s:=s+b; a:= trunc (a/10); { a:= a div 10 } end; Writeln (s); End. Список задач 1. Дано натуральное число n. Получить все пифагоровы тройки натуральных чисел, каждое из которых не превосходит n, т.е. все такие тройки натуральных чисел a, b, c, что a2 + b2 = c2. 2. Дано натуральное число n. Найти все меньшие n числа Мерсенна. Число Мерсенна – это простое число, представленное в виде Mp=2p–1, где p – тоже простое число. 3. Два натуральных числа называют дружественными, если каждое из них равно сумме всех делителей другого, кроме самого этого числа. Найти все пары дружественных чисел, лежащих в диапазоне от 200 до 300. 4. Дано натуральное число n. Среди чисел 1, 2,..., n найти все такие, запись которых совпадает с последними цифрами записи их квадрата. 5. Назовём натуральное число палиндромом, если его запись читается одинаково как с начала так и с конца (пример: 4884, 393, 1, 22). а) найти все меньшие 100 натуральные числа, которые являются палиндромами; б)определить, является ли заданное натуральное число палиндромом; в) найти все меньшие 100 натуральные числа, которые при возведении в квадрат дают палиндром; г) найти все меньшие 100 натуральные числа-палиндромы, которые при возведении в квадрат дают палиндром; д) является ли число палиндромом с учётом чётных цифр; е) верно ли, что это число содержит ровно три одинаковые цифры; ж) верно ли, что все чётные цифры числа различны; 6. Дано натуральное число n (n>99). Определить число сотен в нём. 7. Дано натуральное число n (n<99). Выяснить, верно ли, что n2 равно кубу суммы цифр числа n. 8. Дано натуральное число n (n<9999). а) сколько цифр в числе n? б) чему равна сумма его цифр? в) найти последнюю цифру числа. г) найти первую цифру числа. д) найти предпоследнюю цифру числа (в предположении, что n>10). е) дано число m. Найти сумму m-последних цифр числа n. ж) выяснить, входит ли цифра 3 в запись числа n. з) поменять порядок цифр числа n на обратный. и) переставить последнюю и первую цифры числа n. к) приписать по единице в начало и конец записи числа n. 9. Является ли заданное натуральное число степенью двойки. 10. Разложить заданное число на простые множители. 11. Число, равное сумме всех своих делителей, включая единицу, называется совершенным. Найти и напечатать все совершенные числа в интервале от 2 до х. 12. Найти сумму квадратов чисел от m до n. 13. Найти сумму квадратов нечётных чисел в интервале, заданном значениями переменных m и n; 14. Найти сумму квадратов четных чисел в интервале, заданном значениями переменных m и n; 15. Найти сумму целых положительных чисел, кратных 4 и меньших 100. 16. Определить k - количество трёхзначных натуральных чисел, сумма цифр которых равна n (1,n,27). Операции деления, div и mod не использовать. Вложенные циклы 17. Дано натуральное число n. Получить все натуральные числа, меньшие n и взаимно просты с ним. 18. Даны целые числа p и q. Получить все делители числа q, взаимно простые с p. 19. Дано натуральное число n. Получить все простые делители этого числа. 20. Найти 100 первых простых чисел. 21. Даны натуральные числа n,m. Получить все меньшие n натуральные числа, квадрат суммы цифр которых равен m. 22. Натуральное число называется совершенным, если оно равно сумме всех своих делителей за исключением самого себя. Например, 6=1+2+3. Дано натуральное число n. Получить все совершенные числа, меньшие n. 23. Дано пять различных целых чисел. Найти среди них два числа, модуль разности которых имеет: а) наибольшее значение; б) наименьшее значение. 24. Вывести на экран числовой ряд действительных чисел от 10 до 20 с шагом 0,2. 25. Дано натуральное число n. Вычислить а) 2n; б) n!; в) an; г) a(a+1)…(a+n-1); д) a(a-n)(a-2n)…(a-n·n). е) ; ж) ; з) . 26. Даны действительные числа x, а, натуральное число n. Вычислить . 27. Дано действительное число a. Найти: а) среди чисел первое, большее a; б) среди чисел первое, меньшее a; 28. Даны действительные числа n и m. Найти наибольший делитель этих чисел, используя алгоритм Евклида. 29. Дано натуральное n. Найти . 30. Дано натуральное число n. Вычислить 1·2+2·3·4+…+…+n·(n+1)·…·2n. 31. Вычислить . 32. Даны натуральные числа n, k (n³k³0). Вычислить . 33. Вычислить a) ; б) ; в) ; г) ; д) ; е) ; ж) ; з) и) ; к) ; л) ; м) ; н) ; о) ; п) . 34. Дано натуральное число n. Вычислить произведение первых n сомножителей: а) ; б) . Практическая работа № 6 Примеры решений задач 1. Программа проверки введения клавиши ‘ Y ’. Program keyp; Var ch: char; Begin Repeat Readln(ch); Until (ch=’y’) or (ch=’Y’) End. 2. Программа вывода последовательностей букв. Program abc_xyz; Var c,d: char; Begin For c:=’a’ to ‘z’ do Begin For d:=’a’ to c do write(d); Writeln(‘ ‘) end end. Список задач 1. Удалить группу символов, расположенных между круглыми скобками включая сами скобки. 2. Дано натуральное число n и n символов. Подсчитать, сколько раз среди данных символов встречается символ "+" и сколько раз символ "*". 3. Подсчитать общее число вхождений символов "+", "-", "*" в последовательности n символов. 4. Выделить символы, заключённые в фигурные скобки. 5. Удалить символы, заключённые в фигурные скобки. 6. Переставить местами группы символов While и Do. 7. Переставить местами группы символов Repeat и Until. 8. Подсчитать наибольшее число букв а, идущих подряд в данной последовательности символов. 9. Вычислить s- сумму порядковых номеров всех букв, входящих в слово SUM. 10. Напечатать текст, образованный литерами с порядковыми номерами 65, 71 и 69. 11. Если в заданный текст входит каждая из букв слова key, тогда напечатать yes, иначе no. 12. Напечатать заданный текст, удалив из него лишние пробелы, т.е. из нескольких подряд идущих пробелов оставить только один. 13. В заданный непустой текст входят только цифры и буквы. Определить, удовлетворяет ли он следующему свойству: а) текст содержит (помимо букв) только одну цифру причём её числовое значение равно длине текста; б) сумма числовых значений цифр, входящих в текст, равна длине текста; 14. Логической переменной b присвоить значение true, если между литерами 'a' и 'z' нет иных символов, кроме строчных латинских букв, и значение false иначе. Практическая работа № 7 Тема: «Функции и процедуры» Вспомогательные алгоритмы организуются двумя способами в зависимости от использования: 1) ПРОЦЕДУРЫ: Программа процедура предназначена для выполнения какой-то законченной последовательности действий. Любая процедура начинается с заголовка. В отличии от основной программы заголовок в процедуре обязателен. Он состоит из зарезервированного слова Procedur e, за которым следует идентификатор имени процедуры, а далее в круглых скобках список формальных параметров: Procedure <имя процедуры> (список формальных параметров) За заголовком могут идти такие же разделы, что и в основной программе. В отличии от основной программы процедура завершается не точкой, а точкой с запятой. Procedure < имя процедуры >[(< аргументы >: < тип аргументов>]; Var <значение>:< тип значения >])]; Var < переменная 1>[,< переменная 2>,...]: тип; Begin < тело процедуры>; End; Для вызова процедуры из основной программы или другой подпрограммы следует записать оператор, состоящий из имени процедуры и списка фактических параметров, которые должны совпадать по количеству и типу с формальными параметрами процедуры. 2) ФУНКЦИИ: Подпрограмма-функция предназначена для вычисления какого-либо параметра. У подпрограммы-функции два основных отличия от процедуры: а) заголовок состоит из слова function, за которым следует имя функции, далее в круглых скобках - список формальных параметров, затем через двоеточие записывается тип функции - тип возвращаемого параметра. Функция может возвращать параметры следующих типов: любого порядкового, любого вещественного, стандартного строкового и символьного. б) в теле функции хотя бы раз имени функции должно быть присвоено значение. Function < имя функции >[(< аргументы >: < тип аргументов>):< тип значения функции>]; Var < переменная 1>[,< переменная 2>,...]: тип; Begin <тело функции>; <имя функции>:=<выражение значение функции>; End;
Примеры решений задач. 1. Пример функции для вычисления факториала. Function Fac to rial(N: Byte) :Longint; Var Fact: longint; I: byte; Begin Fact:=n; For i:=n-1 downto 2 do Fact:=fact*i; Fac to rial:=fact; End; Вариант 1. Использование процедуры без параметров. Program Square1; Var АВ, ВС, СD, DA, DB, a, b, c, p, s, S1, S2: Real; Procedure geron; Begin p:= (a+b+c)/2; s:= sqrt(p*(p–a)*(p–b)*(p–a)); End; Begin WriteLn (‘Введите длины сторон АВ, ВС, СD, DA, DB’); ReadLn (AB, ВС, СD, DA, DB); a:= AB; b:=DB; c:=DA; geron; S1:=s; a:= BC; b:=CD; c:=DB; geron; S2:=s; WriteLn (‘Площадь равна:’, S1+S2) End. АВ, ВС, СD, DA, DB, a, b, c, p, s, S1, S2 – глобальные переменные;
Вариант 2. Использование процедуры без параметров. Program Square2; Var АВ, ВС, СD, DA, DB, a, b, c, s, S1, S2: Real; Procedure geron; Var p:Real; Begin p:= (a+b+c)/2; s:= sqrt(p*(p–a)*(p–b)*(p–a));
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2021-07-18; просмотров: 130; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.137.181.52 (0.358 с.) |