вторник, 26 апреля 2022 г.

Урок 55-56. Решение задач с оператором While

 Дата проведения занятия 27.04.22
Часть 1. Видеоконференция
1. Повторяем операции div, mod
  1. Как проверить, делится ли число на 7? на 3? на 19?
  2. Как проверить, является ли число нечетным?
  3. Как выделить младшую цифру любого числа?
  4. Как выделить старшую цифру любого числа? Что еще надо узнать об этом числе?
  5. Как выделить среднюю цифру трехзначного числа?
  6. Решить примеры
x1:=512 div 10
x2:=236 div 5
x3:=236 div 100
x4:=4095 mod 2
x5:=2346 mod 10
x6:=2346 div 1000

 

2. Вспоминаем, какие существуют алгоритмические конструкции

 
3. Продолжаем решать задачи с использованием цикла While
Давайте посмотрим, как по-разному решают одну и ту же задачу человек и компьютер.
   Задача: найти сумму пяти чисел:  5  15  7  12  3
Человек напишет так:
Sum = 5+15+7+12+3
Sum =42
Компьютер одновременно может работать только с двумя объектами.
Поэтому у него получится так:
Sum:=0;
Sum:=Sum+5;    // взять старое значение Sum:=0 и увеличить на 5
Sum:=Sum+15;  // взять старое значение Sum:=5 и увеличить на 15
Sum:=Sum+7;   //  взять старое значение Sum:=20 и увеличить на 7
Sum:=Sum+12;  // взять старое значение Sum:=27 и увеличить на 12
Sum:=Sum+13; //  взять старое значение Sum:=39 и увеличить на 3
Writeln (Sum);  //  вывести результат 42
Что же мы видим?
Компьютер несколько раз повторяет одни и те же действия:
"взять старое значение Sum и увеличить на Х"
Так это же цикл!

А теперь попробуем смоделировать работу кассира.
Каждый из нас ходит в магазин и расплачивается у кассы, вынимая один товар за другим.
А на индикаторе у кассира с каждой новой покупкой увеличивается значение суммы (она называется промежуточной или текущей суммой).
Когда все товары выложены из корзинки, кассир выбивает чек.

Задача While_kassa. Вычислить общую стоимость покупки, в которую входит 5 различных товаров. Стоимость очередного товара вводится командой read. Во время работы программы выводить промежуточные суммы. В конце работы вывести общую стоимость покупки
Блок-схема

Программа
program while_kassa;
var  sum: real;// общая стоимость покупки
var  num: real;// стоимость одного товара
var  j: integer;
begin
  writeln('Проходите на кассу');
  sum := 0; //вы еще ничего не купили
  j := 1;
  while j <= 5 do
  begin
    write('Введите стоимость товара:');
    readln(num);  // стоимость товара
    sum := sum + num; // это промежуточная стоимость покупки
    writeln(sum); // выводим промежуточную стоимость
    j := j + 1;  //
  end;
  writeln('стоимость покупки = ', sum );
end.





Часть 2. Самостоятельная работа

Выполните самостоятельную работу. В электронной почте прочтите письмо с вашим  вариантом. Решение вы выполняете в своих тетрадях, завтра отнесете тетрадь своему учителю информатики.

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

  • Принести 28.04.22 и сдать своему учителю информатики тетрадь с выполненной самостоятельной  работой 
  • Если что-то не получилось, написать письмо учителю информатики.
    Тема письма: 8 кл ДЗ к уроку Паскаль  5 <ваша фамилия>

вторник, 19 апреля 2022 г.

Урок 53-54. Цикл с предусловием While

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

   Мы рассмотрели алгоритмы, в которых действия выполняются последовательно.
Рассмотрели алгоритмы, в которых в зависимости от выполнения условия выполняется одна или другая ветвь программы (разветвляющиеся алгоритмы).
   Но есть много процессов, в которых некоторая последовательность действий повторяется раз за разом. Например, смена времен года. Работа нашего сердца. Трезвон будильника. Мерцание курсора на месте вставки символа...  Таким образом мы приходим к понятию цикла.
   Цикл - это многократно повторяющаяся последовательность действий. В программировании есть несколько видов циклов. Сегодня мы знакомимся с одним из них

Синтаксис цикла While 

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

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

Задания

1. Ответьте на вопросы
  
1.1. Что такое цикл?
1.2. Приведите пример двух циклических процессов (техника, природа, быт)
1.3. Сколько раз выполнится цикл? Сколько раз будет выведено Ok! ?
    while 2 > 2 do
       
writeln('Ok!')
1.4. Сколько раз выполнится цикл? Сколько раз будет выведено Yes! ?
    while 3 > 1 do
       
writeln('Yes!')
1.5. Как нужно изменить задание 1.4, чтобы цикл выполнился 5 раз?

2. Перепишите  программу While1 к себе в тетрадь и на ПК. Запустите ее.
Пример. Программа While1Программа выводит на печать числа от 1 до 10. Числа нужно разделять пробелами.
Алгоритм:
1. Объявить целочисленную вспомогательную переменную i, которая будет принимать значения от 1 до 10.
2. Определить начальное значение переменной i, равное 1.
3. До тех пор пока значение переменной i будет меньше либо равно 10, выводить текущее значение i и переходить к следующему (увеличивать значение переменно i на 1).


  
//Вывести числа от 1 до 10 через пробел

program while1;
var i: integer;  //целое число
begin
writeln ('Вас приветствует программа Петрова П');
  i := 1;  //задать начальное значение переменной i
  while (i <= 10) do
  begin
      write (i, '   ');  //Вывод значений переменной i через пробелы          
      i := i + 1;       //Увеличение значения 
переменной i на 1
  end;
end.

3. Измените программу так, чтобы она выводила на печать числа:
  от 3 до 10
  от 5 до 19
  четные числа от 2 до 24 включительно

4. Измените программу так, чтобы она считала еще и сумму чисел, которые выведены на печать

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

  • Подготовиться к контрольной работе, которая состоится 27.04.22
  • Прислать учителю информатики до 26.04.22  до 22.00 по школьной эл почте письмо-отчет о выполнении домашнего задания.
  • Тема письма: 8 кл ДЗ к уроку 53 Паскаль  <ваша фамилия>  ссылка на ДЗ здесь 



среда, 13 апреля 2022 г.

Урок 51-52. Решение задач

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


Разберем задачу
If2. Дано целое число
Если оно является положительным, то вычесть из него 8
иначе прибавить к нему 6
Вывести полученное число
Посмотрите, как может выглядеть блок-схема и  текст программы этой задачи.

Текст программы
Блок-схема


Работа на компьютере

Составить блок-схему, написать текст программы, отладить следующие программы
1. If30. Дано целое число, лежащее в диапазоне 10–999. Вывести его строку - описание вида «четное двузначное число», «нечетное трехзначное число»

2. If9. Даны две переменные вещественного типа: A, B. Перераспределить значения данных переменных так, чтобы в A оказалось меньшее из значений, а в B — большее. Вывести новые значения переменных A и B.

3. IF98. Дано целое трехзначное число. Если младшая цифра 3 и число делится на 7, то найти сумму старшей и младшей цифры, иначе найти разность старшей и младшей цифры. Вывести результат.

4. IF99. Автомат получает на вход трехзначное целое десятичное число. По полученному числу строится новое десятичное число по следующим правилам.
А. Вычисляются два новых числа: сумма старшего и среднего разрядов, а также сумма среднего и младшего разрядов.
В. Полученные два числа записываются подряд в порядке невозрастания, без разделителей.
Задание
1. Написать программу. Проверить работу программы на числах 321, 567.
2. Найти наибольшее число, при выводе которого будет выведено 1716

Домашнее задание 
  • Поскольку задание в блоге было размещено поздно, выполняете его по желанию. За выполненное задание оценка будет выставлена в журнал
  • Прислать учителю информатики до 26.04.22  до 22.00 по школьной эл почте письмо-отчет о выполнении домашнего задания.
  • Тема письма: 8 кл ДЗ к уроку 51 Паскаль  <ваша фамилия>
Задание. Решить задачи IF98, IF99, которые не успели решить в классе

вторник, 5 апреля 2022 г.

Урок 49-50. Разветвляющийся алгоритм

Дата проведения занятия 06.04.22
Ветвление алгоритмическая конструкция, в которой в зависимости от результата проверки условия ("да" или "нет") предусмотрен выбор одной из двух последовательностей действий (ветвей). 
Алгоритмы, в основе которых лежит структура "ветвления", называются разветвляющимися.
Употребляют разные названия этого алгоритма:
  • разветвляющийся
  • ветвления
  • выбора
  • условный 

Существует 2 формы разветвляющегося алгоритма :
  • полная форма
  • неполная форма 
На Паскале разветвляющийся алгоритм (полная форма) реализуется с помощью условного оператора:
if условие then 
   оператор1
else 
   оператор2

На Паскале разветвляющийся алгоритм (неполная форма) реализуется с помощью условного оператора:

if условие then   оператор


Условный оператор работает так: 
1.      Проверяется выражение, которое является условием.
2.      Если условие истинно (true), выполняется оператор1, иначе (false) — оператор2.
Операторы  оператор1 и оператор2 никогда не выполняются вместе — работает только один из них. После выполнения условного оператора управление передается на оператор, который следует за условным.

Обратите внимание: в ветке if и в ветке else стоит ТОЛЬКО ОДИН ОПЕРАТОР!
А что делать, если надо выполнить не ОДИН, а НЕСКОЛЬКО операторов? Их надо "объединить" в один оператор при помощи операторных скобок begin  end 
if условие then 
   begin
     оператор11
     оператор12
     оператор13 
   end
else 
   begin
     оператор21
     оператор22
     оператор23 
   end
 

Работа на компьютере

А теперь посмотрим, как работает  условный оператор
1. 
Составить блок-схему, написать в тетради программу pas8_cl_07_name, которая определяет, является ли введенное число четным или нечетным.
Для определения четности используется операция  a mod 2.
Алгоритм "Определение четности"
Начало
  Объявите целую переменную a
  Выведите сообщение: 'Работает программа Пети Петрова. Она определяет четность числа'
  Выведите сообщение: 'Введите число '
  Введите а
  Если а mod 2 = 0
то выведите сообщение: 'Число a=', XX, ' четное'
  иначе выведите сообщение: 'Число a=', XX, '  нечетное'
Конец

2. Составить блок-схему, написать текст программы, отладить следующие программы
1. pas8_cl_08_name. Ввести число, вывести сообщение о том, делится ли оно на 5

2. If9. Даны две переменные вещественного типа: AB. Перераспределить значения данных переменных так, чтобы в A оказалось меньшее из значений, а в B — большее. Вывести новые значения переменных A и B.

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

  • Прислать учителю информатики до 12.04.22  до 22.00 по школьной эл почте письмо-отчет о выполнении домашнего задания.
  • Тема письма: 8 кл ДЗ к уроку 49 Паскаль  <ваша фамилия>
Задание Паскаль 3. Написать и отладить 2 программы
  1. If2. Дано целое число. Если оно является положительным, то вычесть из него 8; в противном случае прибавить к нему 6. Вывести полученное число
  2. Integer8. Дано двузначное число. Вывести число, полученное при перестановке цифр исходного числа
  3. Для каждой программы в тетради начертить блок-схему   
  4. Для каждой программы после удачного выполнения сделать снимок экрана.
    Снимок экрана делать тогда, когда на экране есть результат выполнения. 
  5. К письму для каждой программы прикрепить файл программы с расширением .pas + снимок экрана (скриншот) в формате  png или jpg (не BMP!)
  6. Вариант1 получения снимка экрана: надо нажать клавишу print scrin, вставить данные  из буфера в окно программы paint, сохранить в формате png или jpg
  7. Вариант2 получения снимка экрана: найти папку Стандартные-Windows и посмотреть, есть ли в ней инструмент Ножницы. Если есть, то создать фрагмент изображения, обведя с помощью Ножниц  часть экрана, содержащую текст программы и результат работы программы