Смекни!
smekni.com

Язык программирования Pascal (стр. 1 из 3)

Министерство науки и образования Республики Казахстан

Костанайский колледж автомобильного транспорта

Отчет

По учебной практике по предмету

Основы алгоритмизации и программирования

Выполнила: учащаяся гр.2 Пр-8

Леонова Ю.

Костанай 2008

1. Введение

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

Задачи.1. Повторить теоретический материал.

2. Закрепить теоретический материал.

3. Решить предложенные задачи на языке Паскаль.

4. Правильно оформить предложенные задачи в отчет.

2. Обзор языка программирования.

2. История языка Pascal

Основные концепции языка были разработаны в 1967-1968г. профессором Николаусом Виртом (Niklaus Wirth). Стандарт языка был разработан им в 1974г. (PASCAL - User Manual and Report, ISO Pascal Standard Kathleen Jensen and Niklaus Wirth) совместно с Кетлин Йенсен (Kathleen Jensen). Паскаль достаточно быстро превратился из средства, предназначенного для обучения студентов программированию, в инструмент, который стали использовать для создания больших программных проектов.

В настоящее время действуют три стандарта языка. Первый из них - нерасширенный Паскаль (unextended Pascal) был разработан в 1983 году. Второй - Extended Pascal - содержит расширения, касающиеся модульного программирования (раздельная компиляция модулей, импорт-экспорт подпрограмм, интерфейсная часть и реализация), и дополнен рядом процедур и функций (прямой доступ к файлам, работа со строками и т д). Последний - объектный Паскаль (Object-Oriented Extensions to Pascal), в отличие от первых двух, формально не утвержден, но оформлен в виде отчета (ANSI Technical Report) в 1993г. Объектный Паскаль поддерживает классы, обладающие свойствами и методами, наследование классов, переопределение методов у потомков (полиморфизм) и ряд других атрибутов объектно-ориентированного программирования.

Алгоритмомназывается точное и понятное предписание исполнителю совершить последовательность действий направленных на решение поставленной задачи.

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

Циклический алгоритм - это многократное повторяемый участок вычислений.

Перечислимый тип данных задается непосредственно перечислением всех значений, которые может принимать переменная данного типа. При описании отдельные значения указываются через запятую, а весь список заключается в круглые скобки. Например, Var Season: (winter, spring, summer, autum);

Temp: (23,24,25,26);

Строковый тип:

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

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

Для определения данных строкового типа в Turbo Pascal 7.0 введены стандартные типы String и PChar.

Условные операторы предназначены для изменения порядка выполнения инструкций программы, в соответствии с некоторым условием.

Оператор условияIF.

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

IF условие THEN оператор; (неполная форма)

Условие задаётся переменной и её соотношением с некоторой константой или значением выражения. Если условие выполняется, то будет выполнен указанный оператор.

IF условие THEN оператор 1 ELSE оператор 2; (полная форма)

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

Операторы цикла

Для выполнения некоторого количества повторяющихся действий целесообразно использовать операторы цикла.

Циклы со счетчиком

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

For <начальное значение счетчика> To <конечное значение> Do <тело цикла>;

Счетчик меняется от меньшего к большему с шагом 1

For <начальное значение счетчика> Downto <конечное значение> Do <тело цикла>;

Счетчик меняется от большего к меньшему с шагом 1

Циклы с предусловием

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

Оператор цикла с предусловием
while <условие> do <тело цикла>;

Выполнение оператора цикла с предусловием начинается с проверки условия, записанного после слова while. Если оно соблюдается, то выполняется <тело цикла>, а затем вновь проверяется условие и т.д. Как только на очередном шаге окажется, что условие не соблюдается, то выполнение <тела цикла> прекратится.

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

Циклы с постусловием.

Для программной реализации циклических процессов с неизвестным числом повторений существует ещё один оператор - оператор цикла с постусловием, который имеет следующий вид:

Оператор цикла с постусловием
Repeat
<оператор 1>;
<оператор 2>;
...
<оператор n>;
Until <условие>;

где Repeat (повторять), Until (до тех пор, пока).

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

Тип данных - это множество величин, объединенных определенной совокупностью доступных операций.

Одномерный массив - последовательность элементов. Число, которых фиксировано и которым присвоено одно имя.

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

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

Строка - это последовательность символов ASCII (таблица кода). При использование в выражениях строка заключается в апострофы.

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

3. Специальная часть

3.1 Решение задачи

3.1.1 Постановка задачи

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

3.1.2 Таблица идентификаторов

Переменные тип Значения
1 n integer Количество членов геометрической прогрессии
2 b1, b2 real Первый и второй члены геометрической прогрессии
3 Sn real Сумма n членов геометрической прогрессии
4 q real Знаменатель прогрессии

3.1.3 Блок-схема

3.1.4 Программа

Program progressiy;

Var n: integer; b1, b2, Sn, q: real;

Begin

Writeln ('введите n');

Readln (n);

Writeln ('введите 2 числа');

Readln (b1, b2);

q: =b2/b1;

Sn: = (b1* (exp (n*ln (q)) - 1) / (q-1));

Writeln (Sn: 3: 0);

Readln;

End.

3.1.5 Результат работы программы

3.2 Решение задачи

3.2.1 Постановка задачи

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

3.2.2 Таблица идентификаторов

Переменные тип Значения
1 x, y Real Координаты точек

3.2.3 Блок-схема


3.2.4 Программа

program grafic;

var x,y: real;

begin

writeln ('введите координаты точек');

readln (x,y);

if (sqr (x) +sqr (y) >4) and (x>=-2) and (x<=2) and (y>=-2) and (y<=2)

and ( (x>0) and (y<0) or (x<0) and (y<0) or (x<0) and (y>0))

thenwriteln ('принадлежит') elsewriteln ('не принадлежит');

readln;

end.

3.2.5 Результат работы программы

3.3 Решение задачи

3.3.1 Постановка задачи

Долгожитель, т.е. человек, проживший более 100 лет, обратил внимание, что если к сумме квадратов цифр его возраста прибавить число его дня рождения, то получится как раз его возраст. Определить, сколько лет этому человеку.

3.3.2 Таблица идентификаторов

Переменные тип Значения
1 n integer Возраст человека
2 i integer Месяц рождения человека
3 a integer Единицы
4 b integer Остаток от деления на 100
5 h integer Десятки
6. с integer Сотни
7 v integer Сумма квадратов цифр его возраста

3.3.3 Блок-схема


3.3.4 Программа

Programdata;