Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Помогите решить в Паскале (http://www.tehnari.ru/f41/t46763/)

Motya5 01.02.2011 22:52

Помогите решить в Паскале
 
Требуется помощь в решении задачи в программе Паскаль Турбо

Задача: По результатам продажи жилья за полгода администрацией области получена информация:
Город Количество проданных квартир Количество кв.м. Сумма от продажи тыс. руб.
Мыски 34 2800 41870
… … … …
Напечатать таблицу, заменив последний столбец на «Средняя стоимость 1 квартиры».

Vladimir_S 02.02.2011 10:08

Цитата:

Сообщение от Motya5 (Сообщение 457558)
Требуется помощь в решении задачи в программе Паскаль Турбо

Задача: По результатам продажи жилья за полгода администрацией области получена информация:
Город Количество проданных квартир Количество кв.м. Сумма от продажи тыс. руб.
Мыски 34 2800 41870
… … … …
Напечатать таблицу, заменив последний столбец на «Средняя стоимость 1 квартиры».

Извольте:
Код:

CONST
 Name:Array[1..10] of String=('Мыски','Прокопьевск','Междуреченск',
                              'Белово','Березовский','Кемерово',
                              'Новокузнецк','Осинники',
                              'Ленинск-Кузнецкий','Анжеро-Судженск');
TYPE
 DATA=Record
      F_Name:String;
      F_N:Word;
      F_S:LongInt;
      F_Sum:LongInt;
      F_Med:LongInt;
      end;

VAR
 Flat:Array[1..10] of DATA;
 i,j:Integer;

BEGIN
 Randomize;
 For i:=1 to 10 do
  With Flat[i] do
  begin
    F_Name:=Name[i];
    F_N:=Random(200);
    F_S:=F_N*(Random(100)+50);
    F_Sum:=F_S*(Random(40)+30);
    F_Med:=ROUND((1.0*F_Sum)/(1.0*F_N));
  end;
 WriteLn('Исходная таблица:');
 For i:=1 to 10 do
  With Flat[i] do
  begin
    Write(F_Name);
    for j:=length(F_Name) to 25 do write(' ');
    Write(F_N:3);
    Write(F_S:10);
    WriteLn(F_Sum:10);
  end;
 WriteLn;
 WriteLn('Новая таблица:');
 For i:=1 to 10 do
  With Flat[i] do
  begin
    Write(F_Name);
    for j:=length(F_Name) to 25 do write(' ');
    Write(F_N:3);
    Write(F_S:10);
    WriteLn(F_Med:10);
  end;
 ReadLn;
END.


Motya5 02.02.2011 17:02

Vladimir_S
Благодарю за предоставленное решение

А еще с одной задачей не поможете:
Имеется информация о наличии N наименований торгового оборудования на складе. Определить общее количество оборудования.

Vladimir_S 02.02.2011 17:10

Цитата:

Сообщение от Motya5 (Сообщение 457803)
А еще с одной задачей не поможете: Имеется информация о наличии N наименований торгового оборудования на складе. Определить общее количество оборудования.

То есть известно количество единиц оборудования каждого наименования? И Вы не в состоянии эти N чисел просуммировать? Нет уж, извините, но тут пусть кто-нибудь другой.

Motya5 02.02.2011 18:01

Да нет смотрите я решила - только не знаю правильно или нет. Проверьте если Вам не сложно.
uses crt;
type tovar=record
name:string[20];
kol:integer;
end;
var a:array[1..100] of prodaza;
n,i,sum:byte;
begin
clrscr;
write('Skolko naimenovaniy?');
readln(n);
writeln('Vvedite harakteristiki oborudovaniya')
for i:=1 to n do
begin
with a[i] do
begin
write(' Nazvanie ',i,' ');readln(name);
write(' Kolichestvo ');readln(kol);
end;
end;

sum:=0;
for i:=1 to n do
begin
with a[i] do
sum:=sum+kol;
end;
writeln;
writeln(sum);
end.

Vladimir_S 02.02.2011 21:25

Цитата:

Сообщение от Motya5 (Сообщение 457821)
Да нет смотрите я решила - только не знаю правильно или нет. Проверьте если Вам не сложно.

Ничуть.
Почти правильно - 3 ошибки:
1. Наименование записи - либо tovar, либо prodaza. Вы уж выберите что-нибудь одно.
2. В конце строки writeln('Vvedite harakteristiki oborudovaniya') нет разделителя ";". Нужно обязательно поставить.
3. В самом конце программы перед закрывающим "end." желательно поставить "readln;". Тогда программа, выведя результат, остановится и даст на этот результат посмотреть до нажатия клавиши "Enter".
А остальное - правильно.

Motya5 03.02.2011 00:14

Может я что-то не понимаю, но позадачке, которую вы мне решили, что-то не выходит блок-схема. Может я совсем совсем не умная, как вы? Хотя это я могу сказать точно, что вы умный человек.

Vladimir_S 03.02.2011 09:20

Цитата:

Сообщение от Motya5 (Сообщение 458123)
Может я что-то не понимаю, но позадачке, которую вы мне решили, что-то не выходит блок-схема. Может я совсем совсем не умная, как вы? Хотя это я могу сказать точно, что вы умный человек.

За комплимент, конечно, спасибо, но помочь в данном случае не могу - блок-схемами не занимаюсь.

Kapri 06.02.2011 20:37

ПОМОГИТЕ С РЕШЕНИЕМ

Vladimir_S 06.02.2011 20:43

Цитата:

Сообщение от Kapri (Сообщение 460831)
ПОМОГИТЕ С РЕШЕНИЕМ

Вам создана новая тема: http://www.tehnari.ru/f41/t47053/#post460778 Если не прекратите лезть в чужие и клонировать свои топики, будете наказаны.


Часовой пояс GMT +4, время: 22:03.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.