Лабораторная работа 10


Без названия

Теоретический материал Справочник по процедурам и функциям


Цель работы: Обобщить знания и навыки, полученные при выполнении предыдущих лабораторных работ.

Общие сведения:

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

Контрольные вопросы

  1. Перечислите основные этапы разработки программы;
  2. Правила использования типа "массив";
  3. Правила использования типа "запись";
  4. Правила использования типа "строка";
  5. Правила использования типа "множество";
  6. Правила программирования и использования файлов программах на Паскале;
  7. Правила программирования и использования процедур и функций;
  8. Виды параметров процедур и функций.

Задания:


1. Необходимо составить программу идентификации треугольника (остроугольный, прямоугольный, тупоугольный, равнобедренный, равносторонний) по его элементам. Величины указанных элементов генерируются случайно как целые числа в допустимых диапазонах (например, углы - в диапазоне от 1 до 180). Предусмотреть возможность вводить величины элементов для идентификации фигур с клавиатуры, предусмотрев защиту от неверного ввода данных.
a) Идентификация треугольника по двум его углам U1 и U2
b) Идентификация треугольника по трем его сторонам.
c) Идентификация треугольника по двум сторонам и углу между ними.
2. Идентифицировать трапецию (обыкновенная, прямоугольная, равнобедренная, прямоугольник) по двум прилежащим углам. Условия генерации параметров такие же как в задаче (1).
3. Составить программу, анализирующую нажатую клавишу на ее принадлежность к определенной группе клавиш. Соответствующие сообщения выдаются для цифровых клавиш, больших букв и малых букв латинского алфавита.
4. Составить программу случайного выбора дежурного из списка, в котором 4 мальчика и 4 девочки, причем для девочек вероятность выбора в два раза ниже, чем для мальчиков.
5. Необходимо вывести полностью оформленную таблицу - в рамке и с элементами, указывающими содержание строк и столбцов. Точность - "Z" знаков после десятичной точки.
a) Целые степени N для чисел p, e, и их отношения p/e. N=1..6, Z=4.
b) Логарифмы целых N=2..20 по целому основанию M=2..10 (LogMN = Ln(N) / Ln(M) ). Z=3.
c) Функции и для целых N=10..20. Здесь важна методика вычисления функций для избежание переполнения разрядной сетки типов данных. Z=3.
6. Определить массу тела в форме куба со стороной L, плотность которого равномерно убывает от центра к краям. В центре куба плотность равна Pc, а на вершинах куба - Pk7. Решить предыдущую задачу для прямоугольной пластины размером Lx на Ly, причем плотность (как масса на единицу площади) убывает обратно пропорционально расстоянию до центра пластины.
8. Зашифровать введенную с клавиатуры строку смещением кода, которое зависит от номера символа в строке. Для коротких строк можно использовать линейную зависимость, для длинных - комбинации функций MOD и DIV. Провести дешифровку.
9. Определить массив Y=X2 - X3 , где X= -1, -0.9, -0.8, ...2. Выделить из него массив положительных значений Yp и вывести этот массив на экран с сортировкой по возрастанию в 4 колонки.
10. Записать в новый файл f1.pas 100 реальных случайных чисел (от -100 до 100) в 5 колонок с точностью 6 знаков после десятичной точки. Файлу установить атрибут "Read-Only". Считать из файла f1.pas числа и вывести их в файл f2.pas - сначала отрицательные, а затем положительные в 10 колонок с точностью 2 знака после десятичной точки. Файлу f2.pas установить атрибут "Hidden".

Задачи повышенной сложности
  1. Найти площадь пересечения двух многоугольников. Предусмотреть ввод координат и количество вершин с клавиатуры и вывод многоугольников на экран.
  2. Функция Бесселя порядка N имеет вид

    Создать текстовый файл, содержащий таблицу функции Бесселя 5-го порядка при x = 3.3, 3.6, 3.9, ...12 с точностью 8 знаков после десятичной точки.
  3. Составить программу шифровки и дешифровки файла методом простой символьной подстановки. Для этого сгенерировать таблицу из N смещений кодов символов и записать ее в файл. Использовать эту таблицу при генерации и расшифровке символов файла пачками по N штук.
  4. Составить программу перемещения по экрану вводимой предварительно с клавиатуры текстовой строки. Перемещение осуществляется по восьми направлениям, направление должно меняться через случайное число циклов. Причем при смене направления движения должен генерироваться короткий звуковой импульс, а в начале нового цикла должен случайно меняться цвет надписи. Можно модернизировать программу организовав по какому-либо принципу процесс "сборки" исходной текстовой строки из "рассыпавшихся" отдельных ее символов.
  5. Царство царя Гороха представляет собой выпуклый N-угольник, внутри которого расположены K селений. Царь решил завещать двум своим сыновьям по полцарства, одинаковые по площади и с равным количеством селений. Для этого он требует разделить царство одной прямолинейной границей. Напишите программу, строящую границу согласно царской воле. Если граница проходит через селение, то оно может быть либо отнесено к одному из полуцарств, либо разделено на два селения, которые будут отнесены к разным полуцарствам (при нечетном K граница, естественно, должна разделить какое-то из селений).

Назад
На главную
    Учебник по языку Pascal          Лабораторные работы по программированию          Справочник