IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Программа ввода
Танюшонка
сообщение 15.06.2007 14:20
Сообщение #1


Гость






Здравствуйте! мне очень нужна ваша компетентная помощь!
Мне над написать программку, которая может решать простые уравнения типа 5Х+10, которые бы вводил пользователь. Как бы мне это сделать?
Пользователь вводит уравнение. Через readln я получаю стринг. Как мне его теперь разделить на отдельные символы, чтобы проверить это цифра или буква.
Мне в понедельник её сдавать, помогите мне, очень прошу! Буду примного благодарна!

Сообщение отредактировано: Танюшонка - 15.06.2007 15:19
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Танюшонка
сообщение 17.06.2007 1:22
Сообщение #2


Гость






Сделала вот так. Не обращайте внимание, что переменные по немецки. Что вы об этом думаете?


Код
program funktionsgraf;
    uses crt;
    var str, symbol1, symbol2,wertstr1, wertstr2    :string;
        position, wert, wert1, wert2, fehler, x, y  :integer;
        zeichen : char;


    BEGIN
    TextColor(Black);
    clrscr;
    writeln('Geben sie die Funtion f(x) ein');
    readln(str);
    position:=0;
    wertstr1 := '';
    wertstr2 := '';
    wert := 0;
    repeat
       begin
         wert1 := wert;
         position:=position+1;
         symbol1:=copy(str,position,1);
         wertstr1:=wertstr1+symbol1;
         val(wertstr1,wert, fehler);
        end;
    until
       fehler<>0;

    writeln(wert1);                {WEG}

    position:=position+1;
    zeichen:=str[position];
    wert := 0;

    repeat
       begin
         position:=position+1;
         symbol2:=copy(str,position,1);
         wertstr2:=wertstr2+symbol2;
         val(wertstr2,wert,fehler);
         wert2 := wert;
       end;
    until
       ((fehler<>0) or (position = length(str)));

       writeln(wert2);                   {WEG}

    writeln(' x     f(x)');

    for x:=1 to 10 do
      begin
        case zeichen of

        '+' :
        begin
            y:=wert1*x+wert2;
            {writeln(' ',x,'     ',y)}
            Punkt(x,wert1*x+wert2);
        end;

        '-' :

            begin
                  y:=wert1*x-wert2;
                  {writeln(' ',x,'     ',y)}
           Punkt(x,wert1*x+wert2);
            end

        else writeln('Fehler!');
      end;  {  case  }
      end;  {  for  }
      readkey;
END.
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 19.07.2025 3:58
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"