Урок тема урока: структура программы на языке паскаль. Процедуры ввода вывода. Интегрированная среда турбо паскаль icon

Урок тема урока: структура программы на языке паскаль. Процедуры ввода вывода. Интегрированная среда турбо паскаль



НазваниеУрок тема урока: структура программы на языке паскаль. Процедуры ввода вывода. Интегрированная среда турбо паскаль
Дата17.10.2016
Размер
ТипУрок




УРОК 1. ТЕМА УРОКА: СТРУКТУРА ПРОГРАММЫ НА ЯЗЫКЕ ПАСКАЛЬ. ПРОЦЕДУРЫ ВВОДА – ВЫВОДА. ИНТЕГРИРОВАННАЯ СРЕДА ТУРБО ПАСКАЛЬ.

ЦЕЛЬ УРОКА

1. Познакомить учащихся с интегрированной средой Турбо Паскаль. Научить детей работать в интегрированной среде.

2. Познакомить учащихся с элементарной структурой линейной программы на языке Паскаль.

3. Познакомить учащихся с процедурами ввода – вывода.

4. Научить детей составлять элементарную программу с использованием процедур ввода – вывода, вводить текст программы в окне редактора, редактировать программу, сохранять и запускать её на исполнение.

ОБОРУДОВАНИЕ

1. Раздаточный теоретический материал.

2. Таблицы, иллюстрации, рисунки.

3. Программное обеспечение Turbo Paskal.

4. Тесты.


^ ПЛАН УРОКА

Организационный момент.

Вступительное слово учителя.

Знакомство с интегрированной средой Турбо Паскаль

Знакомство со структурой программы на языке Паскаль.

Изучение процедур ввода – вывода.

Тестирование.

Выполнение самостоятельной работы.

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

Итог урока.

^ ХОД УРОКА

1. Организационный момент.

Здравствуйте, ребята! Сегодня мы с вами начинаем изучать очень интересную и важную тему. Мы начинаем программировать на языке Паскаль. Сегодня мы познакомимся с интегрированной средой Турбо Паскаль, с основной структурой программы и процедурами ввода- вывода.

2. Вступительное слово учителя.

Чтобы компьютер выполнил решение какой-либо задачи, ему необходимо получить от человека инструкции, как её решать. Набор таких инструкций для компьютера, направленный на решение конкретной задачи, называется, компьютерной программой.

К сожалению, компьютер не понимает программы, записанные на каком-либо употребляемом человеком языке – русском, английском, немецком… Команды, предназначенные для ЭВМ, необходимо записывать в понятной ей форме. С этой целью применяются языки программирования – искусственные языки, алфавит, словарный запас и структура которых удобны человеку и понятны компьютеру.

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

^ Языком программирования называется искусственный (формальный) язык, предназначенный для записи алгоритмов. Язык программирования задается своим описанием и реализуется в виде специальной программы: компилятора или интерпретатора.

Первая версия языка Pascal была разработана Н. Виртом в 1968 году на кафедре информатики Стэндфордского университета. Благодаря простоте общения с языком, его мощности и удобству, Pascal из учебного языка очень быстро превратился в мощное средство разработки программ. Назван язык в честь великого французского математика и физика Блеза Паскаля.

Разработка программы на Паскале состоит из следующих этапов:

- ввод и редактирование текста программы на языке Паскаль;

- трансляция программы, то есть перевод алгоритмического языка на машинный с помощью специальных программ – трансляторов;

- отладка программы.

3. Интегрированная среда Турбо Паскаль.

Систему программирования Турбо Паскаль называют интегрированной средой программирования, так как она объединяет в себе возможности различных средств, используемых при разработке программ: редактора текстов, компилятора, компоновщика, отладчика, и при этом обеспечивает программисту великолепные сервисные возможности.

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

^ ЗАПУСК ТУРБО ПАСКАЛЬ.

Ярлык ТУРБО ПАСКАЛЬ на рабочем столе. (чтобы развернуть окно на весь экран Alt+Enter)

После запуска интегрированной среды на экране отобразится окно интегрированной среды Паскаля. (Посмотрите на рисунок в раздаточном материале.) Оно состоит из нескольких видимых частей: полосы главного меню в верхней части окна, рабочей области окна в центре, строки состояния (или статус строки) внизу и в самом низу полоса подсказок, которая рассказывает о назначении некоторых клавиш.

Главное меню предназначено для выбора режима работы системы. Переход в режим работы с главным меню осуществляется клавишей F10. Это делает полосу меню активной. Выбор пункта меню приводит к появлению под его именем подменю.

^ Назначение основных пунктов главного меню.

Элемент меню

Функция

File

Операции с файлами: открывает созданные файлы, закрывает, создаёт новые файлы с программами, сохраняет файлы, распечатывает файлы, осуществляет выход в DOS; закрывает среду программирования.

Edit

Операции с фрагментами текста в окне редактора: вырезает, копирует, и вставляет текст в окне редактора, возвращает последние изменения при редактировании.

Search

Поиск фрагментов текста, подпрограмм и места обнаружения ошибок.

Run

Запускает программу, а также выполняет отдельные части программы во время её отладки.

Compile

Компилирует и собирает программы в активном окне. В случае обнаружения синтаксической ошибки выдается сообщение об этой ошибке, а курсор помещается в место её нахождения. Если ошибки не обнаружены, выдаётся сообщение об успешной компиляции.

Debug

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

Windows

Команды управления окном: открывать, закрывать, активизировать окна, размещать их в поле экрана.

Help

Позволяет получить имеющуюся в системе справочную информацию.


ПРИМЕР 1.

Откройте программу 1prim.pas

File → Open… → Name 1prim.pas → Open

Откроется следующая программа:

program prim1;

var x, y: integer;

begin

write('введите число х’ );

readln(x);

y:=2*x;

writeln('значение функции у=', y)

end.

Сохраните эту программу под именем primer.pas

^ File → Save as.. → primer.pas → ok

Отправьте программу на выполнение

Run → Run

Для просмотра выполнения программы нажмите Alt+F5 или выберите пункт меню ^ Debug → User screen.

Для того, чтобы увидеть результат действия программы, отправьте программу на выполнение несколько раз. Вы видите, что эта программа удваивает введённое с клавиатуры число.

Обратите внимание на то, что одни слова написаны белым, а другие – желтым цветом. Слова, написанные белым цветом, называются зарезервированными. Зарезервированные слова составляют основу языка и имеют строго фиксированное написание. Мы будем использовать следующие зарезервированные слова: program, var, begin, end.

Для того, чтобы выйти из среды программирования Паскаль необходимо выполнить следующие действия: в пункте меню File выбрать Exit.

4. Основная структура программы.

А теперь поговорим об общей структуре программы. В раздаточном материале это пункты 4.1 – 4.3.

Структура программы на языке Паскаль имеет следующий вид:

Program Имя;

Var

Описание переменных

Begin

Исполнительная часть

End.


4.1. У программы должно быть имя. Имя программы - это набор латинских букв и цифр (возможна группа слов, соединенных знаком подчеркивания, возможно использование цифр после букв или знака подчеркивания, нельзя использовать русские буквы, знаки препинания и пробелы между словами). Имя может быть почти произвольным, но оно не должно совпадать с ключевыми словами, то есть такие слова, как “read”, “write”, “For” не могут быть именем программы. Имя программы пишется после ключевого слова “program”. После имени программы обязательно ставится точка с запятой. Имя программы не является обязательной частью программы. Программа будет выполняться даже без этого раздела.

Пример : program proba;

Найдите имя программы в рассмотренном примере. Назовите имя программы. (program prim1;)

4.2. Раздел описания переменных. (Не является обязательной частью программы) Для каждой переменной, используемой в программе, задается ее тип. Формат описания переменных:

VAR <имя1, имя2,…>:<тип>;

В языке Turbo Pascal имеются следующие группы простых типов данных:

1) Целые типы

2) Вещественный тип

3) Перечисляемый тип

4) Тип-диапазон

5) Символьный тип

6) Логический тип

Найдите раздел описания переменных в рассмотренном примере. Назовите, какие переменные мы используем.

В примере1 мы используем переменные типа integer, это переменные целого типа. То есть, если на требование программы ввести переменную, мы введем дробное число, то программа выполнена не будет, а будет выдано сообщение об ошибке. Подробнее о типах переменных мы будем говорить позднее.

4.3. Раздел операторов. (Обязательная часть программы, без неё программа работать не будет.) Раздел операторов начинается зарезервированным словом begin (начало), далее следуют операторы языка, отделённые друг от друга точкой с запятой. Завершает раздел зарезервированное слово end. (конец) с точкой. Пред end точка с запятой не ставится.


5. Процедуры ввода – вывода.

Ввод-вывод данных связан с обменом информацией между оперативной памятью и внешними носителями информации. Как правило, программ без вывода не бывает. Для операций ввода данных в программе служат процедуры:

^ Write и writeln,.

Процедура записи Write производит вывод числовых данных, символов, строк на экран. Формат процедуры:

write(А,B,…,Z);

Где А,В,…,Z – переменные или строки символов, взятые в апостроф.

Процедура записи writeln аналогична процедуре write, но после вывода последнего в списке значения для текущей процедуры происходит переход к началу следующей строки. Процедура writeln, записанная без параметров, вызывает перевод строки без вывода каких либо данных.

Найдите процедуру вывода в рассмотренном примере. Что выводит на экран эта процедура?

write('введите число х’ ); Эта процедура выводит на экран требование ввести число х.

writeln('значение функции у=', y) Эта процедура выводит на экран текст «значение функции у=» и значение функции у. Обратите внимание на то что текст, выводимый на экран пишется в апострофах, а значение функции записывается после апострофа и запятой. Процедура writeln(y); выведет на экран только значение у без пояснительного текста.

Для операций вывода данных в программе служат процедуры:

read и readln

Процедура чтения read – обеспечивает ввод числовых данных, символов, строк и т. д. для последующей обработки программой. Формат процедуры:

read(А,B,…,Z);

где A,B,…,Z переменные. Значения переменных

набираются через один пробел на клавиатуре при выполнении программы и высвечиваются на экране. В конце набора нажимается клавиша ENTER.

Процедура чтения readln аналогична процедуре read. Отличие заключается в том, что после считывания последнего значения переменной данные для другой процедуры readln будут считываться с начала новой строки.

Найдите процедуру чтения в рассмотренном примере. Назовите, какую процедуру мы используем.

readln(x); эта процедура считывает значение х для дальнейшего использования в программе.


ПРИМЕР 2. Откройте программу 2prim.pas

program prim2;

begin

write('я изучаю Паскаль!');

end.

Отправьте программу на выполнение Run → Run. Для просмотра выполнения программы нажмите ^ Alt+F5 или выберите пункт меню Debug → User screen. Выполните несколько раз. Обратите внимание на то, что текст записан на одной строке и без пробелов между фразами. Подумайте, что нужно изменить в программе, чтобы 1) появился пробел между фразами, 2) фраза записывалась с новой строки. (Лучшие ответы учащихся нужно отметить)

1) вставить пробел внутри апострофов до или после фразы:

program prim2;

begin

write(' я изучаю Паскаль! ')

end.

2) процедуру write заменить процедурой writeln

program prim2;

begin

writeln('я изучаю Паскаль!')

end.

Добавьте строку, выводящую на экран символы ***. Добавьте пустую строку. Измените имя программы.

Внесите изменения в программу, сохраните изменения File → Save и просмотрите выполнение Debug → User screen.

Дополнительное задание. Ввести два числа и вывести их в обратном порядке. В качестве основы используйте программу prim1.

6. Выполните тест.

1) Найдите неверно записанное имя программы

А) program ert_1;

Б) program _8_a_kl;

В) program я учу Паскаль;

Г) program ert_1;

2) Найдите неверно записанное зарезервированное слово:

А) read

Б) writeln

В) begin

Г) programma

3) Помещает на экран текст с последующим переводом курсора к началу следующей строки процедура:

А) write

Б) writeln

В) read

Г) readln

4) В каком разделе описания программы на языке Паскаль можно использовать процедуру чтения read

А) в разделе выполняемых операторов;

Б) в разделе описания переменных;

В) в разделе имени программы;

Г) в любом из перечисленных разделов.

Справившиеся с тестом приступают к выполнению самостоятельной работы.

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

Откройте в среде Паскаль программу 1_1osn.pas и измените её так, чтобы на экран были выведены следующие строки:

Заметает пурга

Белый путь.

Хочет в мягких снегах

Потонуть.

С. Есенин.

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

1. Прочтите теоретический материал, изученный на уроке.

2. Ответьте на вопросы:

1) Назовите известные вам процедуры ввода (считывания информации). Чем они отличаются?

2) Назовите известные вам процедуры вывода. Чем они отличаются?

^ 3) Из каких частей состоит структура программы на языке Паскаль?

4) Какие части являются обязательными, а какие необязательными в программе?

3. Напишите в тетради программу, выводящую на экран сведения о вас (резюме). ФИО, адрес и т.д. Используйте при этом различные символы (*, #, &)

Учитель сообщает оценки, поставленные во время урока.

9. Итог урока.

Итак, что нового мы сегодня узнали и чему научились на уроке? Мы познакомились с интегрированной средой Турбо Паскаль, с процедурами ввода-вывода, научились писать программу с использованием процедур ввода-вывода.


УРОК 2

^ ТЕМА УРОКА: Оператор присваивания. Стандартные типы данных. Математические действия, применяемые в Паскале. Комментарии. Символы и правила пунктуации в Паскале.

^ ЦЕЛЬ УРОКА

1.Познакомить учащихся с оператором присваивания.

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

^ 3.Научить детей использовать математические действия в программах.

4.Научить детей решать задачи, используя комментарии.

ОБОРУДОВАНИЕ

1.Программное обеспечение Turbo Paskal.

2.Раздаточный теоретический материал.

3.Таблицы.

4. Тесты.


^ ПЛАН УРОКА

Организационный момент.

Проверка домашнего задания.

Устный опрос по пройденному материалу.

Повторение основных элементов интегрированной среды Турбо Паскаль.

Знакомство с командой присваивания.

Изучение стандартных типов данных.

Использование математических действий, применяемых в Паскале.

Применение комментариев, символов; правила пунктуации в Паскале.

Решение задач.

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

Тестирование.

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

Итог урока.


^ ХОД УРОКА

Организационный момент.

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

^ Проверка домашнего задания.

Дома вы должны были написать программу, выводящую на экран сведения о вас (резюме). ФИО, адрес и т.д. Используя при этом различные символы (*, #, &)

Какие возникли вопросы при выполнении домашнего задания?

Проведем взаимопроверку домашнего задания. (Учащиеся обмениваются программами, написанными дома в тетрадях и выполняют проверку)

^ 3. Устный опрос по пройденному материалу.

1)Назовите известные вам процедуры ввода (считывания информации). Чем они отличаются?

2)Назовите известные вам процедуры вывода. Чем они отличаются?

3)Из каких частей состоит структура программы на языке Паскаль?

4)Какие части являются обязательными, а какие необязательными в программе?

^ 4. Повторение основных элементов интегрированной среды Турбо Паскаль.

Откройте среду Турбо Паскаль. (двойной щелчок по ярлыку Турбо Паскаль на рабочем столе) Откройте программу 1prim.pas и отправьте её на исполнение. Какие действия при этом вы выполняете? (Run →Run) Что нужно сделать, чтобы сохранить эту программу под другим именем?( File →Save as..)

^ 5. Знакомство с командой присваивания.

Записывается команда так:

<переменная> := <выражение> ;

<переменная> - любая допустимая переменная в языке Pascal,

<выражение> - любое выражение того же типа, что и переменная.

Примеры:

a := 10.0 ;

b:=x+y;

Команда присваивания выполняет следующие действия:

1. Вычисляет значение выражения, стоящего справа от знака ":="

2. Присваивает переменной определённое значение.

Примеры неправильной записи операторов присваивания.

s + k := 10 ; {слева от знака "=" не переменная}

a > b ; {нет знака ":=". Синтаксически неверная запись}

a := WriteLn(b) ; {справа от знака "=" не выражение}


Откройте программу prim1. (1prim.pas) и найдите команду присваивания. Какое действие выполняет эта команда?

program prim1;

var x, y: integer;

begin

write('введите число х’ );

readln(x);

y:=2*x;

writeln('значение функции у=', y)

end.

Мы видим, что команда присваивания используется при вычислении значения переменной y, и выглядит следующим образом: y:=2*x;

Знак * в Паскале обозначает умножение. Значит, переменной у присваивается удвоенное значение х.


^ 6. Изучение стандартных типов данных.

Данные в Pascal бывают различных типов, чаще всего употребляют стандартные, которые включают числовые, строковые, символьные и другие. Любые данное, будь то константа, переменная или что-либо еще, - относится к одному из типов, определённых в языке Паскаль.

В свою очередь, числовые данные подразделяются на целочисленный и вещественный тип.

Числовые данные иначе называют арифметическими, строковые - текстовыми.

В языке Turbo Pascal имеются различные группы простых типов данных:

1) Целые типы

2) Вещественный тип

3) Символьный тип

и другие.


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


Целые типы.

Для объявления переменных, предназначенных для хранения целых чисел, в языке Turbo Pascal могут быть использованы пять идентификаторов стандартных типов. Тип переменных должен быть описан перед тем, как с переменными будут выполняться какие-либо действия. Этим мы как бы объявляем компьютеру, какие ячейки памяти мы собираемся использовать для хранения данных в своей программе.

Имя типа

Размер в байтах

Диапазон

shortint

1

-128…127

integer

2

-32768…32767

longint

4

-2147483648…2147483647

byte

1

0…255

word

2

0…65535


^ Вещественные типы.

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

Имя типа

Размер в байтах

Диапазон

Число значащих цифр

real

6

2.9*10-39…1.7*1038

11-12


7. Использование математические действий, применяемых в Паскале.

Над переменными целого и вещественного типов определены арифметические операции:

+(сложение)

* (умножение)

- (вычитание)

/(деление)

операции отношения:

< (меньше)

> (больше)

= (равно)

<> (не равно)

<=(меньше или равно)

>=(больше или равно)

Для целого типа дополнительно определены операции DIV и MOD.

DIV (получение целого частного от деления двух чисел)

MOD (получение целого остатка от целочисленного деления)

Например: 7 DIV 2=3

7 MOD 2=1

С аргументами целого и вещественного типов используются следующие стандартные функции.

ABS(X) модуль Х

FRAC(X) дробная часть числа

INT(X) целая часть числа

SQRT(X) корень квадратный из числа Х

SQR(X) квадрат числа Х

SIN(X) синус Х

COS(X) косинус Х

Pi константа π=3.1415926535897932385

Выражения в Паскале записываются в строку (вспомните запись в алгоритмах). Например: выражение в Паскале запишется как следующая строка: (а*b-c)/(a+c/b), так как программа может одновременно воспринимать только один символ, а не три (если читать дробное выражение слева направо, то мы видим сразу три символа «а» в числителе, черту дроби и «а» в знаменателе)

Программа, которая вычислит квадратный корень из выражения Х2+3, то есть найдет значение выражения , будет выглядеть следующим образом:


^ Program prim3;

Var

x,y:real;

Begin

write(‘Введите число x’);

read(x);

y:=SQRT(SQR(X)+3);

write(‘полученный результат’,y:6:3)

End.

Откройте программу prim3. (В окне Турбо Паскаль Faile → open → prim3.pas) и просмотрите её исполнение (Run →Run).

Вы, конечно, обратили внимание на запись y:6:3. Эта запись называется форматом переменной.

В общем случае формат имеет следующий вид:

r:a:b


Здесь r - имя переменной, значение которой выводится (в данном случае - y), формат a указывает, сколько позиций нужно для всего числа, включая знак числа, целую часть, точку и дробную часть числа; b - число позиций дробной части числа (после точки).

Если формат указан, то значение переменной r выводится в виде константы с фиксированной запятой, например: 12.35, 0.123. Если параметры a и b опущены, то вещественная переменная выводится в виде константы с плавающей запятой, например: 2.534E03, 5.67E-12 и т.п. В этом случае значения a и b устанавливается по умолчанию.

^ 8. Применение комментариев, символов; правила пунктуации в Паскале.

Комментарии.

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

Комментарии – это тексты, объясняющие программу, но не влияющие на её исполнение. Это различные объяснения, заголовки отдельных частей программы и т. д. Компьютер печатает комментарии вместе с текстом программы, но, выполняя программу, игнорирует их. Программа выполняется так, словно комментариев нет.

Если в программе отсутствуют комментарии, то это делает ее непонятной. Паскаль предусматривает располагать комментарии между фигурными скобками { ... }. Всё, что находится в скобках, при выполнении программы игнорируется, но сохраняется в программе.

Программа prim3 с комментариями будет выглядеть так:

^ Program prim3; {имя программы}

Var {раздел описания переменных}

x,y:real; {переменные х и у вещественного типа}

Begin {начало раздела основной части программы}

write(‘Введите число x’); {на экране требование ввести число х}

read(x); {считывается значение переменной х}

y:=SQRT(SQR(X)+3); {переменной у присваивается значение }

write(‘полученный результат’,y:6:3) {вывод на экран значения переменной у}

End. {конец программы}

Символы и правила пунктуации в Паскале.

Текст программы на языке Турбо-Паскаль формируется из букв, цифр и специальных символов.

^ Буквы:

A B C D E F G H I J K L M N O P R S T U V W X Y Z, a b c d e f g h I j k l m n o p r s t u v w x y z и пробел.

Цифры:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

Специальные символы:

+ - * / = < > [ ] \ ? ( ) : ; Ù @ { } $ #

Комбинации специальных символов образуют составные символы:

<= >= := .. (* *) (. .)


^ Правила пунктуации.

При записи операторов необходимо соблюдать следующие правила пунктуации:

  1. Точка с запятой не ставится в разделах описаний после зарезервированных слов var и ставится после завершения каждого описания.

  2. Точка с запятой не ставится после begin и перед end, так как эти слова являются операторными скобками, а не операторами.

  3. Точка с запятой является разграничителем операторов, её отсутствие между операторами вызывает ошибку компиляции.

  4. В операторах цикла точка с запятой не ставится после while, repeat, do и перед until.

  5. В условных операторах точка с запятой не ставится после then и перед else.

С большинством из перечисленных операторов мы пока не знакомы. С некоторыми из них мы познакомимся на ближайших уроках.


^ 9. Решение задач.

ЗАДАЧА 1. Найти путь, пройденный автомобилем за заданное время. Значение средней скорости и время движения вводятся с клавиатуры.

Моделирование ситуации. Мы с вами знаем, что для того чтобы найти расстояние нужно скорость умножить на время, из курса физики мы помним, что путь обозначают S, скорость V, время t, формула пути S=V*t.

Компьютеру же всё равно, какие величины и какими символами мы будем обозначать. Главный вопрос состоит в том, откуда эти величины вводятся и какие действия нужно с ними производить. По условию задачи величины вводятся с клавиатуры и нужно вычислить произведение этих величин. При решении задачи можно использовать натуральные числа (типа integer) или рациональные числа (типа real). Таким образом, программа вычисления пути будет выглядеть так:

^ Program skorost;

Var

a,b,c:real; {вещественные переменные, a-скорость, b-время, с-расстояние}

Begin

writeln(‘Введите скорость’);{на экран выводится требование ввести скорость}

readln(a); {компьютер считывает значение переменной}

writeln(‘Введите время’); {на экран выводится требование ввести время}

readln(b); { компьютер считывает значение переменной }

c:=a*b; {вычисление значения пути}

writeln(‘путь S=’,c:6:2) { на экран выводится значение скорости с двумя знаками после запятой}

End.

ЗАДАЧА 2.Определить вес багажа игроков баскетбольной команды.

Моделирование ситуации. Какие данные нам необходимы? Нужно ли нам знать фамилии, имена, возраст игроков; важна ли эта информация для компьютера? А какая информация компьютеру нужна? (Нужно знать вес багажа каждого игрока) Компьютер должен найти сумму введенных величин. Эти величины могут быть и целыми, но лучше взять вещественные переменные.

Программа может иметь следующий вид.

Эта программа удобна для пользователя, но слишком громоздка. Более короткий вариант будет выглядеть следующим образом.

^ Program bagag1;

Var

a,b,c,d,e,f,s:real; {вещественные переменные, a-вес багажа первого игрока, b-второго, с-третьего, d-четвертого, e-пятого, f-шестого, s-общий вес}

^ Begin

writeln(‘Введите вес багажа каждого игрока, после каждого числа нажмите ENTER’);

read(a,b,c,d,e,f); {компьютер считывает значения переменных}

s:=a+b+c+d+e+f; {вычисление значения суммы}

write(‘общий вес багажа’,s:6:2) { на экран выводится значение суммы с двумя знаками после запятой}

End.

^ 10.Самостоятельная работа.

Напишите программу для решения задачи:

  1. вариант. В школьном коридоре длиной 56 м нужно выкрасить пол. Выкрасив часть коридора длиной 22 м, израсходовали А кг краски. Сколько еще нужно краски, докрасить коридор?

  2. Вариант. От станции до озера S км. Туристы, направляясь от станции к озеру, полтора часа шли пешком со скоростью А км, а затем сели на попутную машину, которая ехала со скоростью В км/ч. За какое время туристы добрались до озера?


11. Тестирование.

Ответьте на вопросы:

  1. Каков будет результат деления 10 mod 3

А)1
Б)3
В)2
Г)9

  1. Какие из приведенных операций и функций не используются с переменными целых типов

А)sqr(x)

Б)*

В)/

Г)+

  1. Каков будет результат деления 10 div 3

А)1

Б)3

В)2

Г)9

  1. Какие операторы записаны правильно

А)L=0;

Б)X*Y:=Y*X;

В)Д:=1;

Г)X:=X+Y;

Ответы: 1. А)

2. В)

3. Б)

4. Г)

^ 12. Домашнее задание.

1. Прочтите теоретический раздаточный материал.

2. Ответьте на следующие вопросы:

1) Как записывается оператор, называемый оператором присваивания?

2) Какие действия выполняет оператор присваивания?

3) Назовите известные вам типы переменных, используемых в паскале.

4) Какие математические действия можно выполнять с переменными типа real?

5) Какие математические действия можно выполнять с переменными типа word?

6) Как записываются в языке Паскаль комментарии и для чего они предназначены?

7) Какими символами нельзя пользоваться при написании программы на языке Паскаль?

3. Напишите программу, которая вычислит среднюю дневную температуру за неделю.

Учитель сообщает оценки, поставленные во время урока.


^ 13. Итог урока.

Сегодня на уроке мы познакомились с командой присваивания. Изучили стандартные типы данных. Научились использовать математические действия, применяемые в Паскале. Познакомились с применением комментариев, символов; с правилами пунктуации в Паскале. Научились решать задачи, записывать линейную программу на Паскале.


УРОК 3

^ ТЕМА УРОКА: ОРГАНИЗАЦИЯ ПРОГРАММ РАЗВЕТВЛЯЮЩЕЙСЯ СТРУКТУРЫ. УСЛОВНЫЙ ОПЕРАТОР.

ЦЕЛЬ УРОКА

1. Познакомить учащихся с организацией программ разветвляющейся структуры.

2. Познакомить учащихся с условным оператором программы на языке Паскаль, его полной и неполной формой.

3. Научить детей составлять элементарную программу с использованием условного оператора.

4. Научить детей решать задачи с использованием условного оператора.

ОБОРУДОВАНИЕ

1. Раздаточный теоретический материал.

2. Таблицы, иллюстрации, рисунки.

3. Программное обеспечение Турбо Paskal.

4. Тесты.

^ ПЛАН УРОКА

1. Организационный момент.

2. Проверка домашнего задания.

3. Повторение ранее изученного материала.

4. Знакомство программами разветвляющейся структуры.

5. Знакомство с условным оператором.

6. Решение задач по новой теме.

7. Тестирование.

8. Выполнение самостоятельной работы.

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

Итог урока.


^ ХОД УРОКА

1. Организационный момент.

Здравствуйте, ребята! Сегодня на уроке мы изучим условный оператор на языке Паскаль. Научимся составлять программы разветвляющейся структуры, научимся решать задачи с использованием условного оператора.

^ 2. Проверка домашнего задания.

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

Какие возникли вопросы при написании программы? Какую программу вы использовали в качестве основы?

^ 3. Повторение ранее изученного материала.

Ответьте на следующие вопросы:

1) Как записывается оператор, называемый оператором присваивания?

2) Какие действия выполняет оператор присваивания?

3) Назовите известные вам типы переменных, используемых в паскале.

4) Какие математические действия можно выполнять с переменными типа real?

5) Какие математические действия можно выполнять с переменными типа word?

6) Как записываются в языке Паскаль комментарии и для чего они предназначены?

7) Какими символами нельзя пользоваться при написании программы на языке Паскаль?

^ 4. Знакомство программами разветвляющейся структуры.

В жизни часто приходится принимать решения в зависимости от сложившейся ситуации. Если идет дождь, мы надеваем плащ, если жарко и солнечно, идем в легкой одежде. Встречаются и более сложные положения, когда нужно сделать тот или иной выбор в зависимости от того, выполняется или не выполняется некоторое условие.

Мы знаем, что разветвляющиеся алгоритмы выглядят следующим образом:



Форма организации действий, при которой в зависимости от выполнения некоторого условия совершается одна или другая последовательность действий, называется ветвлением.

5^ . Знакомство с условным операторо.

Для реализации на Турбо-Паскале алгоритмов, содержащих структуру ветвления, используется команда If, которая выглядит следующим образом:

^ If условие Then

     оператор 1

Else

     оператор 2 ;

По этой команде сначала проверяется выполнение условия. Простые условия записываются в виде равенств или неравенств. Сложные условия составляют из простых с помощью логических операций. Если условие выполнено, то выполняется оператор 1, стоящий за служебным словом Then. После выполнения оператора 1 выполнение команды If завершается (оператор 2 не выполняется). Если условие не выполнено, то выполняется оператор 2, стоящий после слова Else.

Следует обратить внимание, что в каждой из ветвей условного оператора может стоять всего лишь один оператор языка Турбо-Паскаль. Если в ветви требуется выполнить несколько действий, используется составной оператор Begin … end;

Условный оператор предписывает выполнять некоторое действие только в том случае, когда выполняется заданное условие. Это условие записывается в виде логического выражения, а действие, которое нужно выполнить, задается в виде последовательности операторов.

Заметим, что перед ключевым словом ^ Else недопустимо использование точки с запятой, означающее окончание оператора, так как это ключевое слово, так же как и If и Then, входит в его состав. Точка с запятой указывается только после полного завершения оператора, то есть после действия 2. Написание условного оператора If в одну или в несколько сторок зависит от вкуса программиста и длины самого оператора – в Турбо-Паскале строки с командами не должны превышать 127 символов, включая и используемые в командах пробелы.

Откройте программу usl1.pas в интегрированной среде Турбо Паскаль. Как это сделать? (войдите в среду Турбо Паскаль дважды щелкнув по ярлыку Турбо Паскаль на рабочем столе. File → Open → usl1.pas) Перед вами откроется следующая программа:

Эта программа по введенной температуре тела даёт рекомендации. Если температура высокая, то на экран выводится текст «ты болен, останься дома и лечись!», иначе на экран выводится текст «ты здоров, собирайся в школу!»



Найдите в программе условный оператор. Какое условие должно проверяться?

Запустите программу на выполнение. Как это сделать? (Run → Run) Выполните требования программы. Просмотрите результат выполнения программы. (Debug → User screen)

Мы рассмотрели программу, в которой используется полная структура ветвления. Кроме неё существует неполная структура, графическая схема которой выглядит следующим образом:



Вторая серия команд в условном операторе может отсутствовать. При этом признак ее начала – служебное слово ^ Else – опускается.

Неполная команда ветвления выглядит так:

If условие Then действие;

Здесь при справедливости условия выполняется действие, а если условие нарушено, то сразу переходим к оператору, который следует за условным оператором.

Чтобы после ключевых слов Then или Else могла выполняться последовательность операторов, последние должны быть заключены в операторные скобки – ключевые слова Begin и End. Операторные скобки охватывают фрагмент исходного текста программы, который необходимо считать одним оператором. В качестве операторов, используемых в составном операторе, могут использоваться любые операторы, допустимые в Турбо-Паскале, в том числе условные операторы, а также составные операторы.

^ 6. Решение задач.

1. Составьте программу, удваивающую значение целой переменной а, если а>5.

Решение

Если а > 5, то значение а надо заменить на 2а. В противном случае (а <= 5) никаких действий производить не нужно. Используем неполную команду ветвления.

^ Program Pr2;

Var а : Integer;

Begin

WriteLn (‘Введите число’);

ReadLn (а);

If а >5 Then а := а*2;

WriteLn (‘а =', а);

End.

2. Используя оператор if…then…else составьте программу, которая бы в ответ на введённую оценку по информатике выводила на экран следующий текст:

если оценка «5», то «молодец, я тобой горжусь!»(1)

если оценка «4», то «я рад, надеюсь, будет «5»» (2)

если оценка «3», то «не ленись и всё получится» (3)

иначе «ты, наверное, не ходишь на уроки» (4)

Решение.

Алгоритм решения задачи будет следующим.

ввод оценки

если оценка 5 то вывод на экран текста (1)

иначе

если оценка 4 то вывод на экран текста (2)

иначе

если оценка 3 то вывод на экран текста (3)

иначе вывод на экран текста (4)

конец

Здесь мы используем вложение одного условия в другое несколько раз. Программа на паскале будет иметь следующий вид:

program usl_2;

var x:byte;

begin writeln ('какие оценки по информатике ты получаешь чаще всего?');

readln(x);

if x=5 then writeln('молодец! Я тобой горжусь!')

else

if x=4 then writeln(‘я рад! Надеюсь будет "5"')

else if x=3 then writeln('не ленись и всё получится! ')

else writeln('ты, наверное не ходишь на уроки')


end .

Откройте программу usl_2.pas и просмотрите её исполнение.




Какие возникли вопросы? Покажите начало и конец первого условного оператора; последнего условного оператора; сколько здесь всего условных операторов?

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

Решение задачи сводится к нахождению большего из трёх введённых чисел.

Блок-схема этой задачи выглядит следующим образом:

Здесь х, у, z - введённые с клавиатуры числа, наименьшее из которых нам нужно найти, p – переменная, которой мы присваиваем минимальное значение.

Вначале переменной р мы присваиваем первое число х, затем проверяем условие p
^ 7. Самостоятельная работа.

Напишите программу для решения задачи №3, отредактируйте и отправьте на выполнение.

8.Тестирование.

Какие условные операторы записаны без ошибок:

1) If a>=b then writeln(a) else writeln(b);

2) If a=b else writeln(b);

3) If a>b then writeln(a);

4) If a<=b else writeln(b) then writeln(a);

5) If a

Ответы. Правильно записаны операторы под номерами 1, 3.

В операторе под номером 2 пропущено ключевое слово Then. В операторе под номером 4 ключевые слова Then и Else поменялись местами. В операторе под номером 5 ошибочно поставлена точка с запятой перед Else.

^ 9.Домашнее задание.

1. Прочтите теоретический раздаточный материал

2. Ответьте на следующие вопросы:

1)Что означает фраза: «задачи с ветвлением»?

2)Как записывается полный условный оператор?

3)Как записывается неполный условный оператор?

4)Какие математические действия можно выполнять в задачах с ветвлением?

5)Какими символами в языке Паскаль можно пользоваться только при написании комментариев?

3. Составьте программу, удваивающую значение целой переменной а, если а<10 и утраивающую значение переменной, если a>=10.

10. Итог урока.

Сегодня на уроке мы познакомились с программами разветвляющейся структуры. Изучили условный оператор, его полную и неполную структуру. Научились использовать условный оператор при решении задач. Повторили применение комментариев, символов; правила пунктуации в Паскале. Научились решать задачи, записывать разветвляющуюся программу на Паскале.

УРОК 4

ТЕМА УРОКА: Использование циклов в программе на языке Паскаль. Циклы с параметром.

^ ЦЕЛЬ УРОКА

1. Познакомить учащихся с организацией цикла в программе на языке Паскаль.

2. Познакомить учащихся с циклами с параметром.

^ 3. Научить детей составлять элементарную программу с использованием цикла For…to…do .

4. Научить детей решать задачи с использованием циклов.

ОБОРУДОВАНИЕ

1. Раздаточный теоретический материал.

2. Таблицы, иллюстрации, рисунки.

3. Программное обеспечение Turbo Paskal.

4. Тесты.


^ ПЛАН УРОКА

1. Организационный момент.

2. Проверка домашнего задания.

3. Повторение ранее изученного материала.

4. Повторение циклических алгоритмов.

5. Знакомство с организацией цикла в программе на языке Паскаль.

6.Знакомство с циклом с параметром.

7. Решение задач по новой теме.

8. Тестирование.

9. Выполнение самостоятельной работы.

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

11. Итог урока.


^ ХОД УРОКА

1. Организационный момент.

Здравствуйте, ребята! Сегодня на уроке мы изучим организацию циклов в программе на языке Паскаль. Научимся составлять программы с повторениями, научимся решать задачи с использованием оператора For…to…do...

^ 2. Проверка домашнего задания.

Дома вы должны были составить программу, удваивающую значение целой переменной а, если а<10 и утраивающую значение переменной, если a>=10.

Какие возникли вопросы при написании программы? Какую программу вы использовали в качестве основы?

^ 3. Повторение ранее изученного материала.

Ответьте на следующие вопросы:

1) Что означает фраза: «задачи с ветвлением»?

2) Как записывается полный условный оператор?

3) Как записывается неполный условный оператор?

4) Какие математические действия можно выполнять в задачах с ветвлением?

5) Какими символами в языке Паскаль можно пользоваться только при написании комментариев?

^ 4. Повторение циклических алгоритмов.

Пример. Пусть нужно описать способ передвижения в потемках.

В общем случае он записывается в форме цикла, который называется цикл Пока.

Правила движения:

  1. Если нет препятствия, то шаг вперед.

  2. Если есть препятствие, то остановиться.

В этом алгоритме движение происходит по шагам: если нет препятствий, то делается шаг вперед, если опять нет препятствий, то делается еще один шаг, и так далее, пока не встретится препятствие. По достижении же препятствия движение завершится. То есть два вышеприведенных правила можно записать одной строкой:

    ПОКА нет препятствия, повторять шаг вперед.

Другой способ реализации тех же самых действий заключается в проверке условия после выполнения очередного шага:

    Повторять шаг вперед ^ ДО встречи препятствия.

Очевидно, что в этом случае первый шаг будет сделан в любом случае. Такой вариант цикла носит название цикла До.

Если же расстояние до препятствия заранее известно, скажем, 100 шагов, то способ движения можно описать в форме цикла со счетчиком  – цикла Для.

Правила движения:

    100 раз выполнить шаг вперед.

Указанные способы движения (для цикла ^ Пока и цикла Для) можно изобразить в виде схем.

Здесь внутри блока разветвления находится условие выполнения повторяющихся действий (в первом случае – отсутствие препятствия, во втором – "количество шагов меньше 100"), а в блоке действия – шаг вперед. Это базовая алгоритмическая структура Цикл. Циклические алгоритмы строятся в соответствии с базовой алгоритмической структурой Цикл. В циклических алгоритмах некоторая часть команд повторяется или заданное количество раз, или число раз, необходимое для получения результата. По этому признаку они делятся на алгоритмы типа "Для" и алгоритмы типа "Пока / До". Первые также называют циклическими алгоритмами с заранее известным числом повторений, циклами со счетчиком или регулярными циклами.




^ 5. Знакомство с организацией цикла в программе на языке Паскаль

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

В языке Турбо-Паскаль предусмотрены два основных способа организации циклов:

  • циклическое повторение блока команд, пока выполняется (или не выполняется) некоторое условие (итерационный цикл);

  • повторение блока команд заданное количество раз (цикл со счетчиком, регулярный цикл, цикл с параметром).

Особенностью цикла с параметром (регулярного цикла) является то, что число повторений операторов цикла должно быть известно заранее. Цикл реализуется с помощью оператора For, позволяющего организовать цикл с предусловием. Решение о выполнении или невыполнении в очередной раз тела цикла принимается до начала его прохождения, поэтому может случиться так, что тело цикла не будет выполнено ни разу.

В Турбо-Паскале имеются два оператора для организации регулярного цикла: прямой и обратный. Прямой пересчет идет от известного меньшего числа до известного большего, на каждом шаге прибавляется единица (например, от 20 до 30: 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30).

Оператор прямого пересчета:

For i := a to b do оператор;

Здесь i – параметр цикла (счетчик), эта переменная такого типа, значение которого известно точно, например, целочисленная. При прямом пересчете всегда меняется от меньшего значения к большему;

a и b – выражения того же типа, что и параметр цикла, значения которых соответственно равны начальному и конечному значению счетчика.

После заголовка (for i := a to b do) оператора должен стоять один оператор, который повторяется циклически (тело цикла). Тело цикла может не содержать операторов (пустой цикл), а в общем случае содержит составной оператор (один и более операторов). При i = a цикл выполняется первый раз (если значение a не превышает b). Затем берется следующее значение переменной i (для целочисленной переменной это i+1) и осуществляется проверка, не превысило ли полученное значение величину b. Если i+1 <= b, то оператор выполняется, если нет, то происходит выход из цикла и выполнение следующего по порядку оператора программы.

Количество проходов цикла с заголовком for i := a to b do можно вычислить по формуле b – a + 1.

Количество выполнений тела цикла определяется до первого выполнения тела цикла, поэтому, если в выражении b используются переменные, которые изменяются в теле цикла, это никак не повлияет на количество выполнений тела цикла. Например, в следующей последовательности операторов:

n := 10;

For i := 1 to n do

Begin

Write (i);

n := 100;

End;

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

При использовании регулярных циклов следует соблюдать некоторые правила.

  1. Значение счетчика цикла может использоваться в выражениях, входящих в операторы тела цикла, но изменение значения счетчика цикла этими операторами недопустимо.

  2. Запрещается вход в цикл, минуя оператор For, то есть передача извне управления на операторы, составляющие тело цикла, недопустима. При такой передаче управления значения выражений a, b оказываются невычисленными. Извне возможна передача управления только на заголовок цикла, то есть на оператор For.

  3. Желательно, чтобы оператор For имел одну точку входа и одну точку выхода.


^ 6. Решение задач по новой теме.

Задача 1. Группа учеников отправляется в туристическую поездку. Составьте программу, которая будет вычислять общий вес багажа учеников.

Моделирование ситуации. Нужно знать количество учеников в группе и повторяться будут следующие действия: ввод веса багажа и прибавление этого веса к общей сумме. Так как для первого взвешивания ещё нет общей суммы, то мы присваиваем значению суммы число 0. Так как после do будет стоять не один, а несколько операторов, нужно использовать операторные скобки begin…end. Программа будет иметь следующий вид:

program ves;

var i:integer; s,x:real; {i - параметр пересчета, x - вес багажа одного ученика, s - общий вес багажа }

begin {начало программы}

s:=0; {сначала общий вес s равен нулю}

for i:=1 to 5 do {цикл организован для пяти человек}

begin {открываются операторные скобки}

writeln ('введите вес багажа ',i,' ученика'); {требование ввести вес каждого ученика}

readln(x);

s:=s+x; {добавление к общему весу веса багажа одного ученика}

end; {закрываются операторные скобки}

writeln ('общий вес багажа',s:6:2) {вывод на экран результата}

end. {конец программы}

Откройте программу ves.pas (войдите в среду Турбо Паскаль дважды щелкнув по ярлыку Турбо Паскаль на рабочем столе. File → Open → ves.pas)

Внимательно просмотрите программу, какие действия выполняются? Найдите имя программы, раздел описания переменных, раздел операторов, операторы присваивания. Какие типы переменных используются в программе?

Отправьте программу на выполнение. (Run → Run). Выполните требования программы. Просмотрите результат выполнения программы. (Debug → User screen)



Задача 2. Пусть надо вычислить аn. Для получения целой степени n числа его надо умножить само на себя n раз. Это произведение при выполнении программы будет храниться в ячейке с именем p. Каждый раз, при очередном выполнении цикла, из этой ячейки будет считываться предыдущий результат, домножаться на основание степени а и снова записываться в ячейку p. Этот оператор в теле цикла повторяется n раз и имеет вид:

p := p * a;

При первом выполнении цикла в ячейке p должно находиться число, не влияющее на умножение, то есть до цикла в нее надо записать 1.

Вот эта программа:

^ Program St;

Var a, p: real;

i, n: integer;

Begin

Write (‘Введите основание степени a’);

Readln (a);

Write (‘Введите целый показатель степени’);

^ Readln (n);

p := 1;

For i := 1 to n do

p := p * a;

Write (‘p =’, p);

Readln;

End.


7. Тестирование.

Сколько раз будет выполнено тело цикла с данным заголовком?

1)for i:=-10 to -4 do

2) for i:=6 to 2 do

3) for i:=3 to 3 do

Ответ: Цикл под номером 1 будет выполняться для счетчика, последовательно принимающего значения –10, –9, –8, –7, –6, –5, –4,то есть 7 раз.

Цикл под номером 2 не будет выполняться ни разу, так как начальное значение счетчика больше конечного.

Цикл под номером 3 будет выполняться 1 раз для счетчика, равного 3.


^ 8. Самостоятельная работа.

Измените программу ves так, чтобы количество учеников, уезжающих в туристическую поездку, вводилось с клавиатуры. (Воспользуйтесь программами ves и St)

^ 9. Домашнее задание.

1. Прочтите теоретический раздаточный материал

2. Ответьте на следующие вопросы:

1) Какие виды циклов реализованы в языке Турбо Паскаль?

2) Какой цикл называется итерационным?

3) Какой цикл называется циклом с параметром?

4) Какие математические действия можно выполнять в циклах с параметром?

5) С помощью каких зарезервированных слов описывается регулярный цикл?

3. Напишите программу «Вычислить среднесуточное значение температуры, если известны показания термометра каждый час в течение суток».

Подсказка: вводить значение показателя температуры в цикле For.

^ 10. Итог урока.

На этом занятии мы познакомились со способами организации регулярных циклов и правилами их использования. Научились использовать при решении задач прямой и обратный цикл с параметром.

УРОК 5

^ ТЕМА УРОКА: Итерационные циклы. Цикл while и цикл repeat.

ЦЕЛЬ УРОКА

1. Познакомить учащихся с итерационными циклами в Турбо Паскаль.

2. Познакомить учащихся с действием цикла while.

3.Познакомить учащихся с действием цикла repeat.

4.Научить детей решать задачи с использованием цикла while и цикла repeat.

ОБОРУДОВАНИЕ

1.Раздаточный теоретический материал.

2.Таблицы, иллюстрации, рисунки.

3.Программное обеспечение Turbo Paskal.

4. Тесты.


^ ПЛАН УРОКА

1. Организационный момент.

2. Проверка домашнего задания.

3. Повторение изученного материала.

4. Знакомство со структурой итерационных циклов.

5. Изучение циклов while и repeat.

6. Решение задач по новой теме.

7. Тестирование.

8. Выполнение самостоятельной работы.

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

10. Итог урока.


^ ХОД УРОКА

1. Организационный момент.

Здравствуйте, ребята! Сегодня мы с вами начинаем изучать очень интересную и важную тему. Мы начинаем программировать с использованием итерационных циклов.

^ 2. Проверка домашнего задания.

Дома вы должны были написать программу «Вычислить среднесуточное значение температуры, если известны показания термометра каждый час в течение суток» с использованием цикла For.

Какие возникли вопросы при решении задачи, при составлении программы? Возникли ли трудности с использованием цикла For?


^ 3. Повторение изученного материала.

Ответьте на следующие вопросы:

1) Какие виды циклов реализованы в языке Турбо Паскаль?

2) Какой цикл называется итерационным?

3) Какой цикл называется циклом с параметром?

4) Какие математические действия можно выполнять в циклах с параметром?

5) С помощью каких зарезервированных слов описывается регулярный цикл?


^ 4.Знакомство со структурой итерационных циклов.



По месту проверки окончания цикла различают два вида циклических алгоритмов:

  • цикл с предусловием (цикл ПОКА)

  • и цикл с постусловием (цикл ДО).

На блок-схемах циклических конструкций  ^ Р – это логическое выражение; Тело цикла – один или несколько операторов. Как видно из рисунка, особенностью цикла ДО является то, что тело цикла выполняется всегда хотя бы один раз. Это происходит из-за того, что проверка условия происходит после выполнения тела цикла. Цикл ПОКА может не выполниться ни разу, если логическое выражение Р с самого будет неверно.

^ 5.Изучение циклов while и repeat.



Выполняются итерационные (или итеративные) циклы так:

Цикл ПОКА

  1. Находится значение условия P. Если это условие неверно, то выполнение цикла на этом заканчивается.

  2. Выполняются операторы, составляющие тело цикла.

  3. Переход к пункту 1.

Цикл ДО

  1. Выполняются операторы, составляющие тело цикла.

  2. Находится значение условия P. Если это условие верно, то выполнение цикла на этом заканчивается.

  3. Переход к пункту 1.

При использовании операторов While и Repeat необходимо учитывать следующее:

если условие в случае цикла ^ While в начале не выполняется, операторы после do не будут выполняться вообще;

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

В цикле ^ Repeat…until… после слова until идёт условие выхода из цикла.

Различия между циклом - while и циклом - repeat


1. Оператор, находящийся в цикле while, повторяется до тех пор, пока условие удовлетворено (т.е. истинно). Последовательность операторов, находящихся в цикле repeat, повторяется до тех пор, пока условие не удовлетворено (т. е. ложно).

Следовательно, в цикле while используется условие продолжения цикла, а в цикле repeat - условие окончания цикла.

2. В цикле while повторяется один оператор (несколько операторов надо объединять в составной оператор с помощью операторных скобок begin ... end), а в цикле repeat можно повторять несколько операторов без операторных скобок.

3. В цикле while сначала проверяется условие, а после этого в зависимости от значения условия выполняется или не выполняется оператор или группа операторов после слова do.

В цикле repeat последовательность операторов выполняется один раз, а после этого проверяется условие, т. е. эта последовательность всегда выполняется хотя бы один раз, а в цикле while операторы, составляющие тело цикла могут вообще не выполняться ни одного раза.

^ Различия между циклом - while и циклом For.

В цикле For заранее известно количество повторений, а цикл while выполняется неизвестное количество раз до того момента, пока не выполнится условие выхода из цикла.

^ 6. Решение задач.

Задача

Мама выдала сыну Саше сумму денег X на карманные расходы. Ежедневно Саша в конце дня подводил итоги своим тратам и заносил их в программу. Требуется определить на сколько дней ему хватило денег и сколько денег осталось.

Решение

Опишем переменную X, значение которой введет пользователь. Далее будем использовать цикл с предусловием, повторяющий следующую последовательность действий: вывод на экран запроса с указанием израсходованной за день суммы Y, вычисление остатка средств путем уменьшения значения X на Y и вывод остатка средств. Условием продолжения выполнения тела цикла будет X > 0.

Program sergW;

Var N: Integer;

Begin

Write (‘Введите число’);

ReadLn (X);

While X > 0 do

Begin

WriteLn(‘Введите сумму израсходованных средств’);

Readln (Y);

X = X – Y;

If X<0 then WriteLn(‘Средств не достаточно’) else

WriteLn(‘Остаток средств’, X);

End;

End.

Можно усложнить задачу, потребовав вывести за сколько дней Саша израсходовал средства, а также предупреждать заранее о не возможности произвести финансовую операцию.

Реализовать эту же задачу с использованием цикла Repeat.

Program sergR;

Var N: Integer;

Begin

Write (‘Введите число’);

ReadLn (X);

Repeat

WriteLn(‘Введите сумму израсходованных средств’);

Readln (Y);

X := X – Y;

If X<0 then WriteLn(‘Средств не достаточно’) else

WriteLn(‘Остаток средств’, X);

^ Until X < 0

End.


Задача.

Маша очень любит пирожные. Она пришла в кондитерскую с суммой денег S. Ей очень понравилось пирожное «Бизе» и она купила его, заплатив Z рублей и тут же его съела. Не наелась, увидела пирожное «Заварное» и тоже купила его и попробовала. И так повторилось несколько раз, пока она не насытилась. Определить, сколько пирожных сумела съесть Маша и в какую сумму это ей обошлось.

^ Решение с использованием цикла с постусловием:

Program summaN;

Var

n, s, a ,k: integer;

Begin

a: = 0; K:=0;

WriteLn(‘Введите сумму существующих средств’);

^ Readln(S);

Repeat

WriteLn(‘Введите сумму израсходованных на пирожное средств’);

Readln(Z);

S: = S-Z;

K:=K+1;

WriteLn(‘Маша, ты наелась? Если да, введи 1 иначе 0 ’);

^ Readln(a);

Until (S<0) AND (a=1)

Writeln(‘Маша съела ’,K:5, ‘пирожных’, ‘Остаток средств’, S);

End.

В цикле Repeat не требуется обрамление тела цикла с помощью операторных скобок Begin и End. Это и понятно, ведь все операторы тела цикла находятся между словами Repeat и Until.

При использовании цикла с предусловием программа будет выглядеть так:

^ Program summaN;

Var

n, s, a ,k: integer;

Begin

a: = 0; K:=0;

Readln(S);

While (S >0) AND (a=0) do

Begin

WriteLn(‘Введите сумму израсходованных на пирожное средств’);

Readln(Z);

S: = S-Z;

K:=K+1;

^ WriteLn(‘Маша, ты наелась? Если да, введи 1 иначе 0 ’);

Readln(a);

End;

Writeln(‘Маша съела ’,K:5, ‘пирожных’, ‘Остаток средств’, S);

End.

^ 8. Самостоятельная работа.

Напишите программу вычисления общей стоимости покупок в магазине с использованием итерационного цикла. Условием выхода из цикла можно взять введение стоимости покупки 0.

^ 9. Домашнее задание.

1. Прочтите теоретический раздаточный материал

2. Ответьте на следующие вопросы:

1) Какие виды циклов реализованы в языке Турбо Паскаль?

2) Какой цикл называется итерационным?

3) С помощью каких зарезервированных слов описывается цикл с постусловием?

4) Какие математические действия можно выполнять в итерационных циклах?

5) С помощью каких зарезервированных слов описывается цикл с предусловием?

3. Напишите программу для решения задачи:

Вася к дню рождения друга Коли решил купить в подарок диск, который стоит 100 рублей. Вася стал вытряхивать деньги из копилки, в которой лежат монеты достоинством 1р, 2р, 5р, 10р. Вычислить сколько раз Вася тряс копилку, если каждый раз выпадала одна монета, для того, чтобы набрать необходимую сумму.

^ 10. Итог урока.

На этом занятии мы познакомились со способами организации итерационных циклов и правилами их использования. Научились использовать при решении задач цикл с предусловием и цикл с постусловием.

УРОК 6

ТЕМА УРОКА: Рисование в графическом режиме Турбо Паскаль.

^ ЦЕЛЬ УРОКА:

1. Познакомить учащихся с графическим режимом Турбо Паскаль.

2. Познакомить учащихся с графическими примитивами.

3. Научить детей составлять программы для рисования в интегрированной среде Турбо Паскаль.

ОБОРУДОВАНИЕ

1. Раздаточный теоретический материал.

2. Таблицы.

3. Программное обеспечение Turbo Paskal.

4. Сетевая версия диска фирмы 1С «Вычислительная математика и программирование.

5. Тесты.


^ ПЛАН УРОКА

1. Организационный момент.

2. Проверка домашнего задания.

3. Изучение нового материала.

4. Работа с диском 1С «Вычислительная математика и программирование 10-11 классы».

5. Работа в интегрированной среде Турбо Паскаль.

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

7. Выполнение теста.

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

9. Итог урока.


^ ХОД УРОКА

1. Организационный момент.

Здравствуйте, ребята! Сегодня мы с вами начинаем изучать очень интересную и понятную тему. Мы начинаем рисовать в среде Турбо Паскаль. Сегодня мы узнаем, что такое графические примитивы, с помощью каких команд они изображаются в Паскале, как подключается в Паскале графический режим. И, конечно же, мы будем рисовать.

2.Проверка домашнего задания.

3. Изучение нового материала.

Графический режим работы монитора

Современные мониторы могут работать как в текстовом, так и в графическом режиме. С целью поддержки различных графических режимов для разных графических карт в комплект поставки Turbo Pascal входят специальные программы, называемые BGI-драйверами. В запоминающее устройство адаптера монитора записываются коды цвета каждой точки экрана. В современных адаптерах при формировании сигнала, выдаваемого на дисплей, используется устройство, в котором хранится так называемая палитра, задающая воспроизводимые цвета для каждого из кодов цвета.

В графическом режиме текущее положение «точки» не воспроизводится на экране, но оно существует и может быть использовано при работе с дисплеем.

На самом деле изображение на экране состоит не из точек (точка – это то, что не имеет ни длины, ни ширины), а из так называемых пикселей (слово «pixel» в англоязычных толковых словарях определяется как элемент изображения на экране). Тем не менее, мы в дальнейшем вместо заморского слова по-прежнему будем использовать термин «точка».

Графические режимы могут отличаться друг от друга по двум параметрам – разрешению и цветности.

Разрешение – это количество точек, помещающихся на экране по горизонтали и вертикали.

Цветность – максимальное количество разных цветов, которые могут присутствовать на экране одновременно.

Для начала мы будем использовать в наших программах самый простой (по подключению) графический режим – с разрешением 640х480 и цветностью 16.


^ Инициализация графического режима

Процедуры и функции, предназначенные для работы с графическими режимами, собраны в стандартном модуле Graph. Для использования данного модуля его надо подключить в разделе подключения модулей Uses:

Uses Graph;

Чтобы графические объекты могли выводиться на экран, нужно перевести его в графический режим – инициализировать, запустив соответствующий драйвер. Для использования режима 640х480х16 предназначен стандартный драйвер EgaVga.bgi, находящийся в подкаталоге BGI-каталога, в который установлен Турбо-Паскаль.

Инициализация графического режима производится вызовом процедуры InitGraph, имеющей следующий вид:

InitGraph (номер драйвера, номер режима, путь к файлу драйвера);

program ris;

uses graph; {подключение библиотеки графического режима}

var Gr,Gm:integer;

begin

Gr:=detect; {номер драйвера}

Gm:=0; {номер режима}

initGraph(Gr,Gm,'c:\BP\bgi'); {инициализация графического режима}

Readln; {задержка изображения на экране}

closeGraph; {закрытие графического режима}

end.

^ Экран в графическом режиме

В графическом режиме экран представляет собой мозаику точек (пикселей), каждая из которых может быть окрашена в тот или иной цвет. В режиме 640х480 мозаика состоит из 480 строк по 640 точек в каждой строке. Координаты каждой точки задаются парой целых чисел, обычно обозначаемых Х и Y, которые определяются проекциями отрезка, соединяющего эту точку с левым верхним углом экрана, на горизонтальную и вертикальную оси соответственно. Точка в левом верхнем углу экрана имеет нулевые координаты. Положительному значению Х соответствует направление слева направо, Y – сверху вниз. В графическом режиме (как и в текстовом) имеют место понятия «графический курсор» и «текущая позиция курсора», однако сам курсор не виден, и эти понятия используются лишь в описании графических команд. Изначально, после инициализации графического режима, текущая позиция курсора – левый верхний угол, то есть точка с координатами (х=0, y=0).


Кроме координат, точки на экране характеризуются цветом.

^ Цвета дисплея

Мы можем работать одновременно с 16 цветами, причем каждый цвет обозначен номером от 0 до 15. После команды установки режима обычно дается команда установки цвета:

SetColor (С);

здесь С – номер цвета, который, аналогично параметру процедуры TextColor, может являться целой переменной или константой, имеющей значение от 0 до 15, и задаваться либо именем, либо непосредственно значением.

Особенностью графического режима является использование цвета с номером 0, который является фоновым, вне зависимости от того, какой именно цвет имеет фон. В результате, если установлен цвет 0, то все объекты этого цвета не будут видны на экране, но при этом сотрут изображение в том месте, куда выводятся. То есть на экран вообще ничего нельзя вывести черным цветом, надо вместо него использовать темно-серый.


Цвет фона

Цветом фона в графическом режиме называется область экрана, на которую еще не выводилось изображение. При смене фона результат отображается на экране немедленно. Для изменения цвета фона используется процедура:

SetBkColor (Номер цвета);

4. Работа с диском 1С «Вычислительная математика и программирование».

Запустите программу «Вычислительная математика и программирование». Для этого дважды щелкните мышкой по ярлыку «Программирование 1С» на рабочем столе. Выберите «Курсы», затем в левом окне «Все курсы», «Язык Turbo Paskal» и «урок 13. Примитивы в графическом режиме. Рисование в графическом режиме с помощью примитивов»





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


^ Универсальные графические команды.




Отдельный пиксель можно "зажечь" заданным цветом универсальной командой графического режима:

PutPixel (х, у, С)

Формат команды таков: сначала указываются координаты х, у точки (в пикселях), а затем – номер цвета точки (0 – 15).

Все параметры данной процедуры должны быть целочисленными переменными или константами.

В сущности, на этом описание графического режима можно было бы закончить: теоретически с помощью команды PutPixel (х, у, С) можно нарисовать любое графическое изображение.

^ Графические примитивы



Обязательными элементами любого языка программирования, работающего с графикой, являются инструменты рисования стандартных объектов, которые часто называют графическими примитивами. Комбинируя эти средства с такой процедурой, как PutPixel, вы сможете рисовать довольно сложные и красочные изображения.



Для вывода на экран отрезка с концами в точках (X1, Y1) и (Х2, Y2) используется процедура:

Line (X1,Y1,X2,Y2);

Отрезок вычерчивается текущим цветом.

Для вывода на экран прямоугольника с вертикальными и горизонтальными сторонами (параллельными осям координат) в виде контура используется процедура:

Rectangle (X1,Y1,X2,Y2);

Точки с координатами (XI, Y1) и (Х2, Y2) располагаются в левом верхнем и правом нижнем углах прямоугольника.

Прямоугольник вычерчивается текущим цветом.


Для вывода на экран закрашенного прямоугольника используется процедура:

Bar (X1, Y1, X2, Y2);

Закрашивается прямоугольник также текущим цветом.

А эта процедура рисует прямоугольный параллелепипед и закрашивает его переднюю грань:

Bar3D (X1, Y1, X2, Y2, D, A);





Попробуйте ответить, какая фигура будет выведена на экран процедурой:

1)Rectangle(100,50,100,150);

2) Rectangle(80,120,200,120);

3) Rectangle(80,50,150,150);



Ответы: 1)будет выведен вертикальный отрезок;

2)будет выведен горизонтальный отрезок;

3)будет выведен прямоугольник.




После вызова процедуры PutPixel (X, Y, С); текущей становится точка (X,Y). После вывода отрезка или прямоугольника текущей становится конечная точка (Х2, Y2).

Можно построить отрезок, указав либо смещение от этой точки по осям x и y, либо координаты конца отрезка с началом в текущей точке. Это упрощает рисование ломаных линий.

Процедура построения отрезка с указанным смещением:

^ LineRel (dx, dy);

Процедура построения отрезка с указанием последней его точки:

LineTo (x, y);


Вывод окружности с центром в точке (Х,Y) и радиусом R на экран выполняется процедурой:

Circle (X, Y, R);

Окружность будет изображена текущим цветом.




Если координаты изображения или его части не попадают в тот промежуток координат, который соответствует экрану, то программа не приостановит свою работу и сообщение об ошибке не будет выдано. Просто не вошедшие в экран точки не будут изображены.


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

Скажите, как изобразить отрезок, точку, окружность, прямоугольник.

5. Работа в интегрированной среде Турбо Паскаль.

Запустите интегрированную среду Турбо Паскаль. (Ярлык Турбо Паскаль на рабочем столе) Откройте программу ris1.pas (Fail – open – ris1.pas – open)

program ris1;

uses graph;

var Gr,Gm:integer;

begin

Gr:=detect;

Gm:=0;

initGraph(Gr,Gm,'c:\BP\bgi');

circle(50,50,10); {изображаем окружность радиуса 10 с центром в точке 50,50}

Readln;

closeGraph;

end.

Что будет изображено на экране после запуска программы? (ответы учащихся) Запустите программу на выполнение (Run – Run)

^ 6. Самостоятельная работа.

Измените программу ris1 так, чтобы кроме окружности она рисовала и другие геометрические фигуры. Сохраните вашу программу под именем ris1_2.pas

7. Тестирование.

На диске 1С «Вычислительная математика и программирование» в разделе «Курсы»→«Все курсы»→«Тесты к урокам»→«Тест к уроку 13.Примитивы в графическом режиме. Рисование с помощью примитивов.» выполните следующий тест.






  1. Какая процедура выводит на экран прямоугольник?

1)Rectangle(X1,Y1,X2,Y2);

2)PutPixel(x,y,C);

3)Line(X1,Y1,X2,Y2);

4)Bar(X1,Y1,X2,Y2);


2.Какие процедуры вычертят на экране отрезок?

1)Bar(200,130,130,200);

2)Line(X1,Y1,X2,Y2);

3) Rectangle(200,130,400,130);

4) PutPixel(x,y,C);


3.Какую процедуру можно использовать для вычерчивания на экране отрезка?

1) LineRel(dx,dy);

2) LineTo(x,y);

3) Line(X1,Y1,X2,Y2);

4)MoveRel(dx,dy)


4) Какая процедура выводит на экран точку.

1) LineRel(dx,dy);

2) LineTo(x,y);

3) PutPixel(x,y,C);

4) Line(X1,Y1,X2,Y2);



^ 8. Домашнее задание.

1.Прочтите теоретический материал, изученный на уроке.

2.Ответьте на вопросы:

1)С помощью каких процедур рисуют графические примитивы?

2)В каком разделе подключают графический модуль Graph?

3)С помощью какой команды происходит инициализация графического режима?

4)С помощью какой команды происходит отключение графического режима?

3.Напишите программу, изображающую какой-либо рисунок с помощью графических примитивов.

^ 9.Итог урока.

На этом занятии мы познакомились с основными графическими примитивами, научились их изображать на экране дисплея; научились подключать библиотеку, содержащую графические процедуры и функции; научились инициализировать графический режим.

^

2.3. Роль внеклассных мероприятий в изучении программирования



«Напичканный знаниями, но не умеющий их использовать ученик напоминает фаршированную рыбу, которая не может плавать», - говорил академик А. Лю Минц. А Бернард Шоу утверждал: «Единственный путь, ведущий к знаниям – это деятельность».

Это истина, не требующая доказательства.Действительно, чтобы знание становилось инструментом, а не залежами ненужного старья на задворках интеллекта, ученик должен с ним работать.Что значит работать со знанием?

Любой ученик способен к творческой деятельности. Поэтому учителю необходимо уметь организовать такую деятельность, которая побуждала бы каждого школьника к раскрытию своей креативности. Ведущей детерминантой личностного развития, по мнению отечественных учёных Л. Выготского и С. Рубинштейна, является творческая самодеятельность личности. С. Рубинштейн писал «…субъект в своих деяниях, в актах своей творческой самодеятельности не только обнаруживается и проявляется – он в них созидается и определяется. Поэтому тем, что он делает, можно определить то, что он есть; направлением его деятельности можно определить и формировать его самого». Таким образом, творческая самодеятельность учащихся, направляемая инициативным учителем, является фундаментом для развития личности. Внеклассные мероприятия по информатике используются для развития творческих способностей учащихся и активизации их мыслительной деятельности. Разнообразие творческих заданий по форме, содержанию и степени сложности способствует развитию у школьников мышления, смекалки, находчивости, сообразительности, чувства юмора. Участие во внеклассном мероприятии оказывает сильное эмоциональное воздействие на учеников, которое не сопоставимо с воздействием других форм обучения, что положительно влияет на их отношение к учёбе, предмету, одноклассникам, учителю.У учащихся вырабатывается привычка сосредотачиваться, мыслить самостоятельно, развивается внимание, стремление к знаниям, учащиеся не замечают, что они учатся: познают, запоминают новое, ориентируются в необычных ситуациях, пополняют запас представлений, понятий, развивают навыки, фантазию. Даже самые пассивные из учеников прилагают все усилия, чтобы не подвести товарищей.

Внеклассное мероприятие позволяет:

  1. Повысить степень вовлечённости учащихся в учебно-творческую деятельность;

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

  3. Создать условия стимулирования интеллектуального потенциала ученика;

  4. Расширить кругозор, закрепить знания, в том числе по многим школьным предметам, развить находчивость, смекалку, пробудить интерес к различным областям науки, техники, искусства;

  5. Повысить у многих учащихся уверенность в себе;

  6. Научить каждого ученика отстаивать свою точку зрения;

  7. Помочь раскрытию таланта;

  8. Развить способность к толерантному общению, развить чувство товарищества и взаимовыручки;

  9. Развить умение объективно оценивать свои силы и возможности, играющие важную роль в стимулировании интеллектуального роста школьника; некоторые задания могут носить профориентационный характер.

Подготовительная часть любого внеклассного мероприятия состоит из следующих компонентов:

  1. Игровой замысел, как правило, выражен в названии.

  2. В зависимости от названия формируются соответствующие правила, которые не всегда совпадают с традициями мероприятия, преломляются через дидактическую цель (при этом учитываются возможности учащихся). Этим создаются условия для проявления самостоятельности, настойчивости, мыслительной активности, для возможности появления у каждого ученика чувства удовлетворённости, успеха. Сформулированные правила ставят своей целью воспитывать учащихся, а именно: уметь управлять своим поведением, подчиняться требованиям группы, класса.

  3. Игровые действия являются существенной стороной внеклассного мероприятия. Эти действия регламентируются правилами, как бы «раздаются» роли каждому ученику.

  4. Основой является познавательное содержание.

  5. Оборудование.


^ ВЕСЁЛЫЙ АУКЦИОН.

Цели:

обобщение и углубление изученного материала;

развитие познавательного интереса у учащихся, повышение творческой активности;

развитие у школьников умения выделять главное, существенное, логически излагать мысли, развитие памяти, внимания, расширение кругозора;

воспитание информационной культуры, уважения к сопернику, умения достойно вести спор, стойкости, воли к победе, находчивости, умения работать в команде.

^ Подготовительный этап.

Для проведения внеклассного мероприятия необходимо заранее выбрать ведущего и 2 рекламных агентов;

Оборудование:

поощрительные призы для победителя и активных болельщиков;

чёрный ящик;

^ ХОД КОНКУРСА

Ведущий: Добрый день! Сегодня мы собрались здесь, чтобы определить, кто же из вас самый-самый? В нашем конкурсе участвует 7 человек. Между ними проводится 6 конкурсов. После каждого конкурса выбывает один человек, набравший меньшее количество баллов. Таким образом, остается один самый-самый лучший!

^ Представление жюри.

– Встречайте участников нашего конкурса.

Представление участников конкурса.

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

^ Первый конкурс – разминка (1 мин.)

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

1. Алгол, Бейсик, Паскаль, …

2. Бит, байт, килобайт, …

Ведущий: Добрый день, дамы и господа! Мы рады приветствовать на единственном в своём роде классном аукционе. Наш аукцион не совсем обычный. Прежде всего сегодняшние лоты – это то, без чего вам никак не обойтись в жизни. Но об этом лучше меня вам могут рассказать наши рекламные агенты. Оплачивать покупаемые лоты вы будете правильными ответами на вопросы. Кто отвечает на большее количество вопросов, тот и получает лот. Надеюсь, правила торгов вам ясны, а теперь – слово нашим рекламным агентам.

1. Дамы и господа! По правилам нашего аукциона вы не сможете видеть тот предмет, который выставлен на продажу.

2. Пока вы его не купите.

1. Но чтобы вы представили себе, что приобретаете, мы подробно расскажем о том, что находится в черном ящике.

В. Итак, первый лот! (ремень)

1. Сейчас, в чёрном ящике лежит то, чего у вас никогда не было.

2. И не будет. Если вы этого не приобретёте.

1. С этим предметом вы себя почувствуете настоящим учеником сош №41.

2. В холодные, зимние вечера вы будете доставать этот предмет, и с каждым разом на душе у вас будет становиться все теплее…

1. теплее…

2. теплее…

1. Пока не станет совсем горячо.

В. ЛОТ №1

Розыгрыш: Вы должны из букв заданного слова получить другое слово, учитывая следующее правило: в этих словах каждая буква должна встречаться не большее число раз, чем она встречается в заданном слове. Например, из слова монитор можно получить слова тор, ром, мир, рот и др., но нельзя получить слово ротор (в слове монитор только одна буква р). При этом имейте в виду:

исходное слово связано с информатикой и компьютерами;

все буквы заданных слов, в том числе повторяющиеся, имеются в слове. Итак, исходное слово: МИРТА, ГОЛ. (алгоритм)

2.ЛОТ №1 достаётся_______. Мы просим счастливого обладателя этой необходимой вещи сказать несколько слов.(музыка)

В. Продолжаем торги!

  1. Одного кусочка того, что сейчас находится в чёрном ящике, всегда мало.

  2. А больше не дают, потому, что это – дефицит. Это нужно всем, т.к. помогает при кариесе, ушибах, растяжениях и переломах.

В. ЛОТ №2. Начинаем торги! (кусочек мела).

  1. Заданы определения слов, полученных по правилам анаграммы из некоторого слова, и определение этого слова. Указать все слова в том числе и исходное: а) Единица измерения массы; б) Время, период, срок. Исходное слово: алгоритм, записанный на языке, «понятном» данной ЭВМ. (Заданные слова: а) грамм; б) пора. Исходное слово: программа.)

В. ЛОТ №2 достаётся_______. Мы просим счастливого обладателя этой необходимой вещи сказать несколько слов. (музыка)

В. Мы продолжаем наш аукцион. Лот №3.(страница из классного журнала)

  1. Если бы вы взяли эту вещь без разрешения, а не купили на аукционе, то вы бы были наказаны по статье Уголовного кодекса.

  2. Поэтому наш аукцион даёт вам уникальную возможность получить это, не входя в противоречие с законом.

В. ЛОТ №3.Начинаем торги! В приведённом тексте некоторые и идущие подряд буквы нескольких слов образуют термин, связанный с программированием. ОН ВСЕГДА ИМЕЛ ЗАПАС

КАЛЬКУЛЯТОРОВ. (Ответ: ПАСКАЛЬ. ЗаПАС КАЛЬ-

куляторов.)

В. ЛОТ №3 достаётся_______. Мы просим счастливого обладателя этой необходимой вещи сказать несколько слов.(музыка)

В. Я прошу вынести на сцену лот №4. (страница из дневника с пятёрками)

1. То, что сейчас находится в чёрном ящике, - мечта любого школьника.

2. Но, к сожалению, эта мечта в школе недостижима.

  1. И только на нашем аукционе сказка может стать явью.

В. ЛОТ №4.Начинаем торги!

^ НАЗВАНИЕ КАКОГО ДОКУМЕНТА ПЕРЕВОДИТСЯ С

АНГЛИЙСКОГО ЯЗЫКА КАК «СОСТАВЛЕНИЕ СПИС-

КА»? (Листинг-распечатка текста программы от англ. list-

список.)

В. ЛОТ №4 достаётся_______. Мы просим счастливого обладателя

этой необходимой вещи сказать несколько слов. .(музыка)


В. ЛОТ №5, господа! (план эвакуации школы)

  1. Это научит вас упорядоченному движению.

  2. Это поможет вам найти выход из любого безвыходного

положения.

1. И, это просто произведение искусства. Вы сможете поместить

его в рамочку, повесить на любую стену вашей квартиры...

2. И любоваться с утра до вечера.

В. ЛОТ №5. Начинаем торги! КАКОЕ ПОНЯТИЕ В

^ ПРОГРАММИРОВАНИИ ПРОИСХОДИТ ОТ ЛАТИНСКОГО СЛОВА, ОЗНАЧАЮЩЕГО «ВОЗВРАЩЕНИЕ»?

(РЕКУРСИЯ (от лат.recursio) - ситуация когда какая то программа вызывает себя в качестве вспомогательной т.е. происходит возвращение к началу самой процедуры или функции.)


В. ЛОТ №5 достаётся_______. Мы просим счастливого обладателя

этой необходимой вещи сказать несколько слов благодарности организаторам этого аукциона. (музыка)

В. Продолжаем наш аукцион. Объявляется ЛОТ №6. (пирожок из

школьной столовой)

1. Наливаясь жизненной силой природа отдаёт всё лучшее, что у

неё есть, тому, что находится в чёрном ящике.

2. И хотя это не имеет фирменной упаковки, купить это можно

только в одном месте.

1. Приобретая это, вы покупаете вкус, знакомый с детства.

В. ЛОТ №6. Начинаем торги!

^ НЕОБХОДИМО ВЫБРАТЬ ПОНЯТИЕ, КОТОРОЕ БОЛЬШЕ ВСЕГО СООТВЕТСТВУЕТ «КРЫЛАТОМУ СЛОВУ»

«КАК БЕЛКА В КОЛЕСЕ».

а) зацикливание программы;

б) использование в программе рекурсии;

в) «зависание» компьютера.

ОТВЕТ: а).

В. ЛОТ №6 достаётся_______. Мы просим счастливого обладателя

этой необходимой вещи сказать несколько слов благодарности

организаторам этого аукциона.(музыка)

В. Последний лот, господа! ( повязка дежурного)

  1. Сейчас такое время, что необходимо иметь это в каждом доме.

  2. Это так же естественно, как умываться по утрам…

  1. Принимать душ.

  2. Чистить зубы.

  1. Если ты действительно уважаешь свою подругу, то ты должна

посоветовать ей приобрести

2. или даже купить это для неё


В. ЛОТ №7. Начинаем торги! ( повязка дежурного)

Ваша задача найти лишний термин. Объяснить своё решение.

^ БЕЙСИК, ФРАНЦУЗКИЙ, СИ, ПАСКАЛЬ, АССЕМБЛЕР.

(французский)

В. ЛОТ №7 достаётся_______. Мы просим счастливого обладателя

этой необходимой вещи сказать несколько слов благодарности

организаторам этого аукциона.(музыка)

В. Наш аукцион подошёл к концу. Мы от всей души благодарим всех, кто принял участие в торгах! (музыка)



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

1.Удваивание введенного с клавиатуры числа.

program prim1;

var x, y: integer;

begin

write('введите число х’ );

readln(x);

y:=2*x;

writeln('значение функции у=', y)

end.

Имя файла 1prim.pas

2. Программа, выводящая на экран текст «я изучаю Паскаль!»

Имя файла 2prim.pas

program prim2;

begin

write('я изучаю Паскаль!');

end.

3.Программа, которая вычислит квадратный корень из выражения Х2+3, то есть найдет значение выражения ,

Имя файла prim3.pas

Program prim3;

Var

x,y:real;

Begin

write(‘Введите число x’);

read(x);

y:=SQRT(SQR(X)+3);

write(‘полученный результат’,y:6:3)

End.

4.Найти путь, пройденный автомобилем за заданное время. Значение средней скорости и время движения вводятся с клавиатуры.

Имя файла skorost.pas

^ Program skorost;

Var

a,b,c:real; {вещественные переменные, a-скорость, b-время, с-расстояние}

Begin

writeln(‘Введите скорость’);{на экран выводится требование ввести скорость}

readln(a); {компьютер считывает значение переменной}

writeln(‘Введите время’); {на экран выводится требование ввести время}

readln(b); { компьютер считывает значение переменной }

c:=a*b; {вычисление значения пути}

writeln(‘путь S=’,c:6:2) { на экран выводится значение скорости с двумя знаками после запятой}

^ End.

5. Определить вес багажа игроков баскетбольной команды.

Имя файла bagag.pas

Program bagag;

Var

a,b,c,d,e,f,s:real; {вещественные переменные, a-вес багажа первого игрока, b-второго, с-третьего, d-четвертого, e-пятого, f-шестого, s-общий вес}

^ Begin

writeln(‘Введите вес багажа первого игрока’);

readln(a); {компьютер считывает значение переменной}

writeln(‘Введите вес багажа второго игрока’);

readln(b); { компьютер считывает значение переменной }

writeln(‘Введите вес багажа третьего игрока’);

readln(с); {компьютер считывает значение переменной}

writeln(‘Введите вес багажа четвёртого игрока’);

readln(d); { компьютер считывает значение переменной }

writeln(‘Введите вес багажа пятого игрока’);

readln(e); {компьютер считывает значение переменной}

writeln(‘Введите вес багажа шестого игрока’);

readln(f); { компьютер считывает значение переменной }


s:=a+b+c+d+e+f; {вычисление значения суммы}

writeln(‘общий вес багажа’,s:6:2) { на экран выводится значение суммы с двумя знаками после запятой}

End.

6.Более короткий вид программы bagag

Имя файла bagag1.pas

^ Program bagag1;

Var

a,b,c,d,e,f,s:real; {вещественные переменные, a-вес багажа первого игрока, b-второго, с-третьего, d-четвертого, e-пятого, f-шестого, s-общий вес}

^ Begin

writeln(‘Введите вес багажа каждого игрока, после каждого числа нажмите ENTER’);

read(a,b,c,d,e,f); {компьютер считывает значения переменных}

s:=a+b+c+d+e+f; {вычисление значения суммы}

write(‘общий вес багажа’,s:6:2) { на экран выводится значение суммы с двумя знаками после запятой}

End.

7.Программа по введенной температуре тела даёт рекомендации. Если температура высокая, то на экран выводится текст «ты болен, останься дома и лечись!», иначе на экран выводится текст «ты здоров, собирайся в школу!»

Имя файла usl1.pas

program usl1;

var t:real;

begin

writeln('введите температуру ');

readln(t);

if t>=36.8 then

writeln('ты болен, останься дома и лечись! ') ▒

else writeln('ты здоров, собирайся в школу! ') ▒

end.

8.Составьте программу, удваивающую значение целой переменной а, если а>5.

Имя файла pr2.pas

Program Pr2;

Var а : Integer;

Begin

WriteLn (‘Введите число’);

ReadLn (а);

If а >5 Then а := а*2;

WriteLn (‘а =', а);

End.

9.Cоставьте программу, которая бы в ответ на введённую оценку по информатике выводила на экран следующий текст:

если оценка «5», то «молодец, я тобой горжусь!»

если оценка «4», то «я рад, надеюсь, будет «5»»

если оценка «3», то «не ленись и всё получится»

иначе «ты, наверное, не ходишь на уроки»

Имя файла usl_2.pas

program usl_2;

var x:byte;

begin writeln ('какие оценки по информатике ты получаешь чаще всего?');

readln(x);

if x=5 then writeln('молодец! Я тобой горжусь!')

else

if x=4 then writeln(‘я рад! Надеюсь будет "5"')

else if x=3 then writeln('не ленись и всё получится! ')

else writeln('ты, наверное не ходишь на уроки')


end .

10.Группа учеников отправляется в туристическую поездку. Составьте программу, которая будет вычислять общий вес багажа учеников.

Имя файла ves.pas

program ves;

var i:integer; s,x:real; {i - параметр пересчета, x - вес багажа одного ученика, s - общий вес багажа }

begin {начало программы}

s:=0; {сначала общий вес s равен нулю}

for i:=1 to 5 do {цикл организован для пяти человек}

begin {открываются операторные скобки}

writeln ('введите вес багажа ',i,' ученика'); {требование ввести вес каждого ученика}

readln(x);

s:=s+x; {добавление к общему весу веса багажа одного ученика}

end; {закрываются операторные скобки}

writeln ('общий вес багажа',s:6:2) {вывод на экран результата}

end. {конец программы}

11. Вычислить аn.

Имя файла st.pas

^ Program St;

Var a, p: real;

i, n: integer;

Begin

Write (‘Введите основание степени a’);

Readln (a);

Write (‘Введите целый показатель степени’);

^ Readln (n);

p := 1;

For i := 1 to n do

p := p * a;

Write (‘p =’, p);

Readln;

End.

12. Мама выдала сыну Саше сумму денег X на карманные расходы. Ежедневно Саша в конце дня подводил итоги своим тратам и заносил их в программу. Требуется определить на сколько дней ему хватило денег и сколько денег осталось.

Program sergW;

Var N: Integer;

Begin

Write (‘Введите число’);

ReadLn (X);

While X > 0 do

Begin

WriteLn(‘Введите сумму израсходованных средств’);

Readln (Y);

X = X – Y;

If X<0 then WriteLn(‘Средств не достаточно’) else

WriteLn(‘Остаток средств’, X);

End;

End.

Program sergR;

Var N: Integer;

Begin

Write (‘Введите число’);

ReadLn (X);

Repeat

WriteLn(‘Введите сумму израсходованных средств’);

Readln (Y);

X := X – Y;

If X<0 then WriteLn(‘Средств не достаточно’) else

WriteLn(‘Остаток средств’, X);

^ Until X < 0

End.


13.Маша очень любит пирожные. Она пришла в кондитерскую с суммой денег S. Ей очень понравилось пирожное «Бизе» и она купила его, заплатив Z рублей и тут же его съела. Не наелась, увидела пирожное «Заварное» и тоже купила его и попробовала. И так повторилось несколько раз, пока она не насытилась. Определить, сколько пирожных сумела съесть Маша и в какую сумму это ей обошлось.

^ Решение с использованием цикла с постусловием:

Program summaN;

Var

n, s, a ,k: integer;

Begin

a: = 0; K:=0;

WriteLn(‘Введите сумму существующих средств’);

^ Readln(S);

Repeat

WriteLn(‘Введите сумму израсходованных на пирожное средств’);

Readln(Z);

S: = S-Z;

K:=K+1;

WriteLn(‘Маша, ты наелась? Если да, введи 1 иначе 0 ’);

^ Readln(a);

Until (S<0) AND (a=1)

Writeln(‘Маша съела ’,K:5, ‘пирожных’, ‘Остаток средств’, S);

End.

Program summaN;

Var

n, s, a ,k: integer;

Begin

a: = 0; K:=0;

Readln(S);

While (S >0) AND (a=0) do

Begin

WriteLn(‘Введите сумму израсходованных на пирожное средств’);

Readln(Z);

S: = S-Z;

K:=K+1;

WriteLn(‘Маша, ты наелась? Если да, введи 1 иначе 0 ’);

^ Readln(a);

End;

Writeln(‘Маша съела ’,K:5, ‘пирожных’, ‘Остаток средств’, S);

End.

14.Рисование в графическом режиме.

program ris;

uses graph; {подключение библиотеки графического режима}

var Gr,Gm:integer;

begin

Gr:=detect; {номер драйвера}

Gm:=0; {номер режима}

initGraph(Gr,Gm,'c:\BP\bgi'); {инициализация графического режима}

Readln; {задержка изображения на экране}

closeGraph; {закрытие графического режима}

end.

15.Рисунок окружности.

program ris1;

uses graph;

var Gr,Gm:integer;

begin

Gr:=detect;

Gm:=0;

initGraph(Gr,Gm,'c:\BP\bgi');

circle(50,50,10); {изображаем окружность радиуса 10 с центром в точке 50,50}

Readln;

closeGraph;

end.


ПРИЛОЖЕНИЕ 2

Список таблиц для проведения уроков.

1. Интегрированная среда Турбо Паскаль.









2.Ветвление в алгоритмах




3. Неполная структура ветвления




4.Блок-схема алгоритма нахождения наибольшего из трех чисел.



5.Блок-схема циклического алгоритма.



6.Алгоритм движения в темноте.



7. Блок-схемы циклических конструкций



8. Итерационные циклы



9.Строение графического экрана.




10. Графические примитивы.




11. Общая структура языка Паскаль.


ПРИЛОЖЕНИЕ 3

Раздаточный материал к урокам.

Урок 1

^ ИНТЕГРИРОВАННАЯ СРЕДА ТУРБО ПАСКАЛЬ

Систему программирования Турбо Паскаль называют интегрированной средой программирования, так как она объединяет в себе возможности различных средств, используемых при разработке программ: редактора текстов, компилятора, компоновщика, отладчика, и при этом обеспечивает программисту великолепные сервисные возможности.


^ ЗАПУСК ТУРБО ПАСКАЛЬ.

Ярлык ТУРБО ПАСКАЛЬ на рабочем столе. (чтобы развернуть окно на весь экран Alt+Enter)

Окно интегрированной среды Паскаля состоит из трёх видимых частей:

полосы главного меню в верхней части окна,

рабочей области окна в центре

строки состояния (или статус строки) внизу.

полоса подсказок, которая рассказывает о назначении некоторых клавиш










Назначение основных пунктов главного меню.

Элемент меню

Функция

File

Операции с файлами: открывает созданные файлы, закрывает, создаёт новые файлы с программами, сохраняет файлы, распечатывает файлы, осуществляет выход в DOS; закрывает среду программирования.

Edit

Операции с фрагментами текста в окне редактора: вырезает, копирует, и вставляет текст в окне редактора, возвращает последние изменения при редактировании.

Search

Поиск фрагментов текста, подпрограмм и места обнаружения ошибок.

Run

Запускает программу, а также выполняет отдельные части программы во время её отладки.

Compile

Компилирует и собирает программы в активном окне. В случае обнаружения синтаксической ошибки выдается сообщение об этой ошибке, а курсор помещается в место её нахождения. Если ошибки не обнаружены, выдаётся сообщение об успешной компиляции.

Debug

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

Windows

Команды управления окном: открывать, закрывать, активизировать окна, размещать их в поле экрана.

Help

Позволяет получить имеющуюся в системе справочную информацию.


^ ОТКРЫТЬ И СОХРАНИТЬ ПРОГРАММУ

ПРИМЕР 1.Откройте программу 1prim.pas

File →Open… →Name 1prim.pas →Open

Сохраните эту программу под именем primer.pas

File → Save as.. →primer.pas → ok

Специальные обозначения: «→» последовательное нажатие клавиш;

«+» одновременное нажатие клавиш


^ КОМПИЛИРОВАТЬ И ВЫПОЛНИТЬ ПРОГРАММУ

В открытой программе

Run → Run


Обратите внимание на то, что одни слова написаны белым, а другие – желтым цветом. Слова, написанные белым цветом, называются зарезервированными. Зарезервированные слова составляют основу языка и имеют строго фиксированное написание. Мы будем использовать следующие зарезервированные слова: program, var, begin, end и др.


^ ВЫХОД ИЗ СРЕДЫ ПАСКАЛЬ

File → Exit.


ОСНОВНАЯ СТРУКТУРА ПРОГРАММЫ

Структура программы на языке Паскаль имеет следующий вид:


^ Program Имя;

Var

Описание переменных

Begin

Исполнительная часть

End.


4.1.Имя программы - это набор латинских букв и цифр (возможна группа слов, соединенных знаком подчеркивания, возможно использование цифр после букв или знака подчеркивания, нельзя использовать русские буквы, знаки препинания и пробелы между словами). Имя может быть почти произвольным, но оно не должно совпадать с ключевыми словами, то есть такие слова, как “read”, “write”, “For” не могут быть именем программы. Имя программы пишется после ключевого слова “program”. После имени программы обязательно ставится точка с запятой. Имя программы не является обязательной частью программы. Программа будет выполняться даже без этого раздела.

Пример : program proba;

4.2. Раздел описания переменных. (Не является обязательной частью программы) Для каждой переменной, используемой в программе, задается ее тип. Формат описания переменных:

VAR <имя1, имя2,…>:<тип>;

В языке Turbo Pascal имеются следующие группы простых типов данных:

1) Целые типы

2) Вещественный тип

3) Перечисляемый тип

4) Тип-диапазон

5) Символьный тип

6) Логический тип

В примере1 мы используем переменные целого типа integer. Подробнее о типах переменных мы будем говорить позднее.

4.3. Раздел операторов. (Обязательная часть программы, без неё программа работать не будет.) Раздел операторов начинается зарегистрированным словом begin (начало), далее следуют операторы языка, отделённые друг от друга точкой с запятой. Завершает раздел зарезервированное слово end. (конец) с точкой. Пред end точка с запятой не ставится.


^ ПРОЦЕДУРЫ ВВОДА-ВЫВОДА

Ввод-вывод данных связан с обменом информацией между оперативной памятью и внешними носителями информации. Как правило, программ без вывода не бывает. Для операций ввода данных в программе служат процедуры:

^ Write и writeln

Процедура записи Write производит вывод числовых данных, символов, строк на экран. Формат процедуры:

write(А,B,…,Z);

Где А,B,…,Z – переменные или строки символов, взятые в апостроф.

Процедура записи writeln аналогична процедуре write, но после вывода последнего в списке значения для текущей процедуры происходит перевод курсора к началу следующей строки. Процедура writeln, записанная без параметров, вызывает перевод строки.

Для операций вывода данных в программе служат процедуры:

read и readln.

Процедура чтения read – обеспечивает ввод числовых данных, символов, строк и т. д. для последующей обработки программой. Формат процедуры:

read(А,B,…,Z);

где А,B,…,Z переменные. Значения А,B,…,Z набираются через один пробел на клавиатуре и высвечиваются на экране. В конце набора нажимается клавиша ENTER.

Процедура чтения readln аналогична процедуре read. Отличие заключается в том, что после считывания последней в списке значения для одной процедуры readln данные для другой процедуры readln будут считываться с начала новой строки.

ПРИМЕР 2. Откройте программу 2prim.pas

program prim2;

begin

write('я изучаю Паскаль!')

end.

Отправьте программу на выполнение Run → Run. Для просмотра выполнения программы нажмите Alt+F5 или выберите пункт меню ^ Debug →User Screen. Выполните несколько раз. Обратите внимание на то, что текст записан на одной строке и без пробелов между фразами. Подумайте, что нужно изменить в программе, чтобы 1) появился пробел между фразами, 2) фраза записывалась с новой строки.

Добавьте строку, выводящую на экран символы ***. Добавьте пустую строку. Измените имя программы.

Внесите изменения в программу, сохраните изменения ^ File →Save и просмотрите выполнение Debug→User Screen.

Дополнительное задание. Ввести два числа и вывести их в обратном порядке. В качестве основы используйте программу prim1.


Выполните тест.

1)Найдите неверно записанное имя программы

А) program ert_1;

Б) program _8_a_kl;

В) program я учу Паскаль;

Г) program ert_1;

2) Найдите неверно записанное зарезервированное слово:

А) read

Б) writeln

В) begin

Г) programma

3) Помещает на экран текст с последующим переводом курсора к началу следующей строки процедура:

А) write

Б) writeln

В) read

Г) readln

4) В каком разделе описания программы на языке Паскаль можно использовать процедуру чтения read

А) в разделе выполняемых операторов;

Б) в разделе описания переменных;

В) в разделе имени программы;

Г) в любом из перечисленных разделов.


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

Откройте в среде Паскаль программу 1_1osn.pas и измените её так, чтобы на экран были выведены следующие строки:

Заметает пурга

Белый путь.

Хочет в мягких снегах

Потонуть.

С. Есенин.

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

1.Прочтите теоретический материал, изученный на уроке.

2.Ответьте на вопросы:

^ 1)Назовите известные вам процедуры ввода (считывания информации). Чем они отличаются?

2)Назовите известные вам процедуры вывода. Чем они отличаются?

^ 3)Из каких частей состоит структура программы на языке Паскаль?

4)Какие части являются обязательными, а какие необязательными в программе?

3.Напишите программу, выводящую на экран сведения о вас (резюме). ФИО, адрес и т.д. Используйте при этом различные символы (*, #, &)

Рекомендуемая литература:

1..Попов В.Б. Турбо Paskal для школьников: Учеб. Пособие. – 3-е доп. Изд. – М.: Финансы и статистика, 2004.

2.Карасёв П.Н. Задачи по информатике. Учеб. Пособие. – Изд.- Волгоград.: Учитель – АСТ, 2001.

Кузнецов А.А., Апатова Н.В. Основы информатики. 8-9 кл.: Учеб. для общеобразоват. учеб. заведений. – 3-е изд., стереотип. – Дрофа, 2001.


^ Урок 2

Команда присваивания.

Записывается команда так:

<переменная> := <выражение> ;

<переменная> - любая допустимая переменная в языке Pascal,

<выражение> - любое выражение того же типа, что и переменная.

Примеры:

a := 10.0 ;

b:=x+y;

Команда присваивания выполняет следующие действия:

1. Вычисляет значение выражения, стоящего справа от знака ":="

2. Присваивает переменной определённое значение.

Примеры неправильной записи операторов присваивания.

s + k := 10 ; {слева от знака "=" не переменная}

a > b ; {нет знака ":=". Синтаксически неверная запись}

a := WriteLn(b) ; {справа от знака "=" не выражение}


Откройте программу prim1. (^ Ярлык ТУРБО ПАСКАЛЬ на рабочем столе. (чтобы развернуть окно на весь экран Alt+Enter), File → Open… → Name 1prim.pas → Open )и найдите команду присваивания. Какое действие выполняет эта команда?

program prim1;

var x, y: integer;

begin

write('введите число х’ );

readln(x);

y:=2*x;

writeln('значение функции у=', y)

end.

Мы видим, что команда присваивания используется при вычислении значения переменной y, и выглядит следующим образом: y:=2*x;

Знак * в Паскале обозначает умножение. Значит, переменной у присваивается удвоенное значение х.


Стандартные типы данных.

Данные в Pascal бывают различных типов, чаще всего употребляют стандартные, которые включают числовые, строковые, символьные и другие. Любые данное, будь то константа, переменная или что-либо еще, - относится к одному из типов, определённых в языке Паскаль.

В свою очередь, числовые данные подразделяются на целочисленный и вещественный тип.

Числовые данные иначе называют арифметическими, строковые - текстовыми.

В языке Turbo Pascal имеются различные группы простых типов данных:

1) Целые типы

2) Вещественный тип

3) Символьный тип

и другие.


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

^ Целые типы.

Для объявления переменных, предназначенных для хранения целых чисел, в языке Turbo Pascal могут быть использованы пять идентификаторов стандартных типов. Тип переменных должен быть описан перед тем, как с переменными будут выполняться какие-либо действия. Этим мы как бы объявляем компьютеру, какие ячейки памяти мы собираемся использовать для хранения данных в своей программе.

Имя типа

Размер в байтах

Диапазон

shortint

1

-128…127

integer

2

-32768…32767

longint

4

-2147483648…2147483647

byte

1

0…255

word

2

0…65535


^ Вещественные типы.

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

Имя типа

Размер в байтах

Диапазон

Число значащих цифр

real

6

2.9*10-39…1.7*1038

11-12



^ Математические действия, применяемые в Паскале.

Над переменными целого и вещественного типов определены арифметические операции:

+(сложение)

* (умножение)

- (вычитание)

/(деление)

операции отношения:

< (меньше)

> (больше)

= (равно)

<> (не равно)

<=(меньше или равно)

>=(больше или равно)

Для целого типа дополнительно определены операции DIV и MOD.

DIV (получение целого частного от деления двух чисел)

MOD (получение целого остатка от целочисленного деления)

Например: 7 DIV 2=3

7 MOD 2=1

С аргументами целого и вещественного типов используются следующие стандартные функции.

ABS(X) модуль Х

FRAC(X) дробная часть числа

INT(X) целая часть числа

SQRT(X) корень квадратный из числа Х

SQR(X) квадрат числа Х

SIN(X) синус Х

COS(X) косинус Х

Pi константа π=3.1415926535897932385

Выражения в Паскале записываются в строку (вспомните запись в алгоритмах). Например: выражение в Паскале запишется как следующая строка: (а*b-c)/(a+c/b), так как программа может одновременно воспринимать только один символ, а не три (если читать дробное выражение слева направо, то мы видим сразу три символа «а» в числителе, черту дроби и «а» в знаменателе)

Программа, которая вычислит квадратный корень из выражения Х2+3, то есть найдет значение выражения , будет выглядеть следующим образом:


^ Program prim3;

Var

x,y:real;

Begin

write(‘Введите число x’);

read(x);

y:=SQRT(SQR(X)+3);

write(‘полученный результат’,y:6:3)

End.

Откройте программу prim3. (В окне Турбо Паскаль Faile →open→ prim3.pas) и просмотрите её исполнение (Run →Run).

Вы, конечно, обратили внимание на запись y:6:3. Эта запись называется форматом переменной.

В общем случае формат имеет следующий вид:

r:a:b


Здесь r - имя переменной, значение которой выводится (в данном случае - y), формат a указывает, сколько позиций нужно для всего числа, включая знак числа, целую часть, точку и дробную часть числа; b - число позиций дробной части числа (после точки).

Если формат указан, то значение переменной r выводится в виде константы с фиксированной запятой, например: 12.35, 0.123. Если параметры a и b опущены, то вещественная переменная выводится в виде константы с плавающей запятой, например: 2.534E03, 5.67E-12 и т.п. В этом случае значения a и b устанавливается по умолчанию.

Комментарии, символы; правила пунктуации в Паскале.

Комментарии.

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

Комментарии – это тексты, объясняющие программу, но не влияющие на её исполнение. Это различные объяснения, заголовки отдельных частей программы и т. д. Компьютер печатает комментарии вместе с текстом программы, но, выполняя программу, игнорирует их. Программа выполняется так, словно комментариев нет.

Если в программе отсутствуют комментарии, то это делает ее непонятной. Паскаль предусматривает располагать комментарии между фигурными скобками { ... } . Всё, что находится в скобках, при выполнении программы игнорируется, но сохраняется в программе.


Программа prim3 с комментариями будет выглядеть так:

^ Program prim3; {имя программы}

Var {раздел описания переменных}

x,y:real; {переменные х и у вещественного типа}

Begin {начало раздела основной части программы}

write(‘Введите число x’); {на экране требование ввести число х}

read(x); {считывается значение переменной х}

y:=SQRT(SQR(X)+3); {переменной у присваивается значение }

write(‘полученный результат’,y:6:3) {вывод на экран значения переменной у}

End. {конец программы}


Символы и правила пунктуации в Паскале.

Текст программы на языке Турбо-Паскаль формируется из букв, цифр и специальных символов.

^ Буквы:

A B C D E F G H I J K L M N O P R S T U V W X Y Z, a b c d e f g h I j k l m n o p r s t u v w x y z и пробел.

Цифры:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

Специальные символы:

+ - * / = < > [ ] \ ? ( ) : ; Ù @ { } $ #

Комбинации специальных символов образуют составные символы:

<= >= := .. (* *) (. .)


Правила пунктуации.

При записи операторов необходимо соблюдать следующие правила пунктуации:

Точка с запятой не ставится в разделах описаний после зарезервированных слов var и ставится после завершения каждого описания.

Точка с запятой не ставится после begin и перед end, так как эти слова являются операторными скобками, а не операторами.

Точка с запятой является разграничителем операторов, её отсутствие между операторами вызывает ошибку компиляции.

В операторах цикла точка с запятой не ставится после while, repeat, do и перед until.

В условных операторах точка с запятой не ставится после then и перед else.

С большинством из перечисленных операторов мы пока не знакомы. С некоторыми из них мы познакомимся на ближайших уроках.


^ Решение задач.

ЗАДАЧА 1. Найти путь, пройденный автомобилем за заданное время. Значение средней скорости и время движения вводятся с клавиатуры.

Моделирование ситуации. Мы с вами знаем, что для того чтобы найти расстояние нужно скорость умножить на время, из курса физики мы помним, что путь обозначают S, скорость V, время t, формула пути S=V*t.

Компьютеру же всё равно, какие величины и какими символами мы будем обозначать. Главный вопрос состоит в том, откуда эти величины вводятся и какие действия нужно с ними производить. По условию задачи величины вводятся с клавиатуры и нужно вычислить произведение этих величин. При решении задачи можно использовать натуральные числа (типа integer) или рациональные числа (типа real). Таким образом, программа вычисления пути будет выглядеть так:

^ Program skorost;

Var

a,b,c:real; {вещественные переменные, a-скорость, b-время, с-расстояние}

Begin

writeln(‘Введите скорость’);{на экран выводится требование ввести скорость}

readln(a); {компьютер считывает значение переменной}

writeln(‘Введите время’); {на экран выводится требование ввести время}

readln(b); { компьютер считывает значение переменной }

c:=a*b; {вычисление значения пути}

writeln(‘путь S=’,c:6:2) { на экран выводится значение скорости с двумя знаками после запятой}

End.

ЗАДАЧА 2.Определить вес багажа игроков баскетбольной команды.

Моделирование ситуации. Какие данные нам необходимы? Нужно ли нам знать фамилии, имена, возраст игроков; важна ли эта информация для компьютера? А какая информация компьютеру нужна? (Нужно знать вес багажа каждого игрока) Компьютер должен найти сумму введенных величин. Эти величины могут быть и целыми, но лучше взять вещественные переменные.

Программа может иметь следующий вид.

^ Program bagag;

Var

a,b,c,d,e,f,s:real; {вещественные переменные, a-вес багажа первого игрока, b-второго, с-третьего, d-четвертого, e-пятого, f-шестого, s-общий вес}

^ Begin

writeln(‘Введите вес багажа первого игрока’);

readln(a); {компьютер считывает значение переменной}

writeln(‘Введите вес багажа второго игрока’);

readln(b); { компьютер считывает значение переменной }

writeln(‘Введите вес багажа третьего игрока’);

readln(с); {компьютер считывает значение переменной}

writeln(‘Введите вес багажа четвёртого игрока’);

readln(d); { компьютер считывает значение переменной }

writeln(‘Введите вес багажа пятого игрока’);

readln(e); {компьютер считывает значение переменной}

writeln(‘Введите вес багажа шестого игрока’);

readln(f); { компьютер считывает значение переменной }


s:=a+b+c+d+e+f; {вычисление значения суммы}

writeln(‘общий вес багажа’,s:6:2) { на экран выводится значение суммы с двумя знаками после запятой}

End.

Эта программа удобна для пользователя, но слишком громоздка. Более короткий вариант будет выглядеть следующим образом.

^ Program bagag1;

Var

a,b,c,d,e,f,s:real; {вещественные переменные, a-вес багажа первого игрока, b-второго, с-третьего, d-четвертого, e-пятого, f-шестого, s-общий вес}

^ Begin

writeln(‘Введите вес багажа каждого игрока, после каждого числа нажмите ENTER’);

read(a,b,c,d,e,f); {компьютер считывает значения переменных}

s:=a+b+c+d+e+f; {вычисление значения суммы}

write(‘общий вес багажа’,s:6:2) { на экран выводится значение суммы с двумя знаками после запятой}

^ End.

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

Напишите программу для решения задачи:

вариант. В школьном коридоре длиной 56 м нужно выкрасить пол. Выкрасив часть коридора длиной 22 м, израсходовали А кг краски. Сколько еще нужно краски, докрасить коридор?

Вариант. От станции до озера S км. Туристы, направляясь от станции к озеру, полтора часа шли пешком со скоростью А км, а затем сели на попутную машину, которая ехала со скоростью В км/ч. За какое время туристы добрались до озера?


Тестирование.

Ответьте на вопросы:

Каков будет результат деления 10 mod 3

А)1
Б)3
В)2
Г)9

Какие из приведенных операций и функций не используются с переменными целых типов

А)sqr(x)
Б)*
В)/
Г)+

Каков будет результат деления 10 div 3

А)1
Б)3
В)2
Г)9

Какие операторы записаны правильно

А)L=0;
Б)X*Y:=Y*X;
В)Д:=1;
Г)X:=X+Y;

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

1.Прочтите теоретический раздаточный материал.

2. Ответьте на следующие вопросы:

1)Как записывается оператор, называемый оператором присваивания?

2)Какие действия выполняет оператор присваивания?

3)Назовите известные вам типы переменных, используемых в паскале.

4)Какие математические действия можно выполнять с переменными типа real?

5)Какие математические действия можно выполнять с переменными типа word?

6)Как записываются в языке Паскаль комментарии и для чего они предназначены?

7)Какими символами нельзя пользоваться при написании программы на языке Паскаль?

3. Напишите программу, которая вычислит среднюю дневную температуру за неделю.

Рекомендуемая литература:

1..Попов В.Б. Турбо Paskal для школьников: Учеб. Пособие. – 3-е доп. Изд. – М.: Финансы и статистика, 2004.

2.Карасёв П.Н. Задачи по информатике. Учеб. Пособие. – Изд.- Волгоград.: Учитель – АСТ, 2001.

Кузнецов А.А., Апатова Н.В. Основы информатики. 8-9 кл.: Учеб. для общеобразоват. учеб. заведений. – 3-е изд., стереотип. – Дрофа, 2001.


^ Урок 3

Программы разветвляющейся структуры.

В жизни часто приходится принимать решения в зависимости от сложившейся ситуации. Если идет дождь, мы надеваем плащ, если жарко и солнечно, идем в легкой одежде. Встречаются и более сложные положения, когда нужно сделать тот или иной выбор в зависимости от того, выполняется или не выполняется некоторое условие.

Мы знаем, что разветвляющиеся алгоритмы выглядят следующим образом:





Форма организации действий, при которой в зависимости от выполнения некоторого условия совершается одна или другая последовательность действий, называется ветвлением.

^ Условный оператор.

Для реализации на Турбо-Паскале алгоритмов, содержащих структуру ветвления, используется команда If, которая выглядит следующим образом:

^ If условие Then

     оператор 1

Else

     оператор 2 ;

По этой команде сначала проверяется выполнение условия. Простые условия записываются в виде равенств или неравенств. Сложные условия составляют из простых с помощью логических операций. Если условие выполнено, то выполняется оператор 1, стоящий за служебным словом Then. После выполнения оператора 1 выполнение команды If завершается (оператор 2 не выполняется). Если условие не выполнено, то выполняется оператор 2, стоящий после слова Else.

Следует обратить внимание, что в каждой из ветвей условного оператора может стоять всего лишь один оператор языка Турбо-Паскаль. Если в ветви требуется выполнить несколько действий, используется составной оператор Begin … end;

Условный оператор предписывает выполнять некоторое действие только в том случае, когда выполняется заданное условие. Это условие записывается в виде логического выражения, а действие, которое нужно выполнить, задается в виде последовательности операторов.

Заметим, что перед ключевым словом ^ Else недопустимо использование точки с запятой, означающее окончание оператора, так как это ключевое слово, так же как и If и Then, входит в его состав. Точка с запятой указывается только после полного завершения оператора, то есть после действия 2. Написание условного оператора If в одну или в несколько сторок зависит от вкуса программиста и длины самого оператора – в Турбо-Паскале

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

Откройте программу usl1.pas в интегрированной среде Турбо Паскаль. (войдите в среду Турбо Паскаль дважды щелкнув по ярлыку Турбо Паскаль на рабочем столе. File → Open → usl1.pas) Перед вами откроется следующая программа:

Эта программа по введенной температуре тела даёт рекомендации. Если температура высокая, то на экран выводится текст «ты болен, останься дома и лечись!», иначе на экран выводится текст «ты здоров, собирайся в школу!»



Найдите в программе условный оператор. Какое условие должно проверяться?

Запустите программу на выполнение. Как это сделать? (Run → Run) Выполните требования программы. Просмотрите результат выполнения программы. (Debug → User screen)

Мы рассмотрели программу, в которой используется полная структура ветвления. Кроме неё существует неполная структура, графическая схема которой выглядит следующим образом:




Вторая серия команд в условном операторе может отсутствовать. При этом признак ее начала – служебное слово ^ Else – опускается.

Неполная команда ветвления выглядит так:

If условие Then действие;

Здесь при справедливости условия выполняется действие, а если условие нарушено, то сразу переходим к оператору, который следует за условным оператором.

Чтобы после ключевых слов Then или Else могла выполняться последовательность операторов, последние должны быть заключены в операторные скобки – ключевые слова Begin и End. Операторные скобки охватывают фрагмент исходного текста программы, который необходимо считать одним оператором. В качестве операторов, используемых в составном операторе, могут использоваться любые операторы, допустимые в Турбо-Паскале, в том числе условные операторы, а также составные операторы.

^ Решение задач.

1.Составьте программу, удваивающую значение целой переменной а, если а>5.

Решение

Если а > 5, то значение а надо заменить на 2а. В противном случае (а <= 5) никаких действий производить не нужно. Используем неполную команду ветвления.

^ Program Pr2;

Var а : Integer;

Begin

WriteLn (‘Введите число’);

ReadLn (а);

If а >5 Then а := а*2;

WriteLn (‘а =', а);

End.

2.Используя оператор if…then…else составьте программу, которая бы в ответ на введённую оценку по информатике выводила на экран следующий текст:

если оценка «5», то «молодец, я тобой горжусь!»(1)

если оценка «4», то «я рад, надеюсь, будет «5»» (2)

если оценка «3», то «не ленись и всё получится» (3)

иначе «ты, наверное, не ходишь на уроки» (4)

Решение.

Алгоритм решения задачи будет следующим.

ввод оценки

если оценка 5 то вывод на экран текста (1)

иначе

если оценка 4 то вывод на экран текста (2)

иначе

если оценка 3 то вывод на экран текста (3)

иначе вывод на экран текста (4)

конец

Здесь мы используем вложение одного условия в другое несколько раз. Программа на паскале будет иметь следующий вид:

program usl_2;

var x:byte;

begin writeln ('какие оценки по информатике ты получаешь чаще всего?');

readln(x);

if x=5 then writeln('молодец! Я тобой горжусь!')

else

if x=4 then writeln(‘я рад! Надеюсь будет "5"')

else if x=3 then writeln('не ленись и всё получится! ')

else writeln('ты, наверное не ходишь на уроки')


end .

Откройте программу usl_2.pas и просмотрите её исполнение.




Покажите начало и конец первого условного оператора; последнего условного оператора; сколько здесь всего условных операторов?

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

Решение задачи сводится к нахождению большего из трёх введённых чисел.

Блок-схема этой задачи выглядит следующим образом:

Здесь х, у, z - введённые с клавиатуры числа, наименьшее из которых нам нужно найти, p – переменная, которой мы присваиваем минимальное значение.

Вначале переменной р мы присваиваем первое число х, затем проверяем условие p
^ Самостоятельная работа.

Напишите программу для решения задачи №3, отредактируйте и отправьте на выполнение.

Тестирование.

Какие условные операторы записаны без ошибок:

1)If a>=b then writeln(a) else writeln(b);

2) If a=b else writeln(b);

3) If a>b then writeln(a);

4) If a<=b else writeln(b) then writeln(a);

5) If a
^ Домашнее задание.

1. Прочтите теоретический раздаточный материал

2. Ответьте на следующие вопросы:

1)Что означает фраза: «задачи с ветвлением»?

2)Как записывается полный условный оператор?

3)Как записывается неполный условный оператор?

4)Какие математические действия можно выполнять в задачах с ветвлением?

5)Какими символами в языке Паскаль можно пользоваться только при написании комментариев?

3. Составьте программу, удваивающую значение целой переменной а, если а<10 и утраивающую значение переменной, если a>=10.

Рекомендуемая литература:

1..Попов В.Б. Турбо Paskal для школьников: Учеб. Пособие. – 3-е доп. Изд. – М.: Финансы и статистика, 2004.

2.Карасёв П.Н. Задачи по информатике. Учеб. Пособие. – Изд.- Волгоград.: Учитель – АСТ, 2001.

Кузнецов А.А., Апатова Н.В. Основы информатики. 8-9 кл.: Учеб. для общеобразоват. учеб. заведений. – 3-е изд., стереотип. – Дрофа, 2001.


^ Урок 4

Повторение циклических алгоритмов.

Пример .Пусть нужно описать способ передвижения в потемках.

В общем случае он записывается в форме цикла, который называется цикл Пока.

Правила движения:

Если нет препятствия, то шаг вперед.

Если есть препятствие, то остановиться.

В этом алгоритме движение происходит по шагам: если нет препятствий, то делается шаг вперед, если опять нет препятствий, то делается еще один шаг, и так далее, пока не встретится препятствие. По достижении же препятствия движение завершится. То есть два вышеприведенных правила можно записать одной строкой:

    ПОКА нет препятствия, повторять шаг вперед.

Другой способ реализации тех же самых действий заключается в проверке условия после выполнения очередного шага:

    Повторять шаг вперед ^ ДО встречи препятствия.

Очевидно, что в этом случае первый шаг будет сделан в любом случае. Такой вариант цикла носит название цикла До.

Если же расстояние до препятствия заранее известно, скажем, 100 шагов, то способ движения можно описать в форме цикла со счетчиком  – цикла Для.

Правила движения:

    100 раз выполнить шаг вперед.

Указанные способы движения (для цикла ^ Пока и цикла Для) можно изобразить в виде схем.

Здесь внутри блока разветвления находится условие выполнения повторяющихся действий (в первом случае – отсутствие препятствия, во втором – "количество шагов меньше 100"), а в блоке действия – шаг вперед. Это базовая алгоритмическая структура Цикл. Циклические алгоритмы строятся в соответствии с базовой алгоритмической структурой Цикл. В циклических алгоритмах некоторая часть команд повторяется или заданное количество раз, или число раз, необходимое для получения результата. По этому признаку они делятся на алгоритмы типа "Для" и алгоритмы типа "Пока / До". Первые также называют циклическими алгоритмами с заранее известным числом повторений, циклами со счетчиком или регулярными циклами.




^ Знакомство с организацией цикла в программе на языке Паскаль.

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

В языке Турбо-Паскаль предусмотрены два основных способа организации циклов:

циклическое повторение блока команд, пока выполняется (или не выполняется) некоторое условие (итерационный цикл);

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

Особенностью цикла с параметром ( регулярного цикла) является то, что число повторений операторов цикла должно быть известно заранее. Цикл реализуется с помощью оператора For, позволяющего организовать цикл с предусловием. Решение о выполнении или невыполнении в очередной раз тела цикла принимается до начала его прохождения, поэтому может случиться так, что тело цикла не будет выполнено ни разу.

В Турбо-Паскале имеются два оператора для организации регулярного цикла: прямой и обратный. Прямой пересчет идет от известного меньшего числа до известного большего, на каждом шаге прибавляется единица (например, от 20 до 30: 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30).

Оператор прямого пересчета:

For i := a to b do оператор;

Здесь i – параметр цикла (счетчик), эта переменная такого типа, значение которого известно точно, например, целочисленная. При прямом пересчете всегда меняется от меньшего значения к большему;

a и b – выражения того же типа, что и параметр цикла, значения которых соответственно равны начальному и конечному значению счетчика.

После заголовка (for i := a to b do) оператора должен стоять один оператор, который повторяется циклически (тело цикла). Тело цикла может не содержать операторов (пустой цикл), а в общем случае содержит составной оператор (один и более операторов). При i = a цикл выполняется первый раз (если значение a не превышает b). Затем берется следующее значение переменной i (для целочисленной переменной это i+1) и осуществляется проверка, не превысило ли полученное значение величину b. Если i+1 <= b, то оператор выполняется, если нет, то происходит выход из цикла и выполнение следующего по порядку оператора программы.

Количество проходов цикла с заголовком for i := a to b do можно вычислить по формуле b – a + 1.

Количество выполнений тела цикла определяется до первого выполнения тела цикла, поэтому, если в выражении b используются переменные, которые изменяются в теле цикла, это никак не повлияет на количество выполнений тела цикла. Например, в следующей последовательности операторов:

n := 10;

For i := 1 to n do

Begin

Write (i);

n := 100;

End;

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

При использовании регулярных циклов следует соблюдать некоторые правила.

Значение счетчика цикла может использоваться в выражениях, входящих в операторы тела цикла, но изменение значения счетчика цикла этими операторами недопустимо.

Запрещается вход в цикл, минуя оператор For, то есть передача извне управления на операторы, составляющие тело цикла, недопустима. При такой передаче управления значения выражений a, b оказываются невычисленными. Извне возможна передача управления только на заголовок цикла, то есть на оператор For.

Желательно, чтобы оператор For имел одну точку входа и одну точку выхода.


^ Решение задач по новой теме.

Задача 1. Группа учеников отправляется в туристическую поездку. Составьте программу, которая будет вычислять общий вес багажа учеников.

Моделирование ситуации. Нужно знать количество учеников в группе и повторяться будут следующие действия: ввод веса багажа и прибавление этого веса к общей сумме. Так как для первого взвешивания ещё нет общей суммы, то мы присваиваем значению суммы число 0. Так как после do будет стоять не один, а несколько операторов, нужно использовать операторные скобки begin…end. Программа будет иметь следующий вид:

program ves;

var i:integer; s,x:real; {i - параметр пересчета, x - вес багажа одного ученика, s - общий вес багажа }

begin {начало программы}

s:=0; {сначала общий вес s равен нулю}

for i:=1 to 5 do {цикл организован для пяти человек}

begin {открываются операторные скобки}

writeln ('введите вес багажа ',i,' ученика'); {требование ввести вес каждого ученика}

readln(x);

s:=s+x; {добавление к общему весу веса багажа одного ученика}

end; {закрываются операторные скобки}

writeln ('общий вес багажа',s:6:2) {вывод на экран результата}

end. {конец программы}

Откройте программу ves.pas (войдите в среду Турбо Паскаль дважды щелкнув по ярлыку Турбо Паскаль на рабочем столе. File → Open → ves.pas)

Внимательно просмотрите программу, какие действия выполняются? Найдите имя программы, раздел описания переменных, раздел операторов, операторы присваивания. Какие типы переменных используются в программе?

Отправьте программу на выполнение. (Run → Run). Выполните требования программы. Просмотрите результат выполнения программы. (Debug → User screen)




Задача 2. Пусть надо вычислить аn. Для получения целой степени n числа его надо умножить само на себя n раз. Это произведение при выполнении программы будет храниться в ячейке с именем p. Каждый раз, при очередном выполнении цикла, из этой ячейки будет считываться предыдущий результат, домножаться на основание степени а и снова записываться в ячейку p. Этот оператор в теле цикла повторяется n раз и имеет вид:

p := p * a;

При первом выполнении цикла в ячейке p должно находиться число, не влияющее на умножение, то есть до цикла в нее надо записать 1.

Вот эта программа:

^ Program St;

Var a, p: real;

i, n: integer;

Begin

Write (‘Введите основание степени a’);

Readln (a);

Write (‘Введите целый показатель степени’);

^ Readln (n);

p := 1;

For i := 1 to n do

p := p * a;

Write (‘p =’, p);

Readln;

End.

Тестирование.

Сколько раз будет выполнено тело цикла с данным заголовком?

1)for i:=-10 to -4 do

2) for i:=6 to 2 do

3) for i:=3 to 3 do

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

Измените программу ves так, чтобы количество учеников, уезжающих в туристическую поездку, вводилось с клавиатуры. (Воспользуйтесь программами ves и St)

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

1. Прочтите теоретический раздаточный материал

2. Ответьте на следующие вопросы:

1)Какие виды циклов реализованы в языке Турбо Паскаль?

2)Какой цикл называется итерационным?

3)Какой цикл называется циклом с параметром?

4)Какие математические действия можно выполнять в циклах с параметром?

5)С помощью каких зарезервированных слов описывается регулярный цикл?

3.Напишите программу «Вычислить среднесуточное значение температуры, если известны показания термометра каждый час в течение суток».

Подсказка: вводить значение показателя температуры в цикле For.

Рекомендуемая литература:

1..Попов В.Б. Турбо Paskal для школьников: Учеб. Пособие. – 3-е доп. Изд. – М.: Финансы и статистика, 2004.

2.Карасёв П.Н. Задачи по информатике. Учеб. Пособие. – Изд.- Волгоград.: Учитель – АСТ, 2001.

Кузнецов А.А., Апатова Н.В. Основы информатики. 8-9 кл.: Учеб. для общеобразоват. учеб. заведений. – 3-е изд., стереотип. – Дрофа, 2001.

Урок 5

Знакомство со структурой итерационных циклов.



По месту проверки окончания цикла различают два вида циклических алгоритмов:

цикл с предусловием (цикл ПОКА)

и цикл с постусловием (цикл ДО).

На блок-схемах циклических конструкций  ^ Р – это логическое выражение; Тело цикла – один или несколько операторов. Как видно из рисунка, особенностью цикла ДО является то, что тело цикла выполняется всегда хотя бы один раз. Это происходит из-за того, что проверка условия происходит после выполнения тела цикла. Цикл ПОКА может не выполниться ни разу, если логическое выражение Р с самого будет неверно.


^ Изучение циклов while и repeat.





Выполняются итерационные (или итеративные) циклы так:

Цикл ПОКА

Находится значение условия P. Если это условие неверно, то выполнение цикла на этом заканчивается.

Выполняются операторы, составляющие тело цикла.

Переход к пункту 1.

Цикл ДО

Выполняются операторы, составляющие тело цикла.

Находится значение условия P. Если это условие верно, то выполнение цикла на этом заканчивается.

Переход к пункту 1.

При использовании операторов ^ While и Repeat необходимо учитывать следующее:

если условие в случае цикла While в начале не выполняется, операторы после do не будут выполняться вообще;

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

В цикле ^ Repeat…until… после слова until идёт условие выхода из цикла.

Различия между циклом - while и циклом - repeat


1. Оператор, находящийся в цикле while, повторяется до тех пор, пока условие удовлетворено (т.е. истинно). Последовательность операторов, находящихся в цикле repeat, повторяется до тех пор, пока условие не удовлетворено (т. е. ложно).

Следовательно, в цикле while используется условие продолжения цикла, а в цикле repeat - условие окончания цикла.

2. В цикле while повторяется один оператор (несколько операторов надо объединять в составной оператор с помощью операторных скобок begin ... end), а в цикле repeat можно повторять несколько операторов без операторных скобок.

3. В цикле while сначала проверяется условие, а после этого в зависимости от значения условия выполняется или не выполняется оператор или группа операторов после слова do.

В цикле repeat последовательность операторов выполняется один раз, а после этого проверяется условие, т. е. эта последовательность всегда выполняется хотя бы один раз, а в цикле while операторы, составляющие тело цикла могут вообще не выполняться ни одного раза.

^ Различия между циклом - while и циклом For.

В цикле For заранее известно количество повторений, а цикл while выполняется неизвестное количество раз до того момента, пока не выполнится условие выхода из цикла.

^ Решение задач.

Задача

Мама выдала сыну Саше сумму денег X на карманные расходы. Ежедневно Саша в конце дня подводил итоги своим тратам и заносил их в программу. Требуется определить на сколько дней ему хватило денег и сколько денег осталось.

Решение

Опишем переменную X, значение которой введет пользователь. Далее будем использовать цикл с предусловием, повторяющий следующую последовательность действий: вывод на экран запроса с указанием израсходованной за день суммы Y, вычисление остатка средств путем уменьшения значения X на Y и вывод остатка средств. Условием продолжения выполнения тела цикла будет X > 0.

Program sergW;

Var N: Integer;

Begin

Write (‘Введите число’);

ReadLn (X);

While X > 0 do

Begin

WriteLn(‘Введите сумму израсходованных средств’);

Readln (Y);

X = X – Y;

If X<0 then WriteLn(‘Средств не достаточно’) else

WriteLn(‘Остаток средств’, X);

End;

End.

Можно усложнить задачу, потребовав вывести за сколько дней Саша израсходовал средства, а также предупреждать заранее о не возможности произвести финансовую операцию.

Реализовать эту же задачу с использованием цикла Repeat.

Program sergR;

Var N: Integer;

Begin

Write (‘Введите число’);

ReadLn (X);

Repeat

WriteLn(‘Введите сумму израсходованных средств’);

Readln (Y);

X := X – Y;

If X<0 then WriteLn(‘Средств не достаточно’) else

WriteLn(‘Остаток средств’, X);

^ Until X < 0

End.


Задача.

Маша очень любит пирожные. Она пришла в кондитерскую с суммой денег S. Ей очень понравилось пирожное «Бизе» и она купила его, заплатив Z рублей и тут же его съела. Не наелась, увидела пирожное «Заварное» и тоже купила его и попробовала. И так повторилось несколько раз, пока она не насытилась. Определить, сколько пирожных сумела съесть Маша и в какую сумму это ей обошлось.

^ Решение с использованием цикла с постусловием:

Program summaN;

Var

n, s, a ,k: integer;

Begin

a: = 0; K:=0;

WriteLn(‘Введите сумму существующих средств’);

^ Readln(S);

Repeat

WriteLn(‘Введите сумму израсходованных на пирожное средств’);

Readln(Z);

S: = S-Z;

K:=K+1;

WriteLn(‘Маша, ты наелась? Если да, введи 1 иначе 0 ’);

^ Readln(a);

Until (S<0) AND (a=1)

Writeln(‘Маша съела ’,K:5, ‘пирожных’, ‘Остаток средств’, S);

End.

В цикле Repeat не требуется обрамление тела цикла с помощью операторных скобок Begin и End. Это и понятно, ведь все операторы тела цикла находятся между словами Repeat и Until.

При использовании цикла с предусловием программа будет выглядеть так:

^ Program summaN;

Var

n, s, a ,k: integer;

Begin

a: = 0; K:=0;

Readln(S);

While (S >0) AND (a=0) do

Begin

WriteLn(‘Введите сумму израсходованных на пирожное средств’);

Readln(Z);

S: = S-Z;

K:=K+1;

^ WriteLn(‘Маша, ты наелась? Если да, введи 1 иначе 0 ’);

Readln(a);

End;

Writeln(‘Маша съела ’,K:5, ‘пирожных’, ‘Остаток средств’, S);

End.

^ 8.Самостоятельная работа.

Напишите программу вычисления общей стоимости покупок в магазине с использованием итерационного цикла. Условием выхода из цикла можно взять введение стоимости покупки 0.

^ 9. Домашнее задание.

1. Прочтите теоретический раздаточный материал

2. Ответьте на следующие вопросы:

1)Какие виды циклов реализованы в языке Турбо Паскаль?

2)Какой цикл называется итерационным?

3) С помощью каких зарезервированных слов описывается цикл с постусловием?

4)Какие математические действия можно выполнять в итерационных циклах?

5)С помощью каких зарезервированных слов описывается цикл с предусловием?

3.Напишите программу для решения задачи:

Вася к дню рождения друга Коли решил купить в подарок диск, который стоит 100 рублей. Вася стал вытряхивать деньги из копилки, в которой лежат монеты достоинством 1р, 2р, 5р, 10р. Вычислить сколько раз Вася тряс копилку, если каждый раз выпадала одна монета, для того, чтобы набрать необходимую сумму.

Рекомендуемая литература:

1..Попов В.Б. Турбо Paskal для школьников: Учеб. Пособие. – 3-е доп. Изд. – М.: Финансы и статистика, 2004.

2.Карасёв П.Н. Задачи по информатике. Учеб. Пособие. – Изд.- Волгоград.: Учитель – АСТ, 2001.

Кузнецов А.А., Апатова Н.В. Основы информатики. 8-9 кл.: Учеб. для общеобразоват. учеб. заведений. – 3-е изд., стереотип. – Дрофа, 2001.


Урок 6

^ Графический режим работы монитора

Современные мониторы могут работать как в текстовом, так и в графическом режиме. С целью поддержки различных графических режимов для разных графических карт в комплект поставки Turbo Pascal входят специальные программы, называемые BGI-драйверами. В запоминающее устройство адаптера монитора записываются коды цвета каждой точки экрана. В современных адаптерах при формировании сигнала, выдаваемого на дисплей, используется устройство, в котором хранится так называемая палитра, задающая воспроизводимые цвета для каждого из кодов цвета.

В графическом режиме текущее положение «точки» не воспроизводится на экране, но оно существует и может быть использовано при работе с дисплеем.

На самом деле изображение на экране состоит не из точек (точка – это то, что не имеет ни длины, ни ширины), а из так называемых пикселей (слово «pixel» в англоязычных толковых словарях определяется как элемент изображения на экране). Тем не менее, мы в дальнейшем вместо заморского слова по-прежнему будем использовать термин «точка».

Графические режимы могут отличаться друг от друга по двум параметрам – разрешению и цветности.

Разрешение – это количество точек, помещающихся на экране по горизонтали и вертикали.

Цветность – максимальное количество разных цветов, которые могут присутствовать на экране одновременно.

Для начала мы будем использовать в наших программах самый простой (по подключению) графический режим – с разрешением 640х480 и цветностью 16.


^ Инициализация графического режима

Процедуры и функции, предназначенные для работы с графическими режимами, собраны в стандартном модуле Graph. Для использования данного модуля его надо подключить в разделе подключения модулей Uses:

Uses Graph;

Чтобы графические объекты могли выводиться на экран, нужно перевести его в графический режим – инициализировать, запустив соответствующий драйвер. Для использования режима 640х480х16 предназначен стандартный драйвер EgaVga.bgi, находящийся в подкаталоге BGI-каталога, в который установлен Турбо-Паскаль.

Инициализация графического режима производится вызовом процедуры InitGraph, имеющей следующий вид:

InitGraph (номер драйвера, номер режима, путь к файлу драйвера);

program ris;

uses graph; {подключение библиотеки графического режима}

var Gr,Gm:integer;

begin

Gr:=detect; {номер драйвера}

Gm:=0; {номер режима}

initGraph(Gr,Gm,'c:\BP\bgi'); {инициализация графического режима}

Readln; {задержка изображения на экране}

closeGraph; {закрытие графического режима}

end.

^ Экран в графическом режиме

В графическом режиме экран представляет собой мозаику точек (пикселей), каждая из которых может быть окрашена в тот или иной цвет. В режиме 640х480 мозаика состоит из 480 строк по 640 точек в каждой строке. Координаты каждой точки задаются парой целых чисел, обычно обозначаемых Х и Y, которые определяются проекциями отрезка, соединяющего эту точку с левым верхним углом экрана, на горизонтальную и вертикальную оси соответственно. Точка в левом верхнем углу экрана имеет нулевые координаты. Положительному значению Х соответствует направление слева направо, Y – сверху вниз. В графическом режиме (как и в текстовом) имеют место понятия «графический курсор» и «текущая позиция курсора», однако сам курсор не виден, и эти понятия используются лишь в описании графических команд. Изначально, после инициализации графического режима, текущая позиция курсора – левый верхний угол, то есть точка с координатами (х=0, y=0)




Кроме координат, точки на экране характеризуются цветом.

^ Цвета дисплея

Мы можем работать одновременно с 16 цветами, причем каждый цвет обозначен номером от 0 до 15. После команды установки режима обычно дается команда установки цвета:

SetColor (С);

здесь С – номер цвета, который, аналогично параметру процедуры TextColor, может являться целой переменной или константой, имеющей значение от 0 до 15, и задаваться либо именем, либо непосредственно значением.

Особенностью графического режима является использование цвета с номером 0, который является фоновым, вне зависимости от того, какой именно цвет имеет фон. В результате, если установлен цвет 0, то все объекты этого цвета не будут видны на экране, но при этом сотрут изображение в том месте, куда выводятся. То есть на экран вообще ничего нельзя вывести черным цветом, надо вместо него использовать темно-серый.


Цвет фона

Цветом фона в графическом режиме называется область экрана, на которую еще не выводилось изображение. При смене фона результат отображается на экране немедленно. Для изменения цвета фона используется процедура:

SetBkColor (Номер цвета);

4.Работа с диском 1С «Вычислительная математика и программирование».

Запустите программу «Вычислительная математика и программирование». Для этого дважды щелкните мышкой по ярлыку «Программирование 1С» на рабочем столе. Выберите «Курсы», затем в левом окне «Все курсы», «Язык Turbo Paskal» и «урок 13. Примитивы в графическом режиме. Рисование в графическом режиме с помощью примитивов»





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


^ Универсальные графические команды.





Отдельный пиксель можно "зажечь" заданным цветом универсальной командой графического режима:

PutPixel (х, у, С)

Формат команды таков: сначала указываются координаты х, у точки (в пикселях), а затем – номер цвета точки (0 – 15).

Все параметры данной процедуры должны быть целочисленными переменными или константами.

В сущности, на этом описание графического режима можно было бы закончить: теоретически с помощью команды PutPixel (х, у, С) можно нарисовать любое графическое изображение.

^ Графические примитивы



Обязательными элементами любого языка программирования, работающего с графикой, являются инструменты рисования стандартных объектов, которые часто называют графическими примитивами. Комбинируя эти средства с такой процедурой, как PutPixel, вы сможете рисовать довольно сложные и красочные изображения.





Для вывода на экран отрезка с концами в точках (X1, Y1) и (Х2, Y2) используется процедура:

Line (X1,Y1,X2,Y2);

Отрезок вычерчивается текущим цветом.

.





Для вывода на экран прямоугольника с вертикальными и горизонтальными сторонами (параллельными осям координат) в виде контура используется процедура:

Rectangle (X1, Y1, X2, Y2);

Точки с координатами (XI, Y1) и (Х2, Y2) располагаются в левом верхнем и правом нижнем углах прямоугольника.

Прямоугольник вычерчивается текущим цветом.





Для вывода на экран закрашенного прямоугольника используется процедура:

Bar (X1, Y1, X2, Y2);

Закрашивается прямоугольник также текущим цветом

А эта процедура рисует прямоугольный параллелепипед и закрашивает его переднюю грань:

Bar3D (X1, Y1, X2, Y2, D, A);




Попробуйте ответить, какая фигура будет выведена на экран процедурой:

1)Rectangle(100,50,100,150);

2) Rectangle(80,120,200,120);

3) Rectangle(80,50,150,150);








После вызова процедуры PutPixel (X, Y, С); текущей становится точка (X,Y). После вывода отрезка или прямоугольника текущей становится конечная точка (Х2, Y2).

Можно построить отрезок, указав либо смещение от этой точки по осям x и y, либо координаты конца отрезка с началом в текущей точке. Это упрощает рисование ломаных линий.

Процедура построения отрезка с указанным смещением:

^ LineRel (dx, dy);

Процедура построения отрезка с указанием последней его точки:

LineTo (x, y);


Вывод окружности с центром в точке (Х,Y) и радиусом R на экран выполняется процедурой:

Circle (X, Y, R);

Окружность будет изображена текущим цветом.




Если координаты изображения или его части не попадают в тот промежуток координат, который соответствует экрану, то программа не приостановит свою работу и сообщение об ошибке не будет выдано. Просто не вошедшие в экран точки не будут изображены.


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

Скажите, как изобразить отрезок, точку, окружность, прямоугольник.

^ Работа в интегрированной среде Турбо Паскаль.

Запустите интегрированную среду Турбо Паскаль. (Ярлык Турбо Паскаль на рабочем столе) Откройте программу ris1.pas (Fail – open – ris1.pas – open)

program ris1;

uses graph;

var Gr,Gm:integer;

begin

Gr:=detect;

Gm:=0;

initGraph(Gr,Gm,'c:\BP\bgi');

circle(50,50,10); {изображаем окружность радиуса 10 с центром в точке 50,50}

Readln;

closeGraph;

end.

Что будет изображено на экране после запуска программы? (ответы учащихся) Запустите программу на выполнение (Run – Run)

^ 6. Самостоятельная работа.

Измените программу ris1 так, чтобы кроме окружности она рисовала и другие геометрические фигуры. Сохраните вашу программу под именем ris1_2.pas

Тестирование.

На диске 1С «Вычислительная математика и программирование» в разделе «Курсы»→«Все курсы»→«Тесты к урокам»→«Тест к уроку 13.Примитивы в графическом режиме. Рисование с помощью примитивов.» выполните следующий тест.







Какая процедура выводит на экран прямоугольник?

1)Rectangle(X1,Y1,X2,Y2);

2)PutPixel(x,y,C);

3)Line(X1,Y1,X2,Y2);

4)Bar(X1,Y1,X2,Y2);


2.Какие процедуры вычертят на экране отрезок?

1)Bar(200,130,130,200);

2)Line(X1,Y1,X2,Y2);

3) Rectangle(200,130,400,130);

4) PutPixel(x,y,C);


3.Какую процедуру можно использовать для вычерчивания на экране отрезка?

1) LineRel(dx,dy);

2) LineTo(x,y);

3) Line(X1,Y1,X2,Y2);

4)MoveRel(dx,dy)


4)Какая процедура выводит на экран точку.

1) LineRel(dx,dy);

2) LineTo(x,y);

3) PutPixel(x,y,C);

4) Line(X1,Y1,X2,Y2);



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

1.Прочтите теоретический материал, изученный на уроке.

2.Ответьте на вопросы:

1)С помощью каких процедур рисуют графические примитивы?

2)В каком разделе подключают графический модуль Graph?

3)С помощью какой команды происходит инициализация графического режима?

4)С помощью какой команды происходит отключение графического режима?

3.Напишите программу, изображающую какой-либо рисунок с помощью графических примитивов.

Рекомендуемая литература:

1..Попов В.Б. Турбо Paskal для школьников: Учеб. Пособие. – 3-е доп. Изд. – М.: Финансы и статистика, 2004.

2.Карасёв П.Н. Задачи по информатике. Учеб. Пособие. – Изд.- Волгоград.: Учитель – АСТ, 2001.

Кузнецов А.А., Апатова Н.В. Основы информатики. 8-9 кл.: Учеб. для общеобразоват. учеб. заведений. – 3-е изд., стереотип. – Дрофа, 2001.



Похожие:

Урок тема урока: структура программы на языке паскаль. Процедуры ввода вывода. Интегрированная среда турбо паскаль iconЛекция Среда программирования Турбо Паскаль Работа в среде Турбо Паскаль. Работа с файлами. Редактирования программы. Прогон и отладка.
Работа в среде Турбо Паскаль. Работа с файлами. Редактирования программы. Прогон и отладка. Сохранение программы. Алфавит языка....
Урок тема урока: структура программы на языке паскаль. Процедуры ввода вывода. Интегрированная среда турбо паскаль iconУрок Составные части программы Программа, написанная на языке паскаль состоит из четырех частей
Заголовок нужен для того, чтобы паскаль знал, с какой именно программой вы работаете. В принципе, программа будет работать и без...
Урок тема урока: структура программы на языке паскаль. Процедуры ввода вывода. Интегрированная среда турбо паскаль iconЗадачи образовательные: формирование знаний и умений учащихся по теме «основные графические процедуры Паскаль»
...
Урок тема урока: структура программы на языке паскаль. Процедуры ввода вывода. Интегрированная среда турбо паскаль icon1. Разработка эскизного и технического проектов программы 1 Назначение и область применения
Необходимо разработать программу, представляющую собой справочную систему по операторам языка программирования Турбо Паскаль
Урок тема урока: структура программы на языке паскаль. Процедуры ввода вывода. Интегрированная среда турбо паскаль iconУроки Pascal abc введение
Паскаль (англ. Pascal) это язык программирования, имеющий текстовую среду. Является основой многих языков программирования. Паскаль...
Урок тема урока: структура программы на языке паскаль. Процедуры ввода вывода. Интегрированная среда турбо паскаль iconУрок Перше знайомство з мовою програмування Паскаль Уся наша гідність міститься в думці. Не простір і не час, які ми не можемо заповнити, піднімають нас, а саме наша думка. Тому навчаймося правильно мислити Блез Паскаль
Мову програмування Паскаль для навчання студентів основам програмування створив у 1968-1971 рр швейцарський учений Ніклаус Вірт (рис....
Урок тема урока: структура программы на языке паскаль. Процедуры ввода вывода. Интегрированная среда турбо паскаль iconЛекция 1 «Программирование ввода/вывода в языке C
Организация C
Урок тема урока: структура программы на языке паскаль. Процедуры ввода вывода. Интегрированная среда турбо паскаль iconПлан-конспект урока Информатики и икт в 8 в классе на тему «Процедуры»
Алгоритмизация и Программирование курса Информатики и икт. Важной целью данного урока является знакомство учащихся с базовой алгоритмической...
Урок тема урока: структура программы на языке паскаль. Процедуры ввода вывода. Интегрированная среда турбо паскаль iconИндивидуальное домашнее задание №1 мт2, 2 семестр Представление графа Указания по выполнению идз №1
Реализовать процедуры: ввода и вывода из файла, процедуру преобразования из одной структуры данных в другую
Урок тема урока: структура программы на языке паскаль. Процедуры ввода вывода. Интегрированная среда турбо паскаль iconЭлектроэнергетика и информационные технологии
Алфавит, типы данных и переменных на языке turbo paskal. Организация ввода-вывода
Разместите ссылку на наш сайт:
Уроки, сочинения


База данных защищена авторским правом ©izlov.ru 2000-2014
При копировании материала обязательно указание активной ссылки открытой для индексации.
связаться с нами