Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на языке Pascal


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный платный хостинг на базе Windows 2008

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Чемпионы рейтинга экспертов в этой рассылке

lamed
Статус: Практикант
Рейтинг: 2202
∙ повысить рейтинг »
Boriss
Статус: Академик
Рейтинг: 1892
∙ повысить рейтинг »
_Ayl_
Статус: Практикант
Рейтинг: 1849
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И ПО / Программирование / Pascal (Паскаль)

Номер выпуска:1049
Дата выхода:25.03.2010, 00:00
Администратор рассылки:Калашников О.А., Руководитель
Подписчиков / экспертов:335 / 205
Вопросов / ответов:5 / 5

Вопрос № 177327: Здравствуйте. нужна помощь.Задача на сортировки. метод к задачи в скобках Имеется список служащих и их оклады. Составить программу, которая обеспечивает ввод этих данных в ЭВМ и вывод ведомости к оплате, отсортированной по убыванию оклада при условии...


Вопрос № 177330: Задача на сортировки. помогите решить. Имеется список клиентов банка, номера счетов, тип вклада и размеры их счетов. Составить программу, которая позволит ввести имеющиеся данные и вывести их в порядке увеличения номера счета в виде таблицы, имеющей...
Вопрос № 177336: Уже отправляла эту задачу. пытались решить. но у меня выходила ошибка в программе. может у кого- то другие решения возникнут.В системе регистрации заявок сервисного центра составляется список заявок в зависимости от приоритета отправителя (если клиен...
Вопрос № 177338: Добрый вечер! нужна помощь. задача на сортировки. метод написан в скобках.2. Имеется список оборудования и его стоимость. Составить программу, которая вводит эти данные и выводит список оборудования и его стоимость, если необходимо увеличить его стои...
Вопрос № 177343: Здравствуйте уважаемые эксперты! Помогите составить блок схему и программу, которая выводила бысимволы в виде таблицы, в каждой строке по 27 символов. Жду Ваших ответов!!! ...

Вопрос № 177327:

Здравствуйте. нужна помощь.Задача на сортировки. метод к задачи в скобках Имеется список служащих и их оклады. Составить программу, которая обеспечивает ввод этих данных в ЭВМ и вывод ведомости к оплате, отсортированной по убыванию оклада при условии, что премия составляет N% от оклада, уральские - 15%. Ведомость должна иметь следующую структуру:
ФИО Оклад Премия Уральские Итого
(Сортировка Шелла)

Отправлен: 18.03.2010, 23:46
Вопрос задал: Яруллина Ирина Булатовна, Посетитель
Всего ответов: 1
Страница вопроса »


Отвечает star9491, Студент :
Здравствуйте, Яруллина Ирина Булатовна.

Посмотрите такой вариант:

Код:
uses crt;

type
TSpisok = record
FIO: string;
Pay:integer;
Bonus:integer;
Ural:integer;
Total:integer;
end;
ASpisok = array[1..1] of TSpisok;

var
count:Integer;
spisok: ^ASpisok;
i:Integer;
n:Integer;

procedure WriteSpisok;
var
i:Integer;
begin
{$R-}
for i:=1 to count do
begin
Writeln('#',i,' FIO=',spisok^[i].FIO,
' Pay=',spisok^[i].Pay,
' Bonus=',spisok^[i].Bonus,
' Ural=',spisok^[i].Ural,
' Total=',spisok^[i].Total);
end;
{$R+}
end;

procedure ShellSort;
var
k,m,i,j:integer;
temp:TSpisok;
begin
{$R-}
k:=1;
m:=(count-1) div 9;
while k<=m do k:=(k*3)+1;
while k>0 do
begin
for i:=k+1 to count do
begin
temp:=spisok^[i];
j:=i;
while (j>=(k+1))and(temp.Pay>spisok^[j-k].Pay) do
begin
spisok^[j]:=spisok^[j-k];
j:=j-k;
end;
spisok^[j]:=temp;
end;
k:=k div 3;
end;
{$R+}
end;

begin
clrscr;
Write('Count=');
Readln(count);
GetMem(spisok,count*SizeOf(TSpisok));
{$R-}
for i:=1 to count do
begin
Write('#',i,' FIO=');
Readln(spisok^[i].FIO);
Write('#',i,' Pay=');
Readln(spisok^[i].Pay);
end;
{$R+}
Write('Grouth pay (%):');Readln(n);
{$R-}
for i:=1 to count do
begin
spisok^[i].Bonus:=Round((n/100)*spisok^[i].Pay);
spisok^[i].Ural:=Round((15/100)*spisok^[i].Pay);
spisok^[i].Total:=spisok^[i].Pay+spisok^[i].Bonus+spisok^[i].Ural;
end;
{$R+}
ShellSort;
Writeln;
WriteSpisok;
FreeMem(spisok,count*SizeOf(TSpisok));
Readln;
end.

Ответ отправил: star9491, Студент
Ответ отправлен: 21.03.2010, 12:08
Номер ответа: 260276

Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 260276 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:

  • Вопрос № 177330:

    Задача на сортировки. помогите решить. Имеется список клиентов банка, номера счетов, тип вклада и размеры их счетов. Составить программу, которая позволит ввести имеющиеся данные и вывести их в порядке увеличения номера счета в виде таблицы, имеющей следующую структуру:
    ФИО Номер
    счета
    Тип вклада Размер вклада На сколько увеличится вклад Новый размер вклада
    (Быстрая сортировка)
    Спасибо.

    Отправлен: 19.03.2010, 00:31
    Вопрос задал: Яруллина Ирина Булатовна, Посетитель
    Всего ответов: 1
    Страница вопроса »


    Отвечает star9491, Студент :
    Здравствуйте, Яруллина Ирина Булатовна.

    Посмотрите такой вариант:

    Код:
    uses crt;

    type
    TClient = record
    Customer:string;
    Account:Integer;
    Pattern:string;
    Deposit:Integer;
    Growth:Integer;
    end;
    AClient = array[1..1] of TClient;

    var
    count:Integer;
    spisok: ^AClient;
    i:Integer;

    procedure WriteSpisok;
    var
    i:Integer;
    begin
    for i:=1 to count do
    begin
    {$R-}
    Writeln('#',i,' Customer=',spisok^[i].Customer,
    ' Account=',spisok^[i].Account,
    ' Pattern=',spisok^[i].Pattern,
    ' Deposit=',spisok^[i].Deposit,
    ' Growth =',spisok^[i].Growth,
    ' New deposit=',spisok^[i].Deposit+spisok^[i].Growth);
    {$R+}
    end;
    end;

    procedure QuickSort(first,last:Integer);
    var
    base,temp:TClient;
    L,R:Integer;
    begin
    {$R-}
    while first<last do
    begin
    base:=spisok^[(first+last) div 2];
    L:=first-1;
    R:=last+1;
    while True do
    begin
    repeat R:=R-1 until spisok^[R].Account<=base.Account;
    repeat L:=L+1 until spisok^[L].Account>=base.Account;
    if (L>=R) then break;
    temp:=spisok^[L];
    spisok^[L]:=spisok^[R];
    spisok^[R]:=temp;
    end;
    if first<R then QuickSort(first,R);
    first:=R+1;
    end;
    {$R+}
    end;

    begin
    clrscr;
    Write('Customers count=');Readln(count);
    GetMem(spisok,count*SizeOf(TClient));
    for i:=1 to count do
    begin
    {$R-}
    Write('#',i,' Customer=' );Readln(spisok^[i].Customer);
    Write('#',i,' Account=');Readln(spisok^[i].Account);
    Write('#',i,' Pattern=');Readln(spisok^[i].Pattern);
    Write('#',i,' Deposit=');Readln(spisok^[i].Deposit);
    Write('#',i,' Growth=');Readln(spisok^[i].Growth);
    {$R+}
    end;
    Writeln;
    WriteSpisok;
    QuickSort(1,count);
    Writeln;
    WriteSpisok;
    FreeMem(spisok,count*SizeOf(TClient));
    Readln;
    end.

    Ответ отправил: star9491, Студент
    Ответ отправлен: 20.03.2010, 20:25
    Номер ответа: 260265

    Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 260265 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:

  • Вопрос № 177336:

    Уже отправляла эту задачу. пытались решить. но у меня выходила ошибка в программе. может у кого- то другие решения возникнут.В системе регистрации заявок сервисного центра составляется список заявок в зависимости от приоритета отправителя (если клиент постоянный и важный приоритет – 0, если постоянный, но можно ненадолго отложить – 1 и т.д.). Сформировать список заявок, начиная с наивысшего приоритета и вывести его на экран.заранее спасибо.

    Отправлен: 19.03.2010, 01:01
    Вопрос задал: Яруллина Ирина Булатовна, Посетитель
    Всего ответов: 1
    Страница вопроса »


    Отвечает Andrew Kovalchuk, 7-й класс :
    Здравствуйте, Яруллина Ирина Булатовна.
    Есть вариант решения посредством списка (см. приложение)

    Приложение:

    -----
    Временная неудача лучше временной удачи

    Ответ отправил: Andrew Kovalchuk, 7-й класс
    Ответ отправлен: 19.03.2010, 04:19
    Номер ответа: 260215

    Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 260215 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:

  • Вопрос № 177338:

    Добрый вечер! нужна помощь. задача на сортировки. метод написан в скобках.2. Имеется список оборудования и его стоимость. Составить программу, которая вводит эти данные и выводит список оборудования и его стоимость, если необходимо увеличить его стоимость на N%. Выводимая таблица должна иметь следующую структуру:
    Вид оборудования Текущая стоимость На сколько увеличивается стоимость Новая стоимость
    (Простой обмен)

    Отправлен: 19.03.2010, 01:31
    Вопрос задал: Яруллина Ирина Булатовна, Посетитель
    Всего ответов: 1
    Страница вопроса »


    Отвечает star9491, Студент :
    Здравствуйте, Яруллина Ирина Булатовна.

    Пример:

    Код:
    uses crt;

    type
    TSpisok = record
    Equipment:string;
    Cost:integer;
    Growth:integer;
    NewCost:integer;
    end;
    ASpisok = array[1..1] of TSpisok;

    var
    spisok: ^ASpisok;
    count:integer;
    i,n:integer;

    procedure WriteSpisok;
    var
    i:Integer;
    begin
    {$R-}
    for i:=1 to count do
    begin
    Writeln('#',i,' Equipment: ',spisok^[i].Equipment,
    ' Cost=',spisok^[i].Cost,
    ' Growth=',spisok^[i].Growth,
    ' New cost=',spisok^[i].NewCost);
    end;
    {$R+}
    end;

    procedure BubbleSort;
    var
    i,j:integ er;
    temp:TSpisok;
    Done:boolean;
    begin
    {$R-}
    for i:=1 to count-1 do
    begin
    Done:=True;
    for j:=count downto i+1 do
    if spisok^[j].Cost<spisok^[j-1].Cost then
    begin
    temp:=spisok^[j];
    spisok^[j]:=spisok^[j-1];
    spisok^[j-1]:=temp;
    Done:=false;
    end;
    if Done then Exit;
    end;
    {$R+}
    end;

    begin
    clrscr;
    Write('Count=');
    Readln(count);
    GetMem(spisok,count*SizeOf(TSpisok));
    {$R-}
    for i:=1 to count do
    begin
    Write('#',i,' Equipment: ');
    Readln(spisok^[i].Equipment);
    Write('#',i,' Cost=');
    Readln(spisok^[i].Cost);
    end;
    {$R+}
    Write('Grouth cost (%):');Readln(n);
    {$R-}
    for i:=1 to count do
    begin
    spisok^[i].Growth:=Round((n/100)*spisok^[i].Cost);
    spisok^[i].NewCost:=spisok^[i].Cost+spisok^[i].Growth;
    end;
    {$R+}
    BubbleSort;
    Writeln;
    WriteSpisok;
    FreeMem(spisok,count*SizeOf(TSpisok));
    Readln;
    end.

    Ответ отправил: star9491, Студент
    Ответ отправлен: 21.03.2010, 13:34
    Номер ответа: 260280

    Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 260280 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:

  • Вопрос № 177343:

    Здравствуйте уважаемые эксперты!

    Помогите составить блок схему и программу, которая выводила бысимволы в виде таблицы, в каждой строке по 27 символов.

    Жду Ваших ответов!!!

    Отправлен: 19.03.2010, 02:16
    Вопрос задал: Евгений [eXill@nD] Малясёв , Практикант
    Всего ответов: 1
    Страница вопроса »


    Отвечает lamed, Практикант :
    Здравствуйте, Евгений [eXill@nD] Малясёв! Программа в приложении (Turbo-Pascal 7).
    Блок-схема здесь: 177343.ZIP (3.3 кб)

    Приложение:

    Ответ отправил: lamed, Практикант
    Ответ отправлен: 20.03.2010, 09:03
    Номер ответа: 260252

    Оценка ответа: 5
    Комментарий к оценке:
    ОГРОМНОЕ СПАСИБО!!!

    Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 260252 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:

  • Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2010, Портал RFpro.ru, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2010.6.14 от 03.03.2010

    В избранное