ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1431  
Старый 15.05.2009, 14:07
Аватар для Algol
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Цитата:
Сообщение от Fo)(a  
Всем привет, уже целый день бьюсь с задачей Проверить соответствие слов begin, end, case end, record в операторах программы Pascal учесть что в строке может быть несколько слов, повторений. Программа на тему динамические структуры данных Заранее спасибо

PS Сори!!! не указал язык в которм выполнить надо" надо сделать на Pascal

Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  source: string;
  lexem: string;
  c : char;
  i:Integer;
  stack: array[0..100] of string;
  stackPointer: integer;

  procedure PushLexem(lexem: string);
  begin
    if lexem = 'end' then
      begin
      //найден конец блока, выталкиваем из стека
      if stackPointer = 0 then
        Writeln('Error: Found "end", but not found "begin", "case" or "record"')
      else
        dec(stackPointer)
      end
    else
      if (lexem='begin') or (lexem='case') or (lexem='record') then
        begin
          if(stackPointer>=Length(stack)) then
             Writeln('Error: Stack overflow');//переполнение стека - слишком много вложенных блоков в исходном тексте
          //кладем лексему в стек
          stack[stackPointer] := lexem;
          inc(stackPointer);
        end
  end;

begin
  //ввод проверяемого кода
  Writeln('Enter Pascal source: ');
  Readln(source);
  //переводим в нижний регистр, добавляем пробел в конце
  source := LowerCase(source)+' ';
  //перебираем символы, ищем лексемы
  lexem := '';
  for i:=1 to Length(source) do
  begin
    c := source[i];
    if c in ['a'..'z','0'..'9','_'] then
      //читаем лексему
      lexem := lexem + c
    else
    if lexem<>'' then
      begin
      //прочитана лексема, кладем в стек
      PushLexem(lexem);
      lexem := '';
      end
  end;
  //проверяем сотсояние стека, он должен быть пуст
  if stackPointer > 0 then
     Writeln('Error: Found "'+stack[stackPointer-1]+'", but not found "end"');

  Writeln('Analysis completed');
  Readln;

end.
 
Ответить с цитированием

  #1432  
Старый 15.05.2009, 15:34
Аватар для Fo)(a
Fo)(a
Новичок
Регистрация: 07.04.2009
Сообщений: 12
Провел на форуме:
63162

Репутация: 5
По умолчанию

Algol Спасибо большое =)
 
Ответить с цитированием

  #1433  
Старый 15.05.2009, 15:52
Аватар для KIR@PRO
KIR@PRO
Постоянный
Регистрация: 26.12.2007
Сообщений: 353
Провел на форуме:
905389

Репутация: 332
Отправить сообщение для KIR@PRO с помощью ICQ
По умолчанию

2Algol
поч. тебе репы добавить низя?
 
Ответить с цитированием

  #1434  
Старый 15.05.2009, 16:20
Аватар для Algol
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Цитата:
Сообщение от KIR@PRO  
2Algol
поч. тебе репы добавить низя?
Карма такая
 
Ответить с цитированием

  #1435  
Старый 15.05.2009, 16:39
Аватар для Qwazar
Qwazar
Leaders of Antichat - Level 4
Регистрация: 02.06.2005
Сообщений: 1,411
Провел на форуме:
10605912

Репутация: 4693


По умолчанию

Цитата:
Сообщение от Algol  
Карма такая
А зря "Назвался юзером - получай в репу"
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..

Мой блог:http://qwazar.ru/.
 
Ответить с цитированием

  #1436  
Старый 15.05.2009, 18:22
Аватар для bug1z
bug1z
Познающий
Регистрация: 07.05.2009
Сообщений: 64
Провел на форуме:
418218

Репутация: 59
По умолчанию

Привет!
В общем такое задание:
Нужно написать программу, которая имитирует начальный вид банкомата о.О
писать надо на Visual Basic

Собстна что означает "имитирует начальный вид банкомата"??
И как это реализовать?
Спасибо!
 
Ответить с цитированием

  #1437  
Старый 16.05.2009, 16:23
Аватар для DiMb9IH
DiMb9IH
Новичок
Регистрация: 01.01.2008
Сообщений: 5
Провел на форуме:
37475

Репутация: 0
Отправить сообщение для DiMb9IH с помощью ICQ
По умолчанию

Нужно написать 4 програмки на c#(1 курс). Оплата договорная, писать icq 7два9756

прилагается ксерокопия методички

Последний раз редактировалось DiMb9IH; 16.05.2009 в 16:27..
 
Ответить с цитированием

Лаба на С
  #1438  
Старый 16.05.2009, 20:10
Аватар для ~NeiTRoN~
~NeiTRoN~
Познающий
Регистрация: 03.07.2008
Сообщений: 65
Провел на форуме:
170237

Репутация: 4
Отправить сообщение для ~NeiTRoN~ с помощью ICQ
По умолчанию Лаба на С

Народ помогите кто может пожалуйста!!!!
Нужно написать прогу, которая по матрице смежности графа находит две вершины и путь до них который проходит через все ребра графа.
 
Ответить с цитированием

  #1439  
Старый 16.05.2009, 22:43
Аватар для MRAK9
MRAK9
Участник форума
Регистрация: 29.07.2007
Сообщений: 124
Провел на форуме:
1266562

Репутация: 60
По умолчанию

собственно мессага

нужно построить график функции x*x*x*x-13*x*x+36 в заданом интервале(вводится с клавиатуры

//PASCAL

Последний раз редактировалось MRAK9; 18.05.2009 в 16:05..
 
Ответить с цитированием

Delphi
  #1440  
Старый 17.05.2009, 17:48
Аватар для snAKe33
snAKe33
Участник форума
Регистрация: 10.02.2009
Сообщений: 203
Провел на форуме:
3226894

Репутация: 379
Отправить сообщение для snAKe33 с помощью ICQ
По умолчанию Delphi

Что не правильно, не работает программа..помогите исправить ошибки
Код:
unit fazenda_;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;         // расстояние
    Edit2: TEdit;         // цена литра бензина
    Edit3: TEdit;         // потребление бензина на 100 км
    CheckBox1: TCheckBox; // True - поездка туда и обратно
    Button1: TButton;     // кнопка Вычислить
    Label4: TLabel;       // поле вывода результата расчета
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    procedure EditKeyPress(Sender: TObject; var Key: Char);
    procedure Button1Click(Sender: TObject);
 
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.EditKeyPress(Sender: TObject; var Key: Char);
var
    Edit: TEdit;
begin
    Edit := Sender as TEdit;
    // в поле Edit можно ввести только дробное число
    case Key of
    '0'..'9': ; // цифры
    #8:       ; // клавиша <Backspace>
    '.',',':  begin
                Key := DecimalSeparator;
                if Pos(DecimalSeparator,Edit.Text) <> 0
                    then Key := #0;
              end;
    #13: // клавиша <Enter>
        case Edit.Tag of
        1:  // клавиша нажата в поле Edit1
            Edit2.SetFocus; // фокус в поле Edit2
        2:  // клавиша нажата в поле Edit1
            Edit3.SetFocus; // фокус в поле Edit3
        3:  // клавиша нажата в поле edit3
            Button1.SetFocus; // фокус на кнопку Button1
        end;
    end;
end;

// щелчок на кнопке Вычислить
procedure TForm1.Button1Click(Sender: TObject);
var
  rast : real; // расстояние
  cena : real; // цена
  potr : real; // потребление на 100 км
  summ : real; // сумма
  mes: string;
begin
  // здесь возможно исключение типа EConvertError
  // в случае, если пользователь отставит
  // одно из полей ввода незаполненным
  try
        rast := StrToFloat(Edit1.Text);
        cena := StrToFloat(Edit2.Text);
        potr := StrToFloat(Edit3.Text);
    except
    on EConvertError do
    begin
        ShowMessage('Данные надо ввести во все поля!');
        // попытаемся найти пустое поле
        if Length(Edit1.Text) = 0
            then Edit1.SetFocus
        else if Length(Edit2.Text) = 0
                then Edit2.SetFocus
                else Edit3.SetFocus;    
        exit;
    end;
  end;

  summ := (rast / 100) * potr * cena;
  mes := 'Поездка на дачу';

  if  CheckBox1.Checked  then
  begin
      summ := summ * 2;
      mes := mes + ' и обратно';
  end;

  mes := mes + 'обойдется в ' + FloatToStrF(summ,ffGeneral,4,2)
             + ' руб.';
  Label4.Caption := mes;
end;

end.

Последний раз редактировалось scrat; 17.05.2009 в 18:29..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сюда выкладываем все проги для фрикринга мобильников, которых знаем! nigger Сотовый фрикинг 5 11.04.2009 11:15
Американским студентам запретили пользоваться Skype KPOT_f!nd Мировые новости 1 28.09.2006 03:47
Любителям квестов сюда!! FoX's Болталка 10 25.01.2005 20:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ