Выполните практическую работу: составить программу-Pascal для решения задачи «Скидка»: при покупке на сумму от 3000 руб. покупатель получает 1% скидки, от 5000 руб. –3% скидка, от 8000 руб. –5% скидка, от 20000 руб. –10% скидка. Тело программы должно содержать настоящую фамилию ученика, например, begin writeln(‘Петров Дмитрий’);Входные данные –сумма покупки. Вывод на экран: Сумма <число> Скидка <число> Оплата <число>
for i:=1 to 8 do beginif A[i]>0 then kolvo_pol:=kolvo_pol+1;end;writeln();writeln('kolvo_pol = ', kolvo_pol);
for i:=1 to 8 do beginif A[i]<0 then proiz_otr:=proiz_otr*A[i];end;writeln('proiz_otr= ', proiz_otr);end.
program zadacha;varC: array[1..10] of integer;i: integer;beginfor i:=1 to 10 do read(C[i]);writeln();
for i:=1 to 10 do beginif C[i]>0 then C[i]:=sqr(C[i]);end;
for i:=1 to 10 do beginif C[i]<0 then C[i]:=20;end;
for i:=1 to 10 do write(C[i]:6);end.
// PascalABC.NET 3.2, сборка 1367 от 20.12.2016
// Внимание! Если программа не работает, обновите версию!
begin
var c:=ReadArrInteger('Введите элементы массива: ',10);
c.Transform(x->x>0?x*x:x=0?x:20); c.Println
end.
Пример
Введите элементы массива: 5 11 -7 0 3 -12 -8 1 9 -2
25 121 20 0 9 20 20 1 81 20
2. Традиционное "школьное" решение
const
n=10;
var
i:integer;
c:array[1..n] of integer;
begin
Write('Введите элементы массива: ');
for i:=1 to n do Read(c[i]);
for i:=1 to n do
if c[i]>0 then c[i]:=sqr(c[i])
else
if c[i]<0 then c[i]:=20;
for i:=1 to n do Write(c[i],' ');
Writeln
end.
3. Улучшенное "школьное" решение
const
n=10;
var
i,t:integer;
c:array[1..n] of integer;
begin
Write('Введите элементы массива: ');
for i:=1 to n do begin
Read(t);
if t>0 then c[i]:=t*t
else
if t<0 then c[i]:=20
end;
for i:=1 to n do Write(c[i],' ');
Writeln
end.