Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы программирования.pdf
Скачиваний:
39
Добавлен:
13.02.2015
Размер:
785.63 Кб
Скачать

Задача 15.

Для заданных значений n и

x вычислить выражение:

s = sin x + sin sin x + + sin sin sin x

. n раз

Лабораторная работа № ПР6 «Работа со строковыми переменными»

Цель работы: научиться работать со строковыми переменными типа String.

Теоретические сведения

Строковые переменные

Тип

Хранимая

Занимаемая

 

Интервалы значений

 

информация

память

 

 

String (строка

Текстовая

1 байт на

От 1

до 65400

фиксированной

информация

каждый

 

 

длины)

(строка)

символ

 

 

String (строка

Текстовая

10 байт + 1

От 0

до двух миллиардов

переменной

информация

байт па

символов

длины)

(строка)

каждый

 

 

Функции преобразования типов

Примеры

Значение

функций

 

Val(Строка)

Преобразует строку цифровых символов в число

CStr(Число)

Преобразует числовое выражение или строку в строку

CInt(Выражение)

Преобразует числовое выражение или строку в число типа Integer

Cvar(Выражение)

Преобразует числовое выражение или строку в число типа

 

Variant и др.

Функции обработки строк

Примеры функций

 

Значение

Len(Строка$)

Возвращает длину Строки$

 

Asc(Строковое

Возвращает ASCII код первого символа в строковом

выражение)

выражении

 

 

Chr(asciiКодСимвола)

Возвращает

символ,

соответствующий

 

указанному коду ASCII

 

Mid(Строка$, Позиция& [,

В Строке$ выделяется подстрока начиная с заданной

Длина&])

Позиции& длины Длина$ (Длина$ - необязательный

 

аргумент)

 

 

Left(Строка$, Длина&)

В Строке$ выделяется левая подстрока Длиной&

Right(Строка$, Длина&)

В Строке$ выделяется правая подстрока Длиной& и др.

Пример. Функция Mid(«Иван Николаевич», 6, 3) Возвращает «Ник».

18

Пример. Функции Chr(13) и Chr(10). 13 и 10 – это коды ASCII особых, невидимых символов, которые используются при выдаче или печати текста, – символа перехода на новую строку и символа возврата на левую сторону страницы (иначе, символ переноса и символ возврата каретки).

Задача 16 (работа со строковыми переменными). Написать

программу, которая считает количество точек в строке. Строка вводится из ячейки MS Excel, код ASCII вводится с клавиатуры.

Решение

Этап 1. Математическая часть

Дано: Строка « Осень. Лес. Солнце. Опушка. Листва.»

(!) Самостоятельно разработать алгоритм на естественном языке и составить блок-схему.

Этап 2. Ввод данных в таблицу Excel

В ячейку А1 вводится строка « Осень. Лес. Солнце. Опушк....»

Этап 3. Определение переменных

Вводятся: St (тип String).

Промежуточные переменные: i (тип Integer) – счетчик цикла, SS (тип String) – искомый символ, x1(тип Integer) – ASCII код ".", L (тип Integer) – длина строки, SSS (тип String) – вырезаем из заданной строки с конца по символу, чтобы сравнить коды первых символов с искомым, x1(тип Integer) – ASCII код первого символа SSS .

Выводятся (результат): n (тип Integer) – количество точек в строке.

Этап 4. Написание процедуры

На рабочем листе Лист1 при помощи Элементов управления создать элемент

Кнопка (СommandBatton1).

Private Sub CommandButton1_Click() Dim St As String

Dim SSS As String

Dim SS As String

Dim L As Integer

Dim x As Integer

Dim x1 As Integer

Dim i As Integer

Dim n As Integer 'Ввод строки

St = Range("A1").Text SS = "."

'Возвращает ASCII код "." x1 = Asc(SS) 'Определение длины строки L = Len(St)

'Подсчет количетсва точек

19

n = 0

For i = 1 To L

SSS = Right(St, i) x = Asc(SSS)

If x = x1 Then n = n + 1

End If

Next i

'Вывод результата в ячейку A2

SSS = "Количество точек в строке равно " + CStr(n) Range("A2").Value = SSSEnd Sub

Этап 5. Выполнение

Перейти на рабочий лист (ViewMicrosoft Excel или Alt+F11). Выйти из режима Конструктора, левой клавишей мыши (ЛКМ) нажать Кнопку. В ячейке А4 появится результат «Количество точек в строке равно 7».

Этап 6. Переименование листа.

Навести курсор на закладку Лист1, правой клавишей мыши (ПКМ) вызвать контекстное меню, выбрать пункт Переименовать, удалить старое название листа и с клавиатуры набрать новое

Количество точек в строке, нажать Enter.

Задачи для самостоятельной работы

Задача 17. Написать программу, которая считает сколько раз встречается цифра “9” в строке. Строка вводится из ячейки MS Excel. Цифра “9” вводится с клавиатуры.

Задача 18. Написать программу, которая выделяет первое два слово в строке. Вывести номер последнего символа первого слова. Строка вводится из ячейки MS Excel.

Оформлением в тетради должно содержать:

1.Условие задачи

2.Входные-выходные данные

3.Переменные: вводимые, выводимые, промежуточные

20

4.Блок-схема, алгоритм на естественном языке

5.Программа на VBA

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

21

Приложение 1

Глоссарий

1. Основы алгоритмизации

1.1. Понятия алгоритма

Алгоритмизациея – это составление пошагового описания процесса решения задачи.

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

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

1.Наличие ввода исходных данных.

2.Наличие вывода результата выполнения.

3.Однозначность (компьютер "понимает" только однозначные инструкции).

4.Общность - алгоритм предназначен для решения некоторого класса задач.

5.Корректность - алгоритм должен давать правильное решение задачи.

6.Конечность - решение задачи должно быть получено за конечное число шагов.

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

1.3. Типы алгоритмов

I. Линейным алгоритмом (линейная последовательность операций)

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

II. Алгоритм ветвления (условный оператор) называется так потому, что после передачи ему управления выполнение алгоритма может пойти по одной из двух возможных ветвей. Какая именно ветвь будет выбрана, зависит от выполнения условия.

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

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

22

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

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

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

III. Блок-схема – используется для разработки структуры программы (в англоязычной литературе используется термин

Рис.4 flow-chart). Для изображения основных алгоритмических структур и блоков на блок-схемах используют специальные

графические символы. Они приведены на рис. 4.

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

1.5. Этапы разработки программы

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

постановка задачи;

анализ задачи, формализованное описание задачи, выбор математической модели;

выбор или разработка алгоритма решения задачи;

23

проектирование общей структуры программы;

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

отладка и верификация программы (исправление алгоритмических и синтаксических ошибок);

получение результата, его интерпретация и, возможно, последующая модификация модели;

публикация или передача заказчику результата работы;

сопровождение программы.

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

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

Выбор или разработка алгоритма и численного метода решения задачи

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

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

24

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

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

Отладка и верификация программы представляет собой очень важную часть процесса разработки программы. Отладка заключается в устранении ошибок программирования, ошибок перевода алгоритма на язык программирования. Верификация - это доказательство того, что программа работает "правильно", дает правильный результат. Для этого разрабатывается система тестов, которые могут представлять собой специально подобранные наборы параметров, для которых задача может быть решена точно. Это могут быть, например, какиенибудь предельные случаи. Если результат, полученный с помощью программы, совпадает (с учетом погрешности машинного счета) с ожидаемым, есть основание полагать, что программа работает корректно. Но это всего лишь основание, а не абсолютная уверенность! Среди начинающих программистов распространено убеждение, что если программа успешно откомпилирована и, будучи запущена на выполнение, выдает на экран ряды цифр, задача решена. На самом же деле программа готова, если разработчик смог доказать заказчику (да и самому себе), что результат работы программы является решением поставленной задачи.

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

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

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

25

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

26

Приложение 2

1. Основные понятия языка Visual Basic for Applications (VBA)

1.1. Алфавит языка VBA

Как и любой другой язык, VBA имеет свой алфавит. В него входят:

1.Прописные и строчные буквы латинского алфавита (A-Z, a-z);

2.Прописные и строчные буквы кириллицы (А-Я, а-я)1;

3.Цифры от 0 до 9;

4.Символы подчеркивания “_”.

5.Неизображаемые символы («обобщенные пробельные символы»), используемые для отделения слов друг от друг (пробел, табуляция, переход на новую строку);

6.Специальные символы, участвующие в построении конструкций языка: +

– * / \ ^ = > < [ ] ( ) . , : ; { } ‘ & @; 7. Составные символы, воспринимаемые как один символ: <= , >= , <>.

Разделители в составных символах недопустимы.

Комментарии используются для пояснения к тексту программы для пользователя, размещается на одной строке исходного текста программы, которая начинается со знака «» (апостроф) или с зарезервированного слова Rem. Программа не воспринимает текст, выделенный как комментарий и пропускает его:

‘ Комментарий Rem Комментарий

Имена переменных должны удовлетворять следующим правилам:

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

2.Нельзя использовать «.», «!», «@», «&», «$», «#», и пробел.

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

4.Длина имени не должна превышать 255 символов, но следует иметь в виду, что VBA различает только первые 31 символов от начала имени.

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

27