Stránka 1 z 2

Programování v Pascalu

Napsal: čtv 23. úno 2012, 18:13
od dales.luk
Zdarec,
prosím vás, pokud by někdo uměl s tímto programem, chtěl bych ho poprosit, dostali jsem ve škole za úkol zadání: Ze zadaného řetězce, mi program zjistí počet vět, počet slov v každé větě, počet znaků v každé větě, počet slov celkem a počet znaků celkem... a tak bych chtěl někoho poprosit, za by mi s tím nepíchl. Vytvořil jsem program kterej umí jen spočítat počet slov celkem a počet znaků celkem., ale prostě dál nevím :((( . Byl bych vděčný za každou radu :( díky.

Re: Programování v Pascalu

Napsal: čtv 23. úno 2012, 18:21
od bubanek
Bere se jako věta všechno zakončené tečkou? Jako slovo se bere vše ohraničené mezerami?

Re: Programování v Pascalu

Napsal: čtv 23. úno 2012, 18:30
od dales.luk
Ze zadaného řetězce, mi program zjistí počet vět, počet slov v každé větě, počet znaků v každé větě, počet slov celkem a počet znaků celkem. nechápu :(

Re: Programování v Pascalu

Napsal: čtv 23. úno 2012, 19:07
od bubanek
Já jsem vyplodil z hlavy tohle, netestováno, a tím setem si nejsem jistej.

Kód: Vybrat vše

program adasdf;
uses crt;

type zaznam = record slov, znaku: integer; end;
     konec = ('.', '!', '?');
     
var info: array [1..10] of zaznam;
    vet,znaku,i: integer;
    s: string;
        
begin
    writeln('Zadej vetu:');
    readln(s);
    
    vet:=0;
    znaku:=0;
    
    for  i:=1 to ord(s[0]) do begin
      if s[i] in konec then begin
        info[vet].slov:=info[vet].slov + 1;
        info[vet].znaku:=znaku;
        vet:= vet + 1;
        znaku:=0;
        end
        else if s[i] = " " then info[vet].slov:=info[vet].slov + 1
              else znaku:=znaku+1;
              
    for i:=1 to vet do 
      writeln('Veta cislo ',i,' - slov: ', info[i].slov,' - znaku: ', info[i].znaku);
      
    readln;
end.
        
        

Re: Programování v Pascalu

Napsal: čtv 23. úno 2012, 19:44
od Ssnake
sry ale jsem liny psat zdrojak a v pascalu bych asi nasekal chyby :-(

1) zjistis delku retezce
2) while I < delka tak cte znak
2a)if " " nebo "," tak pocet slov +1
2b)if "." nebo "!" nebo "?" tak pocet vet (i slov!) +1 a zaroven vypise pocet slov a pak ten pocet vynuluje (a zacne se pocitat dalsi veta, prip. se to nekde ulozi abys vedel pocet slov v celem zadani), a to same muze udelat s poctem znaku (aniz by to pocital z I, prijde mi to lehci nez odecitat od I uz vsechny znaky z predeslych vet). pozor abys nemel pocet slov a/nebo znaky o jeden vic/min :-)

a ctes dalsi znak..(i++)

prakticky jen spocitas mezery a tecky (a ty dalsi znaky cim to muze koncit), coz zni o dost lehceji nez to puvodni zadani :-)

nechces to radsi napsat aspon v C? lepsi je se ucit uz C nez pascal

Re: Programování v Pascalu

Napsal: pát 24. úno 2012, 13:48
od dales.luk
my to musíme dělat v LAZARUSU :( ..

Re: Programování v Pascalu

Napsal: pát 24. úno 2012, 15:05
od bubanek
Však tu máš zdroják pro pascal tak v čem je problém? O.o

Re: Programování v Pascalu

Napsal: ned 4. bře 2012, 17:13
od dales.luk
Neví někdo pls, jak opravit tento program, který jsem sem dal, aby mě to překládalo do morseovky text pls? ukáže mě to to dané písmeno jen tehdy, když třeba dám mezeru a pak napíšu B tak to napíše v překladu morseovský B, když dám dvě mezery a napíšu C tak to napíše v překladu c v morseově abecedě.. Já bych ale potřeboval, aby když zapnu program, tak písnu C bez mezer a ukáže to c v morseovce . Díky všem za rady

Program morseovka;

uses Crt;
type POLE = array [1..28] of string;
const MEZ = ' ';


var I, POC, POCZN, ZNAK: integer;
VETA,MORS: string;
TEXT: POLE;

begin
ClrScr;
POC:= 0;
write('Zadej celou vetu: ');
readln(VETA);
POCZN := length (VETA);
for I:= 1 to POCZN do
begin

if VETA = MEZ

then POC := POC + 1 ;

end;


TEXT[1] := '|.-|';
TEXT[2] := '|-...|';
TEXT[3] := '|-.-.|';
TEXT[4] := '|-..|';
TEXT[5] := '|.|';
TEXT[6] := '|..-.|';
TEXT[7] := '|--.|';
TEXT[8] := '|....|';
TEXT[9] := '|----|';
TEXT[10] := '|..|';
TEXT[11] := '|.---|';
TEXT[12] := '|-.-|';
TEXT[13] := '|.-..|';
TEXT[14] := '|--|';
TEXT[15] := '|-.|';
TEXT[16] := '|---|';
TEXT[17] := '|.--.|';
TEXT[18] := '|--.-|';
TEXT[19] := '|.-.|';
TEXT[20] := '|...|';
TEXT[21] := '|-|';
TEXT[22] := '|..-|';
TEXT[23] := '|...-|';
TEXT[24] := '|.--|';
TEXT[25] := '|-..-|';
TEXT[26] := '|-.--|';
TEXT[27] := '|--..|';
TEXT[28] := '| |' ;

for I:= I to POCZN do
begin

writeln('preklad do morseovky ',TEXT,'');


end;


repeat until keypressed;



end.

Re: Programování v Pascalu

Napsal: ned 4. bře 2012, 17:52
od bubanek
for I:= 1 to POCZN do
begin
if text = ' ' then continue;
write(TEXT);


end;

Re: Programování v Pascalu

Napsal: pon 14. kvě 2012, 16:16
od dales.luk
Ahoj, nevěděl by někdo, jakej je příkaz na sčítání dvou vektorů ve zlomku?? Potřebuji, abych si mohl zadat vektory ve zlomku, který to sečte. Mnohokrát díky za odpověď.

Re: Programování v Pascalu

Napsal: pon 14. kvě 2012, 17:16
od arxeiss
Příkaz? Jako pascal neumím, ale on umí přímo pracovat s vektory?

Re: Programování v Pascalu

Napsal: pon 14. kvě 2012, 17:21
od dales.luk
tak umí sečíst dva vektory, vynásobit atd.. ale já potřebuju sečíst dva vektory, který budou ve zlomku př

A(1/2 ,2,3)
B(2/1 ,3,2)
C(3/3 ,5/5)


program který mám sečte jen celá čísla vektorů, ale já potřebuji, aby program sečítal zlomky.

program který mám vypadá takto ( ale sečítá pouze celá čísla :( )

program vektory;
uses Crt;
type VEKTOR = array [1..100] of integer;
var I,J,M,N,POM: integer;
A,B,C: VEKTOR;
procedure CtiN;
begin
for I:=1 to N do
begin
write ('Zadej ',I,' cislo. ');
readln (A);
end;
end;
procedure ZobrazN;
begin
for I:=1 to N do
begin
write (C,',')
end;
end;

begin
ClrScr;
writeln ('Zadej rozmer prvniho vektoru: ');
readln (N);
CtiN;
writeln ('Zadej rozmer druheho vektoru: ');
readln (M);
if M <> N
then
begin
writeln ('Vektory nejsou stejneho rozmeru! ');
readln;
exit;
end;
for I:=1 to N do
begin
writeln ('Zadej ',I,'. cislo druheho vektoru: ');
readln (B);
C := A + B

end;
ZobrazN;
readln;
end.

Re: Programování v Pascalu

Napsal: pon 14. kvě 2012, 17:23
od bubanek
a co to takhle neukládat v integeru are v real?

Re: Programování v Pascalu

Napsal: pon 14. kvě 2012, 17:24
od arxeiss
1. Jak jsem říkal, Pascal neumím
2. zdrojové kódy se dávají do tagu

Kód: Vybrat vše

3. nebude to tím, že používáš integer?

\\Sakra, bubu byl rychlejší...

Re: Programování v Pascalu

Napsal: pon 14. kvě 2012, 17:25
od dales.luk
mohl by si mě to prosím tě nějak upravit? fakt už nevím co s tím..

Re: Programování v Pascalu

Napsal: pon 14. kvě 2012, 17:26
od bubanek
místo integer napiš real

Re: Programování v Pascalu

Napsal: pon 14. kvě 2012, 17:27
od dales.luk
jako u type VEKTOR = array [1..100] of integer; mám dat tvar type VEKTOR = array [1..100] of real;

?

Re: Programování v Pascalu

Napsal: pon 14. kvě 2012, 17:28
od bubanek
ano

Re: Programování v Pascalu

Napsal: pon 14. kvě 2012, 17:29
od dales.luk
po teto upravě type VEKTOR = array [1..100] of real; to háže chybu...

Re: Programování v Pascalu

Napsal: pon 14. kvě 2012, 17:30
od bubanek
jakou?