Тема 5.

Раздел: Алгоритмизация

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

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

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

Свойства алгоритма:

1.  Дискретность – разделение информационного процесса на отдельные команды;

2.  Определенность (точность) – это однозначность результатов выполнения алгоритмов в одинаковых начальных условиях;

3.  Результативность – это завершение выполнения алгоритмов определенными результатами;

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

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

Формы представления алгоритмов

Алгоритм можно описать несколькими способами:

НЕ нашли? Не то? Что вы ищете?

ü  словесная форма представления алгоритма (описание на естественном языке);

ü  описание алгоритма в виде структурированной записи, например на псевдокоде – это описание алгоритма на естественном, частично формализованном языке;

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

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

Обозначение некоторых блоков алгоритма:

- Начало и конец алгоритма.

- Ввод / вывод данных.

- Выполнение операции.

- Выбор направления выполнения алгоритма в зависимости от некоторых переменных условий.

- Изображение цикла со счетчиком.

Основные алгоритмические конструкции

Линейная алгоритмическая конструкция

Линейной называют алгоритмическую конструкцию, реализованную в виде последовательности действий, в которой каждое действие алгоритма выполняется ровно один раз, причем после I –того шага выполняется I+1 шаг, если этот шаг не конец.

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

Исходные данные: a- длина прямоугольника, b- ширина прямоугольника.

Выходные данные: s – площадь.


Блок – схема:

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

1.  Ввод a, b

2.  Вычисление s=a*b

3.  Вывод s

4.  Конец

Разветвляющаяся алгоритмическая конструкция()

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

Различают неполную развилку: если – то. На блок - схеме неполная развилка изображается так:


Полная развилка если – то – иначе на блок схеме изображается так:

Задача 2. Вывести значение наибольшего из двух чисел.

Исходные данные: a- первое число, b- второе число.

Выходные данные: вывод наибольшего числа.


Блок – схема:

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

  1.  Ввод двух чисел a и b

  2.  если а>b то «выводим a»,

  3.  иначе «выводим b»

  4.  Конец

Задача 3.

Решим предыдущую задачу с использованием неполной развилки если – то.


Блок – схема:

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

1.  Ввод двух чисел a и b

2.  если а>b то «выводим a»

3.  если b>a то «выводим b»

4.  Конец

Задача 4.

Задан фрагмент алгоритма:

1.  если a*b<0 то c=a-b иначе c=a+b

2.  если c¹0 то c=

3.  d=c*a

В результате выполнения данного алгоритма с начальными значениями a=-5, b=5 какие значения примут c и d?

Ответ: с=-1; d=5

Алгоритмическая конструкция «цикл» или повторение.

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

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

Различают три типа циклических алгоритмов: Цикл с параметром – арифметический цикл, цикл с предусловием и цикл с постусловием – их называют итерационными.

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

Задача 5. Вывести 10 раз слово «Привет».

Пусть i – параметр.


Блок – схема:

Алгоритм на псевдокоде:

1.НЦ Для i=1, 10, 1(начало цикла)

  Вывод слова «Привет»

2.КЦ (Конец цикла)

3.конец

Задача 6.

Какие значения примут переменные n, s в результате выполнения фрагмента алгоритма:

s=1; n=1

НЦ для i=2 до 5 (начало цикла)

n=n+1; s=s+i

КЦ (конец цикла)

Ответ: n=5; s=15

Задача 7.Можно ли считать формальным исполнителем алгоритма следующие устройства:

a.)  графический редактор

b.)  кодовый замок

c.)  телефон с памятью для записи номеров

d.)  принтер

Задача 8. К естественному представлению алгоритма относят

e.)  язык PASCAL

f.)  ER-диаграмму

g.)  рекурсивные функции

h.)  блок схема


Раздел: Программирование на языке Visual Basic (VB).

Языки программирования - искусственные языки. От естественных они отличаются тем, что у них малое число «слов», которые понимает компьютер. Кроме того, запись команд (операторов) обладает очень строгими правилами, совокупность которых образует СИНТАКСИС ЯЗЫКА, а смысл каждой команды и др. конструкций языка - это СЕМАНТИКА ЯЗЫКА. Нарушение формы записи языка программирования приводит к тому, что транслятор не понимает слово и выдает сообщение о синтаксической ошибке.

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

Интегрированная среда разработки программ на языке Visual Basic

Запуск Visual Basic в Windows 98 или WindowsXP : ПускÞ ПрограммыÞ Microsoft Visual Basic 6.0. ÞNew ProjectÞ Standard EXE ÞОткрыть. После запуска транслятора перед пользователем открывается пустая форма:

В верхней части экрана располагаются главное меню и панель инструментов. Отметим, что пустое окно носит имя Project1-Form1 (Form). Внутри него находится другое окно с названием Form1. Это и есть форма, которую можно модифицировать и которая будет окном ваше программы. В настоящий момент форма озаглавлена по умолчанию как Form1; такой заголовок Visual Basic присваивает форме в начале работы над новым проектом. Слева от окна Form1 размещается окно панели инструментов Toolbox, в котором видны элементы управления, доступные к размещению на форме. Справа от окна формы размещаются еще два окна. Верхнее носит название Project Explorer - окно проводника проекта. Оно служит для выбора объекта, который входит в проект. Нижнее окно – окно свойств объектов (Properties).

Если какие-либо из этих окон не видны, они включаются через опцию Вид (View) меню.

Элементы управления окна Toolbox

Окно элементов управления ToolBox располагается, как правило, слева от окна проекта и имеет стандартный набор элементов управления

Рассмотрим некоторые элементы управления и их назначение:

Элемент управления

Название

Назначение

Метка (Label)

Для вывода информации на форму, создания надписей

Текстовое окно (TextBox)

Для ввода информации с клавиатуры и для вывода информации на форму

Командная кнопка (CommandButton)

Для написания процедуры события

Если элементы управления размещены на форме, то они называются объектами управления. Каждому объекту управления можно задать множество свойств (Properties) с помощью окна свойств, которое размещается справа от окна проекта.

Например, свойство Caption - название, которое будет написано в заголовке формы или объекта управления при исполнении программы. Этим свойством обладают Форма, Метка и Командная кнопка и др. Например,

Form1. Label1.Caption=’’Стоимость’’
означает, что свойству Caption (название) объекта управления Label1 (метка1), размещенному на Form1 (форме1), присвоено значение ’’Стоимость’’.

Свойство Text текстового окна предназначено для ввода и вывода информации.

Например, Text1.text=5, означает, что свойству text текстового окна Text1 присвоено значение 5.

Структура программ на языке Visual Basic

Когда мы начинаем проектировать наше приложение, то мы берем некоторые стандартные элементы управления, помещаем их на форму (одну или несколько), затем устанавливаем начальные свойства этих объектов управления и создаем код обработки событий, связанный с этими объектами. Событие - это какое – либо воздействие на этот объект. К событиям можно отнести: одинарный или двойной щелчок левой кнопкой мыши по объекту, нажатие или отпускание кнопки мыши и др.

Другим атрибутом форм и объектов управления является их программный код (Code). Чтобы создать его, нужно дважды «щелкнуть» по изображению формы или объекта управления и набрать программный код для этого объекта.

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

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

Этапы создания проекта программы

Тогда процесс создания проекта программы можно разделить на следующие этапы:

ü  Составление точного и полного словесного описания работы программы, определение исходных и выходных данных, как будет выглядеть экранная форма, т. е. какие объекты должны быть на ней и какими должны быть их свойства. Это первый этап. Он называется постановкой задачи (считается подготовительным и рассматривается вне среды программирования).

ü  Создание экранной формы в интегрированной среде разработки языка Visual Basic со всеми находящимися на этой форме объектами и свойствами этих объектов. Этот этап называется разработкой пользовательского интерфейса.

ü  Третий этап – программирование. Это определение событий, происходящих в процессе работы программы, составление процедур этих событий и написание программных кодов этих процедур.

ü  Отладка программы – четвертый этап. Суть его состоит в устранении логических ошибок в процедурах и в достижении правильности работы программы.

ü  На последнем этапе осуществляется сохранение проекта и, если нужно, компиляция – превращение проекта в исполняемое приложение, способное работать за пределами среды проектирования.

Переменные и константы.

Реальные данные, с которыми работает программа – это числа, строки (текст) и логические величины (1 и 0, да и нет, истина и ложь). Эти типы данных называют базовыми.

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

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

Рассмотрим некоторые типы данных, которые наиболее часто используются в VB:

Integer- целое, в памяти занимает 2 байта;

Single- дробное, 4 байта;

String- строковое значение (строка символов).

Объявление переменной в программе (описание)

В VB такой командой (оператором) является оператор DIM.

Синтаксис этой команды таков:

Dim ИмяПеременной [As ТипПеременной],

где:

Dim и As ключевые слова языка Visual Basic.

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

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

Назначение этого оператора – объявить переменную, т. е. задать имя и тип или только имя.

DIM A AS SINGLE ‘объявляет идентификатор A, который может принимать дробное значение

DIM B AS INTEGER ‘Переменная B может принимать целое значение

DIM S AS STRING ‘Переменная S может принимать строковое значение - текст

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

Синтаксис этого оператора выглядит так:

Result=5

Такая запись означает, что в ячейку памяти с идентификатором Result будет положено число 5, Знак «=» - это присвоение. Читается так: переменной Result присвоить значение 5.

В результате выполнения фрагмента такой фрагмент программы:

X=1

X=X+5

Значение переменной X будет равно 6.

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

Арифметические выражения. Для записи арифметических выражений используются такие обозначения арифметических операций:

Операция

Описание операции

A^B

Возведение A в степень B

-A

Перемена знака A

A*B

Умножение A на B

A/B

Деление A на B

A\B

Целочисленное деление A на B

A Mod B

Деление по модулю A на B

A+B

Сложение A с B

A-B

Вычитание B из A

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

Математические функции. Значениями математических функций являются числа. Всего в языке Visual Basic 12 математических функций (табл.8).

Таблица 8

Математические функции

Функция

Возвращаемое значение

Sin(A)

Синус числа A

Cos(A)

Косинус числа A

Tan(A)

Тангенс числа A

Atan(A)

Арктангенс числа A

Sqr(A)

Квадратный корень из числа A

Log(A)

Натуральный логарифм числа A

Exp(A)

Показательная функция числа A

Int(A)

Наибольшее число, не превышающее число A

CInt(A)

Целое число, ближайшее к числу A

Fix(A)

Целое число, равное числу A без дробной части

Abs(A)

Абсолютное значение числа A

Rnd(A)

Случайное число

Задача 1. Записать на языке программирования оператор присваивания для вычисления переменной y, если выражение задано:.

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

Y=Sqr(x^3+sin(2*x))+(log(2*x-5)/(3*x^(1/4)))

Задача 2. Операторы присваивания в языках программирования

a.)  соотносят переменным некоторые множества допустимых значений

b.)  вычисляют значение математических выражений

c.)  меняют значение констант

d.)  задают значение переменных

e.)  организуют выполнение повторяемых действий

Задача 3.Вычислимой функцией называется функция, для которой

a.)  функция, представленная в виде ряда значений

b.)  можно задать формулу

c.)  задана матрица значений

d.)  значение функции может быть найдено за конечное время

Строковые функции Str и Val

Val(S)

Функция преобразования строки символов S в число

Str(F)

Функция преобразования числа F в строку символов

Ввод информации с помощью текстового окна(TextBox).

Простейший ввод информации осуществляется через текстовое окно (TextBox). Информация, записанная пользователем в этом окне в процессе работы программы, присваивается свойству Text и может быть использована программой. Например,

A1=Text1.Text ‘ в переменную A1 положить текст

B1=val(Text2.Text) ‘ в переменную B1 положить число, которое набрано в Text2.Text

Вывод информации в текстовое окно(Textbox), на метку (Label) и на форму(Form)

Информация, присвоенная программой в процессе работы свойству Text текстового окна, появляется в нем и тем самым сообщается пользователю. Например,

Text1.Text =“ряд”

Объект управления метка (Label) предназначен также для вывода информации. Для того чтобы информация появилась на метке, необходимо присвоить ее значение свойству Caption (название) этой метки. Это присвоение можно сделать на стадии создания графического интерфейса, в этом случае метка будет использована для создания пояснительных надписей, или на стадии выполнения программы для вывода результатов работы программы, например,

Label1.Caption=”Площадь треугольника = ”+Str(s)

Замечание. Объекты Text1 и Label1 должны быть выставлены на форму.

Для вывода информации на форму используется оператор Print.

Например,

Print ”Площадь треугольника = ”,s

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3