Розв'язати наступні приклади (повторення):
- Якщо значення цілочисельних змінних наступне X=15, Y=25, Z=8, то чому будуть дорівнювати значення цих змінних після виконання операцій присвоювання:
X := sqrt(Y)*2; Y := Y-2; Z := Y div 2 mod
3; Відповідь: X:= sqrt(25)*2 X = 10 Y:= 25 - 2 Y = 23 Z:= 23
div 2 mod 3 Z = 2
- Написати команду присвоєння, що надає значення середнього арифметичного змінних X та Y змінній Z.
Відповідь: Z := (X + Y) / 2
- За допомогою яких операторів присвоєння можна поміняти місцями значення двох змінних X таY.
Для цього необхідно використання третьої змінної того ж типу, що й змінні X та Y, наприклад, Z: Z := X; X := Y; Y := Z
- Далі можна розв'язати задачі з запропонованого підручника на сторінках 55 - 58.
Приклади розв'язування задач: №41. Умова: Якщо на одну шальку терезів посадити Даринку, яка важить n кг, і Наталку, яка важить на 5 кг менше, а на іншу насипати m кг цукерок, то скільки кілограмів цукерок доведеться з'їсти дівчаткам, щоб шальки терезів врівноважились. Введемо наступні змінні для зберігання необхідних результатів: N - вага Даринки; M - вага цукерок; P - вага цукерок, що необхідно з'їсти дівчинкам. Тоді програма для розв'язання задачі буде такою:
Program Task_41;
Uses crt;
Var M, N, P : real;
Begin
Clrscr;
Write(‘Введіть вагу Даринки ’);
Readln(N);
Write(‘Введіть вагу цукерок, що лежать на терезах’);
Readln(M);
P := N + N – 5 – M; {N – 5 – вага Наталки}
Writeln(‘Дівчаткам необхідно з’їсти ’,P,‘кг цукерок.’);
Readln; {Процедура затримує зображення на екрані
до натискання клавіші Enter}
End.
№50. Умова: Дано два дійсних числа a та b.
Обчислити їх суму, різницю, добуток. Необхідні змінні: a, b
- задані числа; Add - сума чисел; Sub - різниця
чисел; Multy - добуток чисел. Програма має наступний вигляд:
Program Task_50;
Uses crt;
Var a, b, Add, Sub, Multy : real;
Begin
Clrscr;
Write(‘Введіть два числа ’);
Readln(a,b);
Add := a + b;
Sub := a – b;
Multy := a*b;
Writeln(‘Результати обчислень:’);
Writeln(‘Сума = ‘, Add :8:2);
Writeln(‘Різниця = ’, Sub :8:2);
Writeln(‘Добуток = ’, Multy :8:2);
Readkey; {Процедура затримки зображення
на екрані до натискання будь-якої клавіші}
End.
№51. Умова: Дано дійсні числа x та y. Обчислити значення
виразу: Необхідні змінні: x, y - задані
числа; Rez - результат обчислень. Програма має наступний
вигляд:
Program Task_51;
Uses crt;
Var x, y, Rez : real;
Begin
Clrscr;
Write(‘Введіть два числа ’);
Readln(x,y);
{Будьте уважні при розставлянні дужок у виразі}
Rez := (abs(x)-abs(y))/(1+abs(x*y));
Writeln(‘Rez= ‘, Rez:8:2);
Readkey;
End.
№58. Умова: Дано гіпотенуза і один з катетів прямокутного
трикутника. Знайти другий його катет і площу вписаного круга. Необхідні
змінні: a - катет прямокутного трикутника; c - гіпотенуза
прямокутного трикутника; b - довжина невідомого катета; S -
площа вписаного круга. Математична довідка:
- ь другий катет прямокутного трикутника знаходиться за теоремою Піфагора
a^2 + b^2 = c^2, звідки випливає, що катет дорівнює:
- площа вписаного круга обчислюється за наступною формулою:
Програма має наступний вигляд:
Program Task_58;
Uses crt;
Var a, b, c, S : real;
Begin
Clrscr;
Write(‘Введіть довжину гіпотенузи ’);
Readln(с);
Write(‘Введіть довжину відомого катета ’);
Readln(a);
b := sqrt(sqr(c)-sqr(a));
S := Pi*(a+b-c)/2;
Writeln(‘Довжина невідомого катета: ’, b:8:2);
Writeln(‘Площа вписаного кола: ’, S:8:2);
Readkey;
End.
№62. Умова: Обчислити відстань між двома точками з
координатами (x1; y1) та (x2; y2). Необхідні
змінні: x1, y1 - координати першої точки; x2,
y2 - координати другої точки Математична довідка: Відстань
між двома точками обчислюється за теоремою Піфагора, як катет прямокутного
трикутника, побудованого наступним чином:
Тоді відстань між точками з координатами (x1, y1) та
(x2, y2) буде обчислюватись за наступною формулою: Враховуючи, що різниця між координатами точок підноситься до
квадрату, можна не звертати увагу на послідовність координат в
різниці. Програма має наступний вигляд:
Program Task_62;
Uses crt;
Var x1,x2,y1,y2,S : real;
Begin
Clrscr;
Write(‘Введіть координати першої точки ’);
Readln(x1,y1);
Write(‘Введіть координати другої точки ’);
Readln(x2,y2);
S := sqrt(sqr(x1-x2)-sqr(y1-y2));
Writeln(‘Відстань між двома точками дорівнює: ’, S:8:2);
Readkey;
End.
№66. Умова: Визначити, яку роботу необхідно виконати, щоб
підняти тіло масою m на висоту h від Землі. Необхідні
змінні: m - маса тіла; h - висота підйому тіла; A
- робота. Математична довідка: Робота, необхідна для підняття тіла
масою m на висоту h, обчислюється за наступною
формулою: A = mgh, де g = 9,8 - таблична константа
(прискорення вільного падіння). Програма має наступний вигляд:
Program Task_66;
Uses crt;
Var m,h,A : real;
Begin
Clrscr;
Write(‘Введіть масу тіла ’);
Readln(m);
Write(‘Введіть висоту підйому тіла ’);
Readln(h);
A := m*h*9.8;
Writeln(‘Виконана робота дорівнює: ’, А:8:2);
Readkey;
End.
№73. Умова: Визначити, яку платню одержить на фірмі сумісник за
виконану роботу, якщо йому нараховано S грн., а податок становить 20
відсотків. Необхідні змінні: S - сума нарахувань
сумісника; P - реальна платня, що він одержить у касі (за умовою вона
становить 80% від нарахувань). Програма має наступний вигляд:
Program Task_73;
Uses crt;
Var P,S : real;
Begin
Clrscr;
Write(‘Введіть суму нарахувань робітника ’);
Readln(S);
P := S*0.8;
Writeln(‘Платня сумісника становить: ’, P:8:2);
Readkey;
End.
№76. Умова: Скласти програму, що подає звуковий сигнал з
частотою H Гц та тривалістю Т мс. Необхідні змінні: H
- частота звука; T - тривалість звука. Програма має наступний
вигляд:
Program Task_76;
Uses crt;
Var H,T : integer;
Begin
Clrscr;
Write(‘Введіть частоту звука ’);
Readln(H);
Write(‘Введіть тривалість звуку ’);
Readln(T);
Sound(H);
Delay(T);
Nosound;
End.
№77. Умова: Дано значення змінних x, y,
z. Обчислити значення змінної t:
Необхідні змінні: x, y, z - задані
числа; t1, t2, t3, t4 - результати обчислень за
відповідними формулами завдання 77 підпункти 1), 2), 3), 4). Математична
довідка: Для обчислення будь-якої степені будь-якого числа можна
скористатися такою формулою:
Мовою Паскаль це буде мати наступний вигляд: Exp(ln(x)*y) Програма має наступний
вигляд:
Program Task_77;
Uses crt;
Var x,y,z,t1,t2,t3,t4 : real;
Begin
Clrscr;
Write(‘Введіть три числа’);
Readln(x,y,z);
T1 := (x+y)/(x-1/2)-(x-z)/(x*y);
T2:= exp(ln(x)*exp(ln(y)*(z+2)))+ exp(ln(x)*exp)ln(y)*z)));
T3:= (1+z)*(x+y/z)/(x-1/(1+sqr(x));
T4:= x/(1+sqr(x)/(3+sqr(2*x)/(5+sqr(3*x))));
Writeln(‘Т1= ’, Т1:8:2);
Writeln(‘Т2= ’, Т2:8:2);
Writeln(‘Т3= ’, Т3:8:2);
Writeln(‘Т4= ’, Т4:8:2);
Readkey;
End.
|