Програма-речник

Дадени са два масива от низове – единият съдържа думи на даден език, а другият – техния превод на друг език. Да се напише програма, която при въвеждане на дума на който и да е от двата езика извежда:

  • от кой език е тази дума
  • превода и на другия език
  • подходящо съобщение, ако думата е непозната

Предполагаме, че думите от двата езика не съвпадат и че всяка дума има само едно значение. По желание може да се реализира ако думата е непозната, програмата да предлага допълване на речника с новата дума и значението и.

Публикувано в 10в с етикети . Постоянна връзка.

4 Responses to Програма-речник

  1. kaloyan каза:
    VAR a:array[1..5] of string=('kuche','kotka','masa','telefon','voda');
        b:array[1..5] of string=('dog','cat','table','phone','water');
        a1:array[1..5] of string=('jivotno','jivotno','predmet','predmet','technost');
        b1:array[1..5] of string=('animal','animal','subject','subject','fluid');
        i,n:integer;
        duma:string;
    BEGIN
    write('Vavedi duma: '); readln(duma);
    for i:=1 to 5 do begin
      if duma=a[i] then begin
        writeln('Bulgarski->Angliiski');
        writeln(a[i],'->',b[i]);
        write('1 - za poyasnenie na dumata, 2 - za da prodaljite: '); readln(n);
        if n=1 then writeln(b1[i]);
      end
        else
      if duma=b[i] then begin
        writeln('Angliiski->Bulgarski');
        writeln(b[i],'->',a[i]);
        write('1 - za poyasnenie na dumata, 2 - za da prodaljite: '); readln(n);
        if n=1 then writeln(a1[i]);
      end;
    end;
    readln;
    END.   
    
  2. kaloyan каза:

    Ето това е програмата с проверка ако думата е непозната(ако я няма в речника). В началото не разбрах точно какво означава „…подходящо съобщение, ако думата е непозната“, мислех си, че означава да извежда пояснение на думата и го направих с пояснения и след това разбрах какво трябва да направя и поправих програмата :)

    VAR a:array[1..5] of string=('kuche','kotka','masa','telefon','voda');
        b:array[1..5] of string=('dog','cat','table','phone','water');
        a1:array[1..5] of string=('jivotno','jivotno','predmet','predmet','technost');
        b1:array[1..5] of string=('animal','animal','subject','subject','fluid');
        i,n:integer;
        x:boolean;
        duma:string;
    BEGIN
    write('Vavedi duma: '); readln(duma);
    for i:=1 to 5 do begin
      if duma=a[i] then begin
        writeln('Bulgarski->Angliiski');
        writeln(a[i],'->',b[i]);
        write('1 - za poyasnenie na dumata, 2 - za da prodaljite: '); readln(n);
        if n=1 then writeln(b1[i]);
        x:=true;
      end
        else
      if duma=b[i] then begin
        writeln('Angliiski->Bulgarski');
        writeln(b[i],'->',a[i]);
        write('1 - za poyasnenie na dumata, 2 - za da prodaljite: '); readln(n);
        if n=1 then writeln(a1[i]);
        x:=true;
      end
    end;
        if x=false then writeln('Dumata e nepoznata');
    readln;
    END. 
    
    • Данаил каза:

      Сега вече е завършена. Това X, което си ползвал се нарича флаг, и по принцип се ползва така:

      var
        namerena: Boolean;
      begin
        ...
        Namerena:= False;
        // цикъл в който проверяваме
             // условна команда за проверка - ако сме я открили, тогава: 
             Namerena:= True;
        // край на цикъла
        if not Namerena then ... // нещо си
      

Вашият коментар