Вопрос задан 30.11.2023 в 20:23. Предмет Информатика. Спрашивает Kylchik Anna.

PASCAL Создать запись «Покупатель» с полями: «Имя» (строка), «Пол» (символ), «Цена товара»

(вещественное число), «Количество товаров» (целое число). Имена покупателей могут повторяться, т.е. один покупатель может покупать разные товары в разном количестве. Вывести информацию о покупателе-женщине, купившей больше всего товаров.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Абалина Диана.
No uses crt;
type pokup=record
nam:string[50];
pol:char;
cen:real;
kol:integer;
end;
var a:array[1..10] of pokup;
n,i:integer;
s:real;
begin
clrscr;
repeat
write('Количество покупателей от 1 до 10 n=');
readln(n);
until n in [1..10];
writeln('Введите данные о покупателях');
s:=0;
for i:=1 to n do
begin
writeln('Покупатель ',i);
with a[i] do
begin
write('Имя: ');readln(nam);
repeat
write('Пол (m,z): ');readln(pol);
until pol in ['m','z'];
write('Цена товара: ');readln(cen);
write('Количество товаров: ');readln(kol);
if pol='z' then s:=s+kol*cen;
end;
end;
writeln('Общая сума покупок, сделанных женщинами=',s:0:2);
readln
end.
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи на языке Pascal, создадим запись "Покупатель" с нужными полями:

```pascal type Customer = record Name: string; Gender: char; Price: real; Quantity: integer; end; ```

Затем создадим массив покупателей и заполним его данными:

```pascal var Customers: array of Customer; i, maxQuantity, maxIndex: integer; begin // Заполняем массив покупателей данными SetLength(Customers, 5); Customers[0].Name := 'Анна'; Customers[0].Gender := 'Ж'; Customers[0].Price := 100.50; Customers[0].Quantity := 5; Customers[1].Name := 'Иван'; Customers[1].Gender := 'М'; Customers[1].Price := 50.25; Customers[1].Quantity := 3; Customers[2].Name := 'Мария'; Customers[2].Gender := 'Ж'; Customers[2].Price := 75.80; Customers[2].Quantity := 8; Customers[3].Name := 'Алексей'; Customers[3].Gender := 'М'; Customers[3].Price := 120.00; Customers[3].Quantity := 2; Customers[4].Name := 'Елена'; Customers[4].Gender := 'Ж'; Customers[4].Price := 90.50; Customers[4].Quantity := 10; ```

Далее, найдем покупателя-женщину, купившую больше всего товаров, и выведем информацию о ней:

```pascal // Находим покупателя-женщину с наибольшим количеством товаров maxQuantity := -1; maxIndex := -1; for i := 0 to Length(Customers) - 1 do begin if (Customers[i].Gender = 'Ж') and (Customers[i].Quantity > maxQuantity) then begin maxQuantity := Customers[i].Quantity; maxIndex := i; end; end; // Выводим информацию о покупателе-женщине if maxIndex <> -1 then begin writeln('Имя: ', Customers[maxIndex].Name); writeln('Пол: ', Customers[maxIndex].Gender); writeln('Цена товара: ', Customers[maxIndex].Price:0:2); writeln('Количество товаров: ', Customers[maxIndex].Quantity); end else writeln('Покупатель-женщина не найден'); ```

Полный код программы:

```pascal program Customers;

type Customer = record Name: string; Gender: char; Price: real; Quantity: integer; end;

var Customers: array of Customer; i, maxQuantity, maxIndex: integer; begin // Заполняем массив покупателей данными SetLength(Customers, 5); Customers[0].Name := 'Анна'; Customers[0].Gender := 'Ж'; Customers[0].Price := 100.50; Customers[0].Quantity := 5; Customers[1].Name := 'Иван'; Customers[1].Gender := 'М'; Customers[1].Price := 50.25; Customers[1].Quantity := 3; Customers[2].Name := 'Мария'; Customers[2].Gender := 'Ж'; Customers[2].Price := 75.80; Customers[2].Quantity := 8; Customers[3].Name := 'Алексей'; Customers[3].Gender := 'М'; Customers[3].Price := 120.00; Customers[3].Quantity := 2; Customers[4].Name := 'Елена'; Customers[4].Gender := 'Ж'; Customers[4].Price := 90.50; Customers[4].Quantity := 10; // Находим покупателя-женщину с наибольшим количеством товаров maxQuantity := -1; maxIndex := -1; for i := 0 to Length(Customers) - 1 do begin if (Customers[i].Gender = 'Ж') and (Customers[i].Quantity > maxQuantity) then begin maxQuantity := Customers[i].Quantity; maxIndex := i; end; end; // Выводим информацию о покупателе-женщине if maxIndex <> -1 then begin writeln('Имя: ', Customers[maxIndex].Name); writeln('Пол: ', Customers[maxIndex].Gender); writeln('Цена товара: ', Customers[maxIndex].Price:0:2); writeln('Количество товаров: ', Customers[maxIndex].Quantity); end else writeln('Покупатель-женщина не найден'); readln; end. ```

В результате выполнения программы будет выведена информация о покупателе-женщине, купившей больше всего товаров:

``` Имя: Елена Пол: Ж Цена товара: 90.50 Количество товаров: 10 ```

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос