- •Задания по программированию на Паскале № 706 введение
- •1. Алгоритмы линейной структуры
- •2. Разветвленные алгоритмы
- •3. Циклические алгоритмы
- •4. Работа с одномерными массивами
- •5. Работа с матрицами
- •6. Функции пользователя
- •7. Работа с подпрограммами
- •8. Обработка графической информации.
- •9. Обработка файловых структур данных
- •10. Работа с датчиком случайных чисел
- •11. Разработка диалоговых программ
- •Примеры составления различных программ
- •Input a(I, g)
Примеры составления различных программ
1. Составить программу вычисления площади треугольника по формуле Герона , где a, b, c – длины сторон, р – полупериметр.
REM площадь тpеугольника
INPUT "введите стоpоны тpеугольника"; a, b, c
p = (a + b + c) / 2: s = SQR(p * (p - a) * (p - b) * (p - c))
PRINT "площадь тpеугольника="; s
END
2. Определить, какая из точек A(x1,y1,z1) или B(x2,y2,z2) расположена ближе к точке C(x3,y3,z3).
INPUT "введем кооpдинаты пеpвой точки а"; x1, y1, z1
INPUT "введем кооpдинаты втоpой точки б"; x2, y2, z2
INPUT "введем кооpдинаты тpетьей точки с"; x3, y3, z3
ac = SQR((x3 - x1) ^ 2 + (y3 - y1) ^ 2 + (z3 - z1) ^ 2)
bc = SQR((x3 - x2) ^ 2 + (y3 - y2) ^ 2 + (z3 - z2) ^ 2)
IF ac > bc THEN PRINT "точка б ближе к точке с"
IF ac < bc THEN PRINT "точка а ближе к точке с"
IF ac = bc THEN PRINT "ac=bc"
END
3. Найти квадратный корень из суммы положительных элементов конечной числовой последовательности.
sum = 0
INPUT "введите общее число элементов"; n
DIM a(n)
FOR i = 1 TO n
INPUT a(i)
IF a(i) > 0 THEN sum = sum + a(i)
NEXT i
PRINT "квадpатный коpень pавен"; SQR(sum)
END
4. Дана последовательность чисел Найти порядковый номер и значение первого члена этой последовательности меньшего, чем 10-3 .
k = 1: f = 1
DO
f = k * f: s = 2 ^ (k - 1) / f
k = k + 1
LOOP UNTIL s < .001
PRINT "k="; k - 1, "s="; s
END
Здесь k – порядковый номер; s – значение k-го члена последовательности меньшего, чем 0,001.
5. В матрице С(3,5) найти наибольший из элементов первой и последней строк.
CLS
DIM a(3, 5)
FOR i = 1 TO 3
FOR g = 1 TO 5
Input a(I, g)
NEXT g, i
FOR i = 1 TO 3
FOR g = 1 TO 5
PRINT a(i, g),
NEXT g
NEXT i
amax = a(1, 1): bmax = a(3, 1)
FOR i = 1 TO 3
IF i = 2 THEN 20
IF i = 3 THEN 15
FOR g = 1 TO 5
IF amax > a(i, g) THEN 10
amax = a(i, g)
10 NEXT g: GOTO 20
15 FOR g = 1 TO 5
IF bmax > a(i, g) THEN 17
bmax = a(i, g)
17 NEXT g
20 NEXT i
PRINT "amax="; amax, "bmax="; bmax
END
6. Найти сумму площадей трех треугольников, если известны длины их сторон (для вычисления использовать формулу Герона)
DEF fnp (a, b, c) = (a + b + c) / 2
DEF fns (a, b, c, p) = SQR(p * (p - a) * (p - b) * (p - c))
INPUT n
DIM a(n), b(n), c(n), s(n), p(n)
FOR i = 1 TO n
INPUT a(i), b(i), c(i)
NEXT i
FOR i = 1 TO n
p(i) = fnp(a(i), b(i), c(i))
s(i) = fns(a(i), b(i), c(i), p(i))
NEXT i
sum = 0
FOR i = 1 TO n
sum = sum + s(i)
NEXT i
PRINT "Площадь треугольников ="; sum
END
7. Емкость цилиндрического конденсатора вычисляется по формуле . Здесь l – длина конденсатора; r1 и r2 – радиусы внутреннего и внешнего диаметров цилиндра.
Найти общую емкость трех последовательно соединенных конденсаторов, если для каждого из них известны значения l, r1, r2, а e0e = 8,85×10-12 Ф/м. Как известно, яяемкость батареи трех последовательно соединенных конденсаторов вычисляется по формуле_ EMBED Equation.2