Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Текст лекций.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
1.59 Mб
Скачать

Вопросы для самоконтроля

  1. Какова цель этапа постановки задачи?

  2. В какой форме может быть представлено описание метода решения задачи?

  3. Какой смысл отражает слово «внешняя» в названии этапа «Внешняя спецификация программы»?

  4. Каково назначение внешней спецификации программы?

  5. Что такое «тип данных»? Какую информацию о данных он несет?

  6. Поясните, что такое «аномалия входных данных», и что содержит описание аномалии.

  7. В чем основное отличие терминов «алгоритмический язык» и «язык программирования»?

  8. Какие виды языков применяются для записи алгоритмов?

  9. Что такое «псевдокод»?

  10. В чем отличие содержания тестирования и отладки программы?

2. Язык для записи алгоритмов

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

Рассмотрим простой пример:

Вне компьютера

Алгоритм и внутренние переменные

SIN(<a>)=<b>

Входные данные:

a - вещественное число

Выходные данные:

где b – вещественное число,

и b = sin a

Алгоритм “Вычисление синуса”

Внутренние переменные:

x

вещ

y

вещ

начало

ввод (x)

y := sin (x)

вывод (“SIN(“,x , “) =”, y )

конец

Здесь:

Объекты действий:

  • вещественное число a , вводимое с устройства ввода (например, с клавиатуры)

  • внутренние переменные x и y , используемые для хранения аргумента и значения синуса во время исполнения программы

  • выходной текст, включающий эти величины (точнее, их представление в виде последовательности букв и цифр)

Совокупность действий над этими объектами:

  • операция ввода значения аргумента во внутреннюю переменную x

  • операция присваивания переменной y значения синуса от аргумента x

  • операция вывода текста со значениями x и y в виде, описанном во внешней спецификации, элементы которой приведены в первом столбце таблицы.

Технология так называемого “надежного программирования”, которая поддерживается практически всеми современными языками программирования, требует, чтобы все переменные в алгоритме (и программе) были объявлены (иначе декларированы). Декларация переменной включает указание имени, типа, размерности (для массивов), и при необходимости – начальных значений (если они известны).

В первую очередь введем определение программной переменной:

Программная переменная обозначается символически (именем), размещается во внутренней памяти ЭВМ и всегда имеет какое-либо значение, иногда неизвестное (!)

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

Тип переменной определяет множество значений, которые она может принимать, и множество операций, которые разрешены над этими значениями.

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

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

Отметим, что значение МаксЦел (максимальное целое) зависит от архитектуры ЭВМ, и в разных ЭВМ могут отличаться. Для компьютеров, совместимых с IBM PC, эта величина зависит от системы программирования, и, например, для языка Турбо Паскаль это число равно 32767.

Язык для записи алгоритмов, который будет использован в данном пособии, мы будем называть Русским Алгоритмическим Языком (РАЯ – версия псевдокода, использующая русскую лексику). Этот язык в качестве исполнителя предполагает исключительно человека, и поэтому правила записи алгоритма на нем должны быть удобны и понятны именно человеку. Самое важное отличие РАЯ от русского языка – ограниченный набор фраз (предложений) языка и строгие правила их построения для обеспечения строгой однозначности смысла текста алгоритма, чтобы результат его выполнения не зависел от того, кто будет исполнять алгоритм.

Приведем краткую характеристику средств языка РАЯ.