Programování v Pascalu

Vývojová prostředí, aplikace, skripty, http://www... síťové programy, internet, sdílení...
dales.luk
Začátečník
Začátečník
Uživatelský avatar
Registrován: 10. říj 2010

Programování v Pascalu

Příspěvek 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.
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: Programování v Pascalu

Příspěvek od bubanek »

Bere se jako věta všechno zakončené tečkou? Jako slovo se bere vše ohraničené mezerami?
dales.luk
Začátečník
Začátečník
Uživatelský avatar
Registrován: 10. říj 2010

Re: Programování v Pascalu

Příspěvek 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 :(
Naposledy upravil(a) dales.luk dne čtv 23. úno 2012, 19:26, celkem upraveno 1 x.
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: Programování v Pascalu

Příspěvek 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.
        
        
Ssnake
Začátečník
Začátečník
Registrován: 25. led 2005
Bydliště: chotebuz

Re: Programování v Pascalu

Příspěvek 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
FD node 202, ST45SF, Z97i, i7-4980HQ CB20:1718,CB24:254 NH-L9i, 2x8, R9NANO , 5100MAX
x850xtPE, x1950xtx, hd2900gt, hd3870, hd4890, hd5870 - - 6800ultra, 7900gtx, 8800gtx, 9800gtx+, gtx285
dales.luk
Začátečník
Začátečník
Uživatelský avatar
Registrován: 10. říj 2010

Re: Programování v Pascalu

Příspěvek od dales.luk »

my to musíme dělat v LAZARUSU :( ..
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: Programování v Pascalu

Příspěvek od bubanek »

Však tu máš zdroják pro pascal tak v čem je problém? O.o
dales.luk
Začátečník
Začátečník
Uživatelský avatar
Registrován: 10. říj 2010

Re: Programování v Pascalu

Příspěvek 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.
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: Programování v Pascalu

Příspěvek od bubanek »

for I:= 1 to POCZN do
begin
if text = ' ' then continue;
write(TEXT);


end;
dales.luk
Začátečník
Začátečník
Uživatelský avatar
Registrován: 10. říj 2010

Re: Programování v Pascalu

Příspěvek 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ěď.
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: Programování v Pascalu

Příspěvek od arxeiss »

Příkaz? Jako pascal neumím, ale on umí přímo pracovat s vektory?
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
dales.luk
Začátečník
Začátečník
Uživatelský avatar
Registrován: 10. říj 2010

Re: Programování v Pascalu

Příspěvek 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.
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: Programování v Pascalu

Příspěvek od bubanek »

a co to takhle neukládat v integeru are v real?
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: Programování v Pascalu

Příspěvek 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ší...
Naposledy upravil(a) arxeiss dne pon 14. kvě 2012, 17:26, celkem upraveno 1 x.
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
dales.luk
Začátečník
Začátečník
Uživatelský avatar
Registrován: 10. říj 2010

Re: Programování v Pascalu

Příspěvek od dales.luk »

mohl by si mě to prosím tě nějak upravit? fakt už nevím co s tím..
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: Programování v Pascalu

Příspěvek od bubanek »

místo integer napiš real
dales.luk
Začátečník
Začátečník
Uživatelský avatar
Registrován: 10. říj 2010

Re: Programování v Pascalu

Příspěvek od dales.luk »

jako u type VEKTOR = array [1..100] of integer; mám dat tvar type VEKTOR = array [1..100] of real;

?
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: Programování v Pascalu

Příspěvek od bubanek »

ano
dales.luk
Začátečník
Začátečník
Uživatelský avatar
Registrován: 10. říj 2010

Re: Programování v Pascalu

Příspěvek od dales.luk »

po teto upravě type VEKTOR = array [1..100] of real; to háže chybu...
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: Programování v Pascalu

Příspěvek od bubanek »

jakou?
Odpovědět

Zpět na „Programování a web“