воскресенье, 25 апреля 2021 г.

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

Дата проведения занятия 26.04.21 

Последовательный поиск в массиве

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

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

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

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

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

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

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


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

воскресенье, 18 апреля 2021 г.

Урок 27. Поиск минимума и максимума в массиве. Теория

Дата проведения занятия 19.04.21 

Последовательный поиск в массиве

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

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

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

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


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

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


воскресенье, 11 апреля 2021 г.

Урок 26. Решение задач с массивами. Циклы For, While

Дата проведения занятия 12.04.21
Работа на ПК в классе:

 Вариант 1, 2 для 9а, 9б; Вариант 3, 4 для 9в 


Домашнее задание
Для тренировки вам предлагаются
Задачи с сайта К. Полякова
polyakov-15-3. Напишите программу, которая в последовательности натуральных чисел определяет сумму всех чисел, кратных 7 и оканчивающихся на 2. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число: сумму всех чисел, кратных 7 и оканчивающихся на 2.
Пример работы программы:
polyakov-15-4Напишите программу, которая в последовательности целых чисел определяет количество чётных чисел, кратных 7. Программа
получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести одно число: количество чётных чисел, кратных 7.
Пример работы программы:
polyakov-15-5Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое трёхзначных чисел или сообщает, что таких чисел нет (выводит NO). Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 100. Введённые числа не превышают 300. Программа должна вывести среднее арифметическое трёхзначных чисел или вывести NO, если таких чисел нет.
Пример работы программы:

воскресенье, 4 апреля 2021 г.

Урок 25. Цикл FOR и случайные числа

Дата проведения занятия 5.04.21

Цикл FOR -  цикл с заданным числом повторений, цикл с параметром

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

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

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

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

Заполнение массива

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

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

 Вариант 1, 2 для 9а, 9б; Вариант 3, 4 для 9в 


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

Прислать учителю информатики до 10.04.21  до 23.00 по школьной эл почте письмо-отчет о выполнении домашнего задания. Задание находится ЗДЕСЬ-9pas6-hm21.

воскресенье, 28 марта 2021 г.

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

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

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

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

Перед использованием в программе массив должен быть описан, то есть должно быть указано имя массива, количество элементов и их тип. Это необходимо для того, чтобы выделить участок памяти нужного размера для хранения элементов массива. Общий вид описания массива:
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а, 9в;   Вариант 3, 4 для 9б


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

Прислать учителю информатики до 3.04.21 до 23.00 по школьной эл почте письмо-отчет о выполнении домашнего задания. Задание находится ЗДЕСЬ-9pas5-hm21.

воскресенье, 14 марта 2021 г.

Урок 23. Оператор цикла WHILE

Дата проведения занятия 15.03.21

Оператор WHILE - цикл с условием

Синтаксис (справка по Паскалю, цикл с условием)
Оператор цикла while имеет следующую форму:
while условие do
  
оператор
Условие представляет собой выражение логического типа, а оператор после do называется телом цикла. Перед каждой итерацией цикла условие вычисляется, и если оно истинно, то выполняется тело цикла, в противном случае происходит выход из цикла.
Если вместо одного оператора в теле цикла требуется выполнить несколько операторов, то используется блок команд begin...end.
Если условие всегда оказывается истинным, то может произойти зацикливание:
while 2>1 do
    write(1);


Чтобы прервать зациклившуюся программу, выполняющуюся из интегрированной среды в режиме связи с оболочкой, следует использовать комбинацию клавиш Ctrl-F2 или пункт меню Программа/Завершить

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

Правила оформления программы
  1. Программу следует  начать с комментария, в котором содержится условие задачи и набор тестовых данных. Тестовые данные — это те данные, на которых надо проверять работу программы
  2. Программу следует отформатировать (кнопка 4 справа)
  3. Программу следует сопровождать комментариями по тексту
  4. Программу следует начать с приветствия
writeln ('Вас приветствует программа Петрова П');
Варианты назначает учитель
Вариант 1: Выполнить  While7, While14сохранить в своей папке Pascal  на локальном диске  
Вариант 2: Выполнить  While8, While13сохранить в своей папке Pascal  на локальном диске 
Вариант 3: Выполнить  задачи с сайта К. Полякова, сохранить в своей папке Pascal  на локальном диске
polyakov-15-1. Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 3 и оканчивающихся на 2. Программа получает на вход количество чисел в последовательности, а затем сами числа.
Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести одно число: количество чисел, кратных 3 и оканчивающихся на 2.
Пример работы программы:
polyakov-15-2.Напишите программу, которая в последовательности натуральных чисел определяет сумму всех чисел, кратных 6 и оканчивающихся на 4. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число: сумму всех чисел, кратных 6 и оканчивающихся на 4.
Пример работы программы:

воскресенье, 28 февраля 2021 г.

Урок 22. Повторение. Оператор ветвления IF. Оператор цикла While

Дата проведения занятия 1.03.21, 15.03.21
Часть 1. Теория. Повторение - законспектировать дома
1.1. Оператор ветвления IF
 Оператор ветвления называется также условным оператором, оператором разветвления

Синтаксис (справка по Паскалю, условный оператор)
Оператор имеет полную форму и краткую форму

if  условие then оператор1 else оператор2 { полный оператор, разветвление}

if  условие then оператор { неполный оператор, обход}
Каждое ключевое слово else, для которого выбор соответствующего ему if неоднозначен, должно считаться относящимся к ближайшему if, для которого нет соответствующего ему else.
В случае конструкции вида
if условие1 then 
    if
 условие2 then оператор1
    else оператор2
else всегда относится к ближайшему предыдущему оператору if, для которого ветка else еще не указана.
Условный оператор работает как обычно: 
1.      Проверяется выражение, которое является условием.
2.      Если условие истинно (true), выполняется оператор1, иначе (false) — оператор2.
Операторы  оператор1 и оператор2 никогда не выполняются вместе — работает только один из них. После выполнения условного оператора управление передается на оператор, который следует за условным.
Вместо одного оператора оператор1 может использоваться блок команд begin...end.

1.2. Оператор WHILE - цикл с условием

Синтаксис (справка по Паскалю, цикл с условием)
Оператор цикла while имеет следующую форму:
while условие do
  
оператор
Условие представляет собой выражение логического типа, а оператор после do называется телом цикла. Перед каждой итерацией цикла условие вычисляется, и если оно истинно, то выполняется тело цикла, в противном случае происходит выход из цикла.
Если вместо одного оператора в теле цикла требуется выполнить несколько операторов, то используется блок команд begin...end.
Если условие всегда оказывается истинным, то может произойти зацикливание:
while 2>1 do
    write(1);


Чтобы прервать зациклившуюся программу, выполняющуюся из интегрированной среды в режиме связи с оболочкой, следует использовать комбинацию клавиш Ctrl-F2 или пункт меню Программа/Завершить

Часть 2. Работа на ПК в классе:

Правила оформления программы
  1. Программу следует  начать с комментария, в котором содержится условие задачи и набор тестовых данных. Тестовые данные — это те данные, на которых надо проверять работу программы
  2. Программу следует отформатировать (кнопка 4 справа)
  3. Программу следует сопровождать комментариями по тексту
  4. Программу следует начать с приветствия
writeln ('Вас приветствует программа Петрова П');
Варианты назначает учитель
Вариант 1: Выполнить  If2, While7, Integer1, сохранить в своей папке Pascal  на локальном диске  
Вариант 2: Выполнить  If2, While8, Integer2, сохранить в своей папке Pascal  на локальном диске 
Вариант 3: Выполнить  If10, While9, Integer12, сохранить в своей папке Pascal  на локальном диске

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


  • Законспектировать Часть 1 - Теорию
  • Прислать учителю информатики до 13.03.21 до 23.00 по школьной эл почте письмо-отчет о выполнении домашнего задания. Задание находится ЗДЕСЬ-9pas3-hm21