Лабораторная работа №2 по Информатике и ИКТ на тему

advertisement
Лабораторная работа №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. Выражение содержит целые числа, знаки арифметических операций сложения,
вычитания.
2
5 баллов-- функция Calculate(Expression: string): real, вычисляет значение выражения, записанного в
строке Expression. Выражение содержит действительные числа, знаки арифметических операций
сложения, вычитания, умножения.
дополнительно 5 баллов-- функция Calculate(Expression: string): real, вычисляет значение выражения,
записанного в строке Expression. Выражение содержит действительные числа, знаки арифметических
операций сложения, вычитания, умножения, деления, скобки, некоторые алгебраические функции.
Дополнительно оценивается усложненный вариант – с разбором синтаксиса входной строки.
3
Приложение 1.
Пример оформления отчета о проделанной работе.
Отчет
Лабораторная работа №2
по Информатике и ИКТ
на тему
«Язык программирования Паскаль.
Строковый тип данных.
Разработка программы Калькулятор»
Работа выполнена
учениками 10-В класса
ГОУ ФМЛ №366
Петровым Иваном
Ивановым Петром
Санкт-Петербург, 2010г.
4
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. Система контрольных тестов
№ теста
Проверяемая
ситуация
Вводимое значение
Результат
5
Download