вторник, 23 февраля 2016 г.

Урок 23. Поиск минимума и максимума в массиве

ПОСЛЕДОВАТЕЛЬНЫЙ ПОИСК В МАССИВЕ

В программировании поиск - одна из наиболее часто встречающихся задач невычислительного характера.

Предположим, что в некотором массиве хранятся результаты забега на 100 метров.


  • Необходимо выяснить, кто занял первое место.
  • Необходимо выяснить, кто занял 1, 2, 3 место
  • Необходимо выяснить, насколько победитель пробежал быстрее самого слабого участника 
Все эти задачи сводятся к поиску максимального и   минимального значения элемента массива
Компьютер не может сравнить разом весь ряд объектов. На каждом шаге он может сравнивать только два объекта. Поэтому в программе необходимо организовать последовательный просмотр элементов массива и сравнение значения очередного просматриваемого элемента с некоторым образцом

Пример программы поиска первого минимума
Пример программы поиска последнего максимума

Работа на ПК в классе:

Выполните в классе задание на поиск экстремумов
Вариант 1, 2 для 9а; Вариант 3, 4 для 9б 

Домашнее задание

На следующем уроке 2.03.16 - контрольная работа по Паскалю. Готовьтесь!
Прислать учителю информатики до 29.02.2016 (понедельник) до 23.00 по школьной эл почте письмо-отчет о выполнении домашнего задания. Задание находится ЗДЕСЬ. 

вторник, 16 февраля 2016 г.

Урок 22. Паскаль. Оператор цикла FOR. Случайные числа

ЦИКЛ FOR -  ЦИКЛ С ЗАДАННЫМ ЧИСЛОМ ПОВТОРЕНИЙ, ЦИКЛ С ПАРАМЕТРОМ

Оператор цикла for имеет одну из двух форм:
for переменная := начальное значение to конечное значение do
  
оператор
или

for переменная := начальное значение downto конечное значение do
  
оператор
Текст от слова for до слова do включительно называется заголовком цикла, а оператор после do - телом цикла. Переменная после слова for называется параметром цикла.
Для первой формы цикла с ключевым словом to параметр цикла меняется от начального значения до конечного значения, увеличиваясь всякий раз на единицу, а для второй формы ключевым словом downto - уменьшаясь на единицу.
Для каждого значения переменной-параметра выполняется тело цикла. Однократное повторение тела цикла называется итерацией цикла. Значение параметра цикла после завершения цикла считается неопределенным.

Если для цикла for ... to начальное значение переменной цикла больше конечного значения или для цикла for ... downto начальное значение переменной цикла меньше конечного значения, то тело цикла не выполнится ни разу.

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

ЗАПОЛНЕНИЕ МАССИВА

Цикл for ... to или for ... downto удобно использовать для работы с массивами: для заполнения, для поиска элементов с заданными свойствами.
1. Заполнение массива из 10 элементов вводом значений с клавиатуры
    for i:=10 downto 1 do read ( a[i] ); // заполнение от 10 элемента до 1
2. Заполнение массива из 10 элементов с помощью оператора присваивания
     for i:=1 to 10 do a[i]:=i+2; // заполнение от 1 элемента до 10
3. Заполнение массива из 10 элементов случайными числами
     randomize; // активизация датчика случайных чисел
     for i:=1 to 10 do a[i]:=random(100); // каждый элемент - случайное число [ 0;100 )

Работа на ПК в классе:

1. Вариант 1, 2 для 9а; Вариант 3, 4 для 9б 
2. Те, кто выделен в отдельную группу, работают по индивидуальному заданию Pas22_0_cl.pas
Показать работающую программу учителю


Домашнее задание

Прислать учителю информатики до 22.02.2016 (понедельник) до 23.00 по школьной эл почте письмо-отчет о выполнении домашнего задания. Задание находится ЗДЕСЬ. Те, кто пришлет задание ПОЗДНЕЕ, могут рассчитывать только на 3.

вторник, 2 февраля 2016 г.

Урок 20. Массивы

До сих пор в Паскале вы имели дело с простыми типами данных. К простым типам относятся порядковые (целые, логические, символьные)  и вещественные типы данных

Сегодня мы переходим к изучению массивов. Массивы относятся к  структурированным типам данных.

Массив представляет собой набор элементов одного типа, каждый из которых имеет свой номер, называемый индексом (индексов может быть несколько, тогда массив называется многомерным). Индекс определяет положение элемента в массиве.

Перед использованием в программе массив должен быть описан, то есть должно быть указано имя массива, количество элементов и их тип. Это необходимо для того, чтобы выделить участок памяти нужного размера для хранения элементов массива. Общий вид описания массива:
var  <имя_массива>: array [<мин_зн_индекса> .. <макс_зн_индекса>] of <тип_элементов>;
Тип индекса обязательно представляет собой интервальный тип и обязательно должен задаваться в виде a..b, где a и b - константные выражения целого, символьного или перечислимого типа.
Например, массивы a1,a2 состоят каждый из 10 целочисленных элементов, а массив b состоит из 6 вещественных чисел:
var
  a1,a2: array [1..10] of integer;
  b: array [0 .. 5] of real;
В программе к элементу массива a1 с номером i следует обращаться так: a1[i]
 
Переменные-массивы одного типа можно присваивать друг другу, при этом будет производиться копирование содержимого одного массива в другой:
a1:=a2;

В качестве примера напишем программу Pas20_0_cl.pas по следующему заданию:
Заполнить массив из 10 элементов целыми  числами от 3 до 12.
Массив объявлен как var arr00: array [1..10] of  integer. Вывести значения элементов массива на экран в одну строку через знаки  ; . Сосчитать сумму элементов,  вывести сумму на экран с новой строки.

Работа на ПК в классе:

1. Отладить программу  Pas20_0_cl.pas, показать учителю
2. Далее работаем по вариантам Вариант 1, 2 для 9а;   Вариант 3, 4 для 9б 

Домашнее задание

Прислать учителю информатики до 8.02.2016 (понедельник) до 23.00 по школьной эл почте письмо-отчет о выполнении домашнего задания. Задание находится ЗДЕСЬ. Тем, кто пришлет задание ПОЗДНЕЕ, оценка будет снижена.