Лабораторная работа №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