Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Pascal] Множества и записи 
:(
    Опции темы
CaRaMeLca
Дата 16.2.2010, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 18.12.2009

Репутация: нет
Всего: нет



1) Дан список студентов группы с соответствующими отметками по предмету. С клавиатуры вводится фамилия и отметка. Описать процедуру, которая в зависимости от отметки даёт количественную оценку работы. Например: отлично - Петров;
плохо - Михайлов и т.д.

2) Рациональное число задано в виде записи с двумя полями
............
числитель: integer;
знаменатель: integer;
............
Определить есть ли среди n рациональных чисел равные.

PM MAIL   Вверх
Mignight
Дата 23.2.2010, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 11.9.2009

Репутация: -1
Всего: -1



 
Народ хелп! момогите пожалуйста решить задачки:
1. Сформировать множество целых чисел случайным образом с желаемым числом членов и распечатать его. Выделить из него два множества чисел, делящихся на 2 и на 3. Оба распечатать.

2. Задан целочисленный массив В(n). Сформировать по нему массив записей, в котором записи имеют поля:
..........
поле-1 - компонента массива;
поле-2 - шестнадцатиричное представление;
..........
с использованием процедуры перевода компоненты массива из десятичного представления в шестнадцатиричное.


Заранее спасибо
PM MAIL   Вверх
ФедосеевПавел
Дата 23.2.2010, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 7.2.2009

Репутация: 2
Всего: 10



Показывай, что сам наваял, в чём помощь нужна.
PM   Вверх
Mignight
Дата 1.3.2010, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 11.9.2009

Репутация: -1
Всего: -1



слушай я "наваять" вообще и этой темы ничего не смог, поэтому и обратился за помощью
только по первой задаче смог и то не через строки а через множества... Так что помогите чем можете ^_^
PM MAIL   Вверх
ФедосеевПавел
Дата 1.3.2010, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 7.2.2009

Репутация: 2
Всего: 10



Код
TYPE
  TSetOfInt = Set of Byte;
PROCEDURE ShowSet(S:TSetOfInt);
VAR
  i : Byte;
BEGIN
  for i:=0 to 255 do begin
    if i in S then Write(i:4);
  end;
  WriteLn;
END;
VAR
  Quantity  : Byte;
  SetOfInt,
  SetOf2,
  SetOf3    : TSetOfInt;

  i         : Byte;
  t         : Byte;
BEGIN
  Randomize;
  Write('Input quantity of elements: ');
  ReadLn(    Quantity);
  SetOfInt:=[];
  for i:=1 to Quantity do begin
    repeat
      t:=Random(256);
    until NOT (t in SetOfInt);
    Include(SetOfInt, t);
  end;
  SetOf2:=[];
  SetOf3:=[];
  for i:=0 to 255 do begin
    if i in SetOfInt
    then begin
      if (i mod 2)=0 then Include(SetOf2, i);
      if (i mod 3)=0 then Include(SetOf3, i);
    end;
  end;
  WriteLn('Built set:');
  ShowSet(SetOfInt);
  WriteLn('Multiply of 2:');
  ShowSet(SetOf2);
  WriteLn('Multiply of 3:');
  ShowSet(SetOf3);
END.

PM   Вверх
ФедосеевПавел
Дата 1.3.2010, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 7.2.2009

Репутация: 2
Всего: 10



Код
PROGRAM Pas_026b;
CONST
  N     = 10;
TYPE
  TRec  = RECORD
    Number : Word;
    HexStr : String[4];
  END;
  TArrInt = array [1..N] of Word;
  TArrRec = array [1..N] of TRec;
FUNCTION HexStr( VAR Num; ByteCount : Byte) : String;assembler;
asm
        les di,@Result     {get address of function result}
        mov dx,ds          {save Turbo's DS in DX         }
        lds si,num         {get number address            }
        mov al,ByteCount   {how many bytes?               }
        xor ah,ah          {make a word                   }
        mov cx,ax          {keep track of bytes in CX     }
        add si,ax          {start from MS byte of number  }
        dec si
        shl ax,1           {how many digits? (2/byte)     }
        cld                {store # digits (going forward)}
        stosb              {in destination string's length byte}
@@HexLoop:
        std                {scan number from MSB to LSB   }
        lodsb              {get next byte                 }
        mov ah,al          {save it                       }
        shr al,1           {extract high nibble           }
        shr al,1
        shr al,1
        shr al,1
        add al,90h         {special hex conversion sequence}
        daa                {using ADDs and DAA's           }
        adc al,40h
        daa                {nibble now converted to ASCII  }
        cld                {store ASCII going up           }
        stosb
        mov al,ah          {repeat conversion for low nibble}
        and al,0Fh
        add al,90h
        daa
        adc al,40h
        daa
        stosb
        loop  @@HexLoop       {keep going until done           }
        mov  ds,dx            {restore Turbo's DS              }
END;

PROCEDURE FillArrInt(VAR a : TArrInt);
VAR
  i : Integer;
BEGIN
  for i:=1 to N do begin
    a[i]:=Random($FFFF);
  end;
END;

PROCEDURE MakeArrRec(VAR a : TArrInt; VAR b : TArrRec);
VAR
  i : Integer;
BEGIN
  for i:=1 to N do begin
    b[i].Number:=a[i];
    b[i].HexStr:=HexStr(b[i].Number, SizeOf(b[i].Number));
  end;
END;

VAR
  B : TArrInt;
  C : TArrRec;
  i : Integer;
BEGIN
  Randomize;
  FillArrInt(B);
  MakeArrRec(B, C);
  WriteLn('    B[i]    c[i]   HexStr');
  for i:=1 to N do begin
    WriteLn(b[i]:8, c[i].Number:8, c[i].HexStr:8);
  end;
END.

PM   Вверх
Mignight
Дата 4.3.2010, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 11.9.2009

Репутация: -1
Всего: -1



Спасибо большое""!
PM MAIL   Вверх
YOurk
Дата 3.1.2011, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 15.12.2010

Репутация: нет
Всего: нет



Построить множество, состоящее из всех парных простых чисел в интервале от 1 до 1000. Парными простыми числами называют два простых числа, разность между которыми равна 2, например: 3 и 5, 11 и 13, 17и 19.
(Использовать метод решето Эратосфена  

(http://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D1%88%D0%B5%D1%82%D0%BE_%D0%AD%D1%80%D0%B0%D1%82%D0%BE%D1%81%D1%84%D0%B5%D0%BD%D0%B0  - на случай надобности инфы)

ответ пришлите на [email protected]
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0741 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.