IT ШКОЛА SAMSUNG Модуль 1. Основы программирования Функции

Скачать презентацию IT ШКОЛА SAMSUNG Модуль 1. Основы программирования Функции Скачать презентацию IT ШКОЛА SAMSUNG Модуль 1. Основы программирования Функции

moduly_1_-_4-funkcii.ppt

  • Размер: 1.6 Мб
  • Автор:
  • Количество слайдов: 13

Описание презентации IT ШКОЛА SAMSUNG Модуль 1. Основы программирования Функции по слайдам

IT ШКОЛА SAMSUNG Модуль 1. Основы программирования Функции IT ШКОЛА SAMSUNG Модуль 1. Основы программирования Функции

ЗАДАЧА – найти максимум и минимум в трех массивах 2 Создайте новый Java -проектЗАДАЧА – найти максимум и минимум в трех массивах 2 Создайте новый Java -проект Function 1 , а в нем класс Example 1 1) Заполните массив случайными числами (отдельный цикл) 2) Найдите максимум в данном массиве (отдельный цикл) public static void main(String[] args ) { // Создаем массив int [] a = new int [10]; // Заполняем массив случайными значениями for ( int i = 0; i < a. length ; i ++){ a [ i ] = ( int ) (Math. random () * 100); System. out. print( "\t" + a [ i ]); } int max = a [0]; for ( int i = 0; i max ){ max = a [ i ]; } } System. out. println( max ); }

ЗАДАЧА – найти максимум и минимум в трех массивах 33) Объявите еще два массиваЗАДАЧА – найти максимум и минимум в трех массивах 33) Объявите еще два массива и также найдите в них максимальные значения Как сказать компьютеру « Возьми массив, на который я тебе укажу, а нам отдай его максимум » ? // Создаем переменную для максимума в Васином массиве int vas_max = max. Array; // Вызов заклинания для нахождения максимума в массиве // Выводим максимум Васиного массива System. out. println(vas_max); // Создаем переменную для максимума в Петином массиве int pet_max = max. Array; // Вызов заклинания для нахождения максимума в массиве // Выводим максимум Петиного массива System. out. println(pet_max); // Создаем переменную для максимума в Анином массиве int an_max = max. Array; // Вызов заклинания для нахождения максимума в массиве // Выводим максимум Аниного массива. System. out. println(an_max); }4) Измените фрагменты нахождения максимума на следующие: Что не так? max. Array – не отличается от переменной! Надо как то указать, в каком массиве ищем максимум!

ЗАДАЧА – найти максимум и минимум в трех массивах 43) Объявите еще два массиваЗАДАЧА – найти максимум и минимум в трех массивах 43) Объявите еще два массива и также найдите в них максимальные значения Как сказать компьютеру « Возьми массив, на который я тебе укажу, а нам отдай его максимум » ? int vas_max = max. Array( vas_ar) ; System. out. println(vas_max); int pet_max = max. Array (pet_ar) ; System. out. println(pet_max); int an_max = max. Array (an_ar) ; System. out. println(an_max); }4) Измените фрагменты нахождения максимума на следующие: Исправьте свою программу!

МЕТОДЫ (или ФУНКЦИИ) 5 тип_данных_которые_метод_вернет ИМЯ_КОДА (данные_передающиеся_методу){ здесь размещаем тот код,  который мыМЕТОДЫ (или ФУНКЦИИ) 5 тип_данных_которые_метод_вернет ИМЯ_КОДА (данные_передающиеся_методу){ здесь размещаем тот код, который мы хотим, чтобы выполнялся при вызове этого метода } 5) Опишите нужную функцию в нашем примере самостоятельно (перед строкой public static void main(String[] args) max. Array(int[] ar){ for(int i = 0; i max){ max = ar[i]; } } } Работает?

МЕТОДЫ в JAVA 6 Именнованный участок кода в программировании называют термином функция.  ВМЕТОДЫ в JAVA 6 Именнованный участок кода в программировании называют термином функция. В объектно-ориентированных языках, а Java является именно таким языком, функции обязательно определены (прикреплены) в каком-либо классе, эта особенность (принадлежность функции классу) отразилась в том, что функцию называют методом. Так и говорят: “ у этого класса есть следующие методы ” или “ эти методы находятся в данном классе ” или “ э тот метод из данного класса, определен в данном классе ”. Так же могут сказать, что “ метод принадлежит классу ”.

МЕТОДЫ (или ФУНКЦИИ) 7 Функцию можно определять в любом месте тела класса, то есть,МЕТОДЫ (или ФУНКЦИИ) 7 Функцию можно определять в любом месте тела класса, то есть, другими словами, внутри фигурных скобок класса.

МЕТОДЫ СТАТИЧЕСКИЕ 8 Статические методы отличаются от не статических (обычных) в Java  тем,МЕТОДЫ СТАТИЧЕСКИЕ 8 Статические методы отличаются от не статических (обычных) в Java тем, что они могут быть вызваны из сторонних классов, без создания объекта класса — напрямую, через имя класса. Например метод max. Array можно вызывать из другого класса так: int [] m = new int [10]; // … Пропущен код заполнение массива int k ; k = Example 1. max. Array ( m ); // Обращение к статическому методу через имя класса в котором он определен Для не статических (обычных) методов нам необходимо создать сначала объект класса и через него вызывать такой метод: int [] m = new int [10]; // … Пропущен код заполнение массива int k ; Example 1 pr ; // Определение переменной класса Example 1 pr = new Example 1(); // Создание объекта класса Example 1 k = pr. max. Array( m ); // Обращение к методу объекта. Исправьте свою программу, чтобы она работала верно!

Самостоятельная работа 96) Создайте метод для заполнения массива случайными числами. Исправьте свою программу, чтобыСамостоятельная работа 96) Создайте метод для заполнения массива случайными числами. Исправьте свою программу, чтобы массив заполнялся путем вызова данного метода. static int[] rand. Array(int[] ar){ int max. Range = 100; for(int i = 0; i < ar. length; i++){ ar[i] = (int) (Math. random() * (max. Range + 1)); System. out. print("\t" + ar[i]); } return ar; // Возвращаем массив } // Конец метода rand. Array

Самостоятельная работа 107) Исправьте описание функции следующим образом static int [] rand. Array( intСамостоятельная работа 107) Исправьте описание функции следующим образом static int [] rand. Array( int [] ar , int max. Range ){ // Метод rand. Array уже с двумя параметрами. for ( int i = 0; i < ar. length ; i ++){ ar [ i ] = ( int ) (Math. random () * ( max. Range + 1)); System. out. print( "\t" + ar [ i ]); } return ar ; // Возвращаем массив } // Конец метода rand. Array 8) Попробуйте самостоятельно исправить вызов функции. Что необходимо сделать? int d = 10; an_ar = rand. Array ( an_ar , d );

ФОРМАЛЬНЫЕ И ФАКТИЧЕСКИЕ ПАРАМЕТРЫ 11 Формальные параметры  - это те переменные,  которыеФОРМАЛЬНЫЕ И ФАКТИЧЕСКИЕ ПАРАМЕТРЫ 11 Формальные параметры — это те переменные, которые мы указывает при определении метода (то, что в скобках). В нашем примере в методе rand. Array формальные параметры, это: ar и max. Range. В методе max. Array — это переменная ar. Фактические параметры — это те параметры, что мы указываем при вызове метода. Например, в строке кода: vas_ar = rand. Array ( vas_ar , d ); фактические параметры — это переменные vas_ar и d.

ФОРМАЛЬНЫЕ И ФАКТИЧЕСКИЕ ПАРАМЕТРЫ 12 В Java, если параметры функции примитивного типа (byte, short,ФОРМАЛЬНЫЕ И ФАКТИЧЕСКИЕ ПАРАМЕТРЫ 12 В Java, если параметры функции примитивного типа (byte, short, int, long, float, double, boolean, char), то они всегда передаются по значению. Все остальные типы данных в Java — это объекты, и они передаются по ссылке. При передаче параметров по значению изменения формальных параметров внутри метода никак не отражаются на фактических параметрах в вызвавшем его методе. При передаче параметра по ссылке противоположная ситуация — все изменения внутри вызываемого метода отражаются на фактическом параметре. Это значит, что в методе rand. Array параметр ar (массив — это не примитивный тип) является возвращаемым , т. е. все изменения формального параметра отразятся на фактическом, значит необходимости возвращать массив явно, т. е. писать return ar ;

ПРОЦЕДУРЫ 9) Исправьте метод заполнения массива на пустой (ничего не возвращающий) – аналог процедурыПРОЦЕДУРЫ 9) Исправьте метод заполнения массива на пустой (ничего не возвращающий) – аналог процедуры в Паскале static void rand. Array( int [] ar , int max. Range ){ // Метод rand. Array for ( int i = 0; i < ar. length ; i ++){ ar [ i ] = ( int ) (Math. random () * ( max. Range + 1)); System. out. print( "\t" + ar [ i ]); } } // Конец метода rand. Array