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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [pascal] задача на список класса, Помоему оч сложно! 
V
    Опции темы
xF1x
Дата 2.10.2008, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



всем доброго времени суток! тут в школе учитель дал задачу! извините за выражение я ох..л.задача такая: создать данные на учащихся класса в виде:фамилия,пол,рост.определить и записать на диск данные на всех девочек,фамилии которых начинаются на букву "М". Вот так вот но вместо того что бы записать на диск наверное нужно просто вывести на экран! ПОМОГИТЕ КТО МОЖЕТ! К субботе надо!
PM MAIL   Вверх
xF1x
Дата 2.10.2008, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



неужели никто не знает? блин парнии выручайте!!!
PM MAIL   Вверх
THandle
Дата 2.10.2008, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

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



Просто с выводом на экран:

Код


program Project1;

type
  TPupil = record
    { 'm' - man, 'w' - Woman }
    FSex: Char;
    { 0 - 255 }
    FHeight: Byte;
    { Last Name }
    FLatName: String[30];
  end;

const
  MAX = 5;

var
  Pupils: array [1..MAX] of TPupil;
  i: Integer;
begin
  for i := 1 to 5 do
    begin
      WriteLn('Enter next pupil data: ');
      Write('Sex: ');
      ReadLn(Pupils[i].FSex);
      Write('Height: ');
      ReadLn(Pupils[i].FHeight);
      Write('Last name: ');
      ReadLn(Pupils[i].FLatName);
    end;
  for i := 1 to MAX do
    if UpCase(Pupils[i].FSex) = 'W' then
      if UpCase(Pupils[i].FLatName[1]) = 'M' then
        WriteLn('Last Name: ', Pupils[i].FLatName, ' Sex: ', Pupils[i].FSex, ' Height: ', Pupils[i].FHeight);
  ReadLn;
end.

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


Шустрый
*


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

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



а можешь расшифровать? где по английски написанно? FHeight: Byte;
    { Last Name } вот это непонятно.  и скажи какая переменная за что отвечает
PM MAIL   Вверх
THandle
Дата 2.10.2008, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

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



xF1x, translate.google.com и учебник по элементарному ангицкому тебе в зубы.


Код

type
  TPupil = record
    { Пол. 'm' - мужычина, 'w' - Женщщина }
    FSex: Char;
    { Рост. 0 - 255 см }
    FHeight: Byte;
    { Фамилия. Длинее 30 символов врядли будет, но можешь удлинить, если хочешь. Last Name }
    FLatName: String[30];
  end;


Код

const
  { Количество учеников в классе }
  MAX = 5;



Код

var
  { Класс. Ученики }
  Pupils: array [1..MAX] of TPupil;
  { Физрук. Считает учеников. Первый, второй, третий... }
  i: Integer;

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


Шустрый
*


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

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



тероь все ясно! UpCase что такое? TPupil = record и это тоже непонятно.

Это сообщение отредактировал(а) xF1x - 2.10.2008, 17:44
PM MAIL   Вверх
THandle
Дата 2.10.2008, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

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



Цитата(xF1x @  2.10.2008,  18:43 Найти цитируемый пост)
UpCase что такое? 


 smile 

Приводит символ в верхний регистр.

Представь. Ввел ты маленькую "w". И это у тебя уже не женщина, и даже не мужчина, а кто-то среднего рада и не будет удовлетворять условию. Поэтому мы на всякий крайний переделываем все символы в заглавные буквы.

ЗЫ: если не секрет, в каком классе учишься?
PM   Вверх
xF1x
Дата 2.10.2008, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



11 но информатику начали изучать с 10 класса, upcase ещё не проходили !)))
PM MAIL   Вверх
THandle
Дата 2.10.2008, 17:53 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

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



xF1x, одноклассники можно сказать smile 

Ну учись. А вообще мой тебе совет, плюнь ты на все эти "АпКейс еще не проходили", возьми любую книжку по Паскалю для начинающих и учись сам. Ничего сложного нет.

Если вопрос решен - помечай тему решенной. Надо будет переделать под запись на хард - сделаем без проблем.
PM   Вверх
xF1x
Дата 2.10.2008, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



а точно нельзя upcase? мож можно без него попробовать?
PM MAIL   Вверх
THandle
Дата 2.10.2008, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

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



xF1x, пробуй. Чем он тебе так не нравится то, товарисч? Проходили - не проходили: пофиг. Такие вещи изучить самом элементарно. Пойми, за тебя всю жизнь никто ничего делать не будет, привыкай работать сам. Ну если без UoCase, то чтоб работало делай так:

Код


program Project1;

type
  TPupil = record
    { 'm' - man, 'w' - Woman }
    FSex: Char;
    { 0 - 255 }
    FHeight: Byte;
    { Last Name }
    FLatName: String[30];
  end;

const
  MAX = 5;

var
  Pupils: array [1..MAX] of TPupil;
  i: Integer;
begin
  for i := 1 to 5 do
    begin
      WriteLn('Enter next pupil data: ');
      Write('Sex: ');
      ReadLn(Pupils[i].FSex);
      Write('Height: ');
      ReadLn(Pupils[i].FHeight);
      Write('Last name: ');
      ReadLn(Pupils[i].FLatName);
    end;
  for i := 1 to MAX do
    if ((Pupils[i].FSex = 'W') or (Pupils[i].FSex = 'w')) then
      if ((Pupils[i].FLatName[1] = 'M') or (Pupils[i].FLatName[1] = 'm')) then
        WriteLn('Last Name: ', Pupils[i].FLatName, ' Sex: ', Pupils[i].FSex, ' Height: ', Pupils[i].FHeight);
  ReadLn;
end.



Цитата(xF1x @  2.10.2008,  18:43 Найти цитируемый пост)
TPupil = record и это тоже непонятно.


Это запись. Террористическая группировка переменных.
К каждой переменной в запись(называется полем) доступ производится таким образом:

Код

Запись.НужноеПоле;



Цитата(xF1x @  2.10.2008,  18:49 Найти цитируемый пост)
11 но информатику начали изучать с 10 класса, upcase ещё не проходили !))) 


Я информатику вообще никогда не изучал smile 


Теперь все ясно по этой теме?
PM   Вверх
xF1x
Дата 5.10.2008, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



THandle мне сказали что задача правильно  и сказала что теперь нужно чтобы я всему классу пояснил всю программу каждый шаг! в частности TPupil = record, Char, вообщем к среде нужно пояснение программы, для людей которые ваще этого не знают ! )) хоть в кратце в скобочках у строчек поясни! плиз 

Это сообщение отредактировал(а) xF1x - 5.10.2008, 09:38
PM MAIL   Вверх
THandle
Дата 5.10.2008, 10:11 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

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



Код

program Project1;

type
  { Объявляем тип - запись. Это упорядоченный набор переменных, можно сказать
     В нашей записи 3 переменны(поля): }
  TPupil = record
    { 'm' - man, 'w' - Woman }
    { Это поле типа Char, отвечает за пол ученика. Для обозначения этого самого пола,
       Мы ввели 2 условных значения для этого поля, которые будут влиять на работу программы.
       Если это значение - буква 'm'(или 'M'), то пол ученика - мужской.
       Если же значение равно 'w'('W') - то это лицо женского пола. Это по полю FSex}  
    FSex: Char;
    { 0 - 255 }
    { Поле FHeight отвечает за рост ученика. Предположительно в сантиметрах. Принимает значения от 0 до 255,
       То есть в диапазоне значений одного байта }
    FHeight: Byte;
    { Last Name }
    { Фамилия ученика. На нее мы отводим 30 символов. Если надо - можно и увеличить. Это поле FLastName }
    FLatName: String[30];
  end;

{ Константа отвечающая за количество учеников в классе. Можно задать любую }
const
  MAX = 5;


var
  { Массив из учеников. Количество учеников - MAX. Чтобы узнать, что за ученик, нужно обратиться к ученику по 
     его индексу в массиве. Диапазон индексов от 1 до MAX(в данном примере до 5) }
  Pupils: array [1..MAX] of TPupil;
  { Переменная-счетчик для цикла }
  i: Integer;
begin
  { Запускаем цикл от 1 до MAX }
  for i := 1 to MAX do
    begin
      { Вводим все данные о ученике. Они помещаются в наш массив, в элемент с индексом i }
      WriteLn('Enter next pupil data: ');
      Write('Sex: ');
      ReadLn(Pupils[i].FSex);
      Write('Height: ');
      ReadLn(Pupils[i].FHeight);
      Write('Last name: ');
      ReadLn(Pupils[i].FLatName);
    end;
  { Теперь, когда все элементы введены, запускаем еще один цикл. В нем мы будем отбирать учеников, которые
     подпадают под наши условия, после чего мы выводим данные об этих учениках на экран }
  for i := 1 to MAX do
    { Если пол ученика с индексом в массиве = i, то едем дальше. Иначе цикл продолжается }
    if ((Pupils[i].FSex = 'W') or (Pupils[i].FSex = 'w')) then
      { Если фамилия ученицы(пол проверен, лицо, находящееся в массиве под данным индексом является девушкой), 
         так вот, если фамилия ученицы начинается на букву 'm'('M'), то выводим информацию о ней на экран } 
      if ((Pupils[i].FLatName[1] = 'M') or (Pupils[i].FLatName[1] = 'm')) then
        WriteLn('Last Name: ', Pupils[i].FLatName, ' Sex: ', Pupils[i].FSex, ' Height: ', Pupils[i].FHeight);
  ReadLn;
end.

PM   Вверх
HoTMetaL
Дата 5.10.2008, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



THandle, да тебе памятник при жизни надо ставить за доброту души.
PM MAIL   Вверх
xF1x
Дата 5.10.2008, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



TPupil = record а это то как объяснить?
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

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


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

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

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

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


 




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


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

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