BG Development


Страници: (4) 1 2 [3] 4   ( Първото ново мнение ) Reply to this topicStart new topicStart Poll

> Затруднения със задачи за начинаещи..., Нуждая се от малко насоки
v1rusman
Публикувано на: 22-07-2011, 20:15
Quote Post



Име:
Група: Потребител
Ранг: Редовен член

Мнения: 384
Регистриран на: 15.09.07



Намесвам се по темата относно книгите, които споменахте - на Наков е добра, както и Thinking in Java (но английската, защото превода на БГ не е много добър), но книгата на Шилд е изключително ЛОША! Не се заблуждавайте по ниската цена или по това, че в повечето форуми се пише колко хубави били неговите книги. Единственото, които ще научите от нея е синтаксис и никакво мислене, а синтаксиса можете да го научите от всяка друга книга и туториал, където обаче е по-вероятно да ви накарат да решавате нещо.
PMEmail Poster
Top
lucky1
  Публикувано на: 26-07-2011, 10:32
Quote Post



Име: Лачезар
Група: Потребител
Ранг: Новопостъпил

Мнения: 6
Регистриран на: 20.07.11



Ето и 12 задача icon_smile.gif
CODE
package Zadachi3;

public class Zadacha12 {

      /**
       * Дадено е число n, стойност v (v = 0 или 1) и позиция p. Напишете
поредица от операции, които да променят стойността на n, така че
битът на позиция p да има стойност v. Пример n=35, p=5, v=0 -> n=3.
Още един пример: n=35, p=2, v=1 -> n=39.
       */
      public static void main(String[] args) {
            /*Ползвайте побитови операции, по аналогия с предната задача.*/

            int n = 35;
            int p = 5;
            int v = 0;
       int  q = 1 << p;

       System.out.println( v ==0 ? (n &= ~q ): (n|=q));
}

}


може и по този начин
не знам кой е по правилен защото все пак съм начинаещ

CODE

    package Zadachi3;

public class Zadacha12 {

      /**
       * Дадено е число n, стойност v (v = 0 или 1) и позиция p. Напишете
поредица от операции, които да променят стойността на n, така че
битът на позиция p да има стойност v. Пример n=35, p=5, v=0 -> n=3.
Още един пример: n=35, p=2, v=1 -> n=39.
       */
      public static void main(String[] args) {
            /*Ползвайте побитови операции, по аналогия с предната задача.*/

            int n = 35;
            int p = 5;
            int v = 0;
       int  q = 1 << p;
 

       if(v == 1)
       n |= q;
       else
       n &= ~q;

       System.out.println(n);
      

      
      }

}


icon_smile.gif icon_smile.gif
Извинявам се на колегите които са преглеждали задачата ,първият вариянт го бях объркал сега го оправих icon_smile.gif

Това мнение е било редактирано от lucky1 на 26-07-2011, 14:33
PMEmail Poster
Top
go6aih
Публикувано на: 13-11-2011, 20:58
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 1
Регистриран на: 13.11.11



За 9 зад. - и аз съм нов и може да бъркам, но не виждам проверка дали точката е в правоъгълника. Аз я направих така:
class zad9 {
public static void main(String[] args) {
double c = 5;
double x,y,xp,yp,x2p,y2p;
x = -2;
y = 1;
xp=-1;
yp=1;
x2p=5;
y2p=5;
boolean xy = ((x*x) + (y*y)<=c*c);
boolean xyp=(x2p>=x & x>=xp & y>=yp & y<=y2p);
System.out.println("inside box "+xyp);
System.out.println("INSIDE CIRCLE "+xy);
}
}

Това мнение е било редактирано от go6aih на 13-11-2011, 20:59
PMEmail Poster
Top
embetsa
Публикувано на: 13-11-2011, 22:44
Quote Post



Име: Емилиян
Група: Потребител
Ранг: Новопостъпил

Мнения: 2
Регистриран на: 13.11.11



Може ли някой да ми обясни защо се включва променливата " i " в тази зада4а и каква роля играе package Zadachi3;

public class Zadacha11 {

/**
* Дадено е число n и позиция p. Напишете поредица от операции, които
да отпечатат стойността на бита на позиция p от числото n (0 или 1).
Пример: n=35, p=5 -> 1. Още един пример: n=35, p=6 -> 0.
*/
public static void main(String[] args) {
/*Ползвайте побитови операции:
int n = 35; // 00100011
int p = 6;
int i = 1; // 00000001
int mask = i << p; // Move the 1st bit with p positions
// If i & mask are positive then the p-th bit of n is 1
System.out.println((n & mask) != 0 ? 1 : 0);
* */
int n = 34;
int p = 4;
int i = 1;
int oper = p << i;
System.out.println((n^oper)<=0 ? "Различно от: 0":" Равно на: 0");
System.out.println((n&oper)!=0 ?"Различно от: 0":"Равно на: 0");
System.out.println((~n&oper)>=0 ?"Различно от: 0":"Равно на: 0");
System.out.println((n|oper)==0 ?"Различно от: 0":"Равно на: 0");


}

}
PMEmail Poster
Top
Lamer_Develop
Публикувано на: 04-07-2012, 19:32
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 1
Регистриран на: 30.06.12



QUOTE (embetsa @ 13-11-2011, 22:44)
Може ли някой да ми обясни защо се включва променливата " i " в тази зада4а и каква роля играе package Zadachi3;

public class Zadacha11 {

/**
* Дадено е число n и позиция p. Напишете поредица от операции, които
да отпечатат стойността на бита на позиция p от числото n (0 или 1).
Пример: n=35, p=5 -> 1. Още един пример: n=35, p=6 -> 0.
*/
public static void main(String[] args) {
/*Ползвайте побитови операции:
int n = 35; // 00100011
int p = 6;
int i = 1; // 00000001
int mask = i << p; // Move the 1st bit with p positions
// If i & mask are positive then the p-th bit of n is 1
System.out.println((n & mask) != 0 ? 1 : 0);
* */
int n = 34;
int p = 4;
int i = 1;
int oper = p << i;
System.out.println((n^oper)<=0 ? "Различно от: 0":" Равно на: 0");
System.out.println((n&oper)!=0 ?"Различно от: 0":"Равно на: 0");
System.out.println((~n&oper)>=0 ?"Различно от: 0":"Равно на: 0");
System.out.println((n|oper)==0 ?"Различно от: 0":"Равно на: 0");


}

}

Братле, как ги получи тези стойности в първия пример за "p=6;" и във втория пример на "n=34;", "p=4;" и на променливата "oper" защо сменяш местата на "p" с "i"?? Или просто си използваш твои стойности различни от примерите?
Нещо не ми стана много ясно идеята на задачата?!


--------------------
Очите виждат всичко, но не виждат себе си!
PMEmail Poster
Top
ivan84
Публикувано на: 05-07-2012, 12:24
Quote Post



Име:
Група: Форумен член
Ранг: Почетен член

Мнения: 8170
Регистриран на: 01.04.11



"Може ли някой да ми обясни защо се включва променливата " i " в тази зада4а и каква роля играе"

за помощна променлива не си ли чувал - ако не най вероятно програмирането не е за теб и само си губиш времето

в задачата се иска да се използва маска на определена позиция (p) - тъй като p не се знае колко е то маската трябва да се изработи динамично - затова се ползва и помощната променлива i
първоначално тя има стойност 1 (0х01, 000000001 ...) след като се разбере стойността на p се шифтира i с толкова позиции на ляво за да се поучи маската
след това се ползва побитово И за да се определи дали съответния бит от n е 0 или 1-ца

само че описанието и решението са грешни - за да се изпълни условието или трябва изрично да се спомене че позицията на битовете се брои от 0 или шифтирането да се прави с p - 1 (което е правилното решение според мен - тъй като броенето винаги почва от 1-ца)

//офф
идеята на задачата е n и p да се въвеждат от клавиатурата предполагам

Това мнение е било редактирано от ivan84 на 05-07-2012, 12:39
PMEmail Poster
Top
ivan84
Публикувано на: 05-07-2012, 12:29
Quote Post



Име:
Група: Форумен член
Ранг: Почетен член

Мнения: 8170
Регистриран на: 01.04.11



QUOTE (v1rusman @ 22-07-2011, 20:15)
... Единственото, които ще научите от нея е синтаксис и никакво мислене ...

мисленето не се учи - то се развива (стига да го имаш)
книгите само запознават начинаещите с даден език и основни неща свързани с ползването му - всичко останало е в ръцете на учещия се
PMEmail Poster
Top
brightVision
Публикувано на: 26-10-2016, 09:59
Quote Post



Име: Иван
Група: Потребител
Ранг: Новопостъпил

Мнения: 1
Регистриран на: 26.10.16



поста ми е за триене, бях схванал идеята на задача 8ма и 9та по коренно друг начин извинявам се

Това мнение е било редактирано от brightVision на 27-10-2016, 14:44
PMEmail Poster
Top
javajunior23
Публикувано на: 06-09-2017, 14:48
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 2
Регистриран на: 06.09.17



Здравейте хора. Все още съм beginner, отправящ се в дълбините на програмирането. Опитах се да реша 10 зад. от книгата на Наков за Java, но уви нещо не се получава. Пробвах да заменя int с float, но пак са отговор ми дава 0. Плс ако някой ми помогне и няколко съвета как мога да се развивам като бъдещ програмист, защото явно напредвам доста бавничко. icon_confused.gif icon_lol.gif

ОТГОВОРЪТ НА ЗАДАЧАТА ЩЕ ГО ПОСТАВЯ СЛЕД МОЕТО РЕШЕНИЕ


System.out.println("Задача:");
int abcd = 1234;
int a = (1/10);
int b = (2/10);
int c = (3/10);
int d = (4/10);
int sbor = a + b + c + d;
System.out.println("Сбор:" + sbor);
System.out.println("dcba: " + (d + c + b + a));
System.out.println("dabc " + (d + a + b + c));
System.out.println("acbd " + (a + c + b + d));


Задача:
Сбор:0
dcba: 0
dabc 0
acbd 0

Това мнение е било редактирано от javajunior23 на 06-09-2017, 14:51
PMEmail Poster
Top
korsarq
Публикувано на: 07-09-2017, 08:37
Quote Post



Име:
Група: Потребител
Ранг: Активен

Мнения: 280
Регистриран на: 30.11.16



javajunior23 незнам каква е задачата, но ще се опитам да помогна. / отрязва частта след запетаята и навсякъде получаваш нули.Дори и да смениш int на double пак ще получиш нули, защото делиш 1 и 10 които са от тип int.Трябва да кажеш, че едното число е например float при което цялото нещо се преобразува в float.Прочети за Automatic Type Promotion.


--------------------
It gladdens me to know that Odin prepares for a feast.
Soon I shall be drinking ale from curved horns.
This hero that comes into Valhalla does not lament his death!
I shall not enter Odin's hall with fear.My death comes without apology!
And I welcome the valkyries to summon me home!
PMEmail Poster
Top
0 потребители преглеждат тази тема в момента (0 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Страници: (4) 1 2 [3] 4  Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2018 | BG Development | All Rights Reserved
RSS 2.0