Вивчення Turbo Pascal

Вивчення Turbo Pascal у школі - це просто,
якщо користуватися цим сайтом

  

   
  Головна
  Вступ до програмування
  Основи програмування мовою Паскаль
  Алгоритмічні структури
  Підпрограми
  Структуровані типи даних
  Графіка
  Автор сайту
  Карта сайту
   
 
 

Розв'язування задач з лінійними алгоритмами

 

Розв'язати наступні приклади (повторення):

  • Якщо значення цілочисельних змінних наступне 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.