Отсортировать студентов по оценке по третьему предмету. Вывести на экран анкетные данные студентов, которые родились в октябре. Если таких нет, то выдать соответствующий текст. N = 5 (C++) Код и скриншот кода и результат ввода
n - входной параметр программы. нужно посчитать сколько действий выполняет программа в зависимости от n.
Например, если программа выполняет ограниченное количество действий - вне зависимости от n она будет считаться конечное время. А если есть какие-нибудь циклы - время выполнения программы будет расти в зависимости от параметра.
пример 1: программа вычисления площади квадрата по его стороне.
два действия - перемножить два числа и вывести результат. F(n) = 2;
пример 2: программа вычисления факториала:
присваиваем результату 1
сравниваем n<2.
если верно - печатаем результат и выходим
иначе результат := результат * n
n:=n-1
и снова на сравнение
здесь F(n) = 1{начальное присвоение} + 3(n-1){сравнение и присвоения в цикле, который выполняется n-1 раза} + 1 {вывод результата} = 3n - 1
т.е время работы программы линейно возрастает при увеличении n
Program num1; Uses crt; Var a :array [1..100] of integer; i,k,n, s : integer; Begin clrscr; s:=0; write('K=');readln(k); write('N=');readln(n); for i:=1 to n do readln(a[i]); for i:=1 to n do if (a[i] MOD k)=0 then s:=s+a[i]; writeln('S=',s); End.
2.
Program num2; Uses crt; Var a :array [1..100] of real; i,n,j : integer; x : array [1..100] of real; Begin clrscr; write('n=');readln(n); for i:=1 to n do readln(a[i]); j:=1; for i:=1 to n do if a[i]=0 then begin x[j]:=i; j:=j+1 end; for i:=1 to j-1 do write(x[i],' '); End.
3.
Program num3; Uses crt; VAr a :array [1..100] of real; i,n : integer; Begin clrscr; write('n=');readln(n); for i:=1 to n do readln(a[i]); for i:=1 to n do begin if a[i]<>0 then if a[i]>0 then begin writeln('Положительное встречается раньше'); break end else begin writeln('Отрицательное встречается раньше'); break end; end; End.
4.
Program num4; Uses crt; Var a : array [1..100] of real; i, n, j :integer; Begin clrscr; write('n=');readln(n); a[n+1]:=a[n]+1; for i:=1 to n do readln(a[i]); j:=0; i:=1; while i<n do begin if a[i]<a[i+1] then begin j:=j+1; i:=i+1 end else begin writeln('Последовательность невозрастающая'); break end; end;
if i=n then writeln('Последовательность возрастающая'); End.
n - входной параметр программы. нужно посчитать сколько действий выполняет программа в зависимости от n.
Например, если программа выполняет ограниченное количество действий - вне зависимости от n она будет считаться конечное время. А если есть какие-нибудь циклы - время выполнения программы будет расти в зависимости от параметра.
пример 1: программа вычисления площади квадрата по его стороне.
два действия - перемножить два числа и вывести результат. F(n) = 2;
пример 2: программа вычисления факториала:
присваиваем результату 1
сравниваем n<2.
если верно - печатаем результат и выходим
иначе результат := результат * n
n:=n-1
и снова на сравнение
здесь F(n) = 1{начальное присвоение} + 3(n-1){сравнение и присвоения в цикле, который выполняется n-1 раза} + 1 {вывод результата} = 3n - 1
т.е время работы программы линейно возрастает при увеличении n
1.
Program num1;
Uses crt;
Var
a :array [1..100] of integer;
i,k,n, s : integer;
Begin
clrscr;
s:=0;
write('K=');readln(k);
write('N=');readln(n);
for i:=1 to n do
readln(a[i]);
for i:=1 to n do
if (a[i] MOD k)=0 then s:=s+a[i];
writeln('S=',s);
End.
2.
Program num2;
Uses crt;
Var
a :array [1..100] of real;
i,n,j : integer;
x : array [1..100] of real;
Begin
clrscr;
write('n=');readln(n);
for i:=1 to n do
readln(a[i]);
j:=1;
for i:=1 to n do
if a[i]=0 then
begin
x[j]:=i;
j:=j+1
end;
for i:=1 to j-1 do
write(x[i],' ');
End.
3.
Program num3;
Uses crt;
VAr
a :array [1..100] of real;
i,n : integer;
Begin
clrscr;
write('n=');readln(n);
for i:=1 to n do
readln(a[i]);
for i:=1 to n do
begin
if a[i]<>0 then
if a[i]>0 then
begin
writeln('Положительное встречается раньше');
break
end else
begin
writeln('Отрицательное встречается раньше');
break
end;
end;
End.
4.
Program num4;
Uses crt;
Var
a : array [1..100] of real;
i, n, j :integer;
Begin
clrscr;
write('n=');readln(n);
a[n+1]:=a[n]+1;
for i:=1 to n do
readln(a[i]);
j:=0;
i:=1;
while i<n do
begin
if a[i]<a[i+1] then
begin
j:=j+1;
i:=i+1
end
else
begin
writeln('Последовательность невозрастающая');
break
end;
end;
if i=n then writeln('Последовательность возрастающая');
End.