{ Free Pascal - fpc 2.6.4 } var i,n:integer; A,B:array of integer; p:longint; begin Write('Число элементов в векторах='); Read(n); Randomize; SetLength(A,n); Writeln('Вектор A'); for i:=0 to n-1 do begin A[i]:=Random(51)-25; Write(A[i],' ') end; Writeln; SetLength(B,n); p:=0; Writeln('Вектор B'); for i:=0 to n-1 do begin B[i]:=Random(51)-25; Write(B[i],' '); p:=p+A[i]*B[i] end; Writeln; Writeln('Скалярное произведение равно ',p); end.
Тестовое решение: Число элементов в векторах=15 Вектор A -16 -6 -1 6 -6 7 22 4 16 19 3 -21 19 22 7 Вектор B 21 21 -2 -8 -3 25 -4 20 6 -11 8 10 -16 -16 19 Скалярное произведение равно -1145
Станиславович1830
04.12.2021
Const n = 11;
var x: array[1..n] of integer; i, k, d, s: integer;
begin Randomize; Writeln('Элементы массива'); k := 0; s := 0; for i := 1 to n do begin d := Random(11) - 5; Write(d:3); if (i mod 2) = 0 then begin { четное место } if d = 1 then Inc(k); x[i] := d end else begin if d < 0 then s := s + d; x[i] := sqr(d) end end; Writeln; Writeln('Результирующий массив'); for i := 1 to n do Write(x[i]:3); Writeln; Writeln('Количество единиц на четных местах равно ', k); Writeln('Сумма отрицательных элементов на нечетных местах равна ', s) end.
Тестовое решение: Элементы массива -3 0 -5 1 5 1 -3 -4 5 -3 -2 Результирующий массив 9 0 25 1 25 1 9 -4 25 -3 4 Количество единиц на четных местах равно 2 Сумма отрицательных элементов на нечетных местах равна -13
dovgash2
04.12.2021
№1
var x, F: real; begin write('Введите х: '); readln(x); if ( x > -2.4 ) AND ( x < 5.7 ) then F := sqr(x) else F := 4; writeln('F = ', F); end.
№2
var x, F: real; begin write('Введите х: '); readln(x); if ( x > 0.2 ) AND ( x < 0.9 ) then F := sin(x) else F := 1; writeln('F = ', F); end.
№3
var a,b,c: real; begin write('Введите а: '); readln(a); write('Введите b: '); readln(b); write('Введите c: '); readln(c); if ( a < b ) AND ( b < c ) then writeln('a < b < c') else if ( b > a ) AND ( a > c ) then writeln('b > a > c') else writeln('Неравенства не выполняются'); end.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Напишите программу, размещающую в памяти два вектора и вычисляющую их скалярное произведение.
var
i,n:integer;
A,B:array of integer;
p:longint;
begin
Write('Число элементов в векторах='); Read(n);
Randomize;
SetLength(A,n);
Writeln('Вектор A');
for i:=0 to n-1 do begin A[i]:=Random(51)-25; Write(A[i],' ') end;
Writeln;
SetLength(B,n);
p:=0;
Writeln('Вектор B');
for i:=0 to n-1 do begin
B[i]:=Random(51)-25;
Write(B[i],' ');
p:=p+A[i]*B[i]
end;
Writeln;
Writeln('Скалярное произведение равно ',p);
end.
Тестовое решение:
Число элементов в векторах=15
Вектор A
-16 -6 -1 6 -6 7 22 4 16 19 3 -21 19 22 7
Вектор B
21 21 -2 -8 -3 25 -4 20 6 -11 8 10 -16 -16 19
Скалярное произведение равно -1145