Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
паскаль.doc
Скачиваний:
10
Добавлен:
30.04.2019
Размер:
599.04 Кб
Скачать
  1. Написать процедуру, которая выводит строку, состоящую из одинаковых символов. Длина строки и символ являются параметрами процедуры.

  2. Найти наименьшее общее кратное 4-х заданных натуральных чисел.

  3. Используя процедуру для вычисления степени числа, найти значение выражения: , , x вводятся с клавиатуры.

  4. Используя процедуру обмена, упорядочить по возрастанию значения трех переменных a, b, c. А-07-2

  5. Даны координаты трех вершин треугольника. Найти длину всех его сторон.

  6. Даны длины a, b, c сторон некоторого треугольника. Найти медианы треугольника, сторонами которого являются медианы исходного треугольника (Замечание: длина медианы, поведенной к стороне а, равна ).

  7. Используя процедуру, найти номера четных элементов одномерного массива. А-07-2

  8. Вывести сообщение true, если уравнения и имеют вещественные корни и при этом оба корня первого уравнения лежат между корнями второго, и вывести значение false во всех остальных случаях.

  9. Два простых числа называются «близнецами», если они отли­чаются друг от друга на 2 (например, 41 и 43). Напечатать все пары «близнецов» из отрезка [n, 2n], где п — заданное нату­ральное число больше 2.

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

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

  12. Написать программу, определяющую сумму n-значных чисел, содержащих только нечетные цифры. Определить также, сколько четных цифр в найденной сумме.

  13. Из заданного числа вычли сумму его цифр. Из результата вновь вычли сумму его цифр и т.д. Через сколько таких дей­ствий получится нуль?

  14. В записке слова зашифрованы — каждое из них записано на­оборот. Расшифровать сообщение.

  15. Напишите процедуру, которая преобразует одномерный массив, состоящий из n2 элементов, в двумерный массив размера m на n.

  16. Напишите процедуру, которая удаляет из одномерного вещественного массива наибольшее значение.А-07-2

  17. Задача (использование и функций, и процедур) формирования матрицы M[i,j], элементами которой являются:

- сумма индексов i и j;

- произведение индексов i и j;

- сумма квадратов индексов i и j.

  1. Реализовать набор подпрограмм для выполнения следующих операций над натуральными числами в Р-ичной системе счис­ления (2 < Р < 9):

  1. сложение; вычитание; умножение; деление;

  2. перевод из десятичной системы счисления в Р-ичную;

  3. перевод из Р-ичной системы счисления в десятичную;

  4. процедура проверки правильности записи числа в Р-ичной системе счисления;

  5. процедуры, реализующие операции отношения (равно, не равно, больше или равно, меньше или равно, больше, меньше).

КОНТРОЛЬНЫЕ ЗАДАНИЯ

  1. Написать процедуру, которая выводит на экран строку, состоящую из звездочек. Длина строки (количество звездочек) является параметром функции.

  2. Даны две целые переменные. Используя процедуру, поменять местами их значения.

  3. Даны два одномерных массива одинаковой размерности. Получить третий массив такой же размерности, каждый элемент которого равен сумме соответствующих элементов данных массивов. Использовать процедуру.

  4. Процедура замены запятых на точки с запятой в строке.А-07-2

  5. На части катушки с автобусными билетами номера шести­значные. Составить программу, определяющую количество счастливых билетов на катушке, если меньший номер биле­та — N, больший — М (билет является счастливым, если сумма первых трех его цифр равна сумме последних трех).

  6. Даны координаты вершин двух треугольников. Определить, какой из них имеет большую площадь.

  1. Написать процедуру, которая вычисляет объем и площадь поверхности параллелепипеда. А-07-2

  2. Написать процедуру, которая вычисляет значение ab. Числа а и b могут быть любыми дробными положительными числами.

  3. Написать процедуру вычисления количества запятых в строке.

МОДУЛИ

Приступая к решению задач этого раздела, следует вспомнить, что:

  • Используя модули, можно разбивать программу на отдельные части. Программный модуль (unit) представляет собой набор констант, типов данных, переменных, процедур и функций, которые могут совместно использоваться несколькими программами.

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

  • Структура модуля:

UNIT<имя модуля>;

INTERFACE

USES <список модулей>; {Необязательный}

{определяют константы, типы данных, переменные, процедуры и функции}

IMPLEMENTATION

USES <список модулей>; {Необязательный}

{описание реализации используемых процедур и функций}

BEGIN

<код инициализации>;

END.

  • Файл с модулем должен быть сохранен под таким же именем, как и в разделе unit, автоматически имеет расширение .tpu (Turbo Pascal Unit);

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

ЗАДАЧИ

      1. Создать модуль sqr3(x), позволяющий возводить любое число в третью степень.

      2. Создать модуль, позволяющий переводить градусную меру в радианную и вычислять tg(x).

      3. Создать модуль, содержащий функции нахождения arcsin(x), arcos(x) через arctg(x), перевода радианной меры в градусную.

      4. Написать модуль для работы с набором гиперболических функций (sinh(x), cosh(x), tanh(x)).

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

      6. Написать модуль возведения произвольного числа в произвольную целую степень.

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

      8. Даны две дроби и (А, В, С, Dнатуральные числа). Со­ставить модуль с процедурами:

      1. деления дроби на дробь;

      2. умножения дроби на дробь;

      3. сложения этих дробей.

Ответ должен быть несократимой дробью.

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

Будем представлять комплексные числа парами действительных: (а,b). Как из­вестно, действия над ними выполняются по правилам:

  1. (a,b) + (c,d) = (a+c , b+d),

  2. (a,b)- (c,d) = (a-c , b-d),

  3. (a,b) * (c,d) = (a*c-b*d , a*d+b*c),

  4. (a,b) / (c,d) = ((a*c+b*d) / (c*c+d*d) , (b*c-a*d) / (c*c+d*d)).

Создаваемый модуль будет включать четыре процедуры: Sum - сумма, Raz -разность, Proiz - произведение, Chastn - частное.

    1. Модуль для вычислений с квадратными матрицами:

- умножение матрицы на число;

- суммирование двух матриц;

- транспонирование матрицы:

- нахождение определителя матрицы.

11. Написать модуль, который находит все четырехзначные числа вида abcd, для которых выполня­ется:

  1. а, b, с, d — разные цифры;

  2. ab - cd = а + b + с + d.

Вывести на печать все такие числа.

12. Создать модуль для работы с комплексными числами: выполняет преобразование двух вещественных значений x и y (вещественная и мнимая части) в одно комплексное. Использовать в этом модуле следующие функции:

- функция вычисления абсолютной величины комплексного числа;

- функция получения экспоненциального представления комплексного числа;

- вывод комплексных значений на экран.