Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Лабораторная работа №8

Читайте также:
  1. g. Если работает на табачном проекте, в первую очередь спрашиваем, курит ли человек
  2. I. Историческая работа сообразно её материалам
  3. II. Групповая работа
  4. II. Историческая работа сообразно её формам 1 страница
  5. II. Историческая работа сообразно её формам 2 страница
  6. II. Историческая работа сообразно её формам 3 страница
  7. II. Историческая работа сообразно её формам 4 страница

Подпрограммы

 

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

Пример: Даны натуральное число n, целые числа ,…, . Найти числа, являющиеся полными квадратами.

Uses CRT;

 

Var

a:array [1..100] of integer;

i,n:integer;

d:char;

 

Procedure Pr(a:real);

Var

i:integer;

s:real;

Begin

Writeln;

For i:=1 to Trunc(a) do

begin

s:=a/i;

if i=s then

Write(' ', a:3:0);

end;

End;

BEGIN

Clrscr;

Writeln('Vvedite kol-vo el-tov:');

Read(n);

Writeln('Vvedite elements');

For i:=1 to n do

Read(a[i]);

For i:=1 to n do

Pr(a[i]);

d:=ReadKey;

END.

Задания:

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

2. Задана матрица А размерности тм. Получить матрицу В = А15.

3. Написать подпрограмму для вычисления суммы с точностью до 0,001, где х передать в качестве параметра. Совместно с бригадой, выполняющей задание № 4, разработать головную программу, реализующую по выбору вызов той или иной подпрограммы (см. задание 4).

4. Написать подпрограмму для вычисления суммы с точностью до 0,001, где х передать в качестве параметра. Совместно с бригадой, выполняющей задание № 3, написать головную программу с вызовом по выбору пользователя одной из реализованных подпрограмм (см. задание 3).

5. Написать подпрограмму для вычисления суммы , когда ввод функции f(x) заранее не известен. Для этого имя функции f(x) передать подпрограмме в виде параметра процедурного типа. В головной программе вызвать подпрограмму для следующих функций f(x): ; ; , где коэффициенты определить в самой функции посредством типизированных констант.

6. Задано множество D из п целых чисел и его подмножество D1. При этом п заранее не известно. Составить подпрограмму для вычисления функции ; по заданному значению S. Здесь - мощность (число элементов) множества D. Запись означает, что сумма берется лишь по тем х, которые принадлежат D. Вид функции p(x,S) заранее не известен. Функция Q (x) равна единице при х ÎD1 и нулю в противном случае. Совместно с бригадой, выполняющей задание № 7, составить головную программу, в которой следует обратиться к данной подпрограмме несколько раз для различных значений S и функции p(x,S) = (x-S)2, a также - к подпрограмме из задания N 7.

7. Задано множество D из n целых чисел и его подмножество D1. При этом п заранее не известно. Составить подпрограмму для вычисления функции по заданному значению S. Здесь использованы те же обозначения, что и в задании N 6. Вид функции р(х, s) также неизвестен. Совместно с бригадой, выполняющей задание № 6, разработать головную программу с вызовом реализованных подпрограмм (см. задание № 6). В качестве функции р(х, s) выбрать [x/S]2.

8. Даны натуральное п и целочисленная матрица пхп. Получить b1, b2,…,bn, где b j - наименьшее из значений элементов аi1, аi2,..., аin,; i = 1, 2,...,n.

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

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

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

12. Составить подпрограмму, которая печатает все натуральные числа, меньшие N, являющиеся палиндромом. Число называется палиндромом, если оно читается одинаково как с начала, так и с конца (например, 383, 22). Число N передать подпрограмме как параметр.

13. Дана целочисленная матрица размерности n x n. Найти номера строк, все элементы которых делятся на 3 без остатка.

14. Составить подпрограмму для решения следующей задачи. Задан одно­мерный массив М, состоящий из п элементов, каждый из которых представляет собой запись вида:

struct

{

int a, b;

} ZAP;

Найти сумму тех значений В, которым соответствует А = -Amaх, где Аmах - наибольшее среди всех значений А данного массива (предполагается, что массив М имеет несколько значений Аmaх). В головной программе описать М как типизированную константу.

15. Составить подпрограмму для решения следующей задачи. Даны два одномерных массива Ml и М2, состоящие соответственно из N1 и N2 элементов (N 1 £ N2). Массив М1 содержит сведения о том, сколько изделий и каких типов хранится на складе. Элементы Ml описываются записью вида:

struct

{

int np, kol;

} zap1;

где np - наименование продукции (порядковый номер); kol - количество изделий данного наименования. Массив М2 содержит вспомогательные сведения о последних корректировках количества изделий по отдельным видам продукции. Элементы М2 описываются записью вида:

struct

{

int np, kor;

} zap2;

где np то же, что и в ZAP1; kor показывает, насколько уменьшилось (kor<0) или увеличилось (kor>0) количество изделий вида NP. Требуется обновить массив Ml на основе сведений массива М2. В головной программе вызвать эту подпрограмму для нескольких массивов М2.

16. В пункте получения багажа аэропорта имеется общий список пассажиров и их багажа. Каждая запись этого списка содержит информацию о фамилии пассажира и его багаже (количество мест, их вес). Составить подпрограмму для печати сведений о пассажирах, багаж которых состоит из одного места весом не менее 25 кг. Совместно с бригадой, выполняющей задание № 17, составить головную программу, в которой вызвать данную или другую подпрограмму (см. задание N 17).

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

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

19. Составить подпрограмму, которая в массиве целых чисел определяет полные квадраты.

 

 

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

1. Чем отличаются формальные и фактические параметры?

2. Как объявляются локальные и глобальные переменные?

 


Дата добавления: 2015-07-26; просмотров: 123 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Н А К А З| Ноября, суббота

mybiblioteka.su - 2015-2024 год. (0.01 сек.)