среда, 31 марта 2021 г.

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

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

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

Синтаксис цикла 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. Измените программу так, чтобы она считала еще и сумму чисел, которые выведены на печать

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

  ссылка на ДЗ здесь 




среда, 17 марта 2021 г.

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

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


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

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


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

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

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

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

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

Домашнего задания нет

среда, 10 марта 2021 г.

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

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

Существует 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.

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

  • Прислать учителю информатики до 16.03.21  до 23.00 по школьной эл почте письмо-отчет о выполнении домашнего задания.
  • Тема письма: 8 кл ДЗ к уроку 47 Паскаль  <ваша фамилия>
Задание Паскаль 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 и посмотреть, есть ли в ней инструмент Ножницы. Если есть, то создать фрагмент изображения, обведя с помощью Ножниц  часть экрана, содержащую текст программы и результат работы программы

среда, 3 марта 2021 г.

Урок 45-46. Линейные алгоритмы. Операторы ввода и вывода данных

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

1. Вывод данных из программы

Если программа хочет вывести какую-то информацию пользователю, то необходимо использовать подпрограмму вывода Write или Writeln
Write('Вы выиграли билет в театр'); //вывод сообщения на экран без перехода на другую строку
Write(sum); // вывод значения переменной sum без перехода на другую строку
 
Writeln('Купите билет в цирк', ' или в кино'); //вывод сообщения на экран и переход  на другую строку экрана
Writeln(r2, r3); // вывод значений переменных r2 и r3,  переход на другую строку экрана 

2. Ввод данных в программу

Если программа хочет получить значение переменной от пользователя, то необходимо использовать подпрограмму ввода Read или Readln
Read(a,b); //ввод значений переменных а и b с клавиатуры без перехода на другую строку
Readln(d); //ввод значения переменной d с клавиатуры и переход на другую строку
        

Работа на ПК


1. Проверьте, что на локальном компьютере в вашей папке создана вложенная папка Pascal_name, где name - ваша фамилия латинскими буквами
2. Найдите на рабочем столе ярлык PascalABC.NET, запустите приложение.




3. Составьте программу, которая рисует прямоугольный треугольник со стороной *****
4. Сохраните текст программы на локальном компьютере в папке Pascal_name под именем Pas8_cl_02_name.pas
5. Составьте программу, которая выведет следующий рисунок
  ж
 жжж
жжжжж
шш шш
шш шш

6. Сохраните текст программы на локальном компьютере в папке Pascal_name под именем Pas8_cl_03_name.pas
7. Составьте программу, которая выводит букву W
8. Сохраните текст программы на локальном компьютере в папке Pascal_name под именем Pas8_cl_04_name.pas
9. Составьте программу, которая выводит слово SOS
10. Сохраните текст программы на локальном компьютере в папке Pascal_name под именем Pas8_cl_05_name.pas

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

  1. Написать в тетради программу, которая знает, как перевести температуру из шкалы Фаренгейта в шкалу Цельсия . Дано значение температуры T в градусах Фаренгейта. Определить значение этой же температуры в градусах Цельсия. Температура по Цельсию TC и температура по Фаренгейту TF связаны следующим соотношением:

    TC = (TF − 32)·5/9.

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