Задача Розробка та виконання програм на мові Pascal
Работа добавлена на сайт bukvasha.net: 2015-10-29Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
от 25%
договор
Заняття №5.
Складання програм з використанням процедур та функцій.
Мета: систематизація та поглиблення знань, вмінь і навичок, розробки програм з використанням процедур та функцій.
Теоретичні відомості.
Підпрограма – це пойменована, логічно закінчена група операторів, яку можна викликати для виконання довільну кількість разів з різних місць програми.
В мові Pascal в ролі підпрограм використовуються процедури і функції. Функція представляє собою групу операторів, в результаті виконання яких обчислюється одне значення, що присвоюється значенню функції.
Опис функції здійснюється за допомогою ключового слова FUNCTION ім’я, а в дужках змінні.
Процедура на відміну від функції може повертати в програму одне, декілька або не повертати жодного значення. В заголовку після ключового слова PROCEDURE ім’я, а в дужках змінні зі своїми описами.
Індивідуальне завдання.
Варіант №13.
Скласти програму на мові Pascal розв’язку даної задачі та виконання її на ЕОМ. Передбачивши виведення на очищений екран результатів обчислень, супроводивши їх необхідними поясненнями.
Задача 1.
Дано масив С(5,4) . Зформувати новий масив К, кожний елемент якого дорівнює відповідному елементу масива С, поділеному на факторіал суми його індексів. Надрукувати масив К по рядках, підрахувавши кількість його елементів, значення яких меньше одиниці.
Задача 2.
Знайти суму від’ємних елементів та середнє значення додатніх елементів масивів: L (6), B (5), H(7) цілих чисел, використовуючи процедури.
Задача 1:
program var_1_1;
uses crt;
var
c,k:array [1..5,1..4] of real;
i,j:integer;
m:byte;
function facktorial(x:integer):real;
var
i:integer;
facktorial1:real;
begin
facktorial1:=1;
if i<=1 then facktorial:=1 else begin
for i:=1 to x do facktorial1:=facktorial1*i;
facktorial:=facktorial1;
end;
end;
begin
clrscr;
writeln('Введiть елементи масива:');
writeln;
for i:=1 to 5 do
for j:=1 to 4 do begin
write('Елемент [',i,',',j,']=');
readln(c[i,j]);
end;
m:=0;
clrscr;
for i:=1 to 5 do begin
for j:=1 to 4 do begin
k[i,j]:=c[i,j]/facktorial(i+j);
if k[i,j]<1 then m:=m+1;
write(k[i,j]:7:5,' ');
end;
writeln;
end;
end.
РЕЗУЛЬТАТИ РОБОТИ ПРОГРАМИ :
0.50000 0.33333 0.16667 -0.04167
0.66667 0.12500 -0.01667 0.00556
0.20833 -0.01667 -0.00417 0.00119
0.05833 0.01250 0.00417 0.00005
0.00417 -0.00099 0.00005 0.00000
Задача 2:
program var_1_2;
uses crt;
var
l:array [1..7] of integer;
b:array [1..6] of integer;
h:array [1..8] of integer;
v:integer;
s:real;
procedure masiv(var x:array of integer;kol:integer;var vid:integer;var ser:real);
var
i:integer;
begin
clrscr;
vid:=0;
ser:=0;
writeln('Введiть елементи масива :');
writeln;
for i:=1 to kol do begin
write('Елемент x[',i,']=');
readln(x[i]);
if x[i]<0 then vid:=vid+1 else ser:=ser+x[i];
end;
ser:=ser/kol;
end;
begin
masiv(l,6,v,s);
writeln('Вiдемних елементiв: ',v);
writeln('Середне арифметичне суми додатнiх елементiв: ',s);
repeat until keypressed;
masiv(b,5,v,s);
writeln('Вiдемних елементiв: ',v);
writeln('Середне арифметичне суми додатнiх елементiв: ',s);
repeat until keypressed;
repeat until keypressed;
masiv(h,7,v,s);
writeln('Вiдемних елементiв: ',v);
writeln('Середне арифметичне суми додатнiх елементiв: ',s);
end.
РЕЗУЛЬТАТИ РОБОТИ ПРОГРАМИ :
Введiть елементи масива :
Елемент x[1]=2
Елемент x[2]=-2
Елемент x[3]=-3
Елемент x[4]=5
Елемент x[5]=3
Елемент x[6]=4
Вiдемних елементiв: 2
Середне арифметичне суми додатнiх елементiв: 2.33
Введiть елементи масива :
Елемент x[1]=23
Елемент x[2]=-3
Елемент x[3]=-4
Елемент x[4]=2
Елемент x[5]=8
Вiдемних елементiв: 2
Середне арифметичне суми додатнiх елементiв: 6.60
Введiть елементи масива :
Елемент x[1]=4
Елемент x[2]=5
Елемент x[3]=-6
Елемент x[4]=3
Елемент x[5]=2
Елемент x[6]=-7
Елемент x[7]=0
Вiдемних елементiв: 2
Середне арифметичне суми додатнiх елементiв: 2.00
Висновок:
на практичній роботі я систематизував та поглибив вміння та навички по роботі з функціями і процедурами у власних програмах, які дуже легко використовувати завдяки процедурам та функціям.