Лабораторная работа №2

по Информатике и ИКТ

на тему

«Язык программирования Паскаль.
Строковый тип данных.
Разработка программы Калькулятор»

Санкт-Петербург, 2010г.

1.  Цель работы:

1.1.  Изучить основные приемы работы со строковыми данными, процедурами и функциями пользователя, рекурсивными алгоритмами и научиться применять их при написании программ на языке Паскаль;

1.2.  Овладеть методикой программирования алгоритмов синтаксического разбора строки символов. Синтаксический разбор строки – важнейшая задача при создании компиляторов.;

1.3.  Закрепить на практике знания, полученные при изучении тем «Строки. Процедуры и функции. Рекурсия».

1.4.  Научиться грамотно оформлять результаты.

2.  Задачи:

2.1.  Разработка и отладка программы, реализующей вычисление арифметического выражения, введенного с клавиатуры.

2.2.  Составление и оформление отчета.

3.  Задание:

3.1.  Написать программу «Калькулятор», которая вычисляет арифметическое выражение, введенное с клавиатуры.

3.2.  Арифметическое выражение состоит из операндов и соединяющих их знаков арифметических операций.

3.3.  Выражение заканчивается нажатием клавиши ENTER.

3.4.  Введенное выражение является синтаксически верным и не требует контроля синтаксиса.

4.  Ход работы.

4.1.  Составить программу, которая

4.1.1.  вводит с клавиатуры арифметическое выражение.

4.1.2.  вычисляет его значение

4.1.3.  выводит результат на экран

4.2.  Функционально законченные модули оформить в виде процедур или функций.

4.3.  Отладить программу и предъявить ее преподавателю, подготовить текст программы.

4.4.  Оформить отчет. Пример оформления отчета приведен в приложении 1, хранится на диске S: в папке Калькулятор.

4.5.  Подготовиться к защите лабораторной работы.

5.  Описание работы:

5.1.  Написать функцию Calculate(Expression: string): real, вычисляющую значение выражения, записанного в строке Expression. Выражение содержит действительные числа, знаки арифметических операций и скобки. Учитывается приоритет выполнения арифметических операций.
Упрощение 1: отсутствие скобок.
Упрощение 2: отсутствие операций умножения и деления
Упрощение 3: Calculate(Expression: string): integer (содержит целые числа);
Усложнение 1: наличие во входной строке некоторых математических функций.

Усложнение 2: наличие интерфейса пользователя для ввода выражения

5.2.  Входная информация для программы -

5.3.  Выходная информация –

5.4.  Глобальные переменные (перечислить и описать) -

5.5.  Структура программы (блок-схема алгоритма)

5.6.  Перечислить и описать (имя подпрограммы, назначение, список входных/выходных параметров) все разработанные подпрограммы.

6.  Выставляется итоговая оценка:

3 балла -- функция Calculate(Expression: string): integer вычисляет значение выражения, записанного в строке Expression. Выражение содержит 2 целых числа, знаки арифметических операций сложения и вычитания.

4 балла-- функция Calculate(Expression: string): integer вычисляет значение выражения, записанного в строке Expression. Выражение содержит целые числа, знаки арифметических операций сложения, вычитания.

5 баллов-- функция Calculate(Expression: string): real, вычисляет значение выражения, записанного в строке Expression. Выражение содержит действительные числа, знаки арифметических операций сложения, вычитания, умножения.

дополнительно 5 баллов-- функция Calculate(Expression: string): real, вычисляет значение выражения, записанного в строке Expression. Выражение содержит действительные числа, знаки арифметических операций сложения, вычитания, умножения, деления, скобки, некоторые алгебраические функции.

Дополнительно оценивается усложненный вариант – с разбором синтаксиса входной строки.

Приложение 1.
Пример оформления отчета о проделанной работе.

Отчет
Лабораторная работа №2

по Информатике и ИКТ

на тему

«Язык программирования Паскаль.
Строковый тип данных.
Разработка программы Калькулятор»

Работа выполнена
учениками 10-В класса

ГОУ ФМЛ № 000

Петровым Иваном

Ивановым Петром

Санкт-Петербург, 2010г.

1.  Цель работы:

1.1.  Изучить основные приемы работы со строковыми данными, процедурами и функциями пользователя, рекурсивными алгоритмами и научиться применять их при написании программ на языке Паскаль;

1.2.  Овладеть методикой программирования алгоритмов синтаксического разбора строки символов;

1.3.  Закрепить на практике знания, полученные при изучении тем «Строки. Процедуры и функции. Рекурсия».

1.4.  Научиться грамотно оформлять результаты.

2.  Задачи:

2.1.  Разработка и отладка программы, реализующей вычисление арифметического выражения, введенного с клавиатуры.

2.2.  Составление и оформление отчета.

3.  Задание:

3.1.  Написать программу «Калькулятор», которая вычисляет арифметическое выражение, введенное с клавиатуры.

3.2.  Арифметическое выражение состоит из операндов и соединяющих их знаков арифметических операций.

3.3.  Выражение заканчивается нажатием клавиши ENTER.

3.4.  Введенное выражение является синтаксически верным и не требует контроля синтаксиса.

4.  Ход работы.

4.1.  Составлена программа «Калькулятор», которая

4.1.1.  вводит с клавиатуры арифметическое выражение.

4.1.2.  вычисляет его значение

4.1.3.  выводит результат на экран

4.2.  Арифметическое выражение состоит из операндов и соединяющих их знаков арифметических операций.

4.2.1.  Операнды – целые (вещественные) числа (указать какие именно)

4.2.2.  Арифметические операции – сложение, вычитание, умножение, деление, возведение в степень (перечислить только реализованные операции и указать использованные обозначения операций, например, + - * / : ^ √ •)

4.2.3.  Реализовано вычисление математических функций (перечислить только реализованные функции и указать их обозначения, например, abs sqrt)

4.3.  Функционально законченные модули оформлены в виде подпрограмм.

4.4.  Программа отлажена и предъявлена преподавателю. __________________________________
/подпись проверившего преподавателя/

5.  Описание программы:

5.1.  Входная информация для программы - ______________________________________________

5.2.  Выходная информация – __________________________________________________________

5.3.  Глобальные переменные, типы данных пользователя, константы (перечислить и описать) - ____________________________________

5.4.  Структура программы (блок-схема алгоритма) ________________________________________

5.5.  Перечислить и описать все разработанные подпрограммы (процедура(функция), имя подпрограммы, для функции – тип результата, назначение, список входных/выходных параметров). __________________________________________________________________________

6.  Текст программы с комментариями: _________________________________________

7.  Система контрольных тестов

№ теста

Проверяемая ситуация

Вводимое значение

Результат