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

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ЛЬВІВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ ІМ. ІВАНА ФРАНКА
ФАКУЛЬТЕТ ПРИКЛАДНОЇ МАТЕМАТИКИ ТА ІНФОРМАТИКИ
Кафедра програмування
Кафедра педагогіки
ПЛАН-КОНСПЕКТ
практичного заняття на тему:
„Розробка програм з використанням процедур та функцій мовою 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 фактичні параметри, які відповідають формальним параметрам по кількості, типу і місцю розміщення.
Процедура може бути як з параметрами, так і без них. Якщо процедура без параметрів, то в її заголовку є лише імя процедури і викликається вона лише по імені.
Функції
Функція це допоміжний алгоритм (підпрограма), результатом роботи якої є деяке значення.
Приклади:
Для чого?
В чому відмінність від процедури?
Результат виконання - одне значення, яке присвоюється імені функції і передається в основну програму.
Практичні завдання:
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 (x0), яка обчислює по формулі
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.
IV. Підведення підсумків заняття. (10хв.)
Оцінювання студентів.
V. Домашнє завдання
Завдання №1: Знайти найбiльше та найменше значення функцiї y=tg(2sin(0,31x), табулюючи її на вiдрiзку [a, b] з кроком h.
Завдання №2: Дано прямокутний масив P з 2 рядкiв i 3 стовпчикiв цілих чисел. Скласти програму для обчислення: кiлькостi відємних елементiв масиву, добутку елементiв, бiльших вiд 0.2, але менших вiд 2.13 та вивести на екран всi додатні елементи.
1