• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Paaaaascallllll

VPS Starter Arubacloud
–10 głosów
313 wizyt
pytanie zadane 30 stycznia 2016 w Inne języki przez Headhunter Gaduła (4,450 p.)
otwarte ponownie 30 stycznia 2016 przez Eryk Andrzejewski

Nie ogarniam tego pascala a musze zrobić program.

Program który losuje liczbe z zakresu 10000-30000 i zamieni ją na zapis słowny

.Przykład: 2340 = dwa trzy czte zer

 

Jakieś wskazówki ??? Jestem w totalnym lesie próbuje i za kazdym razem ......

 

 

program zadanie;
uses crt;
const
a:array[0..9] of string =
('zer','jed','dwa','trz','czt','pie','sze','sie','osi','dzi');
var
 liczba:string;
 i,x,k:integer;

begin 
clrscr;
 writeln;
  writeln('Podaj liczbe');
  readln(liczba);
 writeln;
  write('liczba: ');
 for i:=1 to length(liczba) do
  begin
   val(liczba[i],x,k);
   write(a[x]);
  end;
readln;
end.

ale mam problem z zakresem

2 odpowiedzi

0 głosów
odpowiedź 30 stycznia 2016 przez notabigthreat Mądrala (7,060 p.)
Pokaż to, co napisałeś do tej pory.
komentarz 30 stycznia 2016 przez Muminek Dyskutant (8,650 p.)
Jeżeli się nie mylę to do tej pory napisał temat, który został ukryty gdzie chciał by ktoś wszystko za niego napisał.
komentarz 30 stycznia 2016 przez notabigthreat Mądrala (7,060 p.)
Tamten temat został ukryty (albo i nie), zminusowany, autor pytania może wyciągnąć wnioski i teraz postąpić inaczej.
komentarz 30 stycznia 2016 przez Headhunter Gaduła (4,450 p.)
coś napisałem poza pytaniem -,-
komentarz 30 stycznia 2016 przez mati94 Nowicjusz (100 p.)

To będzie jakoś tak

program zadanie;
uses crt;
const
a:array[0..9] of string =
('zer','jed','dwa','trz','czt','pie','sze','sie','osi','dzi');
var
 liczba:string;
 i,x,k:integer;
 tmp:longint;

begin
clrscr;
randomize;
tmp:=random(20000)+10000;
Str(tmp,liczba);
 writeln;
  writeln('Wylosowana liczba');
  writeln(liczba);
 writeln;
  write('liczba: ');
 for i:=1 to length(liczba) do
  begin
   val(liczba[i],x,k);
   write(a[x],' ');
  end;
readln;
end.

 

Chwilę nie pisałem nic w Pascalu ale randomize to funkcja która umożliwia użycie funkcji random która działa w następujący sposób random(parametr) gdzie parametr to liczba całkowita np. random(100) losowe liczby z zakresu 0 do 100 jeżeli do tej liczby dodasz np 50 to dostaniesz liczby losowe od 50 do 150. Funkcja Str zamienia int na stringi. 


 
komentarz 31 stycznia 2016 przez Fergus Obywatel (1,010 p.)

Kompletnie nie znając Pascala (no dobra, lata temu napisałem w nim "Hello world", więc naprawdę dużo...) i korzystając z google napisałem "program" (cudzysłów celowy), który losuje liczbę z zakresu 10000 - 30000 i wyświetla słownie cyfry wchodzące w skład tej liczby. Wrzucam ten kod jako przykład:

1. że gdy się chce, to można, mimo braku wiedzy o programowaniu w danym języku;

2. jak wygląda kod programu gdy nie potrafi się programować w danym języku i ledwie potrafi się programować w ogóle - czyli nie wiedząc, że istnieje taczka przenosisz tony gruzu w workach na plecach.

program losowanie;
uses crt;

var poczatek, koniec, wylosowana, pierwsza, druga, trzecia, czwarta, piata: integer;
var bezpiatej, bezczwartej, beztrzeciej, bezdrugiej: integer;
var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9: string;
var p1, p2, p3, p4, p5: string;

Begin
  poczatek:= 10000;
  koniec:= 30000;
  s0:= 'zero'; 
  s1:= 'jeden';
  s2:= 'dwa';
  s3:= 'trzy';
  s4:= 'cztery';
  s5:= 'piec';
  s6:= 'szesc';
  s7:= 'siedem';
  s8:= 'osiem';
  s9:= 'dziewiec';  
  
  randomize;
  wylosowana:=random(poczatek-koniec+1)+koniec;
                 
  Begin
  piata:= (wylosowana mod 10);
  bezpiatej:= (wylosowana - piata) div 10;
  czwarta:= (bezpiatej mod 10);
  bezczwartej:= (bezpiatej - czwarta) div 10;
  trzecia:= (bezczwartej mod 10);
  beztrzeciej:= (bezczwartej - trzecia) div 10;
  druga:= (beztrzeciej mod 10);
  bezdrugiej:= (beztrzeciej - druga) div 10;
  pierwsza:= bezdrugiej;
     
  End;
      
    if (pierwsza = 1) then
    Begin
    p1:= s1;    
    End;
    if (pierwsza = 2) then
    Begin
    p1:= s2;    
    End;
    if (pierwsza = 3) then
    Begin
    p1:= s3;    
    End;
    if (pierwsza = 4) then
    Begin
    p1:= s4;    
    End;
    if (pierwsza = 5) then
    Begin
    p1:= s5;    
    End;
    if (pierwsza = 6) then
    Begin
    p1:= s6;    
    End;
    if (pierwsza = 7) then
    Begin
    p1:= s7;    
    End;
    if (pierwsza = 8) then
    Begin
    p1:= s8;    
    End;
    if (pierwsza = 9) then
    Begin
    p1:= s9;    
    End;
    
    if (druga = 0) then
    Begin
    p2:= s0;    
    End;            
    if (druga = 1) then
    Begin
    p2:= s1;    
    End;
    if (druga = 2) then
    Begin
    p2:= s2;    
    End;
    if (druga = 3) then
    Begin
    p2:= s3;    
    End;
    if (druga = 4) then
    Begin
    p2:= s4;    
    End;
    if (druga = 5) then
    Begin
    p2:= s5;    
    End;
    if (druga = 6) then
    Begin
    p2:= s6;    
    End;
    if (druga = 7) then
    Begin
    p2:= s7;    
    End;
    if (druga = 8) then
    Begin
    p2:= s8;    
    End;
    if (druga = 9) then
    Begin
    p2:= s9;    
    End;
    
    if (trzecia = 0) then
    Begin
    p3:= s0;    
    End;            
    if (trzecia = 1) then
    Begin
    p3:= s1;    
    End;
    if (trzecia = 2) then
    Begin
    p3:= s2;    
    End;
    if (trzecia = 3) then
    Begin
    p3:= s3;    
    End;
    if (trzecia = 4) then
    Begin
    p3:= s4;    
    End;
    if (trzecia = 5) then
    Begin
    p3:= s5;    
    End;
    if (trzecia = 6) then
    Begin
    p3:= s6;    
    End;
    if (trzecia = 7) then
    Begin
    p3:= s7;    
    End;
    if (trzecia = 8) then
    Begin
    p3:= s8;    
    End;
    if (trzecia = 9) then
    Begin
    p3:= s9;    
    End;
    
    if (czwarta = 0) then
    Begin
    p4:= s0;    
    End;            
    if (czwarta = 1) then
    Begin
    p4:= s1;    
    End;
    if (czwarta = 2) then
    Begin
    p4:= s2;    
    End;
    if (czwarta = 3) then
    Begin
    p4:= s3;    
    End;
    if (czwarta = 4) then
    Begin
    p4:= s4;    
    End;
    if (czwarta = 5) then
    Begin
    p4:= s5;    
    End;
    if (czwarta = 6) then
    Begin
    p4:= s6;    
    End;
    if (czwarta = 7) then
    Begin
    p4:= s7;    
    End;
    if (czwarta = 8) then
    Begin
    p4:= s8;    
    End;
    if (czwarta = 9) then
    Begin
    p4:= s9;    
    End;
    
    if (piata = 0) then
    Begin
    p5:= s0;    
    End;            
    if (piata = 1) then
    Begin
    p5:= s1;    
    End;
    if (piata = 2) then
    Begin
    p5:= s2;    
    End;
    if (piata = 3) then
    Begin
    p5:= s3;    
    End;
    if (piata = 4) then
    Begin
    p5:= s4;    
    End;
    if (piata = 5) then
    Begin
    p5:= s5;    
    End;
    if (piata = 6) then
    Begin
    p5:= s6;    
    End;
    if (piata = 7) then
    Begin
    p5:= s7;    
    End;
    if (piata = 8) then
    Begin
    p5:= s8;    
    End;
    if (piata = 9) then
    Begin
    p5:= s9;    
    End;
  
  WriteLn ('Wylosowana liczba: ');
  WriteLn (' ');  
  WriteLn (wylosowana, ' = ', p1, ' ', p2, ' ', p3, ' ', p4, ' ', p5);
  WriteLn (' ');
  
  Readln;
End.

 

0 głosów
odpowiedź 1 lutego 2016 przez sonquer Gaduła (4,280 p.)
program Project1;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils;

const
  n : Array[0..9] of string = ('zer','jed','dwa','trz','czt','pie','sze','sie','osi','dzi');
var
  temp : Integer;
  numb : Array of Integer;
begin
  randomize;
  temp := Random(20000) + 10000;
  Write(temp, ' : ');
  while temp > 0 do
    begin
      numb := numb + [ temp mod 10 ];
      temp := temp div 10;
    end;

  for temp := High(numb) downto Low(numb) do
    begin
      Write( n[numb[temp]], ' ' );
    end;

  numb := [];
  readln;
end.

 

Podobne pytania

0 głosów
0 odpowiedzi 237 wizyt
pytanie zadane 11 kwietnia 2022 w Inne języki przez julka1605 Nowicjusz (120 p.)
0 głosów
0 odpowiedzi 335 wizyt
pytanie zadane 22 września 2021 w Inne języki przez Nikon221 Początkujący (340 p.)
0 głosów
1 odpowiedź 899 wizyt
pytanie zadane 23 marca 2021 w Inne języki przez Martita Bywalec (2,470 p.)

92,452 zapytań

141,262 odpowiedzi

319,085 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...