Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_DELPHI-363.doc
Скачиваний:
11
Добавлен:
24.12.2018
Размер:
348.67 Кб
Скачать

5. Процедуры и функции

Задача 1

  1. Выполнять операцию умножения двух введенных чисел или деление, в зависимости от выбора пользователем операции, до тех пор, пока не будет введено отрицательное число. Оформить сложение в виде процедуры с входными и выходными параметрами, а вычитание в виде функции.

  2. Даны два натуральных числа a, b. Вычислить Функция х!! Определяется следующим образом: х!! = 1*3*5*...*х, если х нечетно, х!! = 2*4*6*...*х, если х четно.

  3. Рассчитать число золотых монет, принесенных в дань господину, если N+1 подданных последовательно передают монеты от первого к последнему. Причем, первый отдает одну монету, второй увеличивает число монет вдвое, третий - в три раза и т. д. Расчет осуществить, используя рекурсивный вызов процедуры с параметром.

Задача 2

  1. Выполнять операцию сложения двух введенных чисел или вычитание, в зависимости от выбора пользователем операции. Оформить сложение в виде процедуры с входными и выходными параметрами, а вычитание в виде функции.

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

  3. Ученики двух групп имеют порядковые номера от 1 до N в каждой группе. В процедуре Р_1 функцией генерации случайных чисел определяются два числа "а" и "b" от 1 до N. Если числа разные, то два участника с номерами "а" и "Ь" выбывают, оставшиеся ученики перенумеровываются от 1 до (N-1) и играют дальше (процедура Р_1 повторяется с новыми значениями "а" и "b"), иначе выводится значение совпавшего номера, ученики получают приз и процедура Р_2 предлагает играть снова.

Задача 3

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

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

  3. Пара кроликов каждый месяц дает приплод - двух кроликов (самца и самку), от которых через два месяца уже получается новый приплод. Сколько кроликов будет через год, если в начале года мы имели одну пару молодых кроликов? А через К месяцев? А через Н лет? Расчет оформить, вызов процедуры или функции.

Задача 4

  1. В одной старинной задаче мудрец предложил шаху в качестве награды за услугу выдать ему зерно. Причем количество зерна оговорил так: на первую клетку шахматной доски положить 1 зерно, на 2-ую - 2, на 3-ю - 4, на 4-ую - 8 и т.д. Составить программу, с помощью которой можно вычислить, на какой клетке суммарное количество зерен превысит N штук. Программа должна предоставлять возможность выбора осуществления расчета с использованием либо функции, либо процедуры. В виде подпрограммы целесообразно оформить вычисление суммы К первых элементов арифметической прогрессии, начиная с первого элемента равного 1.

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

  3. Бутылка минеральной воды стоит К рублей, а пустая бутылка стоит 1 рубль. Компания друзей, собравшаяся в понедельник на день рождения одного из них, располагала первоначальным капиталом в N рублей и купила минералки столько, на сколько хватило денег. Употребив все купленное, они на следующий день сдали все бутылки, добавили оставшиеся с предыдущего дня деньги и снова купили минералки - на сколько денег хватило. Данная процедура продолжалась каждый день, пока были деньги. Рассчитать на какое количество дней хватит введенной суммы.

Задача 5

  1. Рассчитать число золотых монет, принесенных в дань господину, если N+1 подданных последовательно передают монеты от первого к последнему. Причем, первый отдает одну монету, второй увеличивает число монет вдвое, третий - в три раза и т. д. Программа должна предоставлять возможность выбора осуществления расчета с использованием либо функции, либо процедуры. В виде подпрограммы целесообразно оформить вычисление (N+1)!.

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

  3. В одной старинной задаче мудрец предложил шаху в качестве награды за услугу выдать ему зерно. Причем количество зерна оговорил так: на первую клетку шахматной доски положить 1 зерно, на 2-ую - 2, на 3-ю - 4, на 4-ую - 8 и т.д. Составить программу, с помощью которой можно вычислить, на какой клетке суммарное количество зерен превысит N штук. Расчет оформить, используя вызов процедуры или функции

Задача 6

  1. Пара кроликов каждый месяц дает приплод - двух кроликов (самца и самку), от которых через три месяца уже получается новый приплод. Сколько кроликов будет через год, если в начале года мы имели одну пару молодых кроликов? А через К месяцев? А через Н лет? Программа должна предоставлять возможность выбора осуществления расчета либо с использованием функции, либо использованием процедуры. В виде подпрограммы целесообразно оформить сумму двух соседних элементов чисел Фибоначчи.

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

  3. Микроорганизм прекращает свое существование в конце пятого часа после возникновения. При этом в конце второго часа он производит три подобных себе микроорганизма, а в конце третьего - еще два. В начале эксперимента в колонии микроорганизмов было три новорожденных микроорганизма с одинаковым моментом рождения. Какова будет численность колонии к началу п-го часа. Расчет оформить, используя вызов процедуры или функции.

Задача 7

  1. Бутылка минералки стоит К рублей, а пустая бутылка стоит 1 рубль. Компания друзей, собравшаяся в понедельник на день рождения одного из них, располагала первоначальным капиталом в N рублей и купила минералки столько, на сколько хватило денег. Употребив все купленное, они на следующий день сдали все бутылки, добавили оставшиеся с предыдущего дня деньги и снова купили минералки - на сколько денег хватило. Данная процедура продолжалась каждый день, пока были деньги. Рассчитать на какое количество дней хватит введенной суммы. Программа должна предоставлять возможность выбора осуществления расчета с использованием либо функции, либо процедуры. В виде подпрограммы целесообразно оформить нахождение количества купленных бутылок минералки и остатка денег после покупки.

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

  3. Рассчитать число зерен, выращенных крестьянином за N лет, если он посадил 10 зерен, а годовой урожай составляет 22 зерна на каждое посаженное зерно. Расчет оформить, используя вызов процедуры или функции.

Задача 8

  1. Пусть требуется рассчитать число осколков, полученных в результате деления тела за N миллисекунд, если каждый осколок делится на два за одну миллисекунду. Программа должна предоставлять возможность выбора осуществления расчета с использованием либо функции, либо процедуры. В виде подпрограммы целесообразно оформить возведение числа 2 в степень с натуральным показателем.

  2. Решить задачу с использованием процедур с входными и выходными параметрами или функций. В одной старинной задаче мудрец предложил шаху в качестве награды за услугу выдать ему зерно. Причем количество зерна оговорил так: на первую клетку шахматной доски положить 1 зерно, на 2-ую - 2, на 3-ю - 4, на 4-ую - 8 и т.д. Составить программу, с помощью которой можно вычислить, на какой клетке суммарное количество зерен превысит N штук.

  3. Рассчитать число рыбок, выращенных в аквариуме за "N" лет, если вначале было две рыбки, а число рыбок увеличивается пропорционально числу лет, т. е. 4, 12, 48 и т.д. Расчет оформить, используя вызов процедуры или функции.

Задача 9

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

    2. Решить задачу с использованием процедур с входными и выходными параметрами или функций. Пара кроликов каждый месяц дает приплод - двух кроликов (самца и самку), от которых через два месяца уже получается новый приплод. Сколько кроликов будет через год, если в начале года мы имели две пары молодых кроликов? А через К месяцев? А через Н лет?

    3. Известно, что некоторые бактерии размножаются каждые три минуты, разделяясь на 2. Однако не все бактерии доживают до трехминутного возраста, каждую минуту треть всех бактерий погибает. Составьте программу, подсчитывающую число бактерий через N минут, если первоначально было К только что «родившихся» бактерий. Расчет оформить, используя вызов процедуры или функции

Задача 10

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

  2. Решить задачу с использованием процедур с входными и выходными параметрами или функций. Пусть требуется рассчитать число осколков, полученных в результате деления тела за N миллисекунд, если каждый осколок делится на два за одну миллисекунду.

  3. Известно, что некоторые микроорганизмы размножаются каждые четыре минуты, разделяясь на 3. Однако не все микроорганизмы доживают до четырехминутного возраста, каждую минуту треть всех микроорганизмов погибает. Составьте программу, подсчитывающую число микроорганизмов через N минут, если первоначально было К только что «родившихся» микроорганизмов. Расчет оформить, используя вызов процедуры или функции