pomoc strukturogram

Programovacie jazyky, rady, poradňa...
kosa
Novice
Novice
Príspevky: 5
Registrovaný: 29 nov 2008, 13:10

pomoc strukturogram

Príspevok od používateľa kosa »

Chcel by som poprosit niekoho kto ma skúsenosti s programovaním či by mi nepomohol so zadaním z Informatiky. Napíšte program, ktorý dokáže spočítať počet dní, ktoré uplynuli medzi zadanými dátumami a vypísať deň v týždni pripadajúci na zadaný dátum.


Zadanie vypracujte nasledovne:

1. Vykonajte analýzu všetkých potrebných vstupných a výstupných premenných. Stanovte ich dátový typ.

2. Zostavte štruktogram.

3. Vývojový diagram a algoritmus

Neviem presne ale algoritmus by mal byť ten postup. :?:
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

http://www.hojko.com/pascal-praca-s-dat ... 72274.html
nabudúce hladaj predtým než založíš tému
kosa
Novice
Novice
Príspevky: 5
Registrovaný: 29 nov 2008, 13:10

Príspevok od používateľa kosa »

Tu temu som nasiel ale nenasiel som v nej strukturogram, vyvojovy diagram ani algoritmus aspon si myslim. Ja nepotrebujem program v paskale. ale ti tri veci spominane hore.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

ako nič v zlom, ale keď si bol predtým pre mňa nula, teraz si záporné číslo. To fakt nevieš spraviť analýzu vstupných premenných (keď ich v programe máš vypísané aj s dátovým typom, je to viac menej ctrl+c a ctrl+v), štrukturogram (čo je iba grafické zakreslenie, tiež netreba vôbec rozmýšlať lebo program máš) a algoritmus čo je slovné opísanie riešenia (čiže zase len obkecať ten program ktorý máš)
kosa
Novice
Novice
Príspevky: 5
Registrovaný: 29 nov 2008, 13:10

Príspevok od používateľa kosa »

A mam z toho smutnu hlavu, lebo si s tym neviem rady. Ako som cital tvoje prispevky sa mi vidi ze sa tomu rozumies. Nemohol by si mi s tym pomoct prosim. audiotrack

//autoeditácia príspevku ( 29 Nov 2008, 15:28 )
Nieco som si skusal nieco robit, ale to len po tom co som nieco precital v pdf o paskale, som uplny zaciatocnik nikdy predtam som s tym nerobil a myslim ze to nieje dobre
Sagittarius
Guru
Guru
Používateľov profilový obrázok
Príspevky: 2883
Registrovaný: 13 feb 2007, 21:58
Bydlisko: Do nekonečna a ešte ďalej

Príspevok od používateľa Sagittarius »

Analýza premenných:
mesiace: array [1..12] of integer;
i,den,mesiac,mesiacc,denn,pocet,pocet_druhy,rozdiel,ktory_den: integer;
Čiže mesiace je pole celých čísel s 12 prvkami i,den,mesiac,mesiacc,denn,pocet,pocet_druhy,rozdiel,ktory_den sú typu integer, čiže celé čísla.

Vývojový diagram sa kresliť nechce, lebo nemám na to ani program, ale keď ak to budeš robiť na papier, tak to nebude ani také ťažké. Len si stačí nájsť znaky ktoré potrebuješ, v tom prípade, len pre príkaz priradenia a pre podmienku (if), síce mne sa v niektorých častiach hodil skôr case.

A popis algoritmu:

Najskôr priradí mesiacom počet dní, ktoré majú.
Potom sa zadajú dva dátumy.
Potom vypočíta počet dní od začiatku roka pre 1. a 2. dátum.
Spraví rozdiel medzi tými dvoma počtami.

Ďalej pokiaľ nie je počet menší ako 7 a postupne odčítava od počtu 7.
A výsledné číslo je deň v týždni.
kosa
Novice
Novice
Príspevky: 5
Registrovaný: 29 nov 2008, 13:10

Príspevok od používateľa kosa »

ja som si spravil takyto strukturogram ale nie som si isty ci je dobry
Prílohy
Algoritmus a štrukturogram na počet dní.rar
(4.93 KiB) 221 stiahnutí
Sagittarius
Guru
Guru
Používateľov profilový obrázok
Príspevky: 2883
Registrovaný: 13 feb 2007, 21:58
Bydlisko: Do nekonečna a ešte ďalej

Príspevok od používateľa Sagittarius »

kosa napísal:ja som si spravil takyto strukturogram ale nie som si isty ci je dobry
Myslím, že až na to x by to malo byť dobre... Lebo tam nemáš nikde napísané, čo je to x...
neutronmind
Expert
Expert
Príspevky: 189
Registrovaný: 05 aug 2008, 14:17

Príspevok od používateľa neutronmind »

Tu to mas trochu zjednodusene a efektivnejsie. :)

Kód: Vybrať všetko

program dni; 
uses crt; 
const mesiace: array [1..12] of Integer = (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	dni_v_tyzdni: array [1..7] of string = ('pondelok', 'utorok', 'stredu', 'stvrtok', 'piatok', 'sobotu', 'nedelu');
var i, den, mesiac, mesiacc, denn, pocet, pocet_druhy, rozdiel: integer;

begin 
clrscr; 

writeln('Zadajte prvy datum');
write('Mesiac (1-12): '); readln(mesiac); 
write('Den (1-30/31): '); readln(den); 
writeln; 
writeln('Zadajte druhy datum');
write('Mesiac (1-12): '); readln(mesiacc); 
write('Den(1-30/31): '); readln(denn); 
writeln; 

if mesiac>1 then 
   for i:=1 to (mesiac-1) do pocet:=pocet+mesiace[i]; 
if mesiacc>1 then 
   for i:=1 to (mesiacc-1) do pocet_druhy:=pocet_druhy+mesiace[i]; 

pocet:=pocet+den; 
pocet_druhy:=pocet_druhy+denn; 
if pocet > pocet_druhy then rozdiel:=pocet-pocet_druhy 
   else rozdiel:=pocet_druhy-pocet; 

writeln('Medzi datumom ',den,'.',mesiac,'. a datumom ',denn,'.',mesiacc,'. ubehlo ',rozdiel,' dni.'); 
writeln('Prvy datum pripada na ', dni_v_tyzdni[pocet mod 7], '.');
writeln('Druhy datum pripada na ', dni_v_tyzdni[pocet_druhy mod 7], '.');

readkey; 
end.
kosa
Novice
Novice
Príspevky: 5
Registrovaný: 29 nov 2008, 13:10

Príspevok od používateľa kosa »

dakujem všetkým. ktorí mi pomohli :oops:
Lewik
Novice
Novice
Príspevky: 3
Registrovaný: 09 dec 2008, 10:15

Príspevok od používateľa Lewik »

mam nieco podobne ..kamarat mi s tym pomahal ale spravil 2 programy a nevedel to dat do jedneho

Vytvorte program pre vypoèítanie ciferného súètu zadaného prirodzeného èísla. Vypíšte poèet jeho èíslic. Použité èíslice vypíšte od najmenšej po najväèšiu.


Zadanie vypracujte nasledovne:

1. Vykonajte analýzu všetkých potrebných vstupných a výstupných premenných. Stanovte ich dátový typ.

2. Zostavte štruktogram.

3. Zostrojte program v Pascale.

Odovzdajte 2 súbory. V prvom (èíslo_priezvisko.doc) bude vypracovaný 1. a 2. bod zadania. V druhom súbore (èíslo_priezvisko.pas) bude vypracovaný 3. bod zadania

//audiotrack: program zmazaný

bol by prosim Vas niekto ochotny mi pomoct ?
Charger
Zablokovaný
Zablokovaný
Príspevky: 227
Registrovaný: 18 jan 2008, 15:32

Príspevok od používateľa Charger »

boa na co chodite do tej skoly, desiatu mozte zpapat aj doma...
Lewik
Novice
Novice
Príspevky: 3
Registrovaný: 09 dec 2008, 10:15

Príspevok od používateľa Lewik »

No to je tak je to predmet informacne technologie ... mame na zapocet spravit zadanie z acessu a z pascalu ....ale na skuske to nebude ...cize mne staci ak mi ten zapocet spravi kamarat co to ovlada a ja sa budem ucit len na skusku.... dalej v studiu pascal nepotrebujeme cize je mi nanic ...cize aj zbytocne sa ho ucit :-)
neutronmind
Expert
Expert
Príspevky: 189
Registrovaný: 05 aug 2008, 14:17

Príspevok od používateľa neutronmind »

Myslim, ze by to mohlo byt takto.

Kód: Vybrať všetko

program lewik;

type zaznam=record
     pocet: integer;
     pouzita: boolean;
     end;

var
cislo, orig, cif_sucet, i, l, pocetcif, j: integer;
pole: array[0..9] of zaznam;

begin
cif_sucet:=0;
pocetcif:=0;

for j:=1 to 9 do begin
    pole[j].pouzita:=false;
    pole[j].pocet:=0;
    end;

write('Zadaj cislo: ');
readln(cislo);
orig:=cislo;

while (cislo<>0) do begin
      i:=cislo mod 10;
      pole[i].pocet:=pole[i].pocet+1;
      pole[i].pouzita:=true;
      cif_sucet:=cif_sucet+i;
      cislo:=cislo div 10;
      pocetcif:=pocetcif+1;
end;
writeln('Cislo ', orig,' ma ', pocetcif, ' cifier, jeho ciferny sucet je ', cif_sucet);
writeln('Usporiadane cislice: ');

for j:=0 to 9 do
    if (pole[j].pouzita=true) then
       for i:=1 to pole[j].pocet do
           writeln(j);

readln;
end.
Lewik
Novice
Novice
Príspevky: 3
Registrovaný: 09 dec 2008, 10:15

Príspevok od používateľa Lewik »

dakujem velmi pekne ...skusim tomu teraz neako porozumet :lol:
prosim ta kolko ti to priblizne trvalo to spravit ?
neutronmind
Expert
Expert
Príspevky: 189
Registrovaný: 05 aug 2008, 14:17

Príspevok od používateľa neutronmind »

Co ja viem, 20 minut. :D
Napísať odpoveď