Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 26.11.2016
Сообщений: 29

Вывести итерацию в цикле

07.12.2016, 12:31. Показов 1489. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, заадание такое: дан отрезок [a,b] с шагом h. Сделать тремя способами: с параметром, предусловием и постусловием. Для расчетов принять а=-2, b=2, h=0.1; Я считаю первый способ. Что я делаю не так?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Program lab_3;
var
b,x,a:integer;
h,y,eps,i:real;
Begin
eps:=0.001;
a:=-2;
h:=0.1;
x:=a;
b:= 2;
writeln('Первый способ:');
For i:=a To b do
begin
y:=tan(x)/(ln(x)-1);
i:=x+h;
writeln('y: ',y);
End;
End.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.12.2016, 12:31
Ответы с готовыми решениями:

Оптимизирует ли компилятор выражения в цикле типа 90*M_PI или каждую итерацию в цикле считает заново?
Занялся сабжем по проекту. IDE Builder 2010 1) Оптимизирует ли компилятор выражения в цикле типа 90*M_PI или каждую итерацию в цикле...

Функции. Не считает последнюю итерацию в цикле
Добрый вечер. Не могу понять, почему в цикле не считает 12 итерацию. Ниже строка с комментарием. #include <iostream> #include...

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

5
 Аватар для marinad777
1 / 1 / 0
Регистрация: 22.10.2016
Сообщений: 12
07.12.2016, 13:24
Почему ты указал переменную i как real, если она должна быть integer? Теперь понял. В этой программе для переменной i необходимо и integer, и real. Поэтому i я отправил в integer, а i2 в real. Иначе данная строка не будет выполняться.
Pascal
1
For i:=a To b do
Pascal
1
y:=tan(x)/(ln(x)-1);
В ПаскалеABC нет функции тангенса, как tan. Тангенс вычисляется следующим способом:
Pascal
1
y:=sin(x)/cos(x)/(ln(x)-1);
Теперь программа успешно скомпилируется, но выражение всё равно будет неверное чисто математически. Так как у тебя получается отрицательный логарифм, он будет бесконечно неопределенным и выражение получается невыполнимым. Программа будет работать только при условии: x>1. Удачи.

Исходник с готовыми правками:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Program lab_3;
var
b,x,a,i:integer;
h,y,eps,i2:real;
Begin
eps:=0.001;
a:=-2;
h:=0.1;
x:=a;
b:= 2;
writeln('Первый способ:');
For i:=a To b do
begin
y:=sin(x)/cos(x)/(ln(x)-1);
i2:=x+h;
writeln('y: ',y);
End;
End.
1
0 / 0 / 0
Регистрация: 26.11.2016
Сообщений: 29
07.12.2016, 13:42  [ТС]
Но если так не возможно, тогда что делать? Как решить пример и вывести интерацию?
0
 Аватар для marinad777
1 / 1 / 0
Регистрация: 22.10.2016
Сообщений: 12
07.12.2016, 14:02
Lydovik, в математике я бы воспользовался комплексным логарифмом, но в Паскале, увы, такого нет. Такое ощущение, что условие задачи заведомо поставлено неверным. Так как даже если x взять за максимально возможное значения (b), то получится так, что мы делим на ноль.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
07.12.2016, 14:05
Лучший ответ Сообщение было отмечено Lydovik как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var a,b,h,x,y:real;
    n,i:integer;
Begin
a:=1;//нужно больше 0, ln
h:=0.1;
b:=3;
writeln('Первый способ:');
n:=round((b-a)/h);
for i:=0 to n do
 begin
  x:=a+h*i;
  y:=tan(x)/(ln(x)-1);//видимо это АВС.net
  writeln('x=',x:4:1,' y: ',y:6:3);
 end; 
end.
1
0 / 0 / 0
Регистрация: 26.11.2016
Сообщений: 29
07.12.2016, 17:29  [ТС]
Может действительно неверное дали условие. Условие то дал преподаватель: у=tg(x)/( ln(x)-1)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.12.2016, 17:29
Помогаю со студенческими работами здесь

Объявляется ли каждую итерацию переменная-счетчик в цикле for?
Всем привет, расскажу историю возникшего вопроса. Отходил я как-то на курсы с++, и там преподаватель (авторитетный вроде программист,...

Std::getline() пропускает итерацию в цикле: найти и исправить ошибки в коде
Цикл for принимает на одну строку меньше чем должен. Я так понимаю это getline() воспринимает введенную перед этим переменную "int...

Как правильно вывести каждую итерацию цикла сортировки выбором
#include<iostream> #include<conio.h> #include<cstdlib> #include<ctime> using namespace std; void vvod_klav(int *a, int n)...

Вывести в цикле
Нужно вывести в цикле но как сделать в массиве ? function get_reg (){ $conn = db_connect(); $result = $conn->query("SELECT...

Вывести числа в цикле
Написать простую программу с использованием цикла for


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru