Формулировка задачи:
Вычислить площадь поверхности цилиндра по формуле ,где радиус основания цилиндра (R) и высота цилиндра (h) вводятся с клавиатуры,
Код к задаче: «Вычислить площадь поверхности цилиндра по формуле»
textual
Var r,h: Real; BEGIN Write('Введите радиус основания цилиндра: '); Readln(r); Write('Введите высоту цилиндра: '); Readln(h); Writeln('Площадь поверхности цилиндра = ',2*pi*r*h+2*pi*Sqr(r):2:2); END.
Полезно ли:
9 голосов , оценка 4.333 из 5
0 / 0 / 0 Регистрация: 06.02.2011 Сообщений: 13 |
|
1 |
|
Вычисление площади и объема цилиндра14.02.2011, 17:48. Показов 52734. Ответов 5
Доброго времени суток! В который раз нуждаюсь в вашей помощи… Создать программу для вычисления площади поверхности и объема цилиндра по принципу “ввод значений -> результат” Информация к размышлению: Непосредственно формулы (Записать в виде инструкции присваивания): Буду благодарен!
0 |
N@tali 781 / 462 / 85 Регистрация: 20.02.2010 Сообщений: 974 |
||||||||
14.02.2011, 18:17 |
2 |
|||||||
объем
площадь поверхности
1 |
kofee”k 109 / 109 / 91 Регистрация: 08.01.2011 Сообщений: 171 |
||||
14.02.2011, 18:22 |
3 |
|||
2 |
romcka-x 127 / 95 / 74 Регистрация: 18.01.2011 Сообщений: 227 |
||||
14.02.2011, 18:25 |
4 |
|||
1 |
0 / 0 / 0 Регистрация: 06.02.2011 Сообщений: 13 |
|
14.02.2011, 18:30 [ТС] |
5 |
Благодарю! Не ожидал такой оперативности). Всем по +1
0 |
109 / 109 / 91 Регистрация: 08.01.2011 Сообщений: 171 |
|
14.02.2011, 18:33 |
6 |
Обращайся
0 |
Новости
Программы
Turbo Pascal
Игры
Документация
Странности
FAQ
Ссылки
Форум
Гостевая
книга
Рассылка
Благодарности
Об авторе
Пример 1.2.
Определить объём и площадь боковой
поверхности цилиндра с заданными радиусом
основания R и высотой H.
Тест
Данные | Результат | ||
R = 1 | H = 1 | V = 3.14 | S = 6.28 |
Демонстрация
Школьный АЯ
алг Цилиндр (арг вещ R, H, рез вещ V, S) нач вещ Pi Pi := 3.14 V := Pi * R**2 * H S := 2 * Pi * R * H кон
Turbo Pascal
Program Cylinder; Uses Crt; {Подключение библиотеки Crt} Var R, {радиус основания цилиндра} H, {высота цилиндра } V, {объем цилиндра } S: Real; {площадь боковой поверхности цилиндра} BEGIN ClrScr; {Вызов из библиотеки Crt процедуры очистки экрана} Write('Введите высоту цилиндра : '); ReadLn(H); Write('Введите радиус основания : '); ReadLn(R); V := Pi * R * R * H; S := 2 * Pi * R * H; WriteLn; WriteLn('Объем цилиндра = ', V : 5 : 2); {Здесь 5 - общее количество позиций, занимаемых переменной V при выводе, а 2 - количество позиций в дробной части значения V} WriteLn('Площадь боковой поверхности = ', S : 5 : 2); ReadLn END.
Вычисление площади поверхности цилиндра
Задача:
Допустим,
организации часто требуется красить
баки цилиндрической формы. При этом они
красят только верхнюю часть и стенки с
внешней стороны.
Организации
требуется программа, которая бы
определяла, сколько банок краски
необходимо для покраски того или иного
бака.
Алгоритм
решения задачи:
Программа
должна запрашивать у пользователя
следующую информацию:
-
диаметр
бака; -
высота
бака; -
расход
краски (площадь поверхности, которую
можно покрасить одной банкой краски).
В
результате программа должна выдавать
количество требуемых банок. При получении
дробного числа округление должно всегда
происходить в большую сторону.
Площадь
крыши бака (круга) вычисляется по формуле
p * d2 /4 (где p – число пи, d – диаметр).
Площадь
боковой поверхности цилиндра: p * d * h
(где h – высота).
Программа
на языке Паскаль:
const
pi = 3.14;
var
d,
h, b: real;
top,
wall, q: real;
q_int:
integer;
begin
write(‘Диаметр:
‘);
readln(d);
write(‘Высота:
‘);
readln(h);
write(‘Окрашиваемая
площадь одной банкой: ‘);
readln(b);
top
:= pi * sqr(d) / 4.0;
wall
:= pi * d * h;
q
:= (top + wall) / b;
q_int
:= trunc(q) + 1;
write(‘Количество
банок:
‘, q_int);
readln
end.
Примечания:
Стандартная
функция trunc
выполняет “отбрасывание” дробной
части и возвращает целое число.
“Заем”. Арифметические выражения, возведение в степень
Алгоритм
решения задачи:
Месячная
выплата m по займу в s рублей на n лет под
процент p вычисляется по формуле:
m
= (s * r * (1 + r)n)
/ (12 * ((1 + r)n
– 1)), где
r = p / 100.
Программа,
вычисляющая значение m (месячную выплату)
по известным s (сумме займа), p (проценту)
и n (количеству лет), может выглядеть
так:
Программа
на языке Паскаль:
var
m,
s,
p,
n,
r,
a:
real;
begin
write(‘Величина
заема : ‘);
readln(s);
write(‘Процент:
‘);
readln(p);
write(‘Количество
лет: ‘);
readln(n);
r
:= p / 100;
a
:= exp(ln(1 + r) * n);
m
:= (s * r * a) / (12 * (a – 1));
m
:= trunc(100 * m + 0.5) / 100;
writeln;
writeln(‘Месячная
выплата: ‘, m:5:2);
writeln(‘Прибыль
банка: ‘, m * 12 * n – s:5:2);
readln
end.
Примечания:
Выражение
exp(ln(1 + r) * n) вычисляет (1 + r)n.
Выражение
trunc(100 * m + 0.5) / 100 выполняет округление до
копейки.
6.Массивы Определить количество элементов массива, значение которых больше соседних элементов
Задача:
Пользователь
вводит n элементов массива. Требуется
определить количество элементов,
значение которых больше, чем у соседних
элементов массива.
Описание
переменных:
m
– количество реальных элементов массива;
qty
– количество элементов массива, значение
которых больше, чем у соседей.
Алгоритм
решения задачи:
-
Считываем
числа с помощью процедуры read() и помещаем
их в массив. -
Переменной
qty присваиваем значение 0. -
Переменной
i, которая обозначает индекс массива,
присваиваем значение 2, т.к проверять
первый элемент массива не имеет смысла
(у него нет левого соседа). -
В
условии цикла выражение i < m говорит
о том, что последний элемент массива
также не проверяется, т.к. у него нет
правого соседа. -
Если
очередной элемент массива (arr[i]) больше
предшествующего (arr[i-1]) и очередной
элемент массива (arr[i]) больше последующего
(arr[i+1]), то … -
…
увеличить значение qty на единицу и … -
…
увеличить значение i на 2, т.к проверять
следующий элемент нет смысла, т.к. уже
известно, что он меньше левого соседа. -
Иначе
(если условие не выполнилось) перейти
к следующему элементу массива (i := i +
1). -
Вывести
значение qty на экран.
Это
не оптимальный алгоритм, но короткий.
Программа
на языке Паскаль:
const
n
= 100;
var
arr:
array[1..n] of integer;
i,
m, qty: byte;
begin
write(‘Количество
элементов массива: ‘);
readln(m);
write(‘Элементы
массива через пробел: ‘);
for
i:=1 to m do
read(arr[i]);
readln;
qty
:= 0;
i
:= 2;
while
i < m do
if
(arr[i] > arr[i-1]) and (arr[i] > arr[i+1]) then begin
qty
:= qty + 1;
i
:= i + 2
end
else
i
:= i + 1;
writeln(‘Кол-во
элементов, которые больше соседей: ‘,
qty);
readln;
end.
Примечания:
Пример
выполнения программы:
Количество
элементов массива: 6
Элементы
массива через пробел: 3 4 2 3 7 6
Количество
элементов, которые больше соседей: 2
Получается
2, т.к. только четверка и семерка больше
обоих своих соседей.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
Ответ
Проверено экспертом
===== PascalABC.NET =====
begin
var R := ReadReal(‘Введите радиус цилиндра:’);
var h := ReadReal(‘Введите высоту цилиндра:’);
var S := 2 * Pi * R * h;
Writeln(‘Площадь боковой поверхности цилиндра ‘, S:0:5)
end.