Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Help!!!

16K
26 мая 2006 года
SergSIS
8 / / 26.05.2006
Извините за частоту вопросов, но через два дня экзамен. Выручайте.
1. Задача: Задан текст из маленьких латинских букв, в конце точка. Напечатать в алфавитном порядке все согласные буквы, которые не входят ни в одно слово, с использованием процедуры.

Представил следующее решение, но препод говорит, что неправильно. Якобы нигде не использован символ '.', т.е. текст типа mama.papa. Проверил, и с этим текстом работает. Немогу понять. Может я не так условие задачи понял? Как исправить?
program Leter;
type let=set of 'a'..'z';
st=string;
var s1:string; h,h1,h2:let; c:'a'..'z';
procedure in_word (s:string; var ss:let);
var i:integer;
begin
ss:=[];
for i:=1 to length(s) do
if s in h then ss:=ss+[s]
end;
begin
h:=['b','c','d','f','g','h','k','l','m','n','p','q','r','s','t','v','w','x','z'];
writeln('‚ўҐ¤ЁвҐ бва®Єг');
readln(s1);
in_word(s1,h1);
h2:=h-h1;
for c:='a' to 'z' do
if c in h2 then writeln(c)
end.

2.Задача: Задано число Р. Построить запись типа:
type chisco=record
поле1-число;
поле2- двоичное представление;
поле3 - шестнадцатеричное представление;
end;
и напечатать.

Решение ниже. Прошу Вас проверить правильно ли понято мной условие задачи по приведенному решению.
Заранее благодарен, а то мозги уже зацикливаются. А экзамен на носу.

program Chislo;
type chislo=record
p1:integer;
p2:string;
p3:string;
end;
var p:chislo; k:integer;
function FromDec(n, radix:longint):string;
var s:string;
const digit:string[16]='0123456789ABCDEF';
begin
s:=' ';
repeat
s:=digit[(n mod radix)+1]+s;
n:=n div radix;
until n=0;
FromDec:=s;
end;
begin
write('Введите число');
readln(k);
p.p1:=k;
writeln('Поле p1=',p.p1);
p.p2:=FromDec(k,2);
writeln('Поле p2=',p.p2);
p.p3:=FromDec(k,16);
writeln('Поле p3=',p.p3);
end.
242
27 мая 2006 года
Оlga
2.2K / / 04.02.2006
Задан текст из маленьких латинских букв,[color=blue] в конце точка[/color].

я думаю преподаватель хотел сказать что ты должен находить конец текста
по первой точке, а не при помощи функции length,
т.е. текст состоит из слов и одной точки которая
является признаком конца текста и его иследования соответственно
а то что твоя прога работает это не удивительно

2.Задача

на мой взгляд решение нормальное, но я не препод :),
у нас это решали немного по другому, а конкретно
никогда не видела что бы использовали массив для перевода
числа(но это не значит что это неправильно)
 
Код:
ch:integer;
repeat
ch := n mod radix
if ch < 10 then begin
s := Char((ch+48)) + s;
else
s := Char((ch+64)) + s;
end;
n:=n div radix;
until n=0;

за грамматику языка не отвечаю, т.к. Паскаль не знаю
1.9K
17 июня 2006 года
[*]Frosty
278 / / 17.06.2006
Код:
const
  radix = 16;// основание системы счисления
var
    ch, n : integer;
 
begin
  read(n);

  repeat
        ch := n mod radix;
 
        if ch < 10 then
              s := Char((ch+48)) + s
        else
              s := Char((ch+64)) + s;

        n:=n div radix;
  until n = 0;
end;

Вроде так) не компилил(

З.ы. Удалите предыдущее сообщение ;>
241
19 июня 2006 года
Sanila_san
1.6K / / 07.06.2005
[QUOTE=OlgaKr]
 
Код:
ch:integer;
repeat
ch := n mod radix
if ch < 10 then begin
s := Char((ch+48)) + s;
else
s := Char((ch+64)) + s;
end;
n:=n div radix;
until n=0;

за грамматику языка не отвечаю, т.к. Паскаль не знаю[/QUOTE]

Многим, изучающим Паскаль не мешало бы так не знать его. :) сhr(ch+64) + s;, а так всё очень здорово.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог