КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Перечень контрольных вопросов
End. Begin Const Uses Методические указания по выполнению заданий На языке Free Pascal Программирование основных алгоритмических структур
Пояснительная записка на ____листах
Студент(ка) группы (роспись) Фамилия И. О. № зач. кн. _________
Руководитель Фамилия И. О. Самара 200_ г.
Рис. 10. Образец оформления титульного листа Пример выполнения задачи 1. Вычислить значение переменных y и p, используя значения входных данных и расчетные формулы: , где а = 0.59, z = -4.8, x = 2.1 Прежде всего, обратим внимание на то, что функции tg(x) в языке Free Pascal отсутствует. Значит, следует заменить её отношением sin(x)/cos(x). Учитывая, что операцию возведения в куб придётся заменить операцией умножения, обозначим это отношение через «t» и вычислять его будем индивидуально. Опишем ее как переменную. Величины a, z, x можно описать в программе как константы, так как их значения заранее определены условием задачи. Если же описать их как переменные, то нужные значения указываются при вводе. Теперь составим блок-схему алгоритма (рис. 11) и напишем программу.
program Zadacha1; {$mode objfpc}{$H+} Classes, SysUtils { you can add units after this }; a=0.59; z=-4.8; x=2.1; var t, y, p: real; writeln('a=', a:6:2, ' x=', x:6:2, ' z=',z:6:2); t:= sin(x*x)/cos(x*x); y:= a*t*sqr(t) + sqrt(z*z/(a*a + x*x)); p:= ln(a+x*x)+sqr(sin(z/a)); writeln('Result'); writeln; //вывод результата writeln('y=', y:8:3,' p=', p:8:3); readln //эта процедура без списка //аргументов оставляет открытым окно для считывания результата
Результаты выполнения задачи1:
a= 0.59 x= 2.10 z= -4.80 Result y= 21.635 p= 2.532 Замечания. 1. В программе предусмотрен форматный вывод вещественных переменных y и p, который устанавливает при выводе на печать 8 символов, 3 из которых отведены для дробной части. 2. При небольших показателях степени задача возведения в степень решается умножением. Например: х3=х2∙х. При дробных и больших значениях показателя степени вычисление производится по формуле: Ах = ех∙ln(А) или (exp(x*lm(a)). Пример выполнения задания 2.
Вычислить на ПЭВМ значения функции:
Обратим внимание, что функция y не определена в диапазоне a < x < b {(x > a) and (x < b)}. В этой ситуации программа должна обеспечить вывод соответствующего сообщения, например "функция не определена". Таким образом, фактически имеем три диапазона изменения x:
функция sin(x) не определена k·ln(x) 0 2 4 6 x
Примем диапазон изменения x от 0 до 6, что позволит протестировать программу по всем трем условиям. Поскольку в задаче три условия, число блоков «решение» в алгоритме должно быть два (на единицу меньше). Блок-схема одного из вариантов алгоритма решения задачи и соответствующая программа будут иметь вид:
Рис. 12. Блок-схема алгоритма задачи 2 Результаты работы программы:
Пример выполнения задания 3. Используя оператор fo … to … do, вычислить на ПК значения функции , при х=0,5. Параметром цикла является аргумент n. При вычислении конечных сумм и произведений искомый результат формируется постепенно. При вычислении суммы сначала вычисляется S1 = S0 + S(n1), во втором повторе цикла эта сумма увеличивается на второе слагаемое и получается S2 = S1 + S(n2), в третьем повторе - на третье слагаемое S3 = S2 + S(n3) и т.д. Здесь S0 - начальное значение суммы и т.к. S1 должна быть равна S(n1), то S0 = 0. При вычислении произведения сначала вычисляется Р1=Р0×P(n1), затем Р2 = Р1×P(n2) и т.д. Здесь Р0 - начальное значение произведения и т.к. Р1 должно быть равно P(n1), то Р0 = 1. Поскольку 5×х2 можно вынести за знак суммы, в тело цикла это произведение включать не следует. Тем самым сокращается время исполнения программы. Блок-схема алгоритма решения задачи и соответствующая программа будут иметь вид (рис. 13):
.
Результаты работы программы:
Рис. 13. Блок схема алгоритма задания 3.
Пример выполнения задания 4. Используя операторы while…do и repeat… until, вычислить значения функции , в диапазоне изменения x от 0 до 3 с шагом 0.5. При решении данной задачи можно использовать алгоритмы циклической структуры "до" и "пока". Параметром данного цикла является х, причем при каждом повторном вычислении его значение следует увеличивать на величину шага. Объявим переменную х в разделе объявлений вещественного типа и зададим в программе ей начальное значение равное 0. В процессе вычислений значение переменной будет изменяться с заданным шагом 0,5. Для вычисления y при х£1 будем использовать алгоритмическую структуру "цикл-до", а при вычислении функции в диапазоне 1<x£3 – "цикл-пока". Блок-схема одного из вариантов алгоритма решения задачи приведена на рис.14. Как видно, программно алгоритм можно описать с помощью условных операторов. Но мы будем использовать специальные средства языка, реализующие циклические структуры. С учетом сказанного, программа, соответствующая представленному алгоритму будет иметь вид:
Рис. 14. Блок схема алгоритма задания 4.
Результаты работы программы:
Пример выполнения задания 5. В массиве из N £ 10 элементов вычислить наибольший элемент массива Х и его номер. Алгоритм поиска максимального (минимального) элемента массива заключается в следующем. Сначала предполагается, что первый элемент массива является максимальным (минимальным). В этом предположении он сравнивается с последующими элементами массива до тех пор, пока очередной из них не окажется больше (меньше). Этот больший (меньший) элемент массива принимается в качестве нового максимального (минимального) элемента, после чего процесс сравнения продолжается.
Результаты работы программы:
Рис. 15. Блок схема алгоритма задания 5
Для создания оглавления в пояснительной записке с помощью средств текстового редактора необходимо: I. Организовать дополнительную страницу перед описательной частью выполнения заданий с целью размещения на ней будущего оглавления. Для этого: – поместить курсор на место вставки оглавления (перед заголовком Выполнение заданий); – выбрать команду Разрыв … в меню Вставка; – в диалоговом окне Разрыв установить переключатель Новую страницу и нажать кнопку ОК. Присвоить заголовку название Оглавление. II. Аналогично организовать дополнительную страницу для рецензии и присваивается название заголовок Рецензия. III. Присвоить стили всем заголовкам, которые должны быть в оглавлении. Например, 1. Рецензия (стиль Заголовок 1) 2. Оглавление (стиль Заголовок 1) 3. Выполнение заданий (стиль Заголовок 1) 3.1. Задание 1 (стиль Заголовок 2) 3.2. Задание 2 (стиль Заголовок 2) 3.3. Задание 3 (стиль Заголовок 2) 3.4. Задание 4 (стиль Заголовок 2) 3.4. Задание 5 (стиль Заголовок 2) 4. Выводы по работе (стиль Заголовок 1) 5. Литература (стиль Заголовок 1) IV. Вставка оглавления: – установить курсор в место вставки оглавления в начало новой страницы, но после заголовка «Оглавление»; – активизировать команду Вставка\Ссылка\Оглавление и указатели; – в диалоговом окне Оглавление и указатели открыть вкладку Оглавление; – в поле Форматы выбрать один из готовых стилей (например, Классический или любой другой понравившийся); – наличие флажка Показать номера страниц позволяет для каждого элемента списка отображать номера страниц; – установка флажка Номера страниц по правому краю даёт возможность выровнять номера страниц по правому полю; – в поле Уровни задать количество уровней для оглавления (в примере два); – нажать кнопку ОК.
1. Алфавит Free Pascal 2. Операции в Free Pascal 3. Идентификаторы в Free Pascal 4. Типы данных в Free Pascal 5. Целые типа данных в Free Pascal 6. Вещественные типы данных в Free Pascal 7. Логический тип данных в Free Pascal 8. Символьный тип данных в Free Pascal 9. Строковый тип данных в Free Pascal 10. Структура программы консольного приложения в Lazarus 11. Где и как описываются константы, переменные, метки и типы данных? 12. Стандартные функции Free Pascal 13. Оператор присваивания в Free Pascal 14. Пустой и составной операторы в Free Pascal 15. Процедуры ввода с клавиатуры Read и Readln в Free Pascal 16. Процедуры вывода на монитор Write и Writeln в Free Pascal 17. Последовательность действий при выполнении оператора присваивания. 18. Как вывести переменные с сопровождением их значений именами переменных? 19. Как организовать пропуск одной, двух строк при выводе? 20. Какие структуры вычислительных процессов Вы знаете? 21. Формат условного оператора if … then … else. 22. Вложенные условные операторы. 23. Формат оператора перехода Goto … 24. Какие действия выполняются операторами условного и безусловного переходов? 25. Зачем нужно при отладке программы тестировать все ветви алгоритма? 26. Что такое итерационный циклический процесс? Его отличия от цикла с заданным числом повторений. 27. Чем отличаются циклы "до" от циклов "пока"? 28. Назначение и формат оператора while … do? 29. Назначение и формат оператора repeat … until? 30. Как подсчитать количество повторений в итерационном цикле? 31. Какие средства языка целесообразно использовать для организации циклов с заданным числом повторений? 32. Преимущества использования операторов цикла в программе. 33. Использование оператора цикла for … to … do. 34. Использование оператора цикла for … downto … do. 35. Чем отличается оператор for … to … do от for … downto … do. 36. Организация вычисления сумм. 37. Организация вычисления произведения. 38. Что такое массив? Описание типа – массив. 39. Какие операторы языка можно использовать для описания массивов? 40. Какие типовые операции с элементами характерны для массивов? 41. Что такое подпрограмма? Ее назначение. 42. Понятие функций. Объявление функций и формат вызова. 43. Понятие процедур. Объявление процедур и формат вызова. 44. Назначение модулей. 45. Структура модуля и его подключение в программу.
Дата добавления: 2014-12-27; Просмотров: 373; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |