вторник, 17 декабря 2013 г.

Урок 13. Вызов подпрограмм с параметрами

Продолжаем работать с подпрограммами модуля CRT

Используя подпрограммы модуля CRT, напишите программы для следующих задач:
Задача 2. Вывести на экран цветное окно, в котором написан цветной текст, вводимый с клавиатуры.
Задача 3. Составить анкету (опросник) для сбора сведений. Собранные ответы вывести в табличном виде.
Темы анкет: 
а) День рождения школы Вопросы - 1) Имя, 2) класс, 3) сколько лет учишься в той школе, 4) отзыв о школе 
б) ДКР  Вопрос - 1) Сколько нулей в двоичной записи десятичного числа 1010?  
в) Любимые предметы Вопросы 1) Имя, 2) Какие предметы нравятся, 3) какие предметы не нравятся
Написанные программы сохранить в папке progr на локальном компьютере и загрузить на облачный диск в свою папку Программирование.

среда, 27 ноября 2013 г.

Урок 11. Переменные в подпрограммах. Параметры

В подпрограммах можно использовать переменные так же, как и в основной программе.
Как передать данные из основной программы в подпрограмму?
Один из способов -  использовать параметры подпрограммы.

Параметры подпрограммы

В заголовке подпрограммы можно описать переменные, которые будут использоваться внутри подпрограммы. Эти переменные называют параметрами.
 В заголовке можно перечислить несколько параметров. В этом случае они разделяются символом ; (точка с запятой).
Для вызова процедуры с параметром требуется указать данные, которые передаются подпрограмме для обработки, в соответствии со списком параметров. 
Примеры процедур с параметром:
Описание:
procedure PrintSquare(i: integer);  
begin writeln(i*i);end;
Тогда при вызове PrintSquare(5*a-b) значение 5*a-b будет вычислено и присвоено переменной i, после чего выполнится тело процедуры.
procedure Mult2(var a: integer);
begin
  a:=a*2;
end;
после вызова Mult(d) значение d увеличится в 2 раза.
Параметры, описываемые в заголовке подпрограммы, называют формальными.
Параметры, указываемые при вызове подпрограммы, называют фактическими. 
Типы переменных, которые используют как фактические параметры, должны совпадать с типами соответствующих формальных параметров.
Практическая работа
Домашнее задание
  1. Доделать классную работу.
  2. Написать программу для Задачи 2, предложенной на Рабочем листе Подпрограммы с параметрами. 
Свои программы загрузить в свою папку Программирование на облачным диске

среда, 20 ноября 2013 г.

Урок 10. Оформление и вызов подпрограмм. Модули подпрограмм

Как на языке Pascal оформляются подпрограммы?
Где располагаются описания подпрограмм?


Модули - библиотеки подпрограмм

В среду программирования PascalABC  включены  библиотеки  процедур для различных применений (смотрите справку среды PascalABC).
Более подробно читайте в документе

Практическая работа
  1. Задание на оформление процедур (по вариантам)
  2. В программе Sum-max-min оформить в виде подпрограммы алгоритм заполнения массива.
  3. Изменить программу Sum-max-min так, чтобы входных чисел было  а) 10, б) - указанное число n
Домашняя работа

  1. Изучить  справку к среде PascalABC - Содержание - Стандартные модули - Модуль CRT
  2. Изучить работу программы CRTColors.pas. Написать программ вывода в окно CRT рисунка

*******************

разными цветами

вторник, 12 ноября 2013 г.

Урок 9. Подпрограммы - процедуры и функции

С функциями и процедурами мы знакомились еще в Лого. Тогда мы говорили о вспомогательных алгоритмах.
В программировании часто бывает нужно одну и ту же группу команд повторять несколько раз. Если повторение происходит “на месте” — используют цикл (while, или for).
Если код (операторы) нужно повторять в разных местах программы — его оформляют в виде подпрограммы.
Подпрограмма — программа, которую можно вызывать из других программ, указав ее имя.
Подпрограмма реализует вспомогательный алгоритм.
Основная программа — программа, реализующая основной алгоритм решения задачи и содержащая в себе обращения к подпрограммам.
 Правила оформления подпрограммы на языке Pascal смотрите в документе, там же находится описание практической работы.

Практическая работа
Домашнее задание
  1. Уметь рисовать блок-схемы для процедур  max и  min
  2. В программу  Sum-max-min вставить операторы вывода  условия задачи и комментарии и проверить ее работу
  3. Изменить программу Sum-max-min так, чтобы входных чисел было
а) 10, б) указанное число n
и проверить работу программы
  1. Читать справку к среде PascalABC -
Содержание - Справочник по языку - Процедуры и функции - Описание процедур и функций

среда, 23 октября 2013 г.

Урок 8. Массивы. Зачетное задание

Зачет по теме "Обработка массивов"

Ваша работа должна быть представлена в виде проекта. В проект входят следующие работы:
  1. Решение 1-ой задачи*)
  2. Оформление проекта  на бумаге
  3. Взаимопроверка решения и оформления

Сроки выполнения:

проект - 31 октября
взаимопроверка - 14. ноября
Варианты задач для зачета разосланы по электронной почте и указаны в листе оценивания.
Тексты задач для зачета

Правила оформления по задачам

Требования к  проекту описаны в документе.
Правила оформления программы описаны в документе.

Взаимопроверка

В рамках зачета каждый учащийся должен проверить одну работу товарища по определенным критериям.
Правила взаимопроверки: каждый учащийся создает в своей папке Программирование копию документа Критерии-проверки и оценивает в нем свой проект  и проект указанного учителем учащегося.  
Примечание *) Учитывая большой объем работы и небольшое время, отведенное на зачет, сокращаю количество задач до одной - любой из указанных в письме (в листе оценивания) двух. 

вторник, 22 октября 2013 г.

Урок 7. Pascal. Массивы. Зачет

Обобщим тему "Обработка массивов"

Любая обработка массива связана с алгоритмической конструкцией ЦИКЛ. В языке Passcal есть 3 оператора, реализующих цикл:
Цикл с параметром: оператор For - скачайте и смотрите swf-ролик
Цикл с предусловием: оператор While  - скачайте и  смотрите swf-ролик 
Цикл с постусловием: оператор  repeat - можно разобрать самостоятельно
Поработайте со страницами  теста №№ 24 - 32. Справка по циклам находится на странице теста №23.
Нарисуйте в тетради блок-схемы для каждого разобранного в тесте примера.
Блок-схема в тетради - основание для оценки.

Зачет по теме "Обработка массивов"

В зачет входят следующие работы:
  1. Решение 2-х задач
  2. Оформление отчета по задачам в общем документе
  3. Взаимопроверка решения и отчета
Варианты задач для зачета разосланы по электронной почте и указаны в листе оценивания.
Правила оформления по задачам и взаимопроверки будут описаны в следующем посте.

вторник, 1 октября 2013 г.

Урок 5-6. Массивы. Поиск элемента с заданными свойствами


Массив  из символьных элементов

Массив состоит из однородных элементов одинакового типа.  В документе перечислены типы данных,  с которыми можно работать в среде Pascal.
С типами Целые,  Вещественные, Массивы мы уже работали.
Рассмотрим теперь тип Символы. в сравнении с типом Целые:
название типатип диапазон значенийРазмер в байтах
ЦелыеInteger-32768 .. 327672
СимволыCharrПолный набор ASCII символов1

Следующие стандартные функции предназначены для работы этим типом:
Стандартная функция Chr(Х) возвращает символ с числовым  кодом X.
Стандартная функция UpCase ( C ) преобразует символ C  из нижнего регистра в верхний, LowCase ( C ) преобразует символ C  из верхнего регистра в нижний.

Поиск элемента с заданными свойствами

Задачи на обработку массивов, в основном, заключаются в поиске элемента или элементов с заданными свойствами.
Алгоритмы поиска состоят из алгоритмических конструкций цикл (для организации просмотра элементов) и ветвления (для сравнения элемента с образцом).
В алгоритмах поиска есть 2 возможности окончания работы:
  • нашли элемент - поиск удачный (выводится номер элемента и/или сам элемент); 
  • необходимого элемента нет - поиск удачный (номер элемента - 0)
Алгоритмов, которые ведут к правильному результату, может быть много. В программировании принято выбирать лучший, но какой алгоритм считается более эффективным?
Признаки эффективности:
  • Сколько вычислительных ресурсов они требуют (время работы, память). 
  • Сложность  — количество элементарных действий в вычислительном процессе алгоритма
Обычно эффективность оценивается  Сложностью.