Проходження навчальної практики по програмуванні на мові Паскаль студентам необхідно скласти програми розв'язку восьми завдань.
Завдання 1. Передбачає складання та відладку програми реалізації лінійного алгоритму. При складанні програми студенти повинні використати оператори вводу-виводу, вміти правильно записувати вирази з використанням стандартних функцій.
Завдання 2. Передбачає складання та відладку програми реалізації алгоритму з розгалуженням. При складанні програми студенти повинні використати прості оператори вводу-виводу, умовний оператор if-then-else.
(*---------- Ввід вхідних даних ---------------------- *)
write('x='); readln(x);
write('y='); readln(y);
write('z='); readln(z);
(*------------- Реалізація розгалуження та вивід результату ----------------- *)
if x<=z then begin a:=cos(x+3)*cos(x+y)*cos(x+y);
writeln('a=',a:10:5) end
else begin b:=x+cos(z); writeln('b=',b:10:5)
end
end.
Завдання 3. Передбачає складання та відладку програми реалізації простого циклічного алгоритму. Складання програми вимагає від студентів знання оператора циклу for. В завданні вимагається розробити два варіанти програми - з використанням оператора циклу та без нього.
(* ------------ Варіант програми без оператора циклу ----------------- *)
program zavd3fa(input,output);
label 100;
var a,b,xn,xk,dx,y:real;
begin
readln(a,b);
xn:=60;
xk:=100;
dx:=10;
100: y:=a*sqr(ln(xn))/(b+sqrt(xn));
writeln('xn=',xn:8:1,' y=',y:8:5);
xn:=xn+dx;
if xn<=xk then goto 100;
end.
(* ------------- Варіант програми з оператором циклу----------------- *)
program zavd3b(input,output);
var a,b,xn,xk,dx,y:real;
begin
readln(a,b);
xn:=60;
xk:=100;
dx:=10;
while xn<=xk do
begin
y:=a*sqr(ln(xn))/(b+sqrt(xn));
writeln('xn=',xn:8:1,' y=',y:8:5);
xn:=xn+dx;
end
end.
Завдання 4. Передбачає складання та відладку програми реалізації циклічного алгоритму по обробці одновимірних масивів. Складання програми вимагає знання методики вводу, обробки та виводу одномірних масивів.
(* вивід підрахованої кількості елементів на друк *)
writeln(lst,'кількість елементів, менших від а становить',s:2)
end.
Завдання 5. Передбачає складання та відладку програми реалізації циклічного алгоритму по обробці двомірних масивів. Складання програми вимагає знання методики вводу, обробки та виводу двомірних масивів. Особливу увагу при поясненні завдання слід звернути увагу на наступні моменти:
1) методика вводу двомірного масиву по рядках (по стовбцях);
2) методика організації вкладених циклів при обробці двомірних масивів;
3) методика виводу двомірного масиву по рядках (по стовбцях).
Приклад 5. Дано матрицю дійсних чисел розмірністю
4 5. Скласти програму, яка б дозволила:
1) знайти максимальний елемент матриці;
2) знайти суми модулів елементів стовбців матриці;
(* Знаходження максимальної суми та вивід її на друк *)
for j:=1 to 4 do
if sum[j]>=max_sum then max_sum:=sum[j];
writeln(lst);
writeln(lst,'максимальна сума = ',max_sum:5:2);
end.
Завдання 6передбачають складання та відладку програм, які використовують функції та процедури мови Паскаль. В завданні 6 вид функції (процедури) пропонується. В завданні 7 вибір функції студенти повинні здійснити самостійно. При поясненні завдання особливу увагу слід звернути на пояснення методики виклику функцій (процедур) та використання функцій, аргументами яких в свою чергу є функції.
Приклад 6.Скласти програму обчислення значення виразу z, використовуючи звернення до функцій.
(* Опис функції обчислення середнього зваженого *)
function xser(x1,p1:masyv):real;
var i:integer; xs:real;
begin
xs:=0;
for i:=1 to 5 do xs:=xs+x1[i]*p1[i];
xser:=xs;
end;
(* Опис функції обчислення середнього квадратичного відхилення *)
function g(x1,p1:masyv;xser:real):real;
var i:integer;sd:real;
begin
sd:=0;
for i:=1 to 5 do
sd:=sd+sqr((x1[i]-xser))*p1[i];
g:=sqrt(sd);
end;
(* Закінчення розділу описів, початок програми *)
(* Ввід елементів масивів x,p - фактичних параметрів *)
begin
for i:=1 to 5 do begin
write('x[',i:1,']='); readln(x[i]); end;
for i:=1 to 5 do begin
write('p[',i:1,']='); readln(p[i]);end;
(* Ввід значення параметра m0 *)
m0:=0;
(* Звертання до функцій xser,g *)
z:=(xser(x,p)-m0)/g(x,p,xser(x,p));
(* Вивід результату обчислень *)
writeln('z=',z);
end.
Завдання 7передбачає складання та відладку програм з використання графіки,а також використовуються функції та процедури мови Паскаль. При поясненні завдання особливу увагу слід звернути на пояснення методики виклику графічних функцій (процедур) .
Приклад7. Нарисувати графік функції y=2sin(2x)+1 на проміжку [0; 2p] табулюючи функцію з кроком h=0,1.
outtextxy(200,380,'Графік функції y=2sin2x+1');readln
end.
Завдання 8 передбачає складання та відладку програм по обробці нестандартного типу даних - записів (масивів записів). Студенти повинні володіти методикою вводу та обробки записів та масивів, що складаються з записів, володіти технікою використання оператора with. Cлід звернути увагу на методику формування та виводу на друк вихідних документів табличної структури.
Приклад. Інформація про кожного студента групи містить його прізвище та ініціали, оцінки, отримані ним з чотирьох іспитів та середній бал. Необхідно скласти програму, що виконуватиме такі дії:
if st.sb>=4.0 then writeln(lst,st.pip:10,' ':5,st.sb:5:3);
end;
end.
Завдання 9 передбачає складання та відладку програм з використанням файлiв Студенти повинні володіти методикою вводу та обробки записів та масивів, що складаються з записів, володіти технікою використання оператора with. Cлід звернути увагу на методику формування та виводу на друк вихідних документів табличної структури.