Добавить материал и получить бесплатное свидетельство о публикации в СМИ
Эл. №ФС77-60625 от 20.01.2015
Инфоурок / Информатика / Конспекты / Методическое пособие для учителей информатики средней школы "Ускоренное обучение 7 – 11 классов языку BASIC"

Методическое пособие для учителей информатики средней школы "Ускоренное обучение 7 – 11 классов языку BASIC"

  • Информатика

Поделитесь материалом с коллегами:



Средняя общеобразовательная школа №38

(многопрофильная)


На правах рукописи


ГЕГЕЛАШВИЛИ

Татьяна Павловна


УСКОРЕННОЕ ОБУЧЕНИЕ УЧАЩИХСЯ 7 – 11 КЛАССОВ ЯЗЫКУ BASIC


Методическое пособие для учителей информатики

средней школы




Владикавказ

2015

Содержание

87 2

ВВЕДЕНИЕ 3

1. ОЗНАКОМЛЕНИЕ С ЯЗЫКОМ QBASIC 5

1.1 Представление алгоритма с помощью языка QBasic 6

1.2 Пример: Линейный алгоритм 6

2. ОЗНАКОМЛЕНИЕ С ЯЗЫКОМ VISUAL BASIC 8

2.1 Практическая работа 1:Проект «Создание графического интерфейса проекта». 8

2.2 Практическая работа №3: Программа «Светофор» 12

3. ИСПОЛЬЗОВАНИЯ ЯЗЫКА VISUAL BASIC ДЛЯ СОЗДАНИЯ МОДЕЛЕЙ 16

3.1 Практическая работа: Создание модели солнечной системы. 17

3.1 Практическая работа «Работа с символьными (строковыми) величинами» 18

4.  ЧЕТВЕРТАЯ ЧАСТЬ - ПРОФИЛЬНОЕ ОБУЧЕНИЕ – 10 – 11 КЛАСС 20

ЗАКЛЮЧЕНИЕ 20

ЛИТЕРАТУРА 21

ПРИЛОЖЕНИЯ 23


ВВЕДЕНИЕ

В соответствии с постановлением правительства РФ с 2008 года обучение по курсу информатика заканчивается единым государственным экзаменом. ЕГЭ включает в себя проверку знаний, умений и навыков учащихся, как пользователей, так и программистов. Однако, в нашей республике учебные часы, отведенные на изучение информатики, были существенно сокращены, и основной упор в обучении был сделан на подготовку пользователей компьютером с существенным сокращением изучения языков программирования. Справедливость данного положения подчеркивается в приведенных программах в Методическом справочнике для учителей информатике [1].

Вместе с тем положение существенно изменилось после оснащения средних школ комплектными компьютерными классами.

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

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

В последние 10 лет существенно изменилась концепция обучения информатики. Основным нормативным документом, начиная с 2006 года, для каждого учителя информатики служит Федеральный образовательный стандарт основного общего образования по информатике и информационным технологиям, где отражены цели обучения, обязательный минимум содержания и требования к учащимся, которые будут предъявляться при итоговой аттестации. На сегодняшний день, ни один существующий учебник по информатике (базовый курс) не соответствует новому содержанию обучения. Учебники были ориентированы на минимум содержания, который рассматривался как промежуточный этап при переходе к государственным стандартам.

Рассмотрим, как отражена тема изучения языков программирования в учебниках и учебных пособий.

В ряде учебников и пособий языки программирования вообще не рассматриваются [2, 3], например учебник Макаровой Н.В. В учебнике Гейна А.Г. все задачи и алгоритмы записываются на бездумном исполнителе (БИ) «Паркетчик», и под конец предлагается сравнительная таблица операторов языков Basic и Pascal с БИ и предлагается решать задачи на этих языках.

В базовом курсе Семакина И.Г. [4] программирование вообще не представлено, дается только в главе Информация и управление алгоритмы записываются на алгоритмическом языке (АЯ). И только для углубленного изучения предлагается знакомство с языком Паскаль. Именно знакомство, а не изучение. А вот практикум того же автора [5] можно охарактеризовать как задачник, но не как учебник по языку Pascal.

В учебнике Угриновича Н.Д. [6] в главе 4 дается язык Visual Basic в полном объеме и в доступной форме. Хорошо дополняет этот учебник Практикум того же автора [7], где представлены разработки замечательных программ. Но объем всего этого материала явно не может быть представлен в нашем учебном курсе – не хватит учебных часов.

В учебном пособии Симоновича С.В. [8, 9, 10] хорошо описана теоретические основы языка QBASIC, но совершенно нет практической разработки решения задач.

Автор Шауцукова Л.З. в своих книгах [11, 12] приводит решение задач одновременно на трех языках школьный АЯ, QBASIC и TURBO PASCAL, Чернов А.А. в своих конспектах [13] - на двух языках программирования QBASIC и TURBO PASCAL. И опять объем материала превышает наши возможности, в виду ограниченности учебных часов.

Общий недостаток рассмотренных учебников и учебных пособий заключается в том, что они рассчитаны на существенно больший объем учебных часов и поэтому не могут в чистом виде применяться в условиях средних школ РСО Алания. Опыт работы показал, что основной упор необходимо перенести на практические занятия, в связи с этим и возникла необходимость в этой работе.

Последнее время, в связи с тем, что приходится вводить в курс информатики такие разделы как алгебра логики и количество информации, с обучением способов решения задач по этим разделам, часы на изучение языков программирования еще уменьшаются. Привычная методика обучения языкам программирования уже не может быть использована. В этой работе делается попытка пересмотреть сам метод преподавания программирования. Предлагаемая методическая разработка основана на оригинальных изданиях, посвященных языкам программирования [15-17], скорректирована в соответствии аппаратным и программным обеспечением комплектных компьютерных классов, поставленных в средние школы РФ в соответствии с президентской программой, и опробована в школе №38 и факультете довузовской подготовки СКГМИ (ГТУ).

Работа состоит из примеров практических заданий, конспекта для изучения языка QBASIC, рабочей программы, приведенных в приложении и поурочной разработки уроков информатики 7 – 11 класс на CD диске.

1. ОЗНАКОМЛЕНИЕ С ЯЗЫКОМ QBASIC

Весь курс обучения делится на 4 части.

1 часть – 7 класс – Язык QBasic используется для записи алгоритмов.

Во второй четверти выделяем 2 часа для знакомства со средой QBasic, где ученики осваивают окно QBasic. Третья четверть – 10 часов – в разделе Алгоритмы, предлагается записывать алгоритмы с помощью языка QBasic.

1.1 Представление алгоритма с помощью языка QBasic

При объяснении темы мы даем способ записи алгоритмов в виде блок-схем и тут же каждому блоку даем вид записи соответствующего оператора.

hello_html_27761422.png

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

1.2 Пример: Линейный алгоритм

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

Задача 1.

Найти среднее арифметическое двух чисел х и у

hello_html_m1a88b48.png

Выполнение.

1.Записать в тетрадь блок-схему.

2. Запустить программу QBasic

3. На рабочем поле записать программу так, чтобы каждый оператор был с новой строки. Для этого в конце каждой строки нажимать Enter.

4. Запустить программу на выполнение. Для этого нажать одновременно клавиши Shift и F5.

5. На экране появится Х? нажать на клавиатуре любое число и Enter. Теперь компьютер знает, что Х = тому числу, которое вы нажали.

6. Дальше на экране появится Y? Повторить, как для Х.

7. На экране появится ответ.

8. Записать блок-схему и программу в тетрадь.

Задача 2. Написать программу приветствия по предложенной блок-схеме

Вhello_html_m449eeb36.pngнимание! Если в переменную надо вводить слова, то возле переменной надо ставить значок $.

- В конце каждой строчке надо нажимать клавишу ENTER.

- Для перехода в русский регистр надо нажать две клавиши одновременно правые Ctrl и Shift

- Для перехода в английский регистр надо нажать две клавиши одновременно левые Ctrl и Shift

- Вместо второго блока пишем INPUT “Как ваше имя”; A$

- Когда программа будет записана надо нажать одновременно клавиши Shift и F5.

- В переменную А$ надо с клавиатуры вводить ваше имя, например, Алан.


Записать блок-схему и программу в тетрадь.

В этой работе знакомим учащихся с символьными переменными, объясняя, чем символьная переменная отличается от числовой переменной. Более подробно необходимо объяснить оператор INPUT: для чего необходимо в операторе вводить текст.


И так в каждой практической работе ученик знакомится с новым оператором языка Basic или более подробно изучает уже известный ранее оператор.

Как показала практика ученики 7 класса довольно легко усваивают структуру основных операторов языка Basic.

2. ОЗНАКОМЛЕНИЕ С ЯЗЫКОМ VISUAL BASIC

Вторая часть обучения языкам программирования – это знакомство с языком Visual Basic.

Третья четверть 8 класса – 10 часов.

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

Например, Практическая работа 1

2.1 Практическая работа 1:Проект «Создание графического интерфейса проекта».

  1. Создать новый проект.

  2. Активизировать форму Form1 щелчком мыши. В окне Свойств объекта выбрать свойство Caption и присвоить ему значение “Первый проект”.

  3. Выбрать на Панели инструментов класс управляющих элементов Label и разместить экземпляр метки Label1 на форме Form1.

  4. Активизировать метку Label1. В окне Свойств объекта выбрать свойство Caption и присвоить ему значение Первый проект на языке Visual Basic.

5 Выбрать на Панели инструментов класс управляющих элементов TextBox и разместить экземпляр текстового поля Text1 на форме Form1.

6 Активизировать текстовое поле Text1. В окне Свойств объекта выбрать свойство Caption и присвоить ему значение “Первый проект на языке Visual Basic.

7 hello_html_6461e6c1.jpgВыбрать на Панели инструментов класс управляющих элементов CommandButton и разместить экземпляр кнопки Command1 на форме Form1.

8 Активизировать кнопку Command1. В окне Свойств объекта выбрать свойство Caption и присвоить ему значение “Метод Print.

9 Двойным щелчком по кнопке Command1 вызвать окно Программного кода с пустой процедурой Command1_Click(). Ввести в процедуру метод Print. hello_html_11e4935f.png

10 Ввести команду [Run-Start]. Появится окно приложения Первый проект.

Для выполнения событийной процедуры щелкнуть по кнопке Метод Print. hello_html_587d6de5.png

11 Активизировать форму Form1. В окне Свойств объекта выбрать свойство BackColor (цвет фона) и двойным щелчком открыть диалоговое окно с цветовой палитрой. Выбрать цвет, например, желтый.

12 Активизировать метку Label1. В окне Свойств объекта для свойств установить значения: BackColor - зеленый, ForeColor (цвет надписи) – синий, Fontразмер шрифта 18, Alignment (выравнивание) – center.

13 Активизировать текстовое поле Text1. В окне Свойств объекта для свойств установить значения: ForeColor (цвет надписи) – красный, Fontразмер шрифта 14 и начертание курсив, Alignment (выравнивание) – center.

14 Двойным щелчком по кнопке Command1 вызвать окно Программного кода с процедурой Command1_Click(). Ввести в процедуру строку Font.Size = 12.

15 После запуска проекта и щелчка по кнопке Метод Print получим hello_html_24755b86.pngновый вид графическогоинтерфейса.

16 Последовательно активизировать форму Form1, метку Label1, текстовое поле Text1 и кнопку Command1. В окне Свойств объекта последовательно изменить свойство Name (имя объекта) на frm1, lbl1, txt1, cmd1.

17 В окне Программного кода изменить имя событийной процедуры на cmd1_Click() и имя формы на frm1.

18 Активизировать форму frm1. В окне Свойств объекта последовательно присвоить свойствам Left, Top, Width и Height значения 1000, 3000, 6000, 4500.

19 Двойным щелчком по форме вызвать окно Программного кода с пустой процедурой Form_Load(). Ввести код процедуры выравнивания.

20 Активизировать метку lbl1. В окне Свойств объекта последовательно присвоить свойствам Left, Top, Width и Height значения 750, 600, 4500, 1000.

21 Активизировать текстовое поле txt1. В окне Свойств объекта последовательно присвоить свойствам Left, Top, Width и Height значения 750, 2000, 4500, 1000.

22 Активизировать кнопку cmd1. В окне Свойств объекта последовательно присвоить свойствам Left, Top, Width и Height значения 2400, 3300, 1000, 500.

23 Сохранить файл формы командой [Save Form1.frm As …] как frm1.frm и файл проекта командой [Save Project As …] как prj1.vbp.


Из этой работы видно, что учащийся знакомится с основными объектами языка Visual Basic и их свойствами. В следующих работах, кроме выполнения последовательно указаний практической работы, ученику уже предлагается в выполненную работу внести свои изменения, которые требуют от него не просто чисто механического выполнения практической работы, а осмысленного понимания всех своих действий. Например, Практическая работа №3

2.2 Практическая работа №3: Программа «Светофор»

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

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

Для начала желательно изменить заголовок формы, для этого свойству Caption в окне Properties следует придать значение «Светофор», То же самое нужно проделать с именем (свойство Name).

Для обозначения разноцветных сигналов воспользуемся окружностями (Circle) из набора фигур (Shape). В качестве клавиш управления выберем кнопки переключателя (OptionButton)

На окне форм нужно разместить одну под другой три фигуры Shape, стараясь при этом выдержать между ними равные расстояния. Для каждой из фигур в окне свойств Properties произвести следующие изменения:

·Свойства Hight (Высота) и Width (Ширина) сделать одинаковыми и равными 700;

·Свойству Shape придать значение 3 – Circle;

Свойство Left (расстояние от левого края окна форм) установить для всех фигур одинаковым, равным, например, 250;

·Свойство FillColor (цвет заливки) выбрать серым. Это четвертый сверху оттенок в левом столбце палитры. Очень важно, чтобы свойство FillStyle (стиль заполнения) был установлен равным 0 – Solid, иначе цвет может не установиться;

·Изменить имена фигур. В поле имени (Name) верхней фигуры записать Red (красный); средней - Yellow (желтый) и нижней - Green (зеленый).

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

·Свойству Style (Стиль) придать значение 1 – Graphical (графический), кнопки после этого приобретают форму клавиш.

·Свойству Caption (заголовок, надпись на клавише) для верхней кнопки присвоить значение «Красный». Среднюю кнопку озаглавить «Желтый», а нижнюю – «Зеленый».

Изменить цвет кнопок (BackColor) соответственно надписям на них.

·Изменить имена (Name) кнопок. Красную кнопку можно назвать RedButt, желтую - YellButt, а зеленую – GrButt.

Можно изменить шрифт надписей (свойство Font) его размер и начертание. Следует при этом помнить, что не все шрифты поддерживают кириллицу, для начала остановитесь на шрифте Courier New.

На этом построение графической части проекта заканчивается, примерный вид окна форм со всеми размещенными на нем объектами изображен на Рисунке 2.

Алгоритм работы светофора очень прост:

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

2. Всегда должен светиться один из сигналов;

3. Не должны быть нажаты сразу две или три клавиши.

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

Перейдем к составлению кода процедур. Щелкнем двойным щелчком по кнопке «Красный» на окне форм - в открывшемся окне кодов появится заготовка процедуры:

Private Sub RedButt_Click()

 

End Sub

hello_html_m236eb2a.png

Рисунок 2. Вид окна форм с размещенными на нем объектами

Первая сточка называется заголовком, она содержит название объекта управления - кнопки RedButt и описывает тип процедуры Private (локальная). Вторая строчка обозначает конец процедуры. Между этими двумя строками нужно вставить указания о том, какие цвета должны быть у каждого из сигналов светофора при нажатой кнопке «Красный»: красный сигнал должен светиться, о два других оставаться серыми. Аналогичные процедуры следует создать и для двух оставшихся кнопок.

Для удобства набора текста можно порекомендовать следующий порядок действий:

· В первой процедуре присвоить всем сигналам серый цвет;

· Двойным щелчком по кнопке «Желтый» создать заготовку для второй процедуры и скопировать в нее тело первой процедуры;

· Двойным щелчком по кнопке «Зеленый» создать для нее заготовку процедуры и скопировать в нее тело первой процедуры;

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

Рассмотрим структуру одной из строк – операторов присвоения цвета:

Red.FillColor=QBColor(8)

В самой левой части строки записывается название объекта управления, свойства которого необходимо изменить. В данном случае - это фигура (окружность) с именем Red. Название свойства FillColor (цвет заливки), значение которого изменяется, записывают справа от имени объекта и отделяют от него точкой. Затем ставится знак равенства и, после него записывается значение свойства, которое нужно присвоить.

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

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

 

Private Sub GrButt_Click()

Red.FillColor = QBColor(8)

Yellow.FillColor = QBColor(8)

Green.FillColor = QBColor(10)

End Sub

 

Private Sub RedButt_Click()

Red.FillColor = QBColor(12)

Yellow.FillColor = QBColor(8)

Green.FillColor = QBColor(8)

End Sub

 

Private Sub YellButt_Click()

Red.FillColor = QBColor(8)

Yellow.FillColor = QBColor(14)

Green.FillColor = QBColor(8)

End Sub

Таким образом, каждой кнопке переключателя поставлена в соответствие процедура - обработчик, управляющая свойством Цвет объектов (фигур) – сигналов светофора. Запуск программы производится щелчком по команде Start из меню Run или нажатием клавиши [F5].

Задание. Сделать так, чтобы при нажатии Желтой кнопки, горел и красный и желтый цвет одновременно.

3. ИСПОЛЬЗОВАНИЯ ЯЗЫКА VISUAL BASIC ДЛЯ СОЗДАНИЯ МОДЕЛЕЙ

Третья часть – использования языка Visual Basic для создания моделей.

Третья четверть – 10 класс – Информационные модели. При моделировании использовать на ряду с приложениями Excel и Access языки QBasic и Visual Basic. Например, практическая работа на языке QBasic.

3.1 Практическая работа: Создание модели солнечной системы.

1. Запустить программу QBasic.

2. На рабочем поле набрать программу:

Screen 12

Cls

Circle (300, 200), 50, 2

PAINT (300, 200), 6, 2

Circle (300, 200), 200, 1, , , 1 / 2

n = 5

For k = 1 To 360 * n

x = 200 * Sin(6.28 / 360 * k)

y = 100 * Cos(6.28 / 360 * k)

c = 4

GoSub 5

For i = 1 To 25000

Next i

c = 0

GoSub 5

Next k

GoTo 10

5 Circle (300 + x, 200 + y), 20, c

Return

10 End

5. Для запуска нажать Shift + F5

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

6. Переделать программу так, чтобы вокруг Солнца вращалась еще одна планета.

7. Записать программу в тетрадь и предъявить учителю.


Например, практическая работа на языке Visual Basic.

3.1 Практическая работа «Работа с символьными (строковыми) величинами»

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

Проект «Строковый калькулятор». Создадим строковый калькулятор, который позволит производить различные преобразования строк. 


Проект «Строковый калькулятор».

1

Создать новый проект. Разместить на форме три текстовых поля и кнопку. Присвоить им имена: txt1, txt2, txt3, cmdCon.

2

Для кнопки ввести программный код событийной процедуры cmdCon_Click(), реализующий операцию конкатенации:

 

Private Sub cmdCon_Click()

txt3.Text = txt1.Text + txt2.Text

End Sub

3

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

hello_html_m27307a70.png

Воспользуемся теперь для преобразования строк строковой функцией Mid$(строка$,bytM,bytN). Функция вырезает из строки$ подстроку с символа, позиция которого в строке задается целочисленной переменной bytM, и длиной, которая задается целочисленной переменной bytN.

4

Разместить на форме кнопку и два текстовых поля. Присвоить им имена: cmdMid, txt1Mid, txt2Mid.

5

Для кнопки ввести программный код событийной процедуры cmdMid_Click(), реализующий операцию вырезания подстроки. Для преобразования значений свойства Caption текстовых полей, предназначенных для ввода чисел, использовать функцию Val:

 

Private Sub cmd_Click()

txt3.Text = Mid$(txt1.Text, Val(txt1Mid.Text), Val(txt2Mid.Text))

End Sub

6

Запустить проект, в первое поле ввести строку, в поля функции вырезки подстроки ввести числа и щелкнуть по кнопке Mid$. В третьем поле появится вырезанная подстрока.

hello_html_m11aca085.png

 

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

7

Разместить на форме кнопку и присвоить ей имя cmdLen.

8

Для кнопки ввести программный код событийной процедуры cmdLen_Click(), реализующий операцию определения количества символов в строке:

 

Private Sub cmdLen_Click()

txt3.Text = Len(txt1.Text)

End Sub

9

Запустить проект, в первое поле ввести строку и щелкнуть по кнопке Len. В третьем поле появится число символов в строке.

hello_html_7dac775a.png

Для преобразования символов в соответствующий им числовой код используется функция Asc(строка$), при этом необходимо иметь в виду, что функция возвращает числовой код первого символа строки.  

10

Разместить на форме кнопку и присвоить ей имя cmdAsc.

11

Для кнопки ввести программный код событийной процедуры cmdAsc_Click(), реализующий операцию определения количества символов в строке:

 

Private Sub cmdAsc_Click()

txt3.Text = Asc(txt1.Text)

End Sub

12

Запустить проект, в первое поле ввести символ и щелкнуть по кнопке Asc. В третьем поле появится числовой код символа.

hello_html_9eedd22.png

13

Сохранить проект в своей папке под именем Слова

4.  ЧЕТВЕРТАЯ ЧАСТЬ - ПРОФИЛЬНОЕ ОБУЧЕНИЕ – 10 – 11 КЛАСС

Поскольку в нашей школе в 10 – 11 классах на изучение информатики отводится 136 часов, то 68 часов – это часы, отведенные для изучения языка QBasic в полном объеме, где начинается с изучения алфавита языка QBasic и заканчивается сортировкой матрицы. См. ПРИЛОЖЕНИЕ.

ЗАКЛЮЧЕНИЕ

Применение автором предлагаемых методических разработок в течение последних пяти лет показало, что для достижения поставленой – цели получения знаний и навыков необходимых для успешной сдачи ЕГЭ по информатике – необходимо в полной мере использовать все технические средства обучения представленные в комплектных компьютерных классах. Особое внимание следует уделять применению компьютерных проекторов и новому средству - интерактивной доске. Применение последней требует специальной методической разработки, которая будет создаваться в последующем на основе опыта учителей информатики 38 общеобразовательной школы.

ЛИТЕРАТУРА

  1. Исакова Л.С. Методический справочник для учителя информатики. Владикавказ.: ГАМЦ УО. 2001. 56 с.

  2. Информатика. 7 – 9 класс. Базовый курс. Теория./ Под ред. Н.В.Макаровой. СПБ.: Питер. 2006. 368 с.

  3. Гейн А.Г. и др. Информатика: Учеб. Пособие для 10 – 11 кл. общеобразоват. учреждений. М.: Просвещение. 2001. 255с.

  4. Семакин И.Г., Загалова Л.А., Русаков С.В., Шестакова Л.В. Информатика. Базовый курс. 7 – 9 классы. М. : БИНОМ. Лаборатория знаний. 2005. 390 с.

  5. Информатика. Задачник – практикум в 2 т./ Под ред. И.Г. Семакина, Е.К. Хеннера. М.: Лаборатория Базовых Знаний, 1999.

  6. Угринович Н.Д. Информатика и информационные технологии. Учебник для 10 - 11 классов. М.: БИНОМ. Лаборатория знаний, 2002. 512 с.

  7. Угринович Н.Д. Практикум по информатике и информационным технологиям. Учебное пособие для общеобразовательных учреждений. М.: БИНОМ. Лаборатория знаний, 2002. 400 с.

  8. Симонович С.В., Евсеев Г.А., Алексеев А.Г. Общая информатика. Учебное пособие для средней школы. М.: АСТ-ПРЕСС КНИГА. Инфорком-Пресс. 2002. 592 с.

  9. Симонович С.В., Евсеев Г.А., Алексеев А.Г. Специальная информатика. Учебное пособие.М.: АСТ-ПРЕСС КНИГА. Инфорком-Пресс. 1999. 480 с.

  10. Симонович С.В., Евсеев Г.А. Практическая информатика. Учебное пособие для средней школы. Универсальный курс М.: АСТ-ПРЕСС КНИГА. Инфорком-Пресс. 1999. 480 с

  11. Шауцукова Л.З. Информатика: Учебник для 7 – 11 кл. общеобразоват. учеб. Заведений. В 2 кн. Кн.1: Теория( с задачами и решениями). Нальчик: Эль – Фа. 1997. 288 с.

  12. Шауцукова Л.З. Информатика: Учебник для 7 – 11 кл. общеобразоват. учеб. Заведений. В 2 кн. Кн.1: Практика алгоритмизации и программированияНальчик: Эль – Фа. 1997. 288 с.

  13. Конспекты уроков информатики в 9 – 11 классах: практикум по программированию/ авт.-сост. А.А.Чернов. Волгоград: Учитель. 2006. 235 с.

  14. Угринович Н.Д. Информатика: Учебник для 7 класса. М.: БИНОМ. Лаборатория знаний, 2005. 173 с.


  1. Вонг, Уоллес. Основы программирования для «чайников». Пер. с англ. М.: Издательский дом «Вильямс». 2004. 384 с.

  2. Кузьменко В.Г. Visual Basic 6. Самоучитель. М.: ООО «Бином-Пресс». 2005.400 с.

ПРИЛОЖЕНИЯ

ПРИЛОЖЕНИЕ 1

Язык QBASIC.

Введение.


Алгоритмический язык Бейсик используется преимущественно в режиме диалога человека и ЭВМ. Этот язык ориентирован на решение различных задач вычислительного и не вычислительного характера. Название языка возникло от сокращения английских слов (Beginner’s Allpurpose Symbolic Instuction Code), что в переводе означает “многоцелевой язык символических инструкций для начинающих”.

Программа на языке Бейсик состоит из пронумерованных строк. Одна строка может содержать один оператор. Номера строк могут изменяться от 1 до 65535. Обычно строки нумеруются начиная с 10 с интервалом 10. Строки могут вводиться в любом порядке, но выполняться всегда строго в порядке возрастания номеров. Номер строки выполняет две функции:

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

Алфавит языка (основные символы языка).

В языке Бейсик используют следующие основные символы:

а) 26 букв заглавного латинского алфавита A,B,C,...,X,Y,Z.

(допустимы также строчные).

б) цифры 0,1,...,9

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

1) знаки арифметических операций +,-,*,/,\,^.

2) знаки отношений <, <=, =, >, >=, <>

3) ) ( . : ; , % ! # $ ? “

Язык Бейсик использует ряд слов для обозначения команд, операторов, имен функций. Изменить значение этих слов пользователь не может, поэтому эти слова называются зарезервированными (служебными, ключевыми). К ним относятся:

1) имена команд: NEW, RUN, LIST...

2) имена функций: SIN, COS, ATN,...

3) имена операторов: READ, INPUT, IF...

Основные элементы языка.

К основным элементам языка относятся константы, переменные и специальные функции.

Константы.

Константы представляют собой объекты, чьи значения не могут быть изменены в процессе выполнения программы. В языке Бейсик различают числовые и символьные константы. Числовые константы делятся на целые и действительные.

1)Целая константа имеет вид обычных десятичных чисел со знаком или без него. Целый тип константы указывает знак %. Целые константы могут принимать значения в диапазоне от -32768% до 32768%.

2) Вещественная константа может быть записана в двух формах:

а) нормальный 3.21

б) экспотенциальный 1.2Е3 = 1200

Пример. Определить правильно или неправильно записаны константы: 37.25Е28, 1.5Е2, 3Е, Е5, 1Е2.5, 34Е 24, 33%, 4.2Е2%, 3Е44, 44.

3) Символьные (строковые или текстовые) константы представляют собой последовательность символов (цепочку литер) заключенную в кавычки “ ПРИВЕТ”. Максимальная длина текстовой константы 255 символов. В символьных константах могут использоваться любые символы алфавита, кроме кавычек.

Переменные.

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

% - целая переменная;

$ - символьная переменная.

Имя переменной может содержать от одного до 40 алфавитно-цифровых символов. В идентификаторах должны использоваться только буквы латинского алфавита и начинаться обязательно с буквы.

Стандартные и нестандартные функции.

Функцию можно представить себе как некоторую вычислительную процедуру, на вход которой подается набор допустимых аргументов, а на выходе получается единственный результат - значение числового или символьного типа. Любая функция реализуется с помощью программы, которая либо является постоянной компонентой системы программирования, либо должна быть сконструирована в той или иной форме пользователя. В соответствии с этим все функции подразделяются на системные (стандартные) и пользовательские (нестандартные). Подобно переменным каждая функция снабжается уникальным именем, которое образуется по тем же правилам, что и имя переменной. За стандартными функциями закреплены фиксированные имена, которые нельзя употреблять в качестве идентификаторов других объектов. Аргумент функции всегда записывается непосредственно за названием функции и заключается в скобки.

Стандартные математические функции:

SIN(X) - sinx

COS(X) - cosx

TAN(X) - tgx

ATN(X) - arctgx

ABS(X) - x

SQR(X) -x

EXP(X) - ex

LOG(X) - lnx

INT(X) - нахождение ближайшего целого, не превосходящего х

FIX(X) - ближайшее целое с округлением

SGN(X)-взятие знака числа ( -1 при x<0 , 1 при x>0, 0 при x=0)

RND(X)- генерация случайных чисел от 0 до 1.

Аргумент тригонометрических функций должен задаваться в радианах. Результаты работы функции ATN(X) также выдается в радианах. Аргументы функции LOG(X) должны быть положительными.

Арифметические выражения.

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

В языке Бейсик различают следующие арифметические операции:

+ сложение;

- вычитание;

* умножение;

/ деление;

\ целочисленное деление;

^возведение в степень.

Записать на Бейсике следующее выражение:

(X^2+SIN(X)^2)/(2.5*SQR(X))

Правила записи арифметических выражений.

1. Арифметические выражения записываются линейно, т.е. в строчку.

2. Два знака операций не должны стоять рядом: hello_html_7d182c15.gif

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

4. Если последовательность выполнения операций не полностью определены скобками, то действия выполняются в следующем порядке:

Приоритет операций.

1) Функции.

2) Возведение в степень.

3)Умножение и деление.

4) Деление нацело.

5) Сложение и вычитание.

5. Возведение в целочисленную степень выполняется путем последовательных умножений.

6. Если показатель степени вещественный, то основание Х должно быть положительным.

7. Операция извлечения корня любой степени кроме квадратного заменяется возведением в дробную степень hello_html_76e093cb.gifx^(m/n).

Логические выражения.

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

A>B; B>=A; A=B; A<=B; AB.

Отношение может либо удовлетворяться, либо не удовлетворяться. Если отношение удовлетворяется, то его значение является истина, в противном случае - ложь.

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

Логические операции.

OT (не); AND(и); OR(или).

A

B

NOT A

A AND B

A OR B

истина

истина

ложь

истина

истина

истина

ложь

ложь

ложь

истина

ложь

истина

истина

ложь

истина

ложь

ложь

истина

ложь

ложь


1.Оператор присваивания.

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

Каждое конкретное указание называется оператором. Все операторы можно разделить на 2 группы: выполняемые и невыполняемые.

Оператор присваивания имеет вид

[LET] V=A, где V - переменная(простая или индексированная), А - арифметическое выражение.

Оператор присваивания выполняется следующим образом: вычисляется значение арифметического выражения, полученный результат присваивается переменой, т.е. заносится в ячейку памяти ЭВМ, соответствующую переменной V.

Пример: x=3.4 z=x+y z=8.9

y=5.5 z=z+1 z=9.9

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

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

x=1.2; y=2.7; n%=5% k%=3%

1) z=x+y z=3.9

2) L%=x+y L%=3%

3) T=n%+k% T=8.0

4) x%=n%+k% x%=8%

5) T=20/3 T=6.666...

6) x=n%+T%+z

1. Приведите примеры констант:

а) целого

б) вещественного

в) символьного типа.

2. Какой тип имеют величины

a,b,c%,d%,d$

3. Приведите примеры переменных:

а) целого

б) вещественного

в) символьного типа.

4. Записать выражения на языке Бейсик:

hello_html_16de1b5e.gify=ABS(x^2+TAN(x))

hello_html_130ea064.gify=COS(x) + x^(3/2)

y=(TAN(x)+ABS(x))/(2*SQR(x))

Задачи для самостоятельного решения.

1.1. Записать выражение на Бейсике:

hello_html_4f97aa41.gif

2. Оператор ввода.

Операторы ввода-вывода информации предназначены для обмена информации между оперативной памятью ЭВМ и ее внешними устройствами.

Оператор ввода INPUT

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

Общий вид: INPUT V1,V2, ...,

где V1, V2,.. - список переменных, разделенных запятой.

При выполнении этого оператора ЭВМ делает паузу и на экране появляется ?, и ЭВМ ждет ввода данных. На клавиатуре набираются числа, подлежащие вводу в порядке, задаваемом списком ввода. Если чисел несколько, то они отделяются друг от друга запятой. После того, как ввод данных закончен необходимо нажать ввод.

В общем виде оператор INPUT записывается следующим образом:

INPUT[;][“text”][;] V1,V2,...

Выполнение оператора INPUT начинается с приостанова работы программы. В этот момент на экране дисплея появляется сообщения, заданное параметром “text”, вслед за которым в этой же строке или в начале следующей появляется знак “?”. Позиция, в которой появляется знак вопроса зависит от наличия или отсутствия символа “;” сразу после наименования оператора. Если символ “;” присутствует, то знак “?” появляется в той же строке, что и подсказка “text”. Если в качестве разделителя, стоящего за параметром “text” используется “,”, то выдача “?” отменяется.

3. Оператор вывода.

Общий вид PRINT список вывода (на экран).

Список вывода может содержать имена переменных, константы, арифметические выражения, тексты.

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

Если в списке вывода содержатся арифметические выражения, то они сначала вычисляются.

Для удобства восприятия информации строка экрана разбивается на 6 зон по 14 позиций первые пять и 10 позиций последняя (всего 80). Если разделителем в списке вывода является запятая, то вывод осуществляется по зонам. Если данные не помещаются в зоне, то берется следующая зона.

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

Простейшие примеры алгоритма с командами ввода-вывода.

3.1. Простой ввод-вывод

INPUT A,B

PRINT A,B

3.2. Ввод-вывод с коментариями

INPUT “Введите два числа”; А,В

PRINT “Вы задали А=“;А;”В=“;В

3.3. Простейшие вычисления формул:

hello_html_7466b6d9.gif

3.4. Решение геометрических задач.

Задана сторона квадрата А. Найти площадь квадрата S.

INPUT “Чему равна сторона квадрата”;А

S=A*A

PRINT “Площадь квадрата S=“; S

3.5. Решение физических задач.

Велосипедист едет со скоростью V в течении t времени. Какой путь он проедет.

INPUT “Чему равна скорость”;V

INPUT ”Какое время”; t

S=V*t

PRINT “Путь S=“;S

4. Условия в алгоритмическом языке. Оператор безусловного перехода. Операторы передачи управления.

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

Оператор безусловного перехода управления имеет вид

GOTO {N строки}

При выполнении оператора GOTO управление передается на строку, с указанным номером.

Примеры:

4.1.10 x=1

PRINT x

GOTO 10

Вопрос: “Что получится в результате выполнения этой программы?”

4.2. 10: x=1

20: PRINT x

GOTO 20

5. Оператор условного перехода.

Оператор условной передачи управления имеет вид:

IF <условие>THEN N

IF - служебное слово “если”

<условие> - логическое выражение

THEN - служебное слово “то”

N - номер строки.

Если условие удовлетворяется, то осуществляется переход к строке с номером N, в противном случае осуществляется переход к оператору, следующему за условным.

x=-5

10: IF x>0 THEN 20

x=x+8

PRINT x

20: x=x+5

GOTO 10

Возможны также следующие операторы:

IF <условие> THEN <оператор>

IF <условие> GOTO N

IF <условие> THEN {N строки или оператор} ELSE {N строки или оператор},

где ELSE - служебное слово “иначе”.

5.1. Построить таблицу значений функции

hello_html_m45b6d458.gif

10 INPUT “A”;A

20 x=0.1

30 y=SIN(A*x)/x

40 PRINT x;y

50 x=x+0.05

60 IF x<=1 THEN 30

70 END

5.2. Написать программу для решения примера:

hello_html_m401a149b.gif

10 INPUT x

20 IF x>0 THEN y=1 ELSE y=0

30 PRINT y

5.3. Составить программу табулирования функции hello_html_9083c10.gif

на отрезке [2;3] c шагом 0.1.

10 x=2

20 y=SQR(x)

30 PRINT x,y

40 x=x+0.1

50 IF x<=3 GOTO 20

5.4. Составить программу для вычисления площади круга или площади квадрата в зависимости от введенного признака ( если М<0 - квадрат, иначе круг).

10 INPUT x,M

20 IF M>=0 THEN 60

30 S=x*x

40 PRINT “Площадь квадрата”; S

50 GOTO 80

60 S=PI*x*x

70 PRINT “Площадь круга”;S

80 END

5.5. Даны x и y (xy). Минимальное заменить их полусуммой, а большее удвоенным произведением.

INPUT x,y

IF x

IF x>y THEN y=(x+y)/2 ELSE x=2*x*y

PRINT x,y

5.6. Определить в какой четверти находится точка, исследуя ее координаты.

INPUT x,y

IF x>0 AND Y>0 THEN PRINT “I четверть

IF x<0 AND Y>0 THEN PRINT “II четверть

IF x<0 AND Y<0 THEN PRINT “III четверть

IF x>0 AND Y<0 THEN PRINT “IV четверть

5.7. Если дана такая программа:

10 x=1

20 PRINT x, x*x

30 x=x+2

40 IF x<=10 THEN 20

что появится на экране?

5.8. Рассмотрим еще одну программу так же как и предыдущую:

10 L=1

20 M=2

30 L=L*M

40 PRINT M,L

50 M=M+1

60 IF M<6 THEN 30

Задачи для самостоятельного решения.

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

5.10. Даны два действительных числа. Вывести первое число, если оно больше второго, и оба числа, если это не так.

5.11. Переписать значения переменных x и y так, чтобы в x оказалось большее из двух этих значений, а в y - меньшее.

5.12. Даны три числа. Возвести в квадрат те из них, значения которых неотрицательны. Отрицательные числа оставить без изменения.

6. Циклический алгоритм. Оператор цикла FOR. Простые и составные циклы.

Цикл является самой типичной структурой алгоритмов, реализуемых на ЭВМ.

Общий вид:

FOR V=A1 TO A2 STEP A3

<операторы>

NEXT V.

Здесь V - простая переменная - параметр цикла,

А1 - начальное значение

А2 - конечное значение

А3 - шаг изменения параметра цикла.

В качестве А1, А2, А3 можно использовать константы, переменные или арифметические выражения.

Пример:

FOR V=1 TO 75 STEP 3

FOR I=1 TO M+N STEP 2

Если А3=1, то конструкцию STEP A3 можно опустить. Операторы, расположенные между FOR и NEXT составляют область действия цикла (тело цикла). Цикл образованный операторами FOR и NEXT выполняется следующим образом: переменной V присваивается значение равное А1 с помощью V=A1 и она сравнивается с конечным значением А2. Если при А3>0 значение V<=A2 или при A3<0 значение V>=A2, то выполняются операторы, расположенные между FOR и NEXT и по оператору NEXT осуществляется возврат к началу цикла. Значение V изменяется на шаг V=V+A3 и сравнивается с конечным значением А2. Если конечное значение не достигнуто, то цикл повторяется, в противном случае происходит выход из цикла и переход к оператору, следующему за NEXT.

Примеры:

6.1. Найти все квадраты от 1 до 10

FOR I=1 TO 10

PRINT I, I*I

NEXT I

6.2. Вычислить S=992+972+952+...+412

FOR J=99 TO 41 STEP -2

S=S+J*J

NEXT J

PRINT S

6.3. Напечатать таблицу умножения на 3


10 X=1 10 FOR X=1 TO 10

20 PRINT X,3*X 20 PRINT X,3*X

30 X=X+1 30 NEXT I

40 IF X<=10 THEN 20

Вычисление суммы и произведения.

При вычислении суммы

S=x1+x2+...+xn=hello_html_36cc374e.gif

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

1) переменной, в которой накапливается сумма присваивается, как правило, значение равное S=0.

2) Внутри цикла вычислять слагаемые и накапливать сумму, используя оператор S=S+x, где x - очередное слагаемое ( это то, что записано под знаком xi, S - промежуточная сумма).

Аналогично следует решать задачи накопления произведения

P=hello_html_668c4a34.gif

1) Перед циклом переменной, в которой накапливается произведение, присвоить начальное значение, как правило, равное 1 Р=1.

2) Внутри цикла накапливать произведения, используя оператор P=P*y, где y - очередной сомножитель, Р- промежуточное произведение.

6.4. Найти сумму всех чисел от 1 до 10

S=0

FOR I=1 TO 10

S=S+I

NEXT I

PRINT S

6.5. Найти сумму всех четных чисел от 1 до10

S=0

FOR I=0 TO 10 STEP 2

S=S+I

NEXT I

PRINT S

6.6. Найти произведение всех чисел от 1 до 10

S=1

FOR I=1 TO 10

S=S*I

NEXT I

PRINT S

6.7. Найти произведение всех нечетных чисел от 1 до 10

S=1

FOR I=1 TO 10 STEP 2

S=S*I

NEXT I

PRINT S

Структурные особенности циклов.

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

2. Допустимы вложенные циклы. Они не должны пересекаться, т.е. оператор NEXT внутреннего цикла должен появиться раньше, чем NEXT внешнего цикла. Параметр внутреннего цикла не должен совпадать с параметром внешнего цикла.

3. FOR V=A1 TO A2 STEP A3 - заголовок цикла. Величины, входящие в заголовок цикла не должны изменять своих значений внутри цикла.

FOR k=N TO 100 STEP N

S=S+k^2

k=k+1

NEXT k - не допустимо.

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

Задачи:

6.8. Напечатать таблицу перевода температур из градусов по шкале Цельсия (С) в градусы по шкале Фаренгейта (F) для значений от 150С до 300С с шагом 10С . Перевод осуществляется по формуле F=1.8C+32

FOR I=15 TO 30

F=1.8*I + 32

PRINT C,F

NEXT I

6.9. Напечатать таблицу соответствия между весом в фунтах и весом в кг для значений от 1 до 10 фунтов с шагом 1 фунт (1 фунт=400г)

FOR I=1 TO 10

PRINT I,I*0.4

NEXT I

6.10. Напечатать таблицу перевода расстояний в дюймах в сантиметры (1 дюйм=2.54 см) для значений от 1 до 10 дюймов с шагом 1.

FOR I=1 TO 10

PRINT I, 2.54*I

NEXT I

6.11. Составить таблицу умножения для числа 12.

FOR I=1 TO 10

PRINT I;”*12=“;I*12

NEXT I

6.12. Возвести в седьмую степень число 3, не используя операцию возведения в степень.

P=1

FOR I=1 TO 7

P=P*3

NEXT I

PRINT P

Вычисление конечных сумм.

6.13. Найти hello_html_4e36f663.gif

INPUT N

S=0

FOR k=1 TO N

S=S+1/(2*k-1)/(2*k+1)

NEXT k

PRINT S

6.14. Найти n!

P=1

INPUT N

FOR I=1 TO N

P=P*I

NEXT I

PRINT P

6.15. Найти hello_html_5dc26a15.gif

P=1

INPUT N

FOR I=1 TO N

P=P*I*I/(I+1)

NEXT I

PRINT P

6.16. Найти hello_html_447e96d1.gif

S=0

P=1

INPUT N

FOR k=1 TO N

P=P*(k+1)

S=S+1/P

NEXT k

PRINT S

Решение математических и физических задач.

6.17. Определить, является ли треугольник со сторонами А,В,С равнобедренным.

INPUT “Введите А,В,С”; А,В,С

?”Треугольник со сторонами А,В,С”

IF A=B OR A=C OR B=C THEN ?”является равнобедрен

ным” ELSE ?”не является равнобедренным”

END

6.18. Числа А и В выражают длины катетов одного прямоугольного треугольника, С и D - другого. Определить, являются эти треугольники подобными.

INPUT “Введите a,b,c,d”;A,B,C,D

IF A/C=B/D OR B/C=A/D THEN ?”Треугольники подобны

ELSE ?”Треугольники не подобны”

END

6.19. Определить, являются ли четырехугольники со сторонами a, b, c, d ромбом.

INPUT “Введите a, b, c, d”; A, B, C, D

IF A=B AND B=C AND C=D THEN ?”Это ромб” ELSE ?” Это не ромб”

END

6.20. Даны круг с радиусом R и квадрат со стороной А. Определить поместится ли квадрат в круге.

INPUT “Введите радиус”;R

INPUT“Введите длину стороны квадрата”;А

IF A<=R*SQR(2) THEN ? “поместится” ELSE ?” нет”

END

6.21. Даны площадь круга S1 и площадь квадрата S2. Определить поместится ли круг в квадрате.

INPUT “Введите площадь круга”;S1

INPUT “Введите площадь квадрата”;S2

IF SQR(S1/PI)<=SQR(S2)/2 THEN ? “поместится” ELSE ?” нет”

END

6.22. В прямоугольной системе координат построены две точки A(x1,y1) и B(x2,y2). Определить какая из этих точек дальше от начала координат.

INPUT “Введите координаты первой точки”; x1,y1

INPUT “Введите координаты второй точки”; x2,y2

IF x1>x2 AND y1>y2 THEN ? “первая дальше”ELSE ?” вторая дальше”

END

6.23. Составить таблицу стоимости порции сыра весом 50, 100, 150,...1000г (цена 1кг 12руб)

INPUT “ВВЕДИТЕ СТОИМОСТЬ 1 КГ СЫРА”; N

FOR I=50 TO 1000 STEP 50

PRINT I, I*N/1000

NEXT I

Вложенные циклы.

Структура вложенных циклов:

FOR A=

FOR B=

FOR C=

...

...

NEXT C

NEXT B

NEXT A

6.24. Напечатать таблицу Пифагора

FOR I=1 TO 9

FOR J=1 TO 9

PRINT I*J;

NEXT J

PRINT

NEXT I

6.24. Квадрат 8х8 заполнить “звездочками”

FOR I=1 TO 8

FOR J=1 TO 8

PRINT “*”;

NEXT I

PRINT

NEXT J

Задачи для самостоятельного решения

6.25. Найти сумму квадратов от 1 до 10.

6.26. Найти произведение чисел, начиная от 12 до 18

6.27. Написать программу нахождения стоимости сыра, начиная со 100 г до 1000 г с нагом 100 г, если 1000 г сыра стоит 28 рублей.

6.28. Напечатать таблицу умножения на 7.

6.29. Подсчитать сумму всех четных чисел от 20 до 40.

6.30. Найти произведение всех чисел от 1 до 100.

6.31. Найти все квадраты от 1 до 10.

6.32. Найти сумму квадратов от 1 до 10.

6.33. Найти hello_html_7f2fe08b.gif

6.34. Найти hello_html_m41a0db28.gif

6.35. Найти hello_html_7f2fe08b.gif

6.36. Найти hello_html_m41a0db28.gif

6.37. Определить является ли треугольник со сторонами а, в, с равносторонним.

6.38. Определить является ли треугольник со сторонами а, в, с прямоугольным.

6.39. В прямоугольной системе координат построены две точки A(x1,y1) и B(x2,y2). Определить какая из этих точек ближе находится к началу координат.

6.40. Даны круг с радиусом R и квадрат со стороной А. Определить поместится ли круг в квадрате.

7. Переменные с индексом.

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

Пример: А(3), А(к), А(2*к+5), В(3,2), где 3 - означает строку, а 4- столбец.

Если арифметическое выражение, задающее индекс принимает действительное значение, то оно преобразуется к целому значению путем отбрасывания дробной части. Для каждой переменной с индексом в программе должен быть указан максимальный размер массива, т.е. максимальное значение, которое могут принимать индексы. Это необходимо для того, чтобы компилятор (программа-переводчик) мог зарезервировать соответствующий объем памяти ЭВМ для хранения элементов массива. Информация о размерности массива содержится в операторе DIM.

Табличные величины. Ввод-вывод.

Оператор DIM.

Общий вид:

DIM V1(N), V2(N1,N2), V3$(5), ...

где V1,V2,V3$-имена индексированных переменных (название массивов). За названием массива должны следовать скобки, содержащие одну или две переменные (константы). Эти переменные (константы) определяют максимальную величину каждого индекса, а количество констант в скобках определяет размерность массива. Пусть DIM A(10), B%(3,5), T$(100), элементами массива A является переменная с одним индексом A(I), где I=0,1,...,10

элементами массива B является переменная с двумя индексами B%(I,J), где I=0,1,2,3 J=0,1,2,...,5.

Замечание: Более естественно нумеровать элементы массивов начиная с 1, поэтому в дальнейшем будем игнорировать элементы массивов с индексом 0.

Для ввода, вывода и обработки массива используют циклы.

7.1. Ввести и распечатать одномерный массив

DIM A(10)

FOR I=1 TO 10

INPUT A(I)

NEXT I

FOR I=1 TO 10

PRINT A(I);

NEXT I

7.2. Ввести и распечатать двухмерный массив

DIM A(3,5)

FOR I=1 TO 3

FOR J=1 TO 5

INPUT A(I,J)

NEXT J, I

FOR I=1 TO 3

FOR J=1 TO 5

PRINT A(I,J);

NEXT J

PRINT

NEXT I

8. Линейные таблицы.

8.1. Найти сумму всех элементов таблицы.

REM Сумма

INPUT N

DIM A(N)

S=0

FOR I=1 TO N

INPUT A(I)

S=S+A(I)

NEXT I

PRINT S

8.2.Найти сумму четных элементов таблицы.

REM Сумма четных элементов

INPUT N

DIM B(N)

S=0

FOR I=1 TO N

INPUT B(I)

IF B(I)/2=B(I)\2 THEN S=S+B(I)

NEXT I

PRINT S

8.3. Найти произведение всех элементов таблицы.

REM Произведение

INPUT N

DIM A(N)

S=1

FOR I=1 TO N

INPUT A(I)

S=S*A(I)

NEXT I

PRINT S

8.4. Поиск минимального элемента в одномерном массиве.

REM Поиск min

INPUT N

DIM A(N)

FOR I=1 TO N

INPUT A(I)

NEXT I

P=A(1)

K=1

FOR I=2 TO N

IF P<=A(I) THEN P=A(I) : K=I

NEXT I

PRINT P

8.5. Поменять местами два элемента в одномерном массиве с номерами K и L.

REM Перестановка элементов

INPUT N,K,L

DIM A(N)

FOR I=1 TO N

INPUT A(I)

NEXT I

SWAP A(K), A(L)

FOR I=1 TO N

PRINT A(I);

NEXT I

8.6. Удаление элемента из массива A(N).

Требуется удалить k-тый элемент из массива A размером N. Надо сдвинуть весь “хвост” массива на одну позицию влево.

INPUT К,N

DIM A(N)

FOR I=1 TO N

INPUT A(I)

NEXT I

N=N-1

FOR I=K TO N

A(I)=A(I+1)

NEXT I

FOR I=1 TO N

PRINT A(I);

NEXT I

8.6. Включение элемента в массив.

Вставить в массив A(N) k-тый элемент равный величине B.

Необходимо раздвинуть массив, перемещение элементов надо начинать с конца. Далее k-тому элементу присвоить B. Размер массива увеличить на единицу.

INPUT N,K,B

DIM A(N+1)

FOR I=1 TO N

INPUT A(I)

NEXT I

FOR I=N TO K STEP -1

A(I+1)=A(I)

NEXT I

A(K)=B

N=N+1

FOR I=1 TO N

PRINT A(I);

NEXT I

8.7. Удаление элемента из массива A(N).

Требуется удалить k-тый элемент из массива A размером N. Надо сдвинуть весь “хвост” массива на одну позицию влево.

INPUT R,N

DIM A(N)

FOR I=1 TO N

INPUT A(I)

NEXT I

N=N-1

FOR I=K TO N

A(I)=A(I+1)

NEXT I

FOR I=1 TO N

PRINT A(I);

NEXT I

8.8. Включение элемента в массив.

Вставить в массив A(N) k-тый элемент равный величине B.

Необходимо раздвинуть массив, перемещение элементов надо начинать с конца. Далее k-тому элементу присвоить B. Размер массива увеличить на единицу.

INPUT N,K,B

DIM A(N+1)

FOR I=1 TO N

INPUT A(I)

NEXT I

FOR I=N TO K STEP -1

A(I+1)=A(I)

NEXT I

A(K)=B

N=N+1

FOR I=1 TO N

PRINT A(I);

NEXT I

8.9. Составить программу нахождения последнего элемента с заданным свойством (отрицательный).

INPUT N

DIM A(N)

FOR I=1 TO N

INPUT A(I)

NEXT I

FOR I=1 TO N

IF A(I)<0 THEN K=I

NEXT I

PRINT K

8.10. Составить программу нахождения первого элемента с заданным свойством (четный)

INPUT N

DIM A(N)

FOR I=1 TO N

INPUT A(I)

NEXT I

FOR I=1 TO N

IF A(I)/2=A(I)\2 THEN N1=I : EXIT FOR

NEXT I

PRINT N1

8.11. Найти в массиве A(N) последний четный элемент и напечатать этот элемент и его номер.

INPUT N

DIM A(N)

FOR I=1 TO N

INPUT A(I)

NEXT I

FOR I=1 TO N

IF A(I)\2<>A(I)/2 THEN P=A(I) : K=I

NEXT I

PRINT P,K

8.12. Найти первый отрицательный элемент в массиве A(N) и напечатать его и номер элемента.

INPUT N

DIM A(N)

FOR I=1 TO N

INPUT A(I)

NEXT I

FOR I=1 TO N

IF A(I)<0 THEN K=I : EXIT FOR

NEXT I

P=A(I)

PRINT P,K

8.13. Дан массив A(N) и число 1. Найти номер первого элемента таблицы, который равен 1. Если в массиве нет такого числа, тогда вывести 0.

INPUT N

DIM A(N)

FOR I=1 TO N

INPUT A(I)

NEXT I

K=0

FOR I=1 TO N

IF A(I)=1 THEN K= I : EXIT FOR

NEXT I

IF K= 0 THEN PRINT K ELSE PRINT “0”

8.14. Даны массив A(N) и число 1. Найти номера все элементов массива A, которые больше 1.

INPUT N

DIM A(N)

FOR I=1 TO N

INPUT A(I)

IF A(I)>1 THEN PRINT I;

NEXT I

8.15. Найти количество положительных элементов в массиве A(N).

K=0

INPUT N

DIM A(N)

FOR I=1 TO N

INPUT A(I)

NEXT I

FOR I=1 TO N

IF A(I)>0 THEN K=K+1

NEXT I

PRINT K

8.16.В массиве A(N) поменять местами максимальное и минимальное значение.

INPUT N

DIM A(N)

MIN = 10^10

MAX =-10^10

FOR I=1 TO N

INPUT A(I)

NEXT I

FOR I=1 TO N

IF A(I)=>MIN THEN MIN=A(I) : K=I

IF A(I)<=MAX THEN MAX=A(I) : L=I

NEXT I

SWAP A(K),A(L)

FOR I=1 TO N

PRINT A(I);

NEXT I

8.17. Найти среднее арифметическое элементов последовательности A1..An, расположенных между:

а) MAX и MIN элементами.

б) первым четным и последним отрицательным элементом массива, причем хотя бы один четный и один отрицательный имеются.

а) INPUT N

DIM A(N)

MIN=10^10

MAX=-10^10

FOR I=1 TO N

INPUT A(I)

NEXT I

FOR I=1 TO N

IF A(I)>=MIN THEN MIN=A(I) : K=I

IF A(I)<=MAX THEN MAX=A(I) : N1=I

NEXT I

S=0

W=0

IF K>N1 THEN L=N1 ELSE L=K

IF K>N1 THEN M=K ELSE M=N1

FOR I=L+1 TO M-1

S=S+A(I)

W=W+1

NEXT I

IF W=0 THEN PRINT”Количество элементов равно 0” ELSE PRINT S/W

б) 10 INPUT N

S=0

DIM A(N)

FOR I=1 TO N

INPUT A(I)

IF A(I)<0 THEN K=I

NEXT I

FOR I=1 TO N

IF A(I)/2=A(I)\2 THEN N1=I : EXIT FOR

NEXT I

IF K>=N1 THEN

FOR I=N1+1 TO K-1

S=S+A(I)

NEXT I

PRINT S/(K-N1)

END IF

IF K<N1 THEN PRINT “Задача не имеет решения”

8.18. В массиве A(N) определить количество элементов кратных 3 и некратных 5.

INPUT N

L=0

DIM A(N)

FOR I=1 TO N

INPUT A(I)

IF A(I)/3=A(I)\3 AND A(I)/5<>A(I)\5 THEN L=L+1

NEXT I

PRINT L

8.19.В массиве A(N) среди нечетных найти минимальное значение.

INPUT N

DIM A(N),B(N)

K=0

FOR I=1 TO N

INPUT A(I)

IF A(I)/2<>A(I)\2 THEN B(K)=A(I) : K=K+1

NEXT I

IF K<>0 THEN

MIN=B(1)

FOR I=2 TO K

IF B(I)

NEXT I

PRINT MIN

END IF

Задачи для самостоятельного решения.

8.20. Найти сумму отрицательных элементов.

8.21. Найти произведение нечетных элементов.

8.22. Найти максимальное значение в одномерном массиве из 10 значений.

8.23. Переставьте местами второй и пятый элементы в одномерном массиве с 10 элементами.

8.24. Удалить 5 элемент из массива A(12).

8.25. Вставить 3 элемент в массив A(17).

8.26. Найти последний нечетный элемент в массиве A(N).

8.27. Найти первый положительный элемент в массиве A(N).

8.28.Найти максимальное значение в массиве A(N) и напечатать его и его номер.

8.29. Найти последний элемент кратный трем в массиве A(N) и напечатать его и его номер.

8.30. Даны три числовые массива A(A),B(B),C(C). Найти значение максимального и минимального элемента среди элементов данных массивов. Определите, которые из этих массивов содержат эти элементы и каковы их номера в массиве.

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

8.32. В массиве A(N) найти все элементы кратные 7 и некратные 2.

8.33. В массиве A(N) найти максимальное значение среди четных элементов.

9. Двухмерный массив.

9.1. Найти сумму всех элементов двухмерного массива.

REM сумма

S=0

INPUT N,M

DIM A(M,N)

FOR I=1 TO M

FOR J=1 TO N

INPUT A(I,J)

S=S+A(I,J)

NEXT J,I

PRINT S

9.2. Напечатать всю таблицу и К-ую строку.

INPUT N,M,K

DIM A(M,N)

FOR I=1 TO M

FOR J=1 TO N

INPUT A(I,J)

NEXT J,I

FOR I=1 TO M

FOR J=1 TO N

PRINT A(I,J);

NEXT J

PRINT

NEXT I

FOR I=1 TO N

PRINT A(K,I);

NEXT I

9.3. Найти максимальное значение элемента в двухмерном массиве.

REM max массива

INPUT M,N

DIM A(M,N)

FOR I=1 TO M

FOR J=1 TO N

INPUT A(I,J)

70 NEXT J,I

P=(-10^10)

FOR I=1 TO M

FOR J=1 TO N

IF P>=A(I,J) THEN P=A(I,J) : K=I : L=J

NEXT J,I

PRINT P

9.4. Суммирование двухмерного массива по строкам.

INPUT M,N

DIM A(M,N), D(M)

FOR I=1 TO M

FOR J=1 TO N

INPUT A(I,J)

NEXT J,I

FOR I=1 TO M

S=0

FOR J=1 TO N

S=S+A(I,J)

NEXT J

D(I)=S

NEXT I

9.5.Из массива A(M,N) надо удалить строку с заданным номером k.

INPUT M,N,K

DIM A(M,N)

FOR I=1 TO M

FOR J=1 TO N

INPUT A(I,J)

NEXT J,I

M=M-1

FOR I=1 TO M

FOR J=1 TO N

A(I,J)=A(I+1,J)

NEXT J,I

FOR I=1 TO M

FOR J=1 TO N

PRINT A(I,J);

NEXT J

PRINT

NEXT I

9.6.Включить строку с номером k в матрицу B(M,N). Включаемая строка задана как одномерный массив C(N).

INPUT M,N,K

DIM B(M+1,N), C(N)

FOR I=1 TO M

FOR J=1 TO N

INPUT B(I,J)

NEXT J,I

FOR I=1 TO N

INPUT C(I)

NEXT I

FOR I=M TO K STEP -1

FOR J=1 TO N

B(I+1,J)=B(I,J)

NEXT J,I

FOR I=1 TO N

B(K,I)=C(I)

NEXT I

M=M+1

FOR I=1 TO M

FOR J=1 TO N

PRINT B(I,J);

NEXT J

PRINT

NEXT I

9.7. Переставить строки с номерами k и l.

INPUT M,N,K,L

DIM A(M,N)

FOR I=1 TO M

FOR J=1 TO N

INPUT A(I,J)

NEXT J,I

FOR J=1 TO N

SWAP A(K,J),A(L,J)

NEXT J

FOR I=1 TO M

FOR J=1 TO N

PRINT A(I,J);

NEXT J

PRINT

NEXT I

Задачи для самостоятельного решения.

9.8. Найти произведение всех элементов одномерного массива из 17 элементов.

9.9. Напечатать таблицу из шести строк и пяти столбцов и еще четвертый столбец в строчку.

9.10. Найти минимальное значение элемента матрицы 4x5.

9.11. Найти сумму матрицы по столбцам.

9.12. Из матрицы A(M,N) удалить столбец с заданным номером k.

9.13. Вставить в матрицу B(M,N) k-тый столбец.

10. Более сложные задачи с массивами.

10.1. Циклический сдвиг элементов массива.

Требуется переместить элементы в массиве A(N) вправо (влево) на M позиций, при этом N элементов из конца массива перемещаются в начало. Например, результатом циклической перестановки исходного массива A=(a1,a2,a3,a4,a5) вправо на две позиции будет A=(a4,a5,a1,a2,a3).

Рассмотрим два варианта алгоритма решения задачи:

с использованием вспомогательного массива;

с использованием одной вспомогательной переменной.

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

1. Первый вариант:

INPUT N,M

DIM A(N),P(N)

FOR I=1 TO N

INPUT A(I)

NEXT I

FOR I=1 TO M

P(I)=A(N-M+I)

NEXT I

FOR I=N-M TO 1 STEP -1

P(I+M)=A(I)

NEXT I

FOR I=1 TO M

A(I)=P(I)

NEXT I

FOR I=1 TO N

PRINT A(I);

NEXT I

2. Второй вариант:

INPUT N,M

DIM A(N)

FOR I=1 TO N

INPUT A(I)

NEXT I

FOR I=1 TO M

P=A(N)

FOR J=N TO 2 STEP -1

A(J)=A(J-1)

NEXT J

A(1)=P

NEXT I

FOR I=1 TO N

PRINT A(I);

NEXT I

10.2. Латинский квадрат. Напечатать латинский квадрат размером N.

INPUT N

DIM A(N,N)

FOR J=1 TO N

A(1,J)=J

NEXT J

FOR I=2 TO N

P=A(I-1,N)

FOR J=N TO 2 STEP -1

A(I,J)=A(I-1,J-1)

NEXT J

A(I,1)=P

NEXT I

FOR I=1 TO N

FOR I=1 TO N

PRINT A(I,J);

NEXT J

PRINT

NEXT I

10.3. Упорядочение массива.

Требуется расположить элементы массива в порядке возрастания (убывания).

1. Первый вариант сортировки массива A(N) по возрастанию.

INPUT N

DIM A(N)

FOR I=1 TO N

INPUT A(I)

NEXT I

FOR I=1 TO N-1

P=A(I)

K=I

FOR J=I+1 TO N

IF A(J)<=P THEN P=A(J) : K=J

NEXT J

A(K)=A(I)

A(I)=P

NEXT I

FOR I=1 TO N

PRINT A(I);

NEXT I

2. Второй вариант сортировки массива A(N) по возрастанию.

INPUT N

DIM A(N)

FOR I=1 TO N

INPUT A(I)

NEXT I

M1 : S=0

FOR I=1 TO N-1

IF A(I)>A(I+1) THEN SWAP A(I),A(I+1) : S=S+1

NEXT I

IF S<>0 THEN GOTO M1

FOR I=1 TO N

PRINT A(I);

NEXT I

Задачи для самостоятельного решения:

10.5. Провести сортировку массива A(N) по убыванию двумя способами.

10.6. В массиве A(M,N) треугольник выше главной диагонали заполнить нулями.

11. Символьные переменные.

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

Типовыми действиями, которые необходимо выполнять при работе с текстами, являются следующие:

  • выделить i-й символ из текста;

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

  • сжать текст, удалив из него один символ или цепочку символов;

  • раздвинуть текст;

  • сравнить символы или цепочки символов;

  • выделить слово из текста;

  • определить является буква гласной или согласной;

  • преобразовать число в символьную форму;

Рассмотрим реализацию этих действий на языке Бейсик. Для выполнения некоторых из них можно использовать специальные функции.

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

1. Функция ASC(A$) - выдает значение кода первого символа строки символов. Пример:

Z$=“ABC”

ASC(Z$)=65

2. Функция CHR$(A) - переводит число в символьную строку одного символа.

A=66

CHR$(A)=“B

CHR$(7) - выдает звуковой сигнал.

3. Функция LEN(A$) - выдает количество символов в символьной переменной A$.

A$=“информатизация”

LEN(A$)=14

4. Функция STR$(X) - переводит число в символьную переменную.

X=12

Y=13

Z=X+Y Z=25

Z$=STR$(X)+STR$(Y) Z$=“1213”

5. Функция VAL(A$) - числовой эквивалент символьной переменной переводит в число.

X=12

Z$=“1213”

X+VAL(Z$) = 1225

Функция MID$(A$,K,L).

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

Функция MID$(A$,K,L) - выбирает или заменяет часть символьной переменной.

A$ - символьное выражение.

K - целое выражение (1-255), с которого начинается используемая в операции часть символьной переменной.

L - целое выражение, определяющее количество символов, участвующих в операции.

Во втором варианте, когда функция MID$() находится с левой стороны знака равенства, обрабатываемые символьные данные присваиваются символьной переменной.

Пример: A$=“информатика”

B$=MID$(A$,3,5) B$=“форма”

C$=MID$(A$,8,3) C$=“тик

D$=MID$(A$,3,6) D$=“формат

MID$(B$,2,1)=“и” B$=“фирма”

MID$(C$,1,2)=“со” C$=“сок”

11.1. Из слова А$ построить слово В$, полученное из слова А$ удалением всех пробелов.

INPUT A$

L=LEN(A$)

B$=“”

FOR I=1 TO N

X$=“”

X$=MID$(A$,I,1)

IF X$<>“ “ THEN B$=B$+X$

NEXT I

PRINT B$

11.2. Определить в слове Х$ общее количество букв “А” и “В”.

INPUT X$

L=LEN(X$)

K=0

M=0

FOR I=1 TO L

Y$=MID$(X$,I,1)

IF Y$=“A” THEN K=K+1

IF Y$=“B” THEN M=M+1

NEXT I

PRINT “Количество букв A=“;K

PRINT “Количество букв B=“;M

11.3. Определить число слов в тексте.

INPUT X$

L=LEN(X$)

S=0

FOR I=1 TO L

IF MID$(X$,I,1)=“ “ THEN S=S+1

NEXT I

PRINT “число слов в тексте”;S+1

11.4. В тексте удалить лишние пробелы между словами, оставив по одному.

INPUT X$

L=LEN(X$)

Y$=“”

FOR I=1 TO L

IF I=1 THEN GOTO 90

IF MID$(X$,I,1)=“ “ AND MID$(X$,I-1,1)=“ ” THEN GOTO 100

Y$=Y$+MID$(X$,I,1)

GOTO 100

90: Y$=Y$+MID$(X$,1,1)

100: NEXT I

PRINT Y$

11.5. Определить является ли слово Х$ частью слова Y$.

INPUT X$,Y$

K=0

L=LEN(X$)

N=LEN(Y$)

FOR I=1 TO N-L

A$=MID$(Y$,I,L)

IF A$=X$ THEN PRINT “является” : K=1 :EXIT FOR

NEXT I

IF K=0 THEN PRINT “не является

11.6. Определить сколько раз в слове Y$ встречается в качестве части слово Х$.

INPUT X$,Y$

L=LEN(X$)

N=LEN(Y$)

K=0

FOR I=1 TO N-L

A$=MID$(Y$,I,L)

IF A$=X$ THEN K=K+1

NEXT I

PRINT K

11.7. Из слова Х$ построить слово Y$, полученное заменой в слове Х$ всех пробелов с четными порядковыми номерами на символ ”-”.

INPUT X$

L=LEN(X$)

FOR I=2 TO L STEP 2

MID$(X$,I,1)=“-”

NEXT I

PRINT X$

11.8. В слове Х$ оставить без изменения каждый третий символ все остальные заменить символом “-”.

INPUT X$

L=LEN(X$)

FOR I=1 TO L

IF I/3<>I\3 THEN MID$(X$,I,1)=“-”

NEXT I

PRINT X$

11.9. В заданном тексте удалить часть текста, заключенного в скобки (вместе со скобками).

INPUT X$

L=LEN(X$)

FOR I=1 TO L

IF MID$(X$,I,1)=“(“ THEN K=I

IF MID$(X$,I,1)=“)“ THEN P=I

NEXT I

X$=MID$(X$,1,K-1)+MID$(X$,P+1,L-P+1)

Задание для самостоятельного решения:

11.10. Из слова А$ построить слово В$, вставив между символами слова А$ пробел.

11.11. Скопировать слово А$ по каждой букве в слово А1$.

11.12. Подсчитать сколько слов в тексте начинается на букву “А”.

11.13. Определить является ли слово Х$ перевертышем.

11.14. Определить сколько раз в слове Х$ встречается сочетание “СО”

11.15. Из слова Х$ построить два слова Y$ и Z$, состоящих из символов слова Х$ на четных и нечетных местах соответственно.

11.16. Из слова Х$ получить слово Y$ путем обмена местами в слове X$ каждого символа с четным номером м его предшественника.

12. Специальные приемы работы с целыми числами.

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

12.1. Определение четности.

Требуется определить, является заданное целое число N четным или нечетным. Результат присваивается символьной переменной S$.

INPUT N

S$=“Нечетное”

IF (N/2)=INT(N/2) THEN S$=“четное”

PRINT S$

12.2. Определение суммы цифр числа.

Требуется найти сумму цифр заданного натурального числа N. Результат присвоить переменной S.

Для получения суммы цифр целого числа N будем выделять цифры этого числа, начиная с младшей и накапливать их сумму в переменной S. Для выделения самой правой цифры числа вычислим N-(N\10)*10. Для выделения следующей цифры рассмотрим новое число N=(N\10), в котором следующая по порядку цифра исходного числа является младшей, и применим к этому числу описанную выше процедуру. Процесс будем продолжать до тех пор, пока очередное новое значение N не будет равно нулю.

10 INPUT N

20 S=0

30 I=0

40 IF N=0 GOTO 90

50 S=S+N-(INT(N/10))*10

60 I=I+1

70 N=INT(N/10)

80 GOTO 40

90 PRINT “в исходном числе всего”;I;”цифр”

100 PRINT “Сумма цифр S=“;S

12.3. Нахождение делителей числа.

Требуется найти и напечатать все делители целого числа N, включая 1 (число А является делителем В, если В делится на А нацело.

INPUT N

C=INT(N/2)

PRINT “Делители числа”;N

PRINT 1;

FOR I=2 TO C

IF (N/I)<>INT(N/I) THEN GOTO M1

PRINT I;

M1: NEXT I

PRINT N

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

INPUT N

S=0

FOR I=2 TO N-1

IF N/I=N\I THEN S=S+1

NEXT I

IF S<>0 THEN PRINT ”не является” ELSE PRINT ”является

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

FOR I=100 TO 999

X1=I\100

K=I-X1*100

X2=K\10

X3=K-X2*10

A=X1*X1*X1+X2*X2*X2+X3*X3*X3

IF A=I THEN PRINT I

NEXT I

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

INPUT N

S=0

FOR I=N\2 TO 1 STEP -1

FOR J=1 TO N\2

IF I*I+J*J=N THEN S=S+1

NEXT J,I

IF S<>0 THEN PRINT “можно” ELSE PRINT “нельзя

12.7. Какие положительные числа I,K,L меньше 20, удовлетворяют следующему равенству I3 +K3 =L3 .

FOR I=1 TO 20

FOR K=1 TO 20

FOR L=1 TO 20

IF I*I*I+K*K*K=L*L*L THEN PRINT I,K,L

IF I*I*I+K*K*K

NEXT L

NEXT K

NEXT I

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

INRUT N

PRINT N

FOR I=0 TO 9

FOR J=0 TO 9

K=N-I-J

IF K>=1 AND K<=9 THEN IF I<>J AND I<>K AND J<>K THEN PRINT I+10*J+100*K ELSE EXIT FOR

NEXT J

NEXT I

12.9. Пифагоровы числа (а222). Составить программу, которая определит все пифагоровы числа а,в,с при 1 а х, 1 в y.

INPUT X,Y

FOR A=1 TO X

FOR B=1 TO Y

FOR C=1 TO 10000

IF A*A +B*B=C*C THEN PRINT A,B,C

IF A*A+B*B

NEXT C

NEXT B

NEXT A

12.10.Натуральное число из N цифр является числом Армстронга, если сумма его цифр, возведенных в N степень, равна самому числу (153=13+53+33).Получить все числа Армстронга состоящие из трех цифр.

FOR I=100 TO999

X1=I\100

K=I-X1*100

X2=K\10

X3=K-X2*10

IF X1*X1*X1+X2*X2*X2+X3*X3*X3=I THEN PRINT I;

NEXT I

Задание для самостоятельног решения:

12.11.Подсчитать сумму цифр всех целых трехзначных чисел.

12.12. Составить программу, которая будет выполнять разложение заданного числа на простые множители: 28=2 2 7.

12.13. Подсчитать сумму цифр всех целых трехзначных чисел.

12.14. Найти минимальное целое трехзначное число, квадрат которого оканчивается двумя одинаковыми цифрами (не нулями).

12.15. Определить все двузначные числа, для которых сумма квадратов цифр равна самому числу, если таковых нет, то сообщить об этом.

12.16. Получить все четырехзначные натуральные числа, в записи которых нет одинаковых цифр.

12.17. Найти все числа Армстронга состоящие из пяти цифр.

12.18. Трамвайные билеты имеют номера от 000000 до 999999. Вычислить и напечетать количество “счастливых билетов”.



ПРИЛОЖЕНИЕ 2

Рабочая программа базового курса школьной информатики. 7-11 кл.

Настоящая программа по базовому курсу информатики рассчитана на учащихся 7-11 классов, предполагающая использование проектной технологии, способствующей формированию системно-информационной картины мира. Общая сумма часов - 170 часов.

Цель программы:

  • освоение обязательного минимума содержания информатики и информационных технологий;

  • обучение навыкам систематизации и структуризации информации с использованием образовательных ресурсов Интернет.

Основные задачи программы:

  • формирование системно-информационной картины мира;

  • формирование базовых понятий информатики: «информация», «информационный процесс», «носитель информации», «система», «структура», «объект», «модель»;

  • освоение навыков поисковой деятельности во «Всемирной паутине» (WWW), как модели поисковой деятельности в целом.


7 класс.

I. Аппаратные и программные средства компьютера 11 часов.

Гигиенические, эргономические и технические условия безопасной эксплуатации компьютера. Основные компоненты компьютера и их функции (процессор, устройства ввода и вывода информации, оперативная и долговременная память). Командное взаимодействие пользователя с компьютером, графический пользовательский интерфейс (рабочий стол, окна, диалоговые панели, меню). Данные и программы. Файлы и файловая система. Программный принцип работы компьютера. Операционные системы, их функции. Загрузка компьютера. Программное обеспечение, его структура. Создание и сохранение текстового документа в программе «Блокнот». Действия с фрагментами текста. Работа с файлами с использованием файлового менеджера «Проводник». Форматирование, проверка и дефрагментация дискеты. Главное меню. Компьютерные вирусы и антивирусные программы. Защита от вирусов. Обнаружение и лечение. Использование калькулятора в компьютере

Требования к знаниям и умениям ученика:

  • знать назначение операционной системы;

  • различать программы по их назначению;

  • ориентироваться в среде с графическим интерфейсом;

  • работать с папками, файлами, ярлыками;

  • уметь проводить антивирусную профилактику.

II. Моделирование и формализация 5 часов

Моделирование как метод познания. Модели материальные и модели информационные. Системный подход к окружающему миру. Объект и его свойства. Система как целостная совокупность объектов (элементов). Основные этапы разработки и исследования моделей на компьютере. Языки программирования как средство построения моделей на компьютере. Знакомство со средой QBasic

Требования к знаниям и умениям ученика:

  • знать основные виды моделей;

  • создавать информационные модели различных объектов;

  • знать этапы информационной технологии решения задач с использованием компьютера;

  • приводить примеры моделирования;

  • приводить примеры формализации;

  • уметь строить простейшие информационные модели и исследовать их на компьютере.

III. Алгоритмизация и программирование 10 часов

Понятие алгоритма, свойства алгоритмов. Исполнители алгоритмов, система команд исполнителя. Формальное исполнение алгоритма. Виды алгоритма. Способы записи алгоритма. Линейный алгоритм. Разветвляющийся алгоритм. Циклический алгоритм

Требования к знаниям и умениям ученика:

  • знать основные свойства алгоритма, иллюстрировать их на конкретных примерах алгоритмов;

  • объяснять структуру основных алгоритмических конструкций и уметь использовать их для построения алгоритмов;

  • знать и уметь описывать основные типы данных (переменная, массив) в программировании;

  • знать сущность операции присваивания.

  • уметь строить и исполнять алгоритмы для учебных исполнителей.

  • уметь записывать в виде блок-схемы или на языке программирования QBasic алгоритм решения простой задачи;

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

IV. Кодирование и обработка графической информации – 8 часов

Кодирование графической информации (пиксель, растр, кодирование цвета, видеопамять). Растровая и векторная графика. Интерфейс графических изображений и рисунков. Форматы графических файлов. Графические примитивы и палитра. Создание и редактирование изображений. Основные операции в граф. Редакторе. Создание и редактирование рисунков с текстом

Требования к знаниям и умениям ученика:

  • особенности формирования графических объектов;

  • основные функции и возможности графических редакторов;

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

  • уметь в графическом редакторе создавать и редактировать изображения.


8 класс

I Системы счисления 9 часов

Информация и информацион. Процессы. Системы счисления. Преобразование 10-х чисел в 2-ую СС. Преобразование 2-х чисел в 10-ую СС. 8-ая и 16-ая системы счисления. Двоичная арифметика

Требования к знаниям и умениям ученика:

  • знать особенности и преимущества двоичной формы представления информации;

  • знать особенности и преимущества двоичной системы счисления;

  • уметь записывать десятичные числа в двоичной системе счисления;

  • приводить примеры основных операций в двоичной системе счисления.

II Текстовый редактор Microsoft Word - 7 часов

Создание и сохранение текстового документа». Форматирование текстового документа. Редактирование текстового документа. Особые формы текста. Создание и редактирование формул

Требования к знаниям и умениям ученика:

  • знать основные функции и возможности текстовых редакторов;

  • иметь представление о существовании различных форматов текстовых файлов и кодировок русских букв;

  • иметь представление об основных возможностях текстовых редакторов;

  • уметь в текстовом редакторе редактировать и форматировать тексты.

III Основы программирования на Visual Basic 10 часов

Объектно-ориентированные языки. Знакомство со средой VB. Объекты и свойства. Панель инструментов. Создание проекта. Создание форм.

Требования к знаниям и умениям ученика:

  • характерные отличия объектно-ориентированного программирования;

  • знать основные конструкции языка.

  • создавать простейшие программы с использованием языка VisualBasic.

IV Основы математической логики 8 часов

Основные понятия математической логики. Логические элементы и операции. Таблицы истинности. Построение логических схем по формуле. Написание формулы по лог. Схеме. Вычисление логических выражений.

Требования к знаниям и умениям ученика:

  • иметь представление об основных понятиях математической логики;

  • знать основные операции математической логики;

  • знать основные понятия математической логики;

  • приводить примеры основных операций математической логики.


9 класс

I. Конструкция компьютера 9 часов

Этапы развития вычислительной техники. Структурная схема компьютера. Системный блок. Виды памяти (оперативная, постоянная, внешняя). Носители информации. Представление информации в компьютере. Кодирование числовой и текстовой информации. Кодирование графической информации.

Требования к знаниям и умениям ученика:

  • иметь представление о функции языка как способа представления информации;

  • уметь объяснять принципы кодирования информации;

  • знать особенности и преимущества двоичной формы представления информации;

  • знать основные единицы измерения количества информации;

II. Коммуникационные технологии 7 часов

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

Требования к знаниям и умениям ученика:

  • понятие о компьютерных сетях, локальные и глобальные сети;

  • технические и программные средства сетей;

  • основные виды услуг глобальных сетей;

  • Internet - всемирная компьютерная сеть, «Всемирная паутина WWW»;

• осуществлять обмен информацией с файл-сервером локальной сети

III. Компьютерные технологии 10 часов

Объекты документа табличного редактора. Создание табличного документа. Вычисления в табличном редакторе. Обработка данных средствами электронных таблиц. Решение задач средствами Microsoft Excel. Базы данных. Инструменты системы управления базой данных. Создание структуры базы данных

Требования к знаниям и умениям ученика:

  • знать, что такое электронная таблица и табличный процессор; знать элементы электронной таблицы (ячейка, блок и их идентификация);

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

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

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

  • что такое реляционная база данных, ее элементы, типы и форматы полей;

  • структуру команд поиска и сортировки БД;

  • открыть БД в одной из СУБД реляционного типа;

  • организовывать поиск информации в БД;

  • редактировать содержимое полей БД;

IV. Создание компьютерных презентаций 8 часов

Объекты в приложении PowerPoint. Создание фона и текста. Вставка рисунков, создание векторного рисунка. Настройка анимации. Добавление эффектов мультимедиа. Создание презентации из нескольких слайдов. Защита презентации

Требования к знаниям и умениям ученика:

  • основные требования к мультимедиа проектам;

  • знать возможности презентационных программ;

  • иметь представление о мультимедиа технологии;

  • уметь разрабатывать мультимедиа проекты.

10 класс

I. Конструкция компьютера 9 часов

Поколения компьютеров. Магистрально-модульный принцип построения компьютера. Процессоры. Внутренняя память. Внешняя память. Устройства ввода информации. Устройства вывода

Требования к знаниям и умениям ученика:

  • знать общую функциональную схему компьютера;

  • знать назначение и основные характеристики устройств компьютера;

  • уметь работать с носителями информации;

II. Программное обеспечение компьютера 7 часов

  • Классификация программного обеспечения компьютера. Операционная система: понятие, основные функции. Примеры ОС, многообразие ОС. Операционная система WINDOWS и ее элементы. Окна папок ОС WINDOWS. Диалоговые окна. Окна приложений. Антивирусные программы. Архивация файлов. Инсталляция и деинсталяция программы с диска

Требования к знаниям и умениям ученика:

  • знать состав и назначение программного обеспечения компьютера;

  • знать назначение операционной системы;

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

  • уметь вводить данные и инсталлировать программы;

  • соблюдать правила техники безопасности, технической эксплуатации и сохранности информации при работе на компьютере.

III. Информационные модели 10 часов

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

Требования к знаниям и умениям ученика:

  • знать основные виды моделей;

  • создавать информационные модели различных объектов;

  • знать этапы информационной технологии решения задач с использо­ванием компьютера;

  • приводить примеры моделирования;

  • приводить примеры формализации;

  • уметь строить простейшие информационные модели и исследовать их на компьютере.

IV. Microsoft Office 9 часов

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

Требования к знаниям и умениям ученика:

  • иметь представление об основных режимах работы текстовых редакторов;

  • знать, что такое компьютерная графика;

  • знать основные средства получения рисунка;

  • уметь набирать и редактировать текст в одном из текстовых редакторов на любом языке;

  • уметь применять математические функций в электронных таблицах

  • уметь выполнять основные операции над текстом, допускаемые этим редактором;

  • уметь построить диаграммы и графики с помощью электронных таблиц.


11 класс

I. Представление информации в компьютере 9 часов

Информация и ее свойства Единицы измерения и кодирование информации. Кодирование числовой, графической и текстовой информации. Алфавитный подход к измерению информации. Вероятностный подход к измерению информации. Формула Шеннона. Информационные ресурсы государства. Защита информации

Требования к знаниям и умениям ученика:

  • иметь представление о функции языка как способа представления информации;

  • уметь объяснять принципы кодирования информации;

  • знать особенности и преимущества двоичной формы представления информации;

  • знать основные единицы измерения количества информации;

  • знать особенности и преимущества двоичной системы счисления;

  • знать основные понятия формальной логики;

  • уметь решать задачи на определение количества информации;

II. Компьютерные сети 7 часов

Компьютерные сети. Аппаратные средства. Характеристика каналов связи. Определение объема сообщения. Телекоммуникационные службы. Поиск информации в Интернете с помощью поисковых систем. Работа с электронной почтой. Знакомство с языком HTML. Создание сайта

Требования к знаниям и умениям ученика:

  • понятие о компьютерных сетях, локальные и глобальные сети;

  • технические и программные средства сетей;

  • основные виды услуг глобальных сетей;

  • Internet - всемирная компьютерная сеть, «Всемирная паутина WWW»;

• осуществлять обмен информацией с файл-сервером локальной сети

III. Основы математической логики 10 часов

Логические элементы и операции. Типовые логические устройства компьютера: полусумматор и сумматор. Триггер. Регистры. Законы преобразования логических операций. Вычисление логических выражений. Построение логических схем по заданному выражению

Требования к знаниям и умениям ученика:

  • знать основные понятия формальной логики;

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

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

  • уметь записывать логические схемы;

  • приводить примеры основных операций математической логики.

IV. Базы данных 8 часов

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

Требования к знаниям и умениям ученика:

  • что такое база данных, СУБД, информационная система;

  • что такое реляционная база данных, ее элементы, типы и форматы полей;

  • что такое СУБД;

  • структуру команд поиска и сортировки БД;

  • открыть готовую БД в одной из СУБД реляционного типа;

  • организовывать поиск информации в БД;

  • редактировать содержимое полей БД;

  • сортировать записи в БД по ключу;

  • вносить изменения в структуру таблиц;

  • добавлять и удалять записи.



Выберите курс повышения квалификации со скидкой 50%:

Автор
Дата добавления 04.09.2015
Раздел Информатика
Подраздел Конспекты
Просмотров488
Номер материала ДA-028064
Получить свидетельство о публикации
Похожие материалы

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