Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Образовательный студенческий форум _ Информатика / Программирование _ True or False (Pascal)

Автор: savedata 3.10.2011, 17:24

Код
program Z462;
uses crt;
const s='abcdefghijklmnopqrstuvwxyz';

var a:char;

procedure letter_or_not(a:char);
      var i:integer;
      begin
          for i:=1 to length(s) do
          begin
          if a=copy(s,i,1) then true;
          end;
      end;


Как сделать чтобы результатом выполнения процедуры стало истина или ложь?

Автор: savedata 3.10.2011, 17:45

Код
program Z462;
uses crt;
const s='abcdefghijklmnopqrstuvwxyz';
var a:char;

function  letter_or_not(var a:char):boolean;
      var i:integer;
      begin
          letter_or_not:=false;
          for i:=1 to length(s) do
          begin
              if a=copy(s,i,1) then letter_or_not:=true;
          end;
      end;


С функцией все много проще, а как быть с процедурой?

Автор: граф Монте-Кристо 3.10.2011, 18:04

Насколько я помню паскаль, процедура тем и отличается от функции, что не возвращает никакого значения.

Автор: savedata 3.10.2011, 18:38

Изображение

Задание из Абрамова)

Автор: граф Монте-Кристо 3.10.2011, 18:40

Можно ведь сделать, чтобы процедура меняла значение глобальной переменной.

Автор: savedata 3.10.2011, 19:15

Цитата(граф Монте-Кристо @ 4.10.2011, 2:40) *

Можно ведь сделать, чтобы процедура меняла значение глобальной переменной.


Мне кажется что это уже не соответствует заданию. Плюс к тому еще придется добавлять одну переменную

Код
begin
clrscr;
write('enter any character: ');
readln(a);

if letter_or_not(a) then writeln('simbol "',a,'" is a letter') else writeln('simbol "',a,'" is not a letter');

readln;
end.




Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)