Procedure Zamina (var s: string);

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ЛЬВІВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ ІМ. ІВАНА ФРАНКА

ФАКУЛЬТЕТ ПРИКЛАДНОЇ МАТЕМАТИКИ ТА ІНФОРМАТИКИ

 

Кафедра програмування

Кафедра педагогіки

 

 

ПЛАН-КОНСПЕКТ

практичного заняття на тему:

„ Розробка програм з використанням процедур та функцій мовою Pascal “

 

 

Склала:

студентка групи ПМІ-51м

Хлєбик Мар’яна

 

Перевірили:

Клакович Л. М.

П’ятакова Г. П.

 

 

Львів-2013

Дисципліна: Pascal

Вид заняття: Практична робота.

Г рупа: Mтм-23, Mтм-22

Дата: 22.03.13

Тривалість заняття: 80хв

Час проведення: 08:30 – 09:50, 13:30 - 14:50

Місце проведення: ауд. 150 та 368, Головний корпус ЛНУ ім. І. Франка

Мета:

- навчальна:

Дати практичні знання (навики та вміння) про розробку програм мовою Pascal з використанням процедур та функцій.

- р озвива юча :

       Розвинути в студентів навики написання процедур мовою Pascal.

- в иховна:

Виховати в студентів культуру розробки програмного забезпечення, навчити тримати своє робоче місце та середовище в чистоті.

Навчально-методичне забезпечення заняття:

       Практичне заняття проводиться не в комп’ютерній аудиторії. Дошка, крейда.

 

 

Хід заняття

І. Організаційна частина. (5хв.)

· Привітання зі студентами

· Повідомлення теми та плану заняття

 

ІІ. Мотивація та стимулювання навчальної діяльності. (5хв.)

При розв’язку конкретних задач часто виникає необхідність повторити одні і ті ж обчислення  з різними значеннями параметрів і у різних частинах програми. Для зменшення обсягу програми  доцільно ці обчислення виділити в окрему програмну одиницю – підпрограму, а виклик цієї підпрограми здійснювати в потрібному місці головної програми.

 

В Pascal існують 2 види підпрограм: процедури та функції.

 

ІІІ. Основна частина. (60хв.)

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

 Структура процедури аналогічна структурі основної програми.

 

Заголовок складається з ключового слова PROCEDURE:

PROCEDURE <ім’я процедури> (<формальні параметри з їх описами>);

PROCEDURE F (q1,q2:T1; VAR q3:T2);

 

Розділ описів та декларацій містить опис локальних параметрів та змінних

BEGIN 

<оператори>;

P1; P2;

END;

F – ім’я процедури

q1,q2,q3 – імена формальних параметрів

T1, T1 – типи формальних параметрів

P1, P2 – оператори тіла процедури

 

Виклик процедури здійснюється за допомогою оператора виклику процедури F(a1,a2,a3), де F – ім’я процедури, а1,а2,а3 – фактичні параметри, які відповідають формальним параметрам по кількості, типу і місцю розміщення.

Процедура може бути як з параметрами, так і без них. Якщо процедура без параметрів, то в її заголовку є лише ім’я процедури і викликається вона лише по імені.

Функції

Функція – це допоміжний алгоритм (підпрограма), результатом роботи якої є деяке значення.

Приклади:

• обчислення sin x , cos x , x

• розрахунок значення по складених формулах

• відповідь на запитання (просте число або ні?)

Для чого?

• для обчислення однакових розрахунків в різних місцях програми

• для створення загальнодоступних бібліотек функцій

 

В чому відмінність від процедури?

 Результат виконання  - одне значення, яке присвоюється імені функції і передається в основну програму.

Практичні завдання:

1. Знайти найбiльше та найменше значення функцiї f(x) = x2cos(ln(|x|)), табулюючи її на вiдрiзку [a, b] з кроком h. Розв'язання. Обчислення значень функцiй f вигiдно оформити у виглядi функцiї.

Program MaxMin;

Var a,b,h,x,max,min:real;

Function f(x:real):real;

Begin

f:=Sqr(x)*Cos(Ln(Abs(x)))

End;

Begin

 WriteLn('Введiть межi iнтервалу [a,b] i крок h');

 Read(a,b,h);

x:=a; min:=f(a); max:=f(a);

 while x<=b do

 begin

 if max then max:=f(x);

 if min> f(x) then min:=f(x);

x:=x+h;

 end;

 WriteLn('f_max=', max:6:3);

 WriteLn('f_min=', min:6:3);

End.

Результати роботи програми:
Введiть межi iнтервалу [a, b] i крок h 1 10 0.1
f_max= 4.093 f_min=-64.754

n
2. Опи шіть функцію pow(x,n) від цілого n та дійсного x (x 0), яка обчислює  по формулі

                                          

program sixth8;

var x, m:real;

n:integer;

function pow(x:real; n:integer):real;

var m:integer;

begin

m:=1;

if n<0 then begin

       m:=-1;

       n:=abs(n);

       end;

if n=0 then pow:=1 else pow:=pow(x, n-1)*x;

if m=-1 then pow:=1/pow(x,n);

end;

begin

writeln('Vvedit x (x<>0)');

write('x=');

readln(x);

writeln('Vvedit n');

write('n=');

writeln('x^n=',pow(x, n):5:2);

end.

Результати роботи програми:

Vvedit x (x<>0)

x=2

Vvedit n

n=5

x^n=32

 

 

3. Напишіть програму, яка буде опрацьовувати стрічку за допомогою процедур та функцій таким чином:

- ввести рядок

- знайти кількість входжень вказаного символа в цей рядок

- видалити вказаний символ

- замінити вказаний символ на інший

procedure Vvod(var s: string);

function Count (s: string): byte;

procedure DelSl (var s: string);

procedure Zamina (var s: string);

procedure Vvid(var s: string);

begin

write('s='); readln(s);

end;

function Count (s: string): byte;

var i,k: byte; c: char;

begin

k:=0;

write('вкажіть символ для пошуку: '); readln(c);

for i:=1 to length(s) do

if s[i]=c then inc(k);

Count:=k;

end;

procedure DelSl (var s: string);

var i: byte; c: char;

begin

write(' вкажіть символ для видалення: ');

readln(c);

for i:=length(s) downto 1 do

if s[i]=c then delete(s,i,1);

end;

procedure Zamina (var s: string);

var i: byte; c1,c2: char;

begin

write(' вкажіть символ, який треба замінити: '); readln(c1);

write(' вкажіть символ, на який будемо міняти: '); readln(c2);

for i:=1 to length(s) do

if s[i]=c1 then s[i]:=c2;

end;

end;

var str:string; k: byte;

Begin

Vvid(str);

k:=Count (str);

writeln('Кількість символів =',k);

DelSl (str);

writeln('Рядок після видалення:');

writeln(str);

Zamina (str);

writeln('Рядок після заміни:');

writeln(str);

readln;

end.

 

 

4.Написати програму для обчислення значення функції f (0.8, a) + f (a, b)-f (2a-1, ab), де a, b дійсні числа і

Program func6;

uses crt;

var a,b,z: real;

function f(x,y:real):real;

 begin

 f:= (sqr(x)-sqr(y))/(sqr(x)-2*x*y +3*sqr(y) +4);

 end;

begin

clrscr;

writeln (' введ і т ь a,b');

readln(a,b);

z:=f(0.8,a)+f(a,b)-f(2*a-1,a*b);

writeln(z:4:2);

readln;

end.

 


Дата добавления: 2022-01-22; просмотров: 20; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!