// PascalABC.NET 3.1, сборка 1201 от 18.03.2016 begin var n:=ReadInteger('n='); var a:=ArrRandom(n,1,10); a.Println; Writeln('Среднее ',a.Average:0:5); var s:=''; for var i:=0 to n-1 do if a[i]=5 then s+=i+1+' '; if s.Length>0 then Writeln('Номера элементов, равных 5: ',s) else Writeln('Нет элементов, равных 5') end.
Var ar:array[1..n] of integer; i,s:integer; begin randomize; writeln('Array:'); for i:=1 to n do begin ar[i]:=random(1,r); write(ar[i]:4); s:=s+ar[i]; end; writeln; writeln('5:'); for i:=1 to n do if ar[i]=5 then write(i:4); writeln; writeln('S=',s/n); end.
Пример работы: Array: 5 1 2 1 4 5: 1 S=2.6
filippovev1
14.06.2021
Думаю нет большой разницы между процедурой и функцией, просто функция куда удобнее. Для нахождения нода используется алгоритм Эвклида
//PascalABC.Net
function NOD(A, B: integer): integer; begin while A <> B do if A > B then A := A - B else B := B - A; NOD := A; end;
procedure pNOD(A, B: integer; var NOD: integer); begin while A <> B do if A > B then A := A - B else B := B - A; NOD := A; end;
begin var a: Array of integer := (16, 32, 40, 64, 80, 128); var n := a[low(a)]; for var i := low(a) to high(a) do pNOD(n, a[i], n);
Writeln(n); end.
VadimovichSvetlana622
14.06.2021
В состав алфавита языка Паскаль входит: Символы для составления переменных- латинские(строчные, прописные) символ "_" цифры (0..9) Символы разделители (пробельные символы) Составные символы - особенная группа символов, которая воспринимаются компилятором как один символ "<=", ":=",">=", "..", "//" "<>" "(*" "*)" Зарезервированные слова- слова, несущие определенное смысловое значение для компилятора Спец-символы- символы, которые предназначены для построения конструкций языка, в Паскале это: ' - + / * : ; = { } [ ] ( ) $ и т.п
На самом деле их больше, но это основные.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Дан массив целых чисел , необходимо найти среднее арифметическое значение и найти элементы равные 5
begin
var n:=ReadInteger('n=');
var a:=ArrRandom(n,1,10); a.Println;
Writeln('Среднее ',a.Average:0:5);
var s:='';
for var i:=0 to n-1 do
if a[i]=5 then s+=i+1+' ';
if s.Length>0 then Writeln('Номера элементов, равных 5: ',s)
else Writeln('Нет элементов, равных 5')
end.
Тестовое решение:
n= 15
5 3 7 2 10 4 1 5 5 3 8 7 7 3 1
Среднее 4.73333
Номера элементов, равных 5: 1 8 9