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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2009, 11:27   #1
innaa639
Пользователь
 
Аватар для innaa639
 
Регистрация: 13.11.2008
Сообщений: 80
Сообщение помогите доделать задачу в паскале

Ввести с клавиатуры стринговую константу, делая маленькие буквы большими. выделить 16-ти разрядные константы, перемножить их. представить выделеные числа и их произведения у 10-тичной системе счисления.

Вот ниже у меня есть начало задачи, тоесть маленькие буквы переводит в большие, помогите доделать

uses crt;
var s:string;
i:integer;
begin
clrscr;
writeln('vvedite stroky:');
readln(s);
writeln;
for i:=1 to length(s) do
if s[i] in ['a'..'z'] then
s[i]:=chr(ord(s[i])-32);
write(s);
readln;
end.
innaa639 вне форума Ответить с цитированием
Старый 27.05.2009, 12:44   #2
RusArtm
Пользователь
 
Регистрация: 26.05.2009
Сообщений: 22
По умолчанию

Ввести надо наверное переменную, константы они на то и константы, что в них ничего не введешь....
Что значит "выделить 16-ти разрядные константы"? Выделить из текста?
Если да, то чем они разделены? А что делать с другими символами?
RusArtm вне форума Ответить с цитированием
Старый 27.05.2009, 14:09   #3
innaa639
Пользователь
 
Аватар для innaa639
 
Регистрация: 13.11.2008
Сообщений: 80
Сообщение

ну да выделить из текста, а разделить можно чем угодно, вообщем то не важно там не было указано, дано такое условие и все, и сдавай как хочешь, они не подсказывают ничего, всмысле преподаватели
innaa639 вне форума Ответить с цитированием
Старый 27.05.2009, 14:22   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Как я понял, вам нужно выделить числа, записанные в 16-ричной системе.
Идите по строке посимвольно.
Если символ - цифра от 0 до 9 или буква от A до F, то пишете ее к буферу. Если нет, то буфер преобразовываете в число (в десятичной системе) и домножаете на него общее произведение. После чего очищаете буфер.
И так пока не дойдете до конца строки.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 27.05.2009, 14:36   #5
RusArtm
Пользователь
 
Регистрация: 26.05.2009
Сообщений: 22
По умолчанию

Код:

uses crt;
var s:string;
i:integer;

function hexstrTOint(s: string): integer;
Var i: integer;
var k: integer; {Тут будет временно зхраниться цифра считываемая}
    razrad: integer; {разряд разряда :)))}
begin
result:=0;
razrad:=1;
For i:=Length(s) to 1 do
 begin
{Проверяем число это или символ}
  k:=0;

  If (Ord(s[i])>=0) and (Ord(s[i])<=9) then {число}
  k:=IntToStr(k);

  If (Ord(s[i])>=Ord('A')) and (Ord(s[i])<=Ord('F')) then {символ}
  k:=10+(Ord(s[i])-Ord('A'));

  {теперь просто методом весов}
  Result:=Rusult+k*razrad;
  razrad:=razrad*16;
 end;
end;

Var str: string;{временная переменная}
  ans: integer; {ответ}

begin
clrscr;
writeln('vvedite stroky:');
readln(s);
writeln;
for i:=1 to length(s) do
if s[i] in ['a'..'z'] then
s[i]:=chr(ord(s[i])-32);
write(s);


While Length(s)>0 do begin
str:='';
  If Pos(' ', s)>0 then begin
            str:=copy(s, 1, Pos(' ', s)-1 );
            Delete(s,1, Pos(' ', s) );
       end
  else begin str:=s;s:=''; end;

 ans:=ans*hexstrTOint(str)

end;


readln;
end.
Замечу, что это можно сделать и проще, но это то, что первое пришло на ум... так же код требуется отшлифовать...
RusArtm вне форума Ответить с цитированием
Старый 27.05.2009, 15:48   #6
innaa639
Пользователь
 
Аватар для innaa639
 
Регистрация: 13.11.2008
Сообщений: 80
Сообщение

спасибо огромное, но тег IntToStr разве есть в паскале?он на него ругается и я ничего не могу поделать((
innaa639 вне форума Ответить с цитированием
Старый 27.05.2009, 15:53   #7
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

В приведенном выше коде достаточно ошибок.
Посмотрите на идею и перепишите заново.
В паскале нет IntToStr. Есть Str.
Также нет встроенной переменной Result.
Ну и много чего еще..
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 27.05.2009, 16:35   #8
valya_2009
Новичок
Джуниор
 
Регистрация: 27.05.2009
Сообщений: 1
По умолчанию

здравствуйте!!!сегодня первый раз здесь..не могу разобраться..мне нужно составить программу в паскале. Задание

Составить алгоритм и программу для обработки двухмерного массива чисел.
Упорядочить столбцы массива по возрастанию.
для А (5;6).

у меня экзамен в пятницу...можете мне помочь?
valya_2009 вне форума Ответить с цитированием
Старый 27.05.2009, 17:04   #9
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

valya_2009, не нужно писать в чужие темы.
Прочитайте правила.

По задаче:
Что вам конкретно непонятно? Идете по столбцам и сортируете их. Ничего сложного.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите доделать задачу на паскале infff Помощь студентам 2 31.03.2009 13:39
Помогите доделать задачу n1ce > Kuzia Паскаль, Turbo Pascal, PascalABC.NET 2 08.01.2009 11:42
Помогите доделать задачу по паскаль. aleksandr_dss Помощь студентам 3 19.12.2008 10:56
помогите доделать задачу motaro Фриланс 3 09.06.2008 19:59
Помогите доделать задачу!!!! Vincenzo Паскаль, Turbo Pascal, PascalABC.NET 4 11.05.2008 09:35