Шахтинский институт (филиал)
федерального государственного бюджетного образовательного учреждениявысшего профессионального образования
“Южно-Российский государственный политехнический университет (НПИ) имени М.И. Платова”
КАФЕДРА Фундаментальные инженерные дисциплины
НАПРАВЛЕНИЕ 09.03.02 "Электроэнергетика и электротехника"
ОТЧЕТ
ПО ЛАБОРАТОРНЫМ РАБОТАМ
по дисциплине “Информатике”
Выполнил студент I курса гр. 5Грицаков Р.А.
Принял доцент каф. ФИД Бондаренко А.И.
Отчет принят “____”___________ 2017 г.
Шахты -2017
Лабораторная работа №1
Программирование линейных алгоритмов
1.Составить программу, в которой для заданного q<1 вычисляется один из корней уравнения Ln(ctgx -1)=q.
![]()
| CLS IMPUT q pi=3.14159 x=pi/2 – ATN(EXP(q+1)) PRINT x END |
2.Составить программу для вычисления периметра, площади и углов (в градусах) прямоугольного треугольника, заданного длинами катетов.
![]()
![]() ![]() | CLS IMPUT a;b pi = 3.14159 c = SQR(a ^ 2 + b ^ 2) s = a * b / 2 p = a + b + c PRINT p; s u1 = ATN(a / b) + 180 / pi u2 = 90 - u1 PRINT u1; u2 END |
3.Составить программу, которая для двух заданных чисел, вычисляет их сумму квадратов.
CLS
a = 2
b = 5
c = a ^ 2 + b ^ 2
PRINT c
4.Составить программу для вычисления периметра, площади и высот треугольника, заданного длинами сторон.
CLS
a=3
b=4
c=6
p=a+b+c
s=SQR((p/2)*(p/2-a)*(p/2-b)*(p/2-c))
h1=2*s/a
h2=2*s/b
h3=2*s/c
PRINT p; s; h1; h2; h3
5.Решить относительно х уравнение (x-a2)(x+b2)=c2
![]()
| CLS IMPUT a=3 b=2 c=4 m=b^2-a^2 n=a^2*b^2-c^2 d=m^2+4*n IF d<0 THEN PRINT “корнейнет” x1= (-m +SQR(d)) / 2 x2 = (-m SQR(-d)) / 2 PRINT x1; x2 END |
6.Треугольник задан координатами вершин. Составить программу для
нахождения расстояний от его центра тяжести до вершин.
CLS
x1=2
y1=3
x2=5
y2=2
x3=1
y3=1
x4=x1+x2+x3/3
y4=y1+y2+y3/3
c1=SQR((x4-x1)^2+(y4-y1)^2)
c2=SQR((x4-x2)^2+(y4-y2)^2)
c3=SQR((x4-x3)^2+(y4-y3)^2)
PRINT c1; c2; c3
7.Найти координаты точек пересечения окружности x2+y2=R2 с прямой y=Dx
CLS
r=9
d=0
x1=r/SQR(d^2+1)
x2=x1
y1=d*x1
y2=d*x2
PRINT y1; x1; y2; x2
8.Составить программу для определения угла (в градусах) между диагоналями прямоугольника, заданного длинами сторон.
![]()
| CLS IMPUT a, b u1 = ATN(a / b) u2 = ATN(b / a) u3 = 180 - u1 - u1 u4 = 180 - u2 - u2 PRINT u3; u4 END |
9.Составить программу для определения высоты треугольника, если его площадь равна S, а основание больше высоты на величину b.
CLS
s=28
b=2
h1=-b+SQR(b^2+8*s)/2
PRINT h1
10.Составить программу для определения суммы цифр заданного трехзначного числа.
CLS
c=200
b=30
a=2
u=c/100
y=b/10
t=a
m=t+y+u
PRINT m
Лабораторная работа №2
Разветвляющиеся алгоритмы
1.Составить программу решения неравенства ax+b>=0 относительно х
CLS
IMPUT a, b
IF a = 0 THEN PRINT "Решений нет":END
x = -b / a
PRINT "x>="; x
2.Составить программу для проверки принадлежит ли точка A(x,y) отрезку KM, если K(x1,y1), M(x2,y2):
CLS
INPUT x, y
INPUT x1, y1
INPUT x2, y2
IF SQR((x - x1) ^ 2 + (y - y1) ^ 2) + SQR((x - x2) ^ 2 + (y - y2) ^ 2) = SQR((x2 - x1) ^ 2 + (y2 - y1) ^ 2)
THEN PRINT "Точка пренадлежит отрезку"
ELSE PRINT "Точка не пренадлежит отрезку"
3.Составить программу для проверки, существует ли треугольник, заданный координатами вершин:
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
![]() ![]() ![]() ![]() |
4.Составить программу для нахождения номера первого отрицательного члена последовательности:
CLS
Хn=sin(3.14n/17) + cos(3.14n/12)
pi = 3.14
WHILE x >= 0
x = SIN(pi * n / 17) + COS(pi * n / 12)
n = n + 1
WEND
PRINT x, n
5.Составить программу для определения числа точек пересечения прямой y=kx+p с окружностью радиуса R и центром в точке (a,b)"
CLS
INPUT k, p, a, b, r
D = (2 * a - 2 * k * p + 2 * k * b)^2 - 4 * (k ^ 2 + 1) * (a ^ 2 + p ^ 2 - 2 * p * b + b ^ 2 - r ^ 2)
IF D > 0 THEN PRINT "Функции пересекаются в двух точках":END
IF D = 0 THEN PRINT "Функции пересекаются в одной точке":END
IF D < 0 THEN PRINT "Функции не пересекаются":END
6.Составить программу для решения уравнения (x-a)(x-b)=c:
![]()
![]() ![]()
![]() ![]()
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
![]() ![]() ![]() ![]() |
7.Составить программу для проверки принадлежит ли заданная точка О(xo,yo) области, границы которой заданы уравнениями: x-2y=2, y=-x2+x+2, y=-x-1
CLS
INPUT x, y
IF y >= -(2 + x) / 2 AND y <= -x - 1 AND x >= (1 - SQR(193)) / 4 AND x <= 0 AND y <= -x ^ 2 + x + 2 THEN PRINT "Да": END ELSE
IF y >= -x - 1 AND y <= -(2 + x) / 2 AND y <= -x ^ 2 + x + 2 AND x >= 0 AND x <= (1 + SQR(193)) / 4 THEN PRINT "Да": END ELSE PRINT "Нет"
8.Принадлежит ли заданная точка О(x,y) области, границы которой определяются уравнениями y=x(x-1) и y=(2-x)(2+x)
CLS
INPUT x, y
IF y <= (2 - x) * (2 + x) AND y >= x * (x - 1) AND (1 - SQR(33)) / 4 <= x AND x <= (1 + SQR(33)) THEN PRINT "Принадлежит" ELSE PRINT "Не принадлежит"
9.Составить программу для определения кратчайшего расстояния от точки О(х,у) до окружности радиуса R, центр которой находится в точке С(a,b):
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
10.Составить программу решения уравнения ax2 + b = 0 относительно х
CLS
INPUT a, b
D = b^2-4*a*c
IF D > 0 THEN x1=(-b+sqr(D))/(2*a): x2=(-b-sqr(d))/(2*a): print "x1=";x1;: print "x2=";x2:END
IF D = 0 THEN x=-b/(2*a): print "x="; x:END
IF D < 0 THEN PRINT "Корней нет": END
Лабораторная работа №3
Циклические алгоритмы
1. Последовательность задана формулой общего члена Xn=1/(n2+5n). При каком наименьшем n будет выполняться неравенство Xn< 0,02?
![]() ![]() ![]() ![]() ![]()
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
![]()
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
2. Вывести на экран отрицательные значения функции y=4x(5-3х2) при изменении x от 1 до 2 с шагом 0,1:
CLS
FOR x = 1 TO 2 STEP.1
y = 4 * x * (5 - 3 * x ^ 2)
IF y < 0 THEN PRINT x, y
NEXT
3. Найти десять любых решений уравнения 5sinx=2 выразив углы в градусах:
CLS
RANDOMIZE TIMER
pi = 3.14
DO
z = z + 1
xn = ATN(RND / SQR(1 - RND ^ 2) + pi * k)
x = (xn * 180) \ pi
PRINT x
IF z = 10 THEN EXIT DO
LOOP
4. Вывести координаты (x,y) точек траектории движения тела при 0 <= t<= 10:
CLS
INPUT a, b, c
FOR t = 0 TO 10
x = a * t - b
y = c * t
PRINT "x="; x;
PRINT TAB(10); "y="; y
NEXT
5.Составить таблицу значений функции при 0£ x £ 3 с шагом 0,2.
CLS
PRINT TAB(6); "x";
PRINT TAB(20); "y"
FOR x = 0 TO 3.2 STEP.2
y = SQR(2 ^ x + 4 * COS(3 * x ^ 3) ^ 2)
PRINT USING "#.##"; TAB(5); x;
PRINT USING "#.##"; TAB(18); y
NEXT
6.Последовательность задана формулой общего члена Xn=5n2 - 4n - 1. Определить (из первых двадцати) члены последовательности, являющиеся нечетными числами.
CLS
FOR n = 1 TO 20
x = 5 * n ^ 2 - 4 * n - 1
IF x MOD 2 = 1 THEN PRINT n
NEXT n
7.Вывести на экран положительные значения функции y=8sin(x/2) при изменении 2 £ x £ 10 c шагом 0.5
CLS
FOR x = 2 TO 10 STEP.5
y = 8 * SIN(x / 2)
IF y > 0 THEN PRINT "x="; x;: PRINT; TAB(15); "y=";: PRINT USING "###.###"; y
NEXT x
8.Вывести на печать положительные значения функции y=1 – сosx при изменении 0 £ x £ 2 c шагом 0,2.
CLS
FOR x = 0 TO 2 STEP.2
y = 1 - COS(x)
IF y > 0 THEN PRINT y
NEXT x
9.Последовательность задана формулой общего члена Xn=5n2 - 4n -1.
Определить (из первых двадцати) члены последовательности, которые при делении на 5 дают в остатке 2.
CLS
FOR n = 1 TO 20
x = 5 * n ^ 2 - 4 * n - 1
IF x MOD 5 = 2 THEN PRINT n
NEXT n
10.Найти все делители заданного числа N.
CLS
INPUT х
FOR n = 1 TO x
IF x MOD n=0 THEN PRINT n
NEXT n
Лабораторная работа №4
Массивы
1. Найти наибольшую сторону треугольника, заданного координатами вершин
|
![]() ![]() ![]()
![]() ![]() ![]()
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
![]() ![]() ![]()
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
2. Найти сумму диагональных элементов квадратной матрицы.
CLS
RANDOMIZE TIMER
DIM A(3, 3)
FOR i = 1 TO 3
FOR j = 1 TO 3
A(i, j) = i + j * INT(RND * 5)
PRINT A(i, j);
NEXT j
NEXT i
PRINT "-------------"
FOR i = 1 TO 3
S = S + A(i, i)
NEXT i
X = S + A(1, 3) + A(2, 2) + A(3, 1)
PRINT X
3. Составить программу, подсчитывающую число отрицательных и положительных элементов массива T(15). Массив задать самостоятельно.
CLS
DIMT(15)
FOR i = 1 TO 15
INPUT T(i)
NEXT i
PRINT "------"
FOR n = 1 TO 15
IF T(n) < 0 THEN PRINT T(n)
NEXT n
4. Заданы два одномерных массива различных размеров. Объединить их в один массив, записав второй массив после 2-го элемента первого массива.
CLS
DIM A(3)
DIM B(4)
DIM C(10)
FOR n = 1 TO 3
A(n) = n ^ 2 - 3
NEXT
FOR x = 1 TO 4
B(x) = x + 2 * x
NEXT
PRINT "A ";
FOR n1 = 1 TO 3
PRINT A(n1);
NEXT
PRINT "B ";
FOR x1 = 1 TO 4
PRINT B(x1);
NEXT
C(1) = A(1)
FOR z = 1 TO 4
C(1 + z) = B(z)
NEXT
C(6) = A(2)
C(7) = A(3)
PRINT "----------------"
PRINT "C ";
FOR h = 1 TO 7
PRINT C(h);
NEXT
5.Найти произведение элементов массива Y(5,6), удовлетворяющих условию y(i,j)<1,2. Элементы массива определяются выражением y(i,j)=4i/(i+j)
FOR i=1 to 5
NEXT
FOR j=1 to 6
NEXT
|
6.Дан массив целых чисел А(12). Переписать в массив Х четные, а в массив Y нечетные элементы массива А.
CLS
DIM A(12)
DIM X(12)
DIM Y(12)
FOR n = 1 TO 12
A(n) = n + 1
PRINT A(n);
NEXT n
PRINT TAB(4); "X";
PRINT TAB(11); "Y"
PRINT TAB(4); "-";
PRINT TAB(11); "-"
FOR n = 1 TO 12
IF A(n) MOD 2 = 0 THEN X(n) = A(n): PRINT TAB(3); X(n); ELSE Y(n) = A(n): PRINT TAB(10); Y(n)
NEXT n
7.Дана матрицаS(4,5), где s(i,j)=1-sin(i-2/j). Найти наибольший её элемент.
CLS
DIM S(4, 5)
P = S(i, j)
FOR i = 1 TO 4
FOR j = 1 TO 5
S(i, j) = 1 - SIN((i - 2) / j)
PRINT USING "##.###"; S(i, j);
NEXT j
NEXT i
FOR i = 1 TO 4
FOR j = 1 TO 5
IF P < S(i, j) THEN P = S(i, j)
NEXT j: NEXT i
PRINT USING "##.###"; P
8.В массиве Х(12) каждый элемент равен 0,1 или 2. Переставить элементы массива так, чтобы сначала располагались все нули, затем все единицы и, наконец, все двойки
CLS
RANDOMIZE TIMER
DIM X(12)
FOR n = 1 TO 12
X(n) = INT(RND * 2.9)
PRINT X(n);
NEXT n
FOR i = 1 TO 12
FOR j = i TO 12
IF X(i) > X(j) THEN SWAP X(i), X(j)
NEXT j
NEXT i
FOR n = 1 TO 12
PRINT X(n);
NEXT n
9.В массиве Х(10) найти наименьший элемент.
CLS
RANDOMIZE TIMER
DIM X(10)
P = 1
FOR n = 1 TO 10
X(n) = INT(RND * 10)
PRINT X(n);
NEXT n
FOR n = 1 TO 10
IF P > X(n) THEN P = X(n)
NEXT n
PRINT P
10.Вывести на печать длину наибольшей медианы треугольника, заданного координатами вершин
![]() ![]() ![]()
![]() ![]() ![]()
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
![]() ![]() ![]()
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Лабораторная работа №5
Характерные приёмы программирования
1. Найти матрицу X=3A-2B и определить максимальный элемент 5-го столбца. Матрицы A(4,4) и B(4,4) задать самостоятельно.
FOR i=1 to 4
NEXT
FOR j=1 to 4
NEXT
FOR j =1 to 4
NEXT |
2. В массиве A(16), где ai = (2i-7)/(1+i) элементы ai<2 заменить нулями.
CLS
DIM A(16)
FOR i = 1 TO 16
A(i) = (2 * i - 7) / (1 + i)
PRINT USING "##.###"; A(i)
NEXT i
FOR i = 1 TO 16
IF A(i) < 2 THEN A(i) = 0
NEXT i
FOR i = 1 TO 16
PRINT A(i);
NEXT i
3. Найти матрицу X=A+B и определить в ней максимальный элемент. Целочисленные квадратные матрицы A(4,4) и B(4,4) задать самостоятельно.
CLS
RANDOMIZE TIMER
DIM A(4, 4)
DIM B(4, 4)
DIM X(4, 4)
FOR i = 1 TO 4
FOR j = 1 TO 4
A(i, j) = INT(RND * 10)
PRINT A(i, j);
NEXT j: PRINT
NEXT i: PRINT
FOR i = 1 TO 4
FOR j = 1 TO 4
B(i, j) = INT(RND * 10)
PRINT B(i, j);
NEXT j: PRINT
NEXT i: PRINT
FOR i = 1 TO 4
FOR j = 1 TO 4
X(i, j) = A(i, j) + B(i, j)
PRINT USING "###"; X(i, j);
NEXT j: PRINT
NEXT i: PRINT
m = X(1, 1)
FOR i = 1 TO 4
FOR j = 1 TO 4
IF m < X(i, j) THEN m = X(i, j)
NEXT j
NEXT i
PRINT m
4. В матрице А(4,4) найти сумму элементов третьего столбца.
FOR i=1 to 4
NEXT
![]()
|
5.Найти матрицу X= 3A+2B и определить минимальный элемент 2-й строки. Матрицы A(4,4) и B(4,4) задать самостоятельно.
CLS
RANDOMIZE TIMER
DIM A(4, 4)
DIM B(4, 4)
DIM A3(4, 4)
DIM B2(4, 4)
DIM X(4, 4)
FOR i = 1 TO 4
FOR j = 1 TO 4
A(i, j) = INT(RND * 10)
NEXT j
NEXT i
FOR i = 1 TO 4
FOR j = 1 TO 4
B(i, j) = INT(RND * 10)
NEXT j
NEXT i
FOR i = 1 TO 4
FOR j = 1 TO 4
A3(i, j) = 3 * A(i, j)
NEXT j
NEXT i
FOR i = 1 TO 4
FOR j = 1 TO 4
B2(i, j) = 2 * B(i, j)
NEXT j
NEXT i
FOR i = 1 TO 4
FOR j = 1 TO 4
X(i, j) = A3(i, j) + B2(i, j)
PRINT X(i, j);
NEXT j
NEXT i
min = X(2, 1)
FOR j = 1 TO 4
IF min > X(2, j) THEN min = X(2, j)
NEXT j
PRINT min
6.В массиве Х(5,4) найти наименьший из положительных элементов. Целочисленный массив Х задать самостоятельно.
CLS
RANDOMIZE TIMER
DIM X(5, 4)
FOR i = 1 TO 5
FOR j = 1 TO 4
X(i, j) = INT(RND * 100)
IF RND < 0.3 THEN X(i, j) = -X(i, j)
PRINT X(i, j);
NEXT j
NEXT i
FOR i = 1 TO 5
FOR j = 1 TO 4
IF X(i, j) > 0 THEN min = X(i, j)
NEXT j
NEXT i
FOR i = 1 TO 5
FOR j = 1 TO 4
IF min > X(i, j) AND X(i, j) > 0 THEN min = X(i, j)
NEXT j
NEXT i
PRINT min
7.Сформировать целочисленный массив M(4,8), каждая строка которого содержит числа, которые при делении на 5 дают в остатке номер строки.
CLS
RANDOMIZE TIMER
DIM M(4, 8)
FOR i = 1 TO 4
FOR j = 1 TO 8
DO
x = INT(RND * 100)
IF x MOD 5 = i THEN M(i, j) = x: EXIT DO
LOOP
PRINT USING "###"; M(i, j);
NEXT j
NEXT i
8.В квадратной матрице заменить нулями все ее элементы, расположенные на главной диагонали и выше нее.
CLS
RANDOMIZE TIMER
DIM M(3, 3)
FOR i = 1 TO 3
FOR j = 1 TO 3
M(i, j) = INT(RND * 100)
PRINT USING "###"; M(i, j);
NEXT j
NEXT i
FOR i = 1 TO 3
M(i, i) = 0
M(1, i) = 0
M(2, 3) = 0
NEXT i
FOR i = 1 TO 3
FOR j = 1 TO 3
PRINT USING "###"; M(i, j);
NEXT j
NEXT i
9.В матрице P(6,5), где P(i,j)=1+2(i-3j)(i+j) найти среднее арифметическое 2-го столбца.
CLS
DIM P(6, 5)
FOR i = 1 TO 6
FOR j = 1 TO 5
P(i, j) = 1 + 2 * (i - 3 * j) * (i + j)
PRINT USING "#####"; P(i, j);
NEXT j
NEXT i
FOR i = 1 TO 5
S = S + P(i, 2)
NEXT
ARF = S / 5
PRINT ARF
10.Найти матрицу X=2B-A и определить минимальный элемент 2-й строки.
FOR i=1 to 4
NEXT
FOR j=1 to 4
NEXT
NEXT
|