Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.01.2015, 17:03   #1
kalachik
Новичок
Джуниор
 
Регистрация: 15.01.2015
Сообщений: 2
Восклицание Помогите обьяснить

Код:
uses crt;

type entry_t = record
    str : string[255];
    lenght : 1..255;
    end;

var strentry : entry_t;
var str : string[255];
var strlength : integer;
var c : char;
begin
    clrscr;
    read(str);

    strlength := length(str);
    strentry.str := copy(str, 3, 4);
    strentry.lenght := length(strentry.str);
    writeln('String: ', strentry.str);
    writeln('Length: ', strentry.lenght);
    write('Enter to exit...');
    readln(c);
end.
Пояснить фрагмент программы

strentry.str := copy(str, 3, 4);
strentry.lenght := length(strentry.str);

Последний раз редактировалось ACE Valery; 15.01.2015 в 17:05.
kalachik вне форума Ответить с цитированием
Старый 15.01.2015, 17:12   #2
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

1: вырезает из строки str 4 символа, начиная с 3 позиции; например, str = 'миномет', а copy(str, 3, 4) выдаст 'номе';
2: вычисляет количество символов strentry.str; например, 'номе' состоит из 4 символов.
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 15.01.2015, 17:13   #3
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,817
По умолчанию

1.ты переменную strentry в самом начале делаешь типом entry_t; а у этой entry_t есть 2 свойства, одно из которых str. значит и strentry унаследует это свойство.
strentry.str := copy(str, 3, 4);
сорy - это функция копирования части строки str, начиная с позиции 3 и копируется 4 символа с этой позиции.
//-----------
2.strentry.lenght := length(strentry.str); это второе унаследованное свойство переменной strentry. но так как тебе надо его определить, то мы его просто делаем такой же длины, как и strentry.str. функция length() возвращает длину строки в виде числа
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 15.01.2015, 17:17   #4
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

А нельзя проще:
Код:
uses crt;

type entry_t = record
    str : string;
    lenght : byte;
    end;

var strentry : entry_t;
    str : string;
    strlength : integer;//ДЛЯ ЧЕГО?
    c : char;//ДЛЯ ЧЕГО?
begin
    clrscr;
    read(str);

    strlength := length(str);//ДЛЯ ЧЕГО?
    strentry.str := copy(str, 3, 4);
    strentry.lenght := length(strentry.str);
    writeln('String: ', strentry.str);
    writeln('Length: ', strentry.lenght);
    write('Enter to exit...');
    readln(c);//ДЛЯ ЧЕГО?
end.
Там, где //ДЛЯ ЧЕГО?, эти строки можно удалить!
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]

Последний раз редактировалось newerow1989; 15.01.2015 в 17:29.
newerow1989 вне форума Ответить с цитированием
Старый 15.01.2015, 17:43   #5
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,817
По умолчанию

а если он эту программу будет дополнять и дорабатывать и эти переменные нужны будут?
а в конце readln(c); нужно, чтобы программа не закрывалась, а ждала, пока пользователь посмотрит результат и уж потом нажмёт клвишу. так что и c : char; тоже нужно
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.

Последний раз редактировалось NetSpace; 15.01.2015 в 17:49.
NetSpace вне форума Ответить с цитированием
Старый 15.01.2015, 18:26   #6
kalachik
Новичок
Джуниор
 
Регистрация: 15.01.2015
Сообщений: 2
По умолчанию

всем спасибо
kalachik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно обьяснить программу. Smok40 Помощь студентам 3 15.01.2015 11:15
разобратся в коде (обьяснить) kostan3 Общие вопросы C/C++ 6 16.02.2014 02:09
Исправить и обьяснить Dexxyx HTML и CSS 0 15.02.2012 17:33
Рекурсивная ф-ция (обьяснить) Zedx Помощь студентам 14 26.09.2010 23:34
Обьяснить код. Дядя Тёма Фриланс 1 09.06.2010 20:18