Follow along with the video below to see how to install our site as a web app on your home screen.
Забелешка: This feature may not be available in some browsers.
Пак ти?
Assambler?
Сигурно?
Добро, дали имаш уствари престава како би изгледала ваква програма напишана во асемблер? Една програма за пресметка на средна вредност од повеќе елементи (пази, претпоставено дека се наоѓаат некаде во меморијата) е огромна а камо ли па да отвориш фајл и да читаш од него.
Дали ти си свесен дека во целава игра треба да се пристапува преку хардверски команди кон хард-дискот и да се знае типот на фајл системот и како тој е организиран? Не знаеш?
Знаеш што бараш?
aj ako moze nekoj da pomogne. imam vakvo nesto da nacrtam vo Java
falaКод:* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
хихи ... да беше во паскал одма ќе ти го испрограмираф ... али за јава сум мал уште
aj ako moze nekoj da pomogne. imam vakvo nesto da nacrtam vo Java
falaКод:* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
public static void main(String args[]){
int zv = 1, n=5, brred=4;
int pr = brred - 1;
for(int r=0; r<brred; r++){
for(int c=0; c<n; c++){
for(int i=0; i<pr; i++)
System.out.print(" ");
for(int i=0; i<zv; i++)
System.out.print("*");
for(int i=0; i<pr; i++)
System.out.print(" ");
}
System.out.println();
pr--;
zv += 2;
}
}
Размисли логички не е тешкоaj ako moze nekoj da pomogne. imam vakvo nesto da nacrtam vo Java
falaКод:* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Ме фати инат го испрограмирав (тоа од диме беше конкретно за случајот направено)Размисли логички не е тешко
Ќе направиш функција што црта триаголници со зададена висина и ширина која со два циклуса ќе ја повикукаш (за да црта во линија)
При повик ќе користиш три параметри (висина (колку реда), ширина (колку места) и на кој ред се наоѓаме)
пример идеме со следниве парамтери висина 8, ширина 25, моментална позиција 5
Пресметуваме
25/8 ~ 3 (врвот ни е 3 ѕвезди)
5*3 = 15 - бројот на ѕвезди кој ни се потребни за овој ред
25-15 = 10/2 = 5(првите 5 места се празни и последните 5 празни (1-5 и 20-25))
со овие податоци после изцртуваш еден ред, и повикуваш онолку пати колку имаш триаголници па на крај пишуваш команда за нов ред. Кога ќе заврши вториот циклус иде првиот со нови параметри се до крајот...
Ако ме свати
public static void triagolni (int visina, int shirina, int red)
{
double vrv = shirina/visina;
double broj_zvezdi = red*vrv;
int prazni = (int)((shirina-broj_zvezdi)/2);
for(int i=0; i<=shirina; i++){
if (i <= prazni || i >= shirina - prazni ){
System.out.print(" ");
}
else {
System.out.print("*");
}
}
}
public static void main(String[] args) {
int visina = 15;
int shirina = 40;
int red = 3;
for(int i=1; i<=visina; i++){
System.out.println();
for(int j=1; j<=red; j++){
triagolni(visina, shirina, i);}}
}
run:
* * *
*** *** ***
***** ***** *****
******* ******* *******
********* ********* *********
*********** *********** ***********
************* ************* *************
*************** *************** ***************
***************** ***************** *****************
******************* ******************* *******************
********************* ********************* *********************
*********************** *********************** ***********************
************************* ************************* *************************
*************************** *************************** ***************************
***************************** ***************************** *****************************
BUILD SUCCESSFUL (total time: 0 seconds)
Ај овој пат ќе ти објаснам ама помачи се малце (ова е лесно) да го претвориш во код (да не биде се сервирано а и да научиш)pak jas
me interesira kako od nekoj String npr. "Denes e soncev den" da mi gi napravi site e-bukvi golemi i da gi ispise , a potoa da gi zameni site e bukvi so bukvata sto ide posel e vo azbukata(angliskata azbuka se razbira)
fala
Ај овој пат ќе ти објаснам ама помачи се малце (ова е лесно) да го претвориш во код (да не биде се сервирано а и да научиш)
За првото барање во циклус го вртиш целиот стринг, кога ќе ја најде "е" ја заменува со "Е"
Второто барање, правиш низа од азбуката, кога ќе ја наде Е во низата ја пребаруваш Е и ја заменуваш за позиција+1, односно наредната буква, или па наједноставно е праиш замена за Е со F![]()
public static void main(String args[]){
StringBuffer sb = new StringBuffer("Denes e oblacen den barem kaj mene ");
for(int i=0; i<sb.length(); i++){
char ch = sb.charAt(i);
if( ch != ' ' )
sb.setCharAt(i, ++ch);
}
System.out.println(sb);
}
Повели,Знае ли некој во Assambler да ми направи програма која ќе прави word count пребројување на зборови во датотека, на име од командна линија... ми треба многууу... Благодарам однапред!!![]()
org 0100h
mov si, 0080h
xor bx, bx
mov bl, byte ptr [si]
inc si
mov byte ptr [si+bx], 00h
cmp byte ptr [si], 00h
jne otvori_datoteka
mov ah, 09h
mov dx, offset nema_datoteka
int 21h
ret
otvori_datoteka:
mov ax, 3d00h
mov dx, si
int 21h
jnc izbroj_zborovi
mov ah, 09h
mov dx, offset greska_otvoranje
int 21h
ret
izbroj_zborovi:
mov word ptr [datoteka], ax
procitaj_znak:
mov ah, 3fh
mov bx, word ptr [datoteka]
mov cx, 0001h
mov dx, offset procitan_znak
int 21h
cmp ax, 00h
je kraj
mov al, byte ptr [procitan_znak]
cmp al, 20h
je najden_razdeluvac
cmp al, 0ch
je najden_razdeluvac
cmp al, 0ah
je najden_razdeluvac
cmp al, 09h
je najden_razdeluvac
cmp al, 00h
je najden_razdeluvac
mov byte ptr [vo_zbor], 01h
jmp procitaj_znak
najden_razdeluvac:
cmp byte ptr [vo_zbor], 01h
jne procitaj_znak
inc byte ptr [izbroeni_zborovi]
mov byte ptr [vo_zbor], 00h
jmp procitaj_znak
kraj:
cmp byte ptr [vo_zbor], 01
jne zatvori_datoteka
inc word ptr [izbroeni_zborovi]
zatvori_datoteka:
mov ah, 3eh
mov bx, word ptr [datoteka]
int 21h
mov di, offset broj_na_zborovi
add di, 00004h
mov ax, word ptr [izbroeni_zborovi]
cmp ax, 0000h
je prikazi_br_zborovi
mov cx, 000ah
pretvori_vo_dec:
xor dx, dx
div cx
add dl, 30h
mov byte ptr [di], dl
dec di
cmp ax, 0000h
jne pretvori_vo_dec
prikazi_br_zborovi:
mov ah, 09h
mov dx, offset vkupno_zborovi
int 21h
ret
nema_datoteka db "[greska] nemate vneseno ime na datotekata!", "$"
greska_otvoranje db "[greska] neuspesno otvoranje na datotekata", "$"
vkupno_zborovi db "broj na zborovi : "
broj_na_zborovi db "00000"
db "$"
datoteka dw ?
procitan_znak db 00h
vo_zbor db 00h
izbroeni_zborovi dw 0000h