Вопрос № 110905: Здравствуйте эксперты. У меня вопрос по синтаксису: что означает знак "^" ? Много где искал, но нигде нет точного объяснения. Надеюсь на вас....Вопрос № 111028: Имеется текстовый файл, найти символ повторяющийся максимальное кол-во раз и вывести его в другой текстовый файл...Вопрос № 111050: Здраствуйте! Есть задача: Есть 9 монет, одна из которых фальшивая. Известно,
что фальшивая монета тяжелее настоящих. Найдите её за два взвешивания.
Нужно решить ее програмно - незнаю как!...:( Математически это:
(вроде так)
кладём на...
Вопрос № 110.905
Здравствуйте эксперты. У меня вопрос по синтаксису: что означает знак "^" ? Много где искал, но нигде нет точного объяснения. Надеюсь на вас.
Отвечает: Штатнов Илья
Здравствуйте, Мясников Антон Евгеньевич!
Чтобы связать ссылочный тип с определенным типом данных, используется символ ^, помещаемый перед именем типа. Например, имеется тип массив: Type A = Array[1..100] of integer; Тип указателя на такой объект: Type tA = ^A;
Переменные ссылочного типа могут определяться как статические, при этом по общим правилам объявления переменных возможна запись с явным и неявным определением ссылочного типа. Type A = Array[1..100] of integer; {Тип
массив из 100 целых чисел} tA = ^A; {Тип указатель на тип А} Var B : tA; {Указатель на тип А} C : ^A; {Указатель на тип А}
Для получения данных, соответствующих указателю, символ "^" приводится после имени указателя. Действия с элементами массива типа А могут быть описаны через действия над указателями В и С.
B^[i] := i; {i-му элементу массива, на который указывает В, присвоить значение i}
C^[i] := B^[i
]; {i-му элементу массива, на который указывает С, присвоить значение i-го элемента массива, на который указывает В}
После выполнения этого кода i-е элементы массивов, на которые указывают В и С, будут равны.
Указатели могут ссылаться на любой тип данных, кроме файлового.
Разберем простой пример, обратив еще раз внимание на синтаксис: Var P : ^integer; {Указатель на целое} P^ - переменная целого типа, на которую ссылается Р, она может стоять как в левой, так и в правой части
выражений: P^ :=16; x := x+P^;
Первый оператор присваивает целочисленной переменной, на которую ссылается Р, значение 16, второй прибавляет к значению переменной х значение 16, второй прибавляет к значению переменной х значение 16. Аналогично определяются и используются указатели на переменные любого типа, в том числе и определенного пользователем.
Ответ отправил: Штатнов Илья (статус: 1-ый класс)
Ответ отправлен: 25.11.2007, 15:01 Оценка за ответ: 5
Отвечает: Зиновьев Дмитрий Владимирович
Здравствуйте, Мясников Антон Евгеньевич!
Знаком ^ обозначаются указатели. Это не совсем обычные переменные, они не хранят данные, они хранят адрес в памяти, где хранятся данные, и с этим могут быть неожиданности у начинающих, например у вас есть два указателя a и b
a := 7
b := a;
a := 8;
В этом случае b тоже станет = 8
Ответ отправил: Зиновьев Дмитрий Владимирович (статус: 8-ой класс)
Ответ отправлен: 26.11.2007, 09:22 Оценка за ответ: 3 Комментарий оценки: И где же в вашем примере указатели?
Вопрос № 111.028
Имеется текстовый файл, найти символ повторяющийся максимальное кол-во раз и вывести его в другой текстовый файл
Отвечает: Boriss
Здравствуйте, Антонов Игорь Владимирович!
Это несложно и код в приложении. Я код сохранил с именем = номеру Вашего вопроса.
Но попробуйте его изменить:
1) чаще всех будет встречаться пробел - его не показывайте;
2) определите относительную вероятность появления символа - нужно еще и все символы пересчитать;
3) мой код считает и знаки перехода на другую строку ...
Пишите в минифоруме, если встретятся проблемы
Приложение:
Прикреплённый файл: Загрузить >> Срок хранения файла на сервере RusFAQ.ru составляет 30 суток с момента отправки ответа. --------- Вывод - то место в тексте, где вы устали думать
Ответ отправил: Boriss (статус: Профессор) Россия, Саранск Организация: mte WWW:Программирование на Паскале ---- Ответ отправлен: 26.11.2007, 11:31 Оценка за ответ: 5 Комментарий оценки: спасибо! все работает замечательно! протестировал! сам так и думал примерно решать но нехватка опыта...(как стать программистом?? программировать!!! =)) )пять баллов бесспорно! просто паскаль учил
еще в школе а тут вот сессия нагрянула (заочник) и как всегда все делается в последний момент =(
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Антонов Игорь Владимирович!
Смотрите приложение.
Программа считает символы с кодами от 0 до 255.
Удачи!
Приложение:
--------- И только наступив на грабли мы приобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Специалист)
Ответ отправлен: 26.11.2007, 12:17 Оценка за ответ: 5 Комментарий оценки: спасибо! выполнено точно по заданию! пять баллов! ээхх студенты мы студенты вечные =((
Вопрос № 111.050
Здраствуйте! Есть задача: Есть 9 монет, одна из которых фальшивая. Известно, что фальшивая монета тяжелее настоящих. Найдите её за два взвешивания.
Нужно решить ее програмно - незнаю как!...:( Математически это:
(вроде так)
кладём на каждую чашу по три монеты, после этого находим тройку монет, в которых есть фальшивая потом
Взвешиваем первую и вторую монету. Возможно 3 варианта:
Первая монета тяжелее второй, следовательно, вторая монета фальшивая.
Первая монета по весу совпадает со второй, значит фальшивая третья.
Первая монета легче второй, отсюда следует, что первая и есть фальш
Напишите пожалуйста решение этой задачи ПРОГРАМНО! И если можно обьясните каждый пункт :)
С Ув.Я :)
Отправлен: 26.11.2007, 13:08
Вопрос задал: Melixion (статус: 1-ый класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 5)
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Melixion!
Смотрите приложение.
Функция equval выдает значение -1(первый параметр тяжелее),0(равны), 1(второй).
Первое - определяем тройку:
-1=1,2,3;
0=4,5,6;
1=7,8,9.
Второе - опрелеляем в тройке:
I) -1,0,1 -результаты первого взвешивания.
-1=1,4,7;
0=2,5,8;
1=3,6,9.
Удачи!
Приложение:
--------- И только наступив на грабли мы приобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Специалист)
Ответ отправлен: 26.11.2007, 16:01 Оценка за ответ: 4 Комментарий оценки: Спасибо большое но есть проблема :) Вижу пример работает (почти),дело в том что или я неправельные параметры вожу или прога нетак щитает :( Вообщем я пробовал чтоб все монеты были 2 а та что фальшивка 1, неправельно вычисляет,пробовал чтоб 1 были все а фальшивка 0 - результат такой же...в чем проблема?