close

Вход

Забыли?

вход по аккаунту

?

зарплата

код для вставки
Проект "Зарплата"
3 урок. Массивы, типовые задачи
Массивы.. это что?
Последовательность однородных элементов, определенная одним именем и имеющая один тип, называется массивом. Каждый элемент имеет свое значение и индексы, определяющие его место в массиве. Массив, элементы которого однозначно определены одним индексом - называется линейным или одномерным.
Массив определяется до его применения:
var
Mark:array[0..19] of integer;
Name:array[1..50] of string;
Массивы и циклы
Значение любого элемента массива определяется командой присваивания типа
Mark[5]:=11;
Mane[28]:='Иванов';
Но гораздо удобнее присваивать значения элементам массива в цикле. Такое задание первоначальных значений элементов называется инициализацией массива. Например, необходимо записать в массив фамилии учеников, введенные учителем в Memo:
for i:=0 to Memo1.Lines.Count-1 do
Name[i]:=Memo.Lines[i];
Типовые задачи. Нахождение суммы и среднего значения.
Найти среднее значение чисел, записанных в Memo:
var
number:array[0..100] of integer;
i, summa:integer;
srednee:real;
begin
summa:=0;
for i:=0 to Memo1.Lines.Count-1 do begin
number[i]:=StrToInt(Memo.Lines[i]);
summa:=summa+number[i];
end;
srednee:=summa/Memo1.Lines.Count;
Edit1.Text:=FloatToStr(srednee);
end;
Типовые задачи. Нахождение максимума и минимума.
Найти максимальное число в массиве mas(i) из Memo:
var
mas:array[0..100] of integer;
i, max:integer;
begin
for i:=0 to Memo1.Lines.Count-1 do
mas[i]:=StrToInt(Memo.Lines[i]);
max:=mas[0];
for i:=1 to Memo1.Lines.Count-1 do
if max<mas[i] then max:=mas[i];
Edit1.Text:=IntToStr(max);
end;
Типовые задачи. Нахождение количества элементов, больших А
Найти, сколько в массиве mas(i) элементов, больших 5:
var
mas:array[0..100] of integer;
i, count5:integer;
begin
count5:=0;
for i:=0 to Memo1.Lines.Count-1 do begin
mas[i]:=StrToInt(Memo1.Lines[i]);
if mas[i]>5 then count5+=1;
end;
Edit1.Text:=IntToStr(count5);
end;
Проект "Зарплата"
Создаем проект "Зарплата" согласно скриншота. Работодатель вводит фамилии работников и нажимает кнопку "Заполняем зарплаты. Программа формирует зарплаты) (от 1000 до 4000) и порядковые номера. Необходимо вычислить
1.
Средняя зарплата.
2.
Максимальная зарплата
3.
Фамилия работника, получившего минимальную зарплату
Кнопка заполнения зарплаты
var
i:integer;
begin
Memo2.Clear;
Memo3.Clear;
for i:=0 to Memo1.Lines.Count-1 do begin
Memo2.Lines[i]:=IntToStr(random(3001)+1000);
Memo3.Lines[i]:=IntToStr(i+1);
end;
end; Кнопка подсчета среднего
var
zp:array[0..19] of integer;
summa,i:integer;
srednee:real;
begin
summa:=0;
for i:=0 to Memo1.Lines.Count-1 do begin
zp[i]:=StrToInt(Memo2.Lines[i]);
summa+=zp[i];
end;
srednee:=summa/Memo1.Lines.Count;
Edit1.Text:=FloatToStr(srednee);
end; Кнопка подсчета максимальной ЗП
var
zp:array[0..19] of integer;
max,i:integer;
begin
for i:=0 to Memo1.Lines.Count-1 do
zp[i]:=StrToInt(Memo2.Lines[i]);
max:=zp[0];
for i:=1 to Memo1.Lines.Count-1 do
if max<zp[i] then max:=zp[i];
Edit2.Text:=IntToStr(max);
end; Кнопка "Фамилия неудачника"
var
zp:array[0..19] of integer; fam:array[0..19] of string;
Min,i, indexMin:integer;
begin
for i:=0 to Memo1.Lines.Count-1 do begin
zp[i]:=StrToInt(Memo2.Lines[i]);
fam[i]:=Memo1.Lines[i];
end;
Min:=zp[0]; indexMin:=0;
for i:=1 to Memo1.Lines.Count-1 do
if Min>zp[i] then begin
Min:=zp[i]; indexMin:=i;
end;
Edit3.Text:=fam[indexMin];
end; Задание
1.
Поменяйте максимальную и минимальную зарплаты. Пусть хоть один человек порадуется
2.
Поменяйте фамилию работника с минимальной зарплатой на "неудачник". Может, задумается..
3.
Добавьте каждому к зарплате 30% по случаю Нового года
4.
Выдайте всем среднюю зарплату
5.
Выдайте работникам зарплату в долларах (коэффициент - 8)
6.
Сделайте кнопку обратного перехода на национальную валюту (у кого какая..)
Автор
sob-mk
sob-mk146   документов Отправить письмо
Документ
Категория
Школьные материалы
Просмотров
61
Размер файла
62 Кб
Теги
зарплата
1/--страниц
Пожаловаться на содержимое документа