Инфоурок Информатика Другие методич. материалыРешение задачи на языке Паскаль

Решение задачи на языке Паскаль

Скачать материал

Решение задач. Вычисление суммы ряда

а)      Вычислить значение функции, заданной с помощью ряда Тейлора, для некоторого х с точностью e. Проверить правильность алгоритма, вычислив значение функции по формуле.

б)     Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от хнач до хкон с шагом dx с точностью e. Таблицу снабдить заголовком и шапкой. Каждая строка таблицы должна содержать значение аргумента, значение функции, вычисленной по формуле и количество просуммированных членов ряда.

 

Листинг программы:

а)       

Program 1_1a; // название программы

var x,e,t,s: real; //объявление переменных

             n: integer; //объявление переменных

begin // Начало программы

repeat // повторяй вывод запроса на экран и ввод значения с клавиатуры, пока не выполнится условие until

write ('-1<x<=1 x='); // Вывод запроса на экран

readln(x); // Ввод значения с клавиатуры

until (x>-1) and (x<=1); // цикл прекратился

e:=0.0001; // Присваиваем е значение 0.0001

n:=1; // Присваиваем n значение 1

t:=x; // Присваиваем t значение x

s:=t; // Присваиваем s значение t

while abs(t)/n >e do // Как только abs(t)/n станет меньше e, цикл прекратится

                        begin //Открываем операторные скобки

n:=n+1; // Увеличиваем n на 1 шаг

                                    t:=-t*x; // Вычисляем t

                                    s:=s+t/n; // Вычисляем s

end; // Закрываем  операторные скобки

writeln('s=',s:0:4); // Вывод ответа

write('ln(',x:0:2,'+1)=',ln(x+1):0:4) // Вывод запроса на экран

end. //Конец программы

б)       

Program 1_1b; // название программы

const e=0.0001; //объявление констант

function f(x:real;var n:integer):real; //объявление функции

var t,s:real; //объявление переменных

begin // Начало программы

n:=1; // Присваиваем n значение 1

t:=x; // Присваиваем t значение x

s:=t; // Присваиваем s значение t

while abs(t)/n >e do // Как только abs(t)/n станет меньше e, цикл прекратится

begin //Открываем операторные скобки

                                    n:=n+1; // Увеличиваем n на 1 шаг

                                    t:=-t*x; // Вычисляем t

                                    s:=s+t/n; // Вычисляем s

                        end; // Закрываем  операторные скобки

f:=s; // Присваиваем f значение s

end; // Закрываем  операторные скобки

var xn,xk,x,s,dx:real; //объявление переменных

            n:integer; //объявление переменных

begin // Начало программы

repeat // повторяй вывод запроса на экран и ввод значения с клавиатуры, пока не выполнится условие until

write('Введите начало интервала (-1..1) xn='); // Вывод запроса на экран

readln(xn); // Ввод значения с клавиатуры

until abs(xn)<1; // цикл прекратился

repeat // повторяй вывод запроса на экран и ввод значения с клавиатуры, пока не выполнится условие until

write('Введите конец интервала, больше ',xn:0:1,' <=1 xk='); // Вывод запроса на экран

readln(xk); // Ввод значения с клавиатуры

until (xk>xn)and(xk<=1); // цикл прекратился

repeat // повторяй вывод запроса на экран и ввод значения с клавиатуры, пока не выполнится условие until

write('Введите шаг табуляции, меньше ',xk-xn:0:1,' dx='); // Вывод запроса на экран

readln(dx); // Ввод значения с клавиатуры

until dx<xk-xn; // цикл прекратился

x:=xn; // Присваиваем x значение xn

writeln('   Табулирование функции F(x)=ln((1+x)'); // Вывод запроса на экран с переходом на новою строку

writeln('представленной разложением в степенной ряд'); // Вывод запроса на экран с переходом на новою строку

writeln('   на интервале ',xn:0:1,'..',xk:0:1,' с шагом ',dx:0:1); // Вывод запроса на экран с переходом на новою строку

writeln; // Вывод запроса на экран с переходом на новою строку

writeln('        -------------------------'); // Вывод запроса на экран с переходом на новою строку

writeln('        |   X   |    S    |  n  | '); // Вывод запроса на экран с переходом на новою строку

writeln('        -------------------------'); // Вывод запроса на экран с переходом на новою строку

while x<=xk+dx/2 do // Выполнять подпрограмму до тех пор, пока условие не станет ложным

                                    begin //Открываем операторные скобки

                                               s:=f(x,n); // Вычисляем s

                                               writeln('        |',x:6:2,' |',s:8:4,' |',n:5,'|'); // Вывод запроса на экран с переходом на новою строку

                                               x:=x+dx; // Увеличиваем x на dx

                                    end; // Закрываем  операторные скобки

writeln('        -------------------------'); // Вывод запроса на экран с переходом на новою строку

//проверка последнего члена по аналитической формуле

writeln('x-dx=',x-dx:0:2); // Вывод запроса на экран с переходом на новою строку

writeln('ln((1+x))=',ln(1+x-dx):0:4); // Вывод запроса на экран с переходом на новою строку

end. //Конец программы

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

а)       

б)     

2)  Найти количество нулей в десятичной записи целого неотрицательного числа n (без использования строк).

Листинг программы:

Program 1_2; // Название программы

var n, k: integer; //Объявление переменных

begin // Начало программы

read(n); // Считывание n

if n=0 then k:=1 // Если n=0, то выполняется присвоение к k единицы

else // Иначе выполняется оператор

            begin//Открываем операторные скобки

                        k:=0; // Присваиваем k значение 0

                        while n>0 do // Как только n станет меньше или равно 0, цикл прекратится

                                    begin //Открываем операторные скобки

                                               if n mod 10=0 then inc(k);  // Если n делится на 10 без остатка, то k увеличивается на 1

                                               n:=n div 10; // Находим частное от деления

                                    end; // Закрываем  операторные скобки

end; // Закрываем  операторные скобки

write('Количество 0= ',k); // Вывод запроса на экран

end. //Конец программы

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

 

 

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Решение задачи на языке Паскаль"

Методические разработки к Вашему уроку:

Получите новую специальность за 3 месяца

Заведующий филиалом музея

Получите профессию

Технолог-калькулятор общественного питания

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Краткое описание документа:

  • Вычислить значение функции, заданной с помощью ряда Тейлора, для некоторого х с точностью e. Проверить правильность алгоритма, вычислив значение функции по формуле.
  • Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от хнач до хкон с шагом dx с точностью e. Таблицу снабдить заголовком и шапкой. Каждая строка таблицы должна содержать значение аргумента, значение функции, вычисленной по формуле и количество просуммированных членов ряда.

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 667 985 материалов в базе

Скачать материал

Другие материалы

Анализ урока информатики в 11б классе по теме: "Компьютерное информационное моделирование" (45 минут)
  • Учебник: «Информатика (базовый уровень)», Семакин И.Г., Хеннер Е.К., Шеина Т.Ю.
  • Тема: § 16. Компьютерное информационное моделирование
Рейтинг: 1 из 5
  • 29.03.2018
  • 2772
  • 79
«Информатика (базовый уровень)», Семакин И.Г., Хеннер Е.К., Шеина Т.Ю.

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 29.03.2018 918
    • DOCX 305 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Савельева Екатерина Николаевна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    • На сайте: 6 лет и 11 месяцев
    • Подписчики: 0
    • Всего просмотров: 46787
    • Всего материалов: 30

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Менеджер по туризму

Менеджер по туризму

500/1000 ч.

Подать заявку О курсе

Курс профессиональной переподготовки

Информационные технологии в профессиональной деятельности: теория и методика преподавания в образовательной организации

Преподаватель информационных технологий

300/600 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 193 человека из 55 регионов
  • Этот курс уже прошли 974 человека

Курс профессиональной переподготовки

Теория и методика обучения информатике в начальной школе

Учитель информатики в начальной школе

300/600 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 98 человек из 34 регионов
  • Этот курс уже прошли 222 человека

Курс профессиональной переподготовки

Математика и информатика: теория и методика преподавания в образовательной организации

Учитель математики и информатики

500/1000 ч.

от 8900 руб. от 4150 руб.
Подать заявку О курсе
  • Сейчас обучается 685 человек из 79 регионов
  • Этот курс уже прошли 1 811 человек

Мини-курс

Карьерный навигатор: эффективный поиск работы

6 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 27 человек из 18 регионов

Мини-курс

Основы изучения творческих дисциплин: введение в пропедевтику дизайна и изобразительного искусства

8 ч.

1180 руб. 590 руб.
Подать заявку О курсе
  • Сейчас обучается 28 человек из 16 регионов
  • Этот курс уже прошли 13 человек

Мини-курс

Основы программирования и мультимедиа: от структуры ПО до создания проектов

4 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 35 человек из 20 регионов
  • Этот курс уже прошли 15 человек