I етап. Аналіз умови задачі, визначення вхідних даних і кінцевих результатів
Вхідні дані: радіус основи, висота циліндра .
Кінцеві результати: об`єм, бічна площа, загальна площа.
II етап. Побудова інформаційної моделі
Очевидно, інформаційною моделлю розв’язування цієї задачі є математична модель, яка складається з формул, за якими знайдемо об`єм, бічну площу, загальну площу цилiндра .
Ці формули
sb =2*pi*r*h
sp =2*pi*r*h+2*pi*r2
v = pi*r2*h
Крім того, одержані дані бажано округлити до сотих.
III етап. Вибір програмних засобів для розв’язування задачі виглядатимуть так:
Прикладним програмним засобом, який можна використати для розв’язування задачі, може бути, наприклад, програма-калькулятор або табличний процесор. Або можна скласти спеціальну програму для розв’язування саме цієї задачі, використовуючи одну з мов програмування.
IV етап. Складання алгоритму розв'язування задачі.
V етап. Отримання комп'ютерної моделі.
Об`єм - PI()*A2*A2*B2
Бічна площа - 2*PI()*A2*B2
Загальна площа - 2*PI()*A2*B2+2*PI()*A2*A2
program zyl;
Uses CRT;
var h,sb,sp,r,v: real;
begin
writeln('Маємо цилiндр.' );
writeln('Вiдомi радiус основи та висота цилiндра. ' );
writeln('Знайти бiчну площу,oб`єм та загальну площу цилiндра. ' );
TextColor (06);
write('Введiть через пробiл радiус основи та висоту цилiндра, потiм натиснiть Enter - ' );
readln(r,h);
sb :=2*pi*r*h;
sp :=2*pi*r*h+2*pi*r*r;
v:= pi*r*r*h;
TextColor(03);
writeln('Об`єм цилiндра - ', v:3:3);
writeln('Бiчна площа цилiндра - ', sb:3:3);
writeln('Загальна площа цилiндра - ', sp:3:3);
readln;
end.
PRINT "Њ ©Ґ¬® жЁ«i¤а. ‚i¤®¬i а ¤iгб ®б®ўЁ в ўЁб®в жЁ«i¤а . "
'Маємо цилiндр. Вiдомий радiус основи та висота цилiндра.
PRINT "‡ ©вЁ ®Ў©Ґ¬, ўЁб®вг, Ўiзг в Ї®ўг Ї«®йг жЁ«i¤а ."
'Знайти бiчну площу,oб`єм та загальну площу цилiндра.
INPUT "‚ўҐ¤iвм а ¤iгб ®б®ўЁ, в вЁбiвм Enter - ", r
'Введiть радiус основи цилiндра
INPUT "‚ўҐ¤iвм ¤®ў¦Ёг Ўiз®х бв®а®Ё, в вЁбiвм Enter - ", h
'Введiть висоту цилiндра
sb = 2 * 3.14 * r * h
sp = 2 * 3.14 * r * h + 2 * 3.14 * r * r
v = 3.14 * r * r * h
PRINT "Ѓiз Ї«®й жЁ«i¤а - "; sb
'Бiчна площа цилiндра
PRINT "ЋЎ©Ґ¬ жЁ«i¤а - "; v
'Об'єм цилiндра
PRINT "Џ®ў Ї«®й жЁ«i¤а - "; sp
'Загальна площа цилiндра
INPUT z
TextWindow.WriteLine("Маємо цилiндр.Вiдомi радiус основи та висота цилiндра.")
TextWindow.WriteLine("Знайти бiчну площу,oб`єм та загальну площу цилiндра.")
TextWindow.Write("Радiус основи = ")
r=TextWindow.ReadNumber()
TextWindow.Write("Висота цилiндра = ")
h=TextWindow.ReadNumber()
sb =Math.Round(2*3.14*r*h*100)/100
sp =Math.Round((2*3.14*r*h+2*3.14*r*r)*100)/100
v = Math.Round(3.14*r*r*h*100)/100
TextWindow.Write("Об`єм цилiндра = ")
TextWindow.WriteLine(v)
TextWindow.Write("Бiчна площа цилiндра = ")
TextWindow.WriteLine(sb)
TextWindow.Write("Загальна площа цилiндра = ")
TextWindow.WriteLine(sp)
#include <stdio.h>
#include <math.h>
int main(void)
{
float r,sp,sb,h,v;
printf ("Њ ©Ґ¬® жЁ«i¤а. ‚i¤®¬i а ¤iгб ®б®ўЁ в ўЁб®в жЁ«i¤а . \n");
printf ("‡ ©вЁ ®Ў©Ґ¬, ўЁб®вг, Ўiзг в Ї®ўг Ї«®йг жЁ«i¤а .\n \n");
printf ( "‚ўҐ¤iвм а ¤iгб ®б®ўЁ, в вЁбiвм Enter - ");
scanf("%f", &r);
printf ( "‚ўҐ¤iвм ¤®ў¦Ёг Ўiз®х бв®а®Ё, в вЁбiвм Enter - ");
scanf("%f", &h);
sp = 2 * 3.14 * r * h + 2 * 3.14 * r * r;
sb = 2 * 3.14 * r * h;
v= 3.14 * r * r * h;
printf ("\nЏ®ў Ї«®й жЁ«i¤а - %f", sp);
printf ("\nЃiз Ї«®й жЁ«i¤а - %f", sb);
printf ("\nЋЎ©Ґ¬ жЁ«i¤а - %f", v);
scanf("\n");
return 0;
}
<title>Цилiндр</title>
<form name="zyl" >
Маємо цилiндр.Вiдомi радiус основи та висота цилiндра.<br>Знайти бiчну площу,oб`єм та загальну площу цилiндра.
<br>
<br>
Радіус основи цилiндра = <input type="textfield" name="r" value="">
<br>
<br>
Висота цилiндра = <input type="textfield" name="h" value="">
<br>
<br>
<input type="button" value="Sb" onClick="document.zyl.Sb.value=2*eval(document.zyl.r.value)*eval(document.zyl.h.value)*3.14">
Бiчна площа цилiндра = <input type="textfield" name="Sb" value="">
<br>
<br>
<input type="button" value="Sp" onClick="document.zyl.Sp.value=2*eval(document.zyl.r.value)*eval(document.zyl.h.value)*3.14+eval(document.zyl.r.value)*eval(document.zyl.r.value)*2*3.14">
Загальна площа цилiндра = <input type="textfield" name="Sp" value="">
<br>
<br>
<input type="button" value="V" onClick="document.zyl.V.value=eval(document.zyl.r.value)*eval(document.zyl.r.value)*eval(document.zyl.h.value)*3.14">
Об`єм цилiндра = <input type="textfield" name="V" value="">
<br>
<br>
<input type="reset" value="Reset">
</form>
<title>Цилiндр</title>
<body><div align="center">
<b>Маємо цилiндр.Вiдомi радiус основи та висота цилiндра.<br>Знайти бiчну площу,oб`єм та загальну площу цилiндра.</b>
<br>
<br>
<form name="zyl" action="javascript:zyl()" id="1419313176">
Радіус основи цилiндра = <input name="r" type="text" value=" " size="4"></b>
Висота цилiндра = <input name="h" type="text" value=" " size="4"></b>
<br>
<br>
<input type="submit" value="Порахувати">
<input type="reset" value="Reset">
</form>
Відповідь:<br> <span id="zyl">Введіть данні і нажміть "Порахувати"</span>
</div>
<script language="javascript">
function zyl() {
var r = document.zyl.r.value;
var h = document.zyl.h.value;
var sol = document.getElementById("zyl");
var sb =2*3.14*r*h;
var sp =2*3.14*r*h+2*3.14*r*r;
var v = 3.14*r*r*h;
string = "Об`єм цилiндра ="+v+"<br>"+"Бiчна площа цилiндра ="+sp+"<br>"+"Загальна площа цилiндра ="+sb;
sol.innerHTML = string;
}
</script>
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Маємо цилiндр.Вiдомi радiус основи та висота цилiндра.");
Console.WriteLine("Знайти бiчну площу,oб`єм та загальну площу цилiндра.");
Console.Write("Радiус основи = ");
Double r = Convert.ToDouble(Console.ReadLine());
Console.Write("Висота цилiндра = ");
Double h = Convert.ToDouble(Console.ReadLine());
Double sb = 2*3.14*r*h;
Double sp = 2*3.14*r*h + 2*3.14*r*r;
Double v = 3.14*r*r*h;
Console.WriteLine(" ");
Console.WriteLine("Об`єм цилiндра = "+v);
Console.WriteLine("Бiчна площа цилiндра = "+sb);
Console.WriteLine("Загальна площа цилiндра = "+sp);
Console.ReadKey();
}
}
Class Program
Shared Sub Main()
Console.WriteLine("Маємо цилiндр.Вiдомi радiус основи та висота цилiндра.")
Console.WriteLine("Знайти бiчну площу,oб`єм та загальну площу цилiндра.")
Console.Write("Радiус основи = ")
Dim r As Double = Convert.ToDouble(Console.ReadLine())
Console.Write("Висота цилiндра = ")
Dim h As Double = Convert.ToDouble(Console.ReadLine())
Dim sb As Double = 2*3.14*r*h
Dim sp As Double = 2*3.14*r*h + 2*3.14*r*r
Dim v As Double = 3.14*r*r*h
Console.WriteLine(" ")
Console.WriteLine("Об`єм цилiндра = {0}",v)
Console.WriteLine("Бiчна площа цилiндра = {0}",sb)
Console.WriteLine("Загальна площа цилiндра = {0}",sp)
Console.ReadKey()
End Sub
End Class
#include <conio.h>
#include <iostream>
int main(void)
{
double r,h,sp,sb,v;
setlocale(LC_ALL, "");
std::cout << "Маємо цилiндр.Вiдомi радiус основи та висота цилiндра.\n";
std::cout << "Знайти бiчну площу,oб`єм та загальну площу цилiндра.\n";
std::cout << "Радiус основи = ";
std::cin >> r;
std::cout << "Висота цилiндра = ";
std::cin >> h;
sp = 2*3.14*r*h + 2*3.14*r*r;
sb = 2*3.14*r*h;
v = 3.14*r*r*h;
std::cout
<< "\nБiчна площа цилiндра = " << sb
<< "\nОб`єм цилiндра = " << v
<< "\nЗагальна площа цилiндра = " << sp
<< std::endl;
getch();
return 0;
}
print ('Маємо цилiндр.Вiдомi радiус основи та висота цилiндра.')
print ('Знайти бiчну площу,oб`єм та загальну площу цилiндра.')
r=float(input('Радiус основи = '))
h=float(input('Висота цилiндра = '))
print ('')
sb = 2*3.14*r*h
sp = 2*3.14*r*h + 2*3.14*r*r
v = 3.14*r*r*h
print ('Бiчна площа цилiндра =',sb)
print ('Об`єм цилiндра =',v)
print ('Загальна площа цилiндра =',sp)
input()
Розв’язування задачі в Visual BASIK 6
VERSION 5.00
Begin VB.Form Form1
BorderStyle = 1 'Fixed Single
Caption = "Циліндр"
ClientHeight = 5895
ClientLeft = 45
ClientTop = 390
ClientWidth = 3960
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 5895
ScaleWidth = 3960
StartUpPosition = 2 'CenterScreen
Begin VB.TextBox Text1
Height = 300
Index = 4
Left = 960
TabIndex = 7
Top = 3480
Width = 2295
End
Begin VB.TextBox Text1
Height = 300
Index = 3
Left = 960
TabIndex = 6
Top = 3000
Width = 2295
End
Begin VB.TextBox Text1
Height = 300
Index = 2
Left = 960
TabIndex = 5
Top = 2520
Width = 2295
End
Begin VB.TextBox Text1
Height = 300
Index = 1
Left = 960
TabIndex = 4
Top = 2040
Width = 2295
End
Begin VB.TextBox Text1
Height = 300
Index = 0
Left = 960
TabIndex = 3
Top = 1560
Width = 2295
End
Begin VB.CommandButton Command3
Caption = "ВИХІД"
Height = 375
Left = 360
TabIndex = 2
Top = 5160
Width = 3135
End
Begin VB.CommandButton Command2
Caption = "Очистка"
Height = 375
Left = 360
TabIndex = 1
Top = 4560
Width = 3135
End
Begin VB.CommandButton Command1
Caption = "СТАРТ"
Height = 375
Left = 360
TabIndex = 0
Top = 3960
Width = 3135
End
Begin VB.Label Label2
Caption = "Маємо циліндр. Відомий радіус основи та висота. Знайти бічну, загальну площу та об'єм циліндра"
Height = 735
Left = 240
TabIndex = 13
Top = 360
Width = 3495
End
Begin VB.Label Label1
Caption = "V ="
Height = 255
Index = 4
Left = 360
TabIndex = 12
Top = 3480
Width = 735
End
Begin VB.Label Label1
Caption = "S(п) ="
Height = 255
Index = 3
Left = 360
TabIndex = 11
Top = 3000
Width = 735
End
Begin VB.Label Label1
Caption = "S(б) ="
Height = 255
Index = 2
Left = 360
TabIndex = 10
Top = 2520
Width = 855
End
Begin VB.Label Label1
Caption = "H ="
Height = 255
Index = 1
Left = 360
TabIndex = 9
Top = 2040
Width = 855
End
Begin VB.Label Label1
Caption = "R ="
Height = 255
Index = 0
Left = 360
TabIndex = 8
Top = 1560
Width = 735
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command1_Click()
r = Text1(0).Text
h = Text1(1).Text
sb = 2 * 3.14 * r * h
sp = 2 * 3.14 * r * h + 2 * 3.14 * r * r
v = 3.14 * r * r * h
Text1(2).Text = sb
Text1(3).Text = sp
Text1(4).Text = v
End Sub
Private Sub Command2_Click()
Text1(0).Text = ""
Text1(1).Text = ""
Text1(2).Text = ""
Text1(3).Text = ""
Text1(4).Text = ""
End Sub
Private Sub Command3_Click()
End
End Sub
Розв’язування задачі в Pascal ABC.NET
Розв’язування задачі в VB.NET
procedure Form1.button3_Click(sender: Object; e: EventArgs);
begin
Close;
end;
procedure Form1.button2_Click(sender: Object; e: EventArgs);
begin
TextBox1.Text:='';
TextBox2.Text:='';
TextBox4.Text:='';
TextBox5.Text:='';
TextBox6.Text:='';
end;
procedure Form1.button1_Click(sender: Object; e: EventArgs);
var h,sb,sp,r,v: real;
begin
r:=StrToFloat(TextBox1.Text);
h:=StrToFloat(TextBox2.Text);
sb:= round(2*pi*r*h*100)/100;
sp:= round((2*pi*r*h+pi*r*r)*100)/100;
v:= round(pi*r*r*h*100)/100;
TextBox4.Text:=FloatToStr(sb);
TextBox5.Text:=FloatToStr(sp);
TextBox6.Text:=FloatToStr(v);
end;
Public Class Form1
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
End
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim r As Double = Convert.ToDouble(TextBox1.Text)
Dim h As Double = Convert.ToDouble(TextBox2.Text)
Dim sb As Double = 2 * 3.14 * r * h
Dim sp As Double = 2 * 3.14 * r * h + 2 * 3.14 * r * r
Dim v As Double = 3.14 * r * r * h
TextBox3.Text = Convert.ToString(sb)
TextBox4.Text = Convert.ToString(sp)
TextBox5.Text = Convert.ToString(v)
End Sub
End Class
Розв’язування задачі в C#
private void button2_Click(object sender, EventArgs e)
{
textBox1.Text = "";
textBox2.Text = "";
textBox3.Text = "";
textBox7.Text = "";
textBox6.Text = "";
}
private void button3_Click(object sender, EventArgs e)
{
System.Environment.Exit(0);
}
private void button1_Click(object sender, EventArgs e)
{
double r = Convert.ToDouble(textBox1.Text);
double h = Convert.ToDouble(textBox2.Text);
double sb = 2*3.14 * r * h;
double sp = 2*3.14 * r * h + 2 * 3.14 * r * r;
double v = 3.14 * r * r * h;
textBox3.Text = Convert.ToString(sb);
textBox6.Text = Convert.ToString(sp);
textBox7.Text = Convert.ToString(v);
}
}
from tkinter import *
def click ():
r = float (entry1.get())
h = float (entry2.get())
sb = 2*3.14*r*h
sp = 2*3.14*r*h + 2*3.14*r*r
v = 3.14*r*r*h
entry3.insert(0, sb)
entry4.insert(0, sp)
entry5.insert(0, v)
def click1 ():
entry1.delete(0, END)
entry2.delete(0, END)
entry3.delete(0, END)
entry4.delete(0, END)
entry5.delete(0, END)
root=Tk()
root.title('Циліндр')
root.geometry('400x390')
label = Label (text = 'Маємо цилiндр.Вiдомi радiус основи та висота цилiндра. \n Знайти бiчну площу,oб`єм та загальну площу цилiндра.')
label.pack(pady = 10)
labe2 = Label (text = 'Радiус основи ')
labe2.pack(pady = 1)
entry1 = Entry ()
entry1.pack (pady = 1)
labe3 = Label (text = 'Висота цилiндра ')
labe3.pack(pady = 1)
entry2 = Entry ()
entry2.pack (pady = 1)
button = Button (text='Старт', command=click)
button.pack (pady = 10)
button = Button (text='Очистка', command=click1)
button.pack (pady = 1)
labe4 = Label (text = 'Бiчна площа цилiндра ')
labe4.pack(pady = 1)
entry3 = Entry ()
entry3.pack (pady = 1)
labe5 = Label (text = 'Об`єм цилiндра ')
labe5.pack(pady = 1)
entry4 = Entry ()
entry4.pack (pady = 1)
labe6 = Label (text = 'Загальна площа цилiндра ')
labe6.pack(pady = 1)
entry5 = Entry ()
entry5.pack (pady = 1)
VI етап. Дослідження отриманих результатів на реальність і на відповідність умові
Після одержання підсумкової програми маємо проаналізувати її реальність.
Якщо таке дослідження виявляє помилки, потрібно шукати їхні причини, виправляти їх і знову проходити етапи, наступні за тим, на якому виявилися помилки