Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Практическая часть.




 

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

 
 

Program znachenie1;

Var

a,b,c,d,x,y:real;

procedure modul (z:real; var m:real);

var

begin

if z>=0 then m:=z else m:=-z;

end;

begin

read (x);

modul(sqr(x)+4*x-3,a);

modul(x-1,b);

modul(sqr(x)*x-7,c);

modul(sqr(x)*x-5*x+1,d);

if (x=1) or (x*x*-5*x+1=0) then

writeln (’'деление на 0’)

else begin

y:=a/b+c/d;

writeln(y:8:2);

end;

end.

Измените программу таким образом, чтобы она находила значение выражения:

 
 

Задание 2. Наберите заданную программу, выводящую наименьшее число из 5 произвольных.

Program bip;

Var

a,b,c,d,e,g,p,r,q:real;

procedure bid (x,y: real; var z: real);

var

begin

if x>y then z:=x else z:=y;

end;

begin

read(a,b,c,d,e);

bid(a,b,g);

bid(g,c,p);

bid(p,d,q);

bid(q,e,r);

writeln (r:6:2);

end.

Измените программу таким образом, чтобы она выводила наименьшее из шести чисел, введенных с клавиатуры.

 

Задание 3. Наберите заданную программу, которая просматривает каждое из 3 произвольных введенных с клавиатуры чисел и выводит на экран количество цифр того числа, у которого оно максимально.

Program cifri;

Var

a,b,c,d,e,g,: integer;

procedure bid (i,j,x,y: integer; var z: integer);

var

begin

if x>y then z:=x else z:=y;

end;

procedure kol (t: integer; var k: integer);

begin

k:=0;

while t>0 do

begin

k:=k+1;

t:=t div 10;

end;

end;

begin

read(a,b,c);

kol(a,d);

kol(b,e);

kol(c,g);

bid(d,e,m);

bid(m,g,l);

writeln (l);

end.

Измените программу таким образом, чтобы на экран выводилось само число с наибольшим количеством цифр.

 

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

 

1. Что такое подпрограмма?

2. Для чего предназначены подпрограммы-процедуры?

3. В чем различия между глобальными и локальными переменными?

4. В чем различия между формальными и фактическими параметрами?

5. Как осуществляется вызов процедуры?

 

 

 

Тема: “Подпрограммы-функции”

 

Цель: выработать навыки работы с подпрограммами-функциями, а также умения использовать их при решении задач.

 

 

План работы.

1. Повторить теорию.

2. Выполнить практическую часть на компьютере, записав ответы в тетрадь.

3. Ответить на контрольные вопросы.

 

Ход работы.

 

Теория.

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

Первое отличие функции в её заголовке.

Формат описания функции:

Function <имя функции>(< список формальных параметров >): <тип функции>;

 

 
 
Раздел описаний

 


Begin

 
 
Раздел операторов

 


End;

Раздел описаний функции может содержать подразделы: метки, константы, типы, переменные, процедуры и функции. Раздел описаний в процедуре может отсутствовать.

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

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

Задание 1. Наберите заданную программу, находящую значение выражения:

 
 

Program znachenie2;

Var

a,b,c,g,d,p,r,q:real;

function max (x,y: real);

var

begin

if x>y then max:=x else max:=y;

end;

function min (x,y: real);

var

begin

if x<y then min:=x else min:=y;

end;

begin

read(a,b,c);

if (max(a,c)<>0) and (min(a,b)<>0) then

d:= min(min(a,b),c)/ max(a,c) + max(max(a,b),c)/ min(a,b)

else writeln (‘деление на ноль’);

writeln (d:8:2);

end.

 
 

Измените программу таким образом, чтобы она находила значение выражения:

 

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

 

 

Program znachenie2;

Var

a,b,c:integer; d:real;

function nod (x,y: integer;): integer;

begin

while x<>y do

if x>y then x:=x-y else y:=y-x;

nod:=x;

end;

begin

read(a,b,c);

d:=(nod(nod(a,b),c)/((a*c)div nod(a,c))+((b*c)div nod(b,c))/ ((a*b) div nod(a,b));

writeln (d:8:2);

end.

 
 

Измените программу таким образом, чтобы она находила значение выражения:

 

Задание 3. Наберите заданную программу, находящую значение выражения:

 
 

Program znachenie3;

Var

a,b,c:integer; d:real;

function fact (x: integer):integer;

var

I,p:integer;

begin

p:=1;

for I:=1 to x do

p:=p*I;

fact:=p;

end;

begin

read(a,b,c);

if (fact(c)<>0)and fact(b+c) then begin

d:= (fact(a)+fact(b))/fact(c) + fact(a)/fact(b+c)

writeln (d:8:2); end

else writeln(‘деление на ноль’);

end.

 

Измените программу таким образом, чтобы она находила значение выражения:

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

1. Когда используется подпрограмма-функция?

2. В чем существенные отличия подпрограмм-функций от процедур?

3. Как осуществляется вызов функции?

4. В чем отличие применения функции и процедуры для решения одной и той же подзадачи?

Тема: “Множества”.

 

Цель: выработать навыки задания, конструирования множеств, а также умения использовать операции над множествами при решении задач.

 

План работы.

1. Повторить теорию.

2. Выполнить практическую часть на компьютере, записав ответы в тетрадь.

3. Ответить на контрольные вопросы.

 

Ход работы.

Теория.

Множество-это неупорядоченный, ограниченный набор данных одного типа. Элементы множества задаются некоторым базовым типом. Базовым типом может быть любой порядковый тип. Максимальное количество элементов, составляющих базовый тип не превышает диапазон 0..255.

Примеры задания множеств:

Var

MN1:set of byte;

MN2:set of char;

MN3:set of Boolean;

MN4:set of (a,b,c,d);

При задании типа множества описывается максимальный возможный набор элементов, входящих в данное множество, но никаких значений в переменных это не создаёт. Значение множества задаётся в разделе операторов с помощью конструктора. Конструктор – это набор элементов базового типа, заключённый в [ ]. Множество может быть пустым – []. Конструируя множество, его элементами могут быть константы, переменные, выражения, значения которых принадлежат базовому типу. Например: MN1:=[1,3,..5,2,7,2];

MN2:=[’a’,’k’];

Mn3:=[boolean];

Mn4:=[].

 

Операции над множествами:

1. Объединение двух множеств есть множество, элементы которого принадлежат или одному или другому множеству (А+В).

2. Пересечение двух множеств есть множество, элементами которого являются элементы первого множества, являющиеся элементами второго множества (А*В).

3. Разность двух множеств есть множество, элементы которого принадлежат первому множеству, но не принадлежат второму множеству (А-В).

4. Вхождение. Логическая операция, с помощью которой можно определить принадлежность элемента какому-либо множеству (х in A). Если элемент принадлежит множеству, то результатом выполнения данной операции будет TRUE, в противном случае результат будет FALSE.

Множества можно сравнивать, для этого используют операции отношения =, <>, >=, <=.

Два множества называются равными, если каждый элемент первого множества является элементом другого множества и наоборот.

Множества не равны, когда не каждый элемент первого множества является элементом второго множества.

Первое множество больше или равно второму множеству, когда все элементы второго множества входят в первое множество.

Первое множество меньше или равно второму множеству, когда все элементы первого множества входят во второе множество.

Элементы множества нельзя запросить с клавиатуры с помощью процедур read или readln, нельзя также элементы множества выводить с помощью write или writeln.

 

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...