Три магазина заказывают на складе книжки. если магазин заказывает больше 30 экземпляров какой-либо книги, склад уменьшает стоимость заказа на 10%. составить таблицу, которая содержит такую информацию: магазин, название книги, автор, цена за одну книгу, заказанное количество, стоимость заказа, сумма к оплате (с учетом скидки), дата заказа. в столбце «стоимость заказа» написать формулу, которая вычисляет стоимость заказанного количества книг. в столбце «сумма к оплате» написать формулу, по которой вычисляется стоимость заказа со скидкой, если магазин имеет скидку, или записывается стоимость заказа, если скидки нет. для столбцов «магазин», «автор», «название книги» создать раскрывающиеся списки для ввода данных. вычислить общее количество заказанных экземпляров книг, общую стоимость заказов и общую сумму к оплате. вычислить на какую сумму всего склад сделал скидки магазинам. вычислить среднюю стоимость одного экземпляра книги. количество экземпляров и размер скидки должны быть записаны в отдельных ячейках, адреса которых использовать в формулах. решить в екселе,
Var
A:real;
k:integer;
Begin
Write('Стоимость одной газеты: ');ReadLn(A);
Write('Количество газет: ');ReadLn(k);
if k <= 50 then WriteLn('Заработок продавца: ',k*A,' руб.')
else WriteLn('Заработок продавца: ',(A*((k-50)*1.2+50)):0:2,' руб.')
End.
Var k:integer;
S,A:real;
Begin
Write('Стоимость одной газеты: ');ReadLn(A);
Write('Количество газет: ');ReadLn(k);
if k <= 50 then S:=k*A
else S:=A*((k-50)*1.2+50);
WriteLn('Заработок продавца: ',S:0:2,' руб.');
End.
Пример работы программы:
Стоимость одной газеты: 30.15
Количество газет: 200
Заработок продавца: 6934.50 руб.
Первая программа:
Const
N = 13;
Var
A,B:array[1..N] of integer;
i,j,m:integer;
k:byte;
Begin
Randomize;
Write('Исходный массив:');
For i:= 1 to N do
Begin
A[i]:=random(N);
Write(' ',A[i])
End;
WriteLn;
Write('Уникальные элементы:');
m:=0;
For i:= 1 to N do
Begin
k:=1;
For j:= 1 to N do
if i<>j then
if A[i]=A[j] then k:=0;
if k=1 then
Begin
m:=m+1;
B[m]:=A[i];
End
End;
For m:=1 to m do
Begin
A[m]:=B[m];
Write(' ',A[m])
End;
End.
Пример работы программы:
Исходный массив: 3 7 11 11 11 0 9 3 9 9 10 1 4
Уникальные элементы: 7 0 10 1 4
Вторая программа:
Var
A:array[1..10000] of integer;
n,Min,Max,B:integer;
Begin
Write('Введите размерность массива: ');ReadLn(n);
Write('Введите массив A(',n,'): ');
For n:= 1 to n do
Read(A[n]);
Min:=1;
Max:=1;
For n:= 2 to n do
Begin
if A[n]<Min then Min:=n;
if A[n]>Max then Max:=n;
End;
WriteLn('Min(A) = A[',Min,'] = ',A[Min]);
WriteLn('Max(A) = A[',Max,'] = ',A[Max]);
B:=A[Max];
A[Max]:=A[Min];
A[Min]:=B;
Write('A(',n,'):');
For n:= 1 to n do
Write(' ',A[n])
End.
Пример работы программы:
Введите размерность массива: 7
Введите массив A(7): 1 3 4 6 7 5 2
Min(A) = A[1] = 1
Max(A) = A[5] = 7
A(7): 7 3 4 6 1 5 2
Третья программа:
Const
n = 3;
m = 4;
Var
A:array[1..n,1..m] of integer;
B:array[1..m,1..n] of integer;
i,j:integer;
Begin
Randomize;
WriteLn('Исходная матрица:');
For i:= 1 to N do
Begin
For j:= 1 to M do
Begin
A[i,j]:=random(21)-10;
Write(A[i,j]:3,' ')
End;
WriteLn;
End;
WriteLn;
WriteLn('Транспонированная матрица:');
For i:= 1 to M do
Begin
For j:= 1 to N do
Begin
B[i,j]:=A[j,i];
Write(B[i,j]:3,' ')
End;
WriteLn
End;
End.
Пример работы программы:
Исходная матрица:
10 3 10 1
-4 9 -9 2
-1 4 2 1
Транспонированная матрица:
10 -4 -1
3 9 4
10 -9 2
1 2 1