Презентация - Java

Прости пресмятания - Programming Basics - декември 2016

 

Материали от темата

Съдържание на документа

Прости пресмятания

Четене на числа, аритметични операции, печатане на числа

СофтУни

трейнърски екип

Софтуерен университет

http://softuni.bg

Основи на 

програмирането


2



sli.do
#5400

Have a Question?


Съдържание

Променливи и типове данни

Четене на числа от конзолата

Печатане на числа на конзолата

Прости аритметични операции

Събиране, изваждане, умножение, деление, съединяване на низ

Задачи с прости пресмятания с числа

3


4

Променливите съхраняват стойност от даден тип

Число, буква, текст (стринг), дата, цвят, картинка, списък, …

Типове данни – примери:

Тип цяло число (int): 1, 2, 3, 4, 5, …

Тип дробно число (double): 0.5, 3.14, -1.5, …

Тип буква от азбуката (char): 'a', 'b', 'c', …

Тип текст (String): "Здрасти", "Hi", "Beer", …

Тип ден от седмицата: понеделник, вторник, …

Типове данни и променливи


5

Компютрите са машини, които обработват данни

Данните се записват в компютърната памет в променливи

Променливите имат тип, име и стойност

Дефиниране на променлива и присвояване на стойност:







След обработка данните се записват отново в променливи

Пресмятания в програмирането

int count = 5;

Тип

Име на променлива

Стойност (от тип число)


Четец на вход:



Пример: поздравяване на потребителя:

6

Четене на вход от конзолата

Scanner scanner = new Scanner(System.in);

System.out.print("Your name: ");

String name = scanner.nextLine();

System.out.println("Hello " + name + "!");

Scanner scanner = new Scanner(System.in);


Четене на цяло число от конзолата:



Пример: пресмятане на лице на квадрат със страна а:

7

Четене на числа от конзолата

Scanner scanner = new Scanner(System.in);

System.out.print("a = ");

int a = Integer.parseInt(scanner.nextLine());

int area = a * a;

System.out.print("Square = " + area);

int num = Integer.parseInt(scanner.nextLine());

Тестване на решението: https://judge.softuni.bg/Contests/Practice/Index/151#0


Четене на дробно число от конзолата:



Пример: прехвърляне от инчове в сантиметри:

8

Четене на дробно число

Scanner scanner = new Scanner(System.in);

System.out.print("Inches = ");

double inches = double.parseDouble(scanner.nextLine());

double centimeters = inches * 2.54;

System.out.println("Centimeters = " + centimeters);

double num = Double.parseDouble(scanner.nextLine());

Тестване на решението: https://judge.softuni.bg/Contests/Practice/Index/151#1


Четене на текст (стринг) от конзолата:



Пример: поздрав по име:



9

Четене и печатане на текст

String str = scanner.nextLine();

Scanner scanner = new Scanner(System.in);

System.out.print("Enter your name: ");

String name = scanner.nextLine();

System.out.printf("Hello %s!", name);

Тестване на решението: https://judge.softuni.bg/Contests/Practice/Index/151#2

Изразът %s се замества с
първия аргумент (в случая name)

Форматиране на стринг: https://docs.oracle.com/javase/tutorial/essential/io/formatting.html


При печат на текст, числа и други данни, можем да ги съединим, използвайки шаблони %s, %d, %f, …

10

Съединяване на текст и числа

Scanner scanner = new Scanner(System.in);

String firstName = scanner.nextLine();

String lastName = scanner.nextLine();

int age = Integer.parseInt(scanner.nextLine());

String town = scanner.nextLine();

System.out.printf("You are %s %s, a %d-years old person from %s.", firstName, lastName, age, town);

Тестване на решението: https://judge.softuni.bg/Contests/Practice/Index/151#3


11

Събиране на числа (оператор +):





Изваждане на числа (оператор -):

Аритметични операции: + и -

int a = 5;

int b = 7;

int sum = a + b; // 12

int a = Integer.parseInt(scanner.nextLine());

int b = Integer.parseInt(scanner.nextLine());

int result = a - b;

System.out.println(result);


12

Умножение на числа (оператор *):





Деление на числа (оператор /):

Аритметични операции: * и /

int a = 5;

int b = 7;

int product = a * b; // 35

int a = 25;

int i = a / 4;      // 6 – дробната част се отрязва

double f = a / 4.0;    // 6.25 – дробно делене

int error = a / 0;  // Грешка: деление на 0


13

При деление на цели числа резултатът е цяло число:





При деление на дробни числа резултатът е дробно число:

Особености при деление на числа в Java

int a = 25;

System.out.println(a / 4); // Целочислен резултат: 6

System.out.println(a / 0); // Грешка: деление на 0

double a = 15;

System.out.println(a / 2.0); // Дробен резултат: 7.5

System.out.println(a / 0.0); // Резултат: Infinity

System.out.println(0.0 / 0.0); // Резултат: NaN


14

Съединяване на текст и число

Съединяване на текст и число (оператор +):

String firstName = "Maria";

String lastName = "Ivanova";

int age = 19;

String str = firstName + " " + lastName + " @ " + age;

System.out.println(str);  // Maria Ivanova @ 19

double a = 1.5;

double b = 2.5;

String sum = "The sum is: " + a + b;

System.out.println(sum);  // The sum is 1.52.5


15

В програмирането можем да пресмятаме числени изрази



Изчисляване на лице на трапец

Числени изрази

int expr = (3 + 5) * (4 – 2);

double b1 = Double.parseDouble(scanner.nextLine());

double b2 = Double.parseDouble(scanner.nextLine());

double h = Double.parseDouble(scanner.nextLine());

double area = (b1 + b2) * h / 2.0;

System.out.println("Trapezoid area = " + area);

Тестване на решението: https://judge.softuni.bg/Contests/Practice/Index/151#4


Задачи с прости изчисления

Работа на живо в клас (лаб)


17

Напишете програма, която въвежда радиуса r на кръг и изчислява лицето и периметъра на кръга / окръжността

Лице = π * r * r

Периметър = 2 * π * r



Периметър и лице на кръг – пример

System.out.print("Enter circle radius. r = ");

double r = Double.parseDouble(scanner.nextLine());

System.out.println("Area = " + Math.PI * r * r);

System.out.println("Perimeter = " + 2 * Math.PI * r);

Тестване на решението: https://judge.softuni.bg/Contests/Practice/Index/151#5

π ≈ 3.14159265358979323846…


18

Правоъгълник е зададен с координатите
на два от своите срещуположни ъгъла

Да се пресметнат площта и периметъра му

Лице на правоъгълник в равнината – пример

double x1 = Double.parseDouble(scanner.nextLine());

double y1 = Double.parseDouble(scanner.nextLine()); 

double x2 = Double.parseDouble(scanner.nextLine()); 

double y2 = Double.parseDouble(scanner.nextLine()); 

double width = Math.Max(x1, x2) - Math.Min(x1, x2);

double height = Math.Max(y1, y2) - Math.Min(y1, y2);

System.out.printf("Area = %f%n", width * height);

System.out.printf("Perimeter = %f%n", 2 * (width + height));

Изразът %n минава на нов ред независимо от платформата


Лица и периметри на фигури

Работа на живо в клас (лаб)


20

Въвеждане на текст



Въвеждане на число



Пресмятания с числа: +, -, *, /, ()



Извеждане на текст по шаблон



Какво научихме днес?

String str = scanner.nextLine();

int num = Integer.parseInt(console.nextLine());

int sum = 5 + 3;

System.out.printf("%d + %d = %d", 3, 5, 3 + 5);


Прости пресмятания

https://softuni.bg/courses/programming-basics/


22

Настоящият курс (слайдове, примери, видео, задачи и др.) се разпространяват под свободен лиценз "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International"









Благодарности: настоящият материал може да съдържа части от следните източници

Книга "Основи на програмирането със Java" от Светлин Наков и колектив с лиценз CC-BY-SA

Лиценз


Безплатни обучения в СофтУни

Фондация "Софтуерен университет" – softuni.org

Софтуерен университет – качествено образование, професия и работа за софтуерни инженери

softuni.bg 

	СофтУни @ Facebook

	facebook.com/SoftwareUniversity

	

	СофтУни форуми – forum.softuni.bg