Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические указания Информатика 1 КУРС.docx
Скачиваний:
12
Добавлен:
27.11.2019
Размер:
339.66 Кб
Скачать

3.6 Содержание отчета

  1. Тема;

  2. Цель работы;

  3. Отчет о выполненной работе.

4 Лабораторная работа 4. Среда программирования. Тестирование готовой программы. Программная реализация несложного алгоритма.

4.1. Цель работы

Получение представления об алгоритме, свойствах алгоритма, среде программирования, исполнителе алгоритма. Научиться составлять простейшие блок-схемы и алгоритмы. Ознакомиться с языком Turbo Pascal.

4.2. Теоретическая справка

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

Каждое действие в записи алгоритма называется командой. Исполнитель алгоритма - это абстрактная или реальная система, способная выполнить действия, предписываемые алгоритмом.

Основные свойства алгоритмов:

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

  2. Дискретность – алгоритм должен представлять процесс решения задачи как последовательное выполнение простых команд;

  3. Определённость – каждое правило алгоритма должно быть чётким и однозначным;

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

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

Алгоритм может быть записан словами и изображён схематически. Обычно сначала (на уровне идеи) алгоритм описывается словами, но по мере приближения к реализации он обретает всё более формальные очертания и формулировку на языке, понятном исполнителю. Например, для описания алгоритма применяются блок-схемы. Блок-схема — распространенный тип схем, описывающих алгоритмы или процессы, в которых отдельные шаги изображаются в виде блоков различной формы, соединенных между собой линиями.(рис 3)

Рисунок 3 – Элементы блок схемы

Прямоугольник - любая последовательность действий; внутри прямоугольника записываются формулы или словесное описание выполняемых действий;

Ромб - блок проверки условия; так как любое условие может быть только истинно или ложно, у блока 1 вход и 2 выхода, соответствующие действиям, выполняемым в случаях, когда условие истинно и когда оно ложно. Выходы подписывают символами "+" и "-", "да" и "нет", "1" и "0" .

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

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

Закругленные прямоугольники - необязательные блоки начала и конца программы, внутри блоков обычно указываются ключевые слова "нач" и "кон" соответственно;

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

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

Рисунок 4 –- Блок-схема – решение квадратного уравнения

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

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

·       нач      - начало программы;

·       кон      - конец программы;

·       если ... то ...иначе  - проверка условия;

·       ввод  - ввод данных;

·       вывод  - вывод данных;

·       для ... от .. до ... нц ... кц     - цикл со счетчиком (нц - начало цикла, кц - конец);

·       пока ... нц ...кц    - цикл с предусловием;

·       нц ... кц ... пока   - цикл с постусловием.

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

Программа - это реализация алгоритма на конкретном языке программирования. Совокупность существующих программ образует программное обеспечение (ПО). ПО принято делить на 2 вида.

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

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

Основы языка Turbo Pascal

Переменными называют величины, значения которых могут изменяться в процессе выполнения программы. Каждая переменная задается своим уникальным именем, построенным по правилам, указанным в начале главы. Максимально возможная длина имени зависит от реализации Паскаля, теоретически можно давать переменным имена вплоть до 63 символов длиной, что едва ли актуально - обычно имена не длиннее 5-10 символов (таблица 1).

Таблица 1 - Типы данных

Ключевое слово Паскаля

Название и описание типа

Объем памяти, байт

Диапазон возможных значений

boolean

Логический: хранит одну логическую переменную

1

true и false

char

Символьный: хранит код одного символа из набора ASCII-кодов

1

от 0 до 255 включительно (28=256)

integer

Целочисленный

2

±215

word

Целочисленный без знака

2

±216 - диапазон вдвое больше, так как 16-й бит не занят под знак числа

longint

Длинное целое: для представления больших целочисленных значений

4

±231

real

Вещественное число с точностью представления до 11-12 знака в дробной части

6

~ 2.9*10-39 - 1.7*1038

double

Вещественное число с точностью представления до 15-16 знака в дробной части

8

~ 5*10-324 – 1.7*10308

string

Последовательность символов типа char длиной от 1 до 255

2-256 (данные строки + 1 байт для хранения ее длины)

Любые строки текста, состоящие из печатаемых символов

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

Таблица 2- Арифметические операции языка Паскаль

Приоритет

Знак операции

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

1

*

умножение

/

деление

div

деление 2 целых значений с отбрасыванием остатка

mod

взятие остатка от деления 2 целых значений

2

+

сложение

-

вычитание

Операции div и mod определены только для целочисленных операндов. Приведём пример их использования:

Var y, c, n: integer;

y:=2009;

c:=y div 100;

n:= y mod 100;

Здесь переменная с получит значение 20, а n – значение 9.

Стандартные функции служат для выполнения элементарных математических расчетов, часто требуемых при написании программ. Разработчики Паскаля стремились сделать его программное ядро максимально компактным, поэтому в него не вошло ряд функций, имеющихся в других языках, таких как вычисление максимума и минимума, возведение числа в произвольную степень. Физически коды стандартных функций хранятся в стандартной библиотеке Паскаля – файле с именем turbo.tpl. Все функции оформляются одинаково: после имени функции следует ее аргумент, заключённый в круглые скобки. Если аргументов несколько, они разделяются запятыми.

Таблица 3 – Стандартные функции языка Паскаль

Математическая запись

Запись на Паскале

Пояснение

Тип

аргумента и результата

|x|

abs(x)

Модуль аргумента x

Integer (I) или Real (R)

x2

sqr(x)

Квадрат аргумента x

аргумент – I или R, результат – r

sin x

cos x

arctg x

sin(x)

cos(x)

arctan(x)

Остальные тригонометрические функции выражаются через эти

аргумент – I или R, результат – R

ex

ln x

exp(x)

ln(x)

Экспонента и натуральный логарифм

аргумент – I или R, результат – R

sqrt(x)

Квадратный корень от аргумента x

аргумент – I или R, результат – R

pi

Функция без аргументов, вернет число 

R

trunc(x)

Функция отбрасывает дробную часть аргумента, аргумент не округляется

аргумент R, результат I

frac(x)

Функция выделяет

дробную часть своего

аргумента

R

round(x)

Округление вещественного числа до ближайшего целого

аргумент R, результат I

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

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

Знак : = читается как « присвоить»

Оператор присваивания работает следующим образом: сначала вычисляется выражение, стоящее справа от знака :=, затем результат записывается в переменную, стоящую слева от знак. Например, после выполнения оператора

k:=k+2

текущее значение переменной k увеличивается на 2.

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

Оператор ввода с клавиатуры может быть записан в одной из следующих форм:

read(список_переменных);

readln(список_переменных).

Имена переменных перечисляются через запятую

Оператор readln отличается от read только тем, что все переменные должны быть введены в одну строку экрана, клавиша Enter нажимается один раз по окончании ввода.

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

var a,b,c:real;

...

read (a,b,c);

Для задания значений a=1, b=4, c=2.5 на экране вводится:

1_4_2.5¬

Здесь и далее "_" означает пробел, а "¬" - нажатие Enter.

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

write(список);

writeln(список);

Элементы списка перечисляются через запятую.

Программа на Паскале не просто состоит из операторов – порядок следования этих операторов не случаен и образует определённую структуру.

Таблица 4 - Структура простой программы на Паскале

Название раздела

Операторы раздела

Заголовок программы (необязателен)

program ИмяПрограммы;

Раздел описаний – необязателен, но, как правило, присутствует

const список констант;

var список переменных;

Тело программы – обязателен, содержит операторы программы

begin

операторы;

end.

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

program Equation;

var a,b,c,d,x1,x2:real; begin

writeln;

writeln ('Введите коэффициенты a,b,c:');

read (a,b,c);

d:=sqr(b)-4*a*c;

x1:=(-b+sqrt(d))/(2*a);

x2:=(-b-sqrt(d))/(2*a);

writeln ('Корни уравнения');

writeln (x1:10:2,x2:10:2);

readln; readln;

end.