Дискуссионный математический форумМатематический форум
Математический форум Math Help Planet

Обсуждение и решение задач по математике, физике, химии, экономике

Теоретический раздел
Часовой пояс: UTC + 3 часа [ Летнее время ]
новый онлайн-сервис
число, сумма и дата прописью

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Информатика
СообщениеДобавлено: 18 дек 2018, 19:14 
Не в сети
Начинающий
Зарегистрирован:
16 дек 2018, 10:31
Сообщений: 9
Cпасибо сказано: 0
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Дано натуральное число n. Вычислить 1-2+3-4+...-(2n)
решить при помощи циклов whilt и for

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Информатика
СообщениеДобавлено: 07 июл 2019, 14:20 
Не в сети
Начинающий
Зарегистрирован:
07 июл 2019, 13:24
Сообщений: 2
Cпасибо сказано: 0
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Например так на JS с while:

var n=9; // задаём n

var i=1;
var j=0;
var x=0;

while (i <= n){
x=x+j+i-2*i;

//выводим на экран последовательность:
if (i==n){document.write(j+i+'-'+2*i+'=');}
else {document.write(j+i+'-'+2*i+'+');}

i++;
j++;
}

document.write(x); // выводим ответ


Результат: 1-2+3-4+5-6+7-8+9-10+11-12+13-14+15-16+17-18=-9

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Информатика
СообщениеДобавлено: 09 июл 2019, 18:13 
Не в сети
Гений
Зарегистрирован:
02 июн 2018, 08:50
Сообщений: 659
Cпасибо сказано: 21
Спасибо получено:
105 раз в 103 сообщениях
Очков репутации: 16

Добавить очки репутацииУменьшить очки репутации
Сперва прибавим нечетные, потом отнимем четные, фортран.

program range_int
implicit none
integer :: x, i, n

write(*,*) "Введите число N:"; read (*,*) n
n = n * 2

!Два цикла с шагом 2
x = 0
do i=1,n,2; x=x+i; end do
do i=2,n,2; x=x-i; end do

write(*,*) "Результат = ", x
end

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Информатика
СообщениеДобавлено: 10 июл 2019, 16:20 
Не в сети
Гений
Зарегистрирован:
02 июн 2018, 08:50
Сообщений: 659
Cпасибо сказано: 21
Спасибо получено:
105 раз в 103 сообщениях
Очков репутации: 16

Добавить очки репутацииУменьшить очки репутации
А так с использованием, записи jazzy, это выглядит на Аде

with Ada.Text_IO; use Ada.Text_IO;
with Ada.Integer_Text_IO; use Ada.Integer_Text_IO;

procedure Main is
--объявляем переменные
j, i, x, n : Integer;

begin

x:=0; n:=10; j:=0; i:=1;

while i <= 2*n loop
x:=x+j+i-2*i;
j:=j+1;
i:=i+1;
end loop;

Put (x);
end Main;

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Информатика
СообщениеДобавлено: 11 июл 2019, 06:40 
Не в сети
Мастер
Зарегистрирован:
01 дек 2015, 04:09
Сообщений: 245
Cпасибо сказано: 9
Спасибо получено:
41 раз в 36 сообщениях
Очков репутации: 4

Добавить очки репутацииУменьшить очки репутации
Emphatic18
Ой, а можно вопрос по Аде?
Скажу сразу: на Аде я никогда не писал и не имел компилятра, однако
1. В дестве у меня была книжка по ней - и в общих чертах я ее проштудировал
2. почти все рабочее время я программлю на PL/SQL - это язык сделанный из ады, причем в нем оставлено кое-что из ады просто как атавизм, не нужный самому PL/SQL , но просто по наследству
Так что в общих чертах Аду я знаю
Итак, вопросы:
1. В вашем тексте я вижу только одну использванную пакетную процедуру - put. Зачем в начале вы указываете 2 пакета? Не хватило бы одного?
2. Насколько я понимаю, директива use нужна лишь чтобы не указывать имя пакета перед его процедурами, так? Тогда какой смысл вообще в ней, если можно просто перед put дописать text_io.put() ?
3. У вас там put, а не put_line На аде не программил, но у нас есть схожий пакет: dbms_output И вот если в не использовать только put без перевода строки в конце, то после отработки программы ничего не увидишь. Поэтому put мы используем редко, почти всегда put_line . Та же особенность мной замечена в Java : последнее System.out.print требует первода строки
Так что вопрос: в Аде ведь тоже есть put_line Почему у вас put?

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Информатика
СообщениеДобавлено: 11 июл 2019, 15:54 
Не в сети
Гений
Зарегистрирован:
02 июн 2018, 08:50
Сообщений: 659
Cпасибо сказано: 21
Спасибо получено:
105 раз в 103 сообщениях
Очков репутации: 16

Добавить очки репутацииУменьшить очки репутации
Zatamon писал(а):
Скажу сразу: на Аде я никогда не писал и не имел компилятра

Я то же не писал и не пишу, но язык очень интересный, осваиваю простые примеры. Если интересно, попробуйте Gnat, хороший компилятор под любую ОС, свободно распространяемый, включен в коллекцию компиляторов GCC. При этом Ада, как пишут едва ли не везде об этом языке, отличается отличной переносимостью.
Zatamon писал(а):
1. В вашем тексте я вижу только одну использванную пакетную процедуру - put. Зачем в начале вы указываете 2 пакета? Не хватило бы одного?

Вы правы, а данном примере with Ada.Text_IO; use Ada.Text_IO; не требуется, компилируется и работает без него. Просто я содрал заголовок из другого примера. Хотя с другой стороны, если записать вывод результата как
Put("результат = "); Put (x);

то без with Ada.Text_IO; use Ada.Text_IO уже не работает. Так что включено можно сказать - "на всякий случай".
Zatamon писал(а):
2. Насколько я понимаю, директива use нужна лишь чтобы не указывать имя пакета перед его процедурами, так? Тогда какой смысл вообще в ней, если можно просто перед put дописать text_io.put() ?

То же правы. С моей точки зрения удобнее указать 1 раз использование библиотеки в начале, и после уже не думать об этом, и не писать лишние символы, особенно если будет выводится много значений. Так что исключительно для удобства.
Zatamon писал(а):
3. У вас там put, а не put_line На аде не программил, но у нас есть схожий пакет: dbms_output И вот если в не использовать только put без перевода строки в конце, то после отработки программы ничего не увидишь. Поэтому put мы используем редко, почти всегда put_line . Та же особенность мной замечена в Java : последнее System.out.print требует первода строки
Так что вопрос: в Аде ведь тоже есть put_line Почему у вас put?

Переносить в данном случае нечего, вывел только одно единственное число. А с самим выводом никаких проблем, все корректно, дополнительно там можно задать варавнивание, отступы, что то еще. Но, как я уже написал, только знакомлюсь с основами языка, и то очень вяло. Как указать вывод числа сразу с переводом строчки не знаю, видимо есть способ, но написание Put_Line (x); дает ошибку, однако при выводе через Put_Line текста все корректно работает с осуществлением переноса. А вот сделать принудительный перевод строчки хоть при выводе текста хоть чисел можно отдельной командой New_Line;
Нужно еще поразбираться.

Вернуться к началу
 Профиль  
Cпасибо сказано 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему      Страница 1 из 1 [ Сообщений: 6 ]

 Похожие темы   Автор   Ответы   Просмотры   Последнее сообщение 
Информатика

в форуме Информатика и Компьютерные науки

Viktoriya9977

3

267

18 дек 2018, 19:17

Информатика

в форуме Информатика и Компьютерные науки

misk

0

184

28 окт 2022, 12:40

Теоретическая информатика

в форуме Информатика и Компьютерные науки

write2levent

1

136

05 ноя 2022, 18:52


Часовой пояс: UTC + 3 часа [ Летнее время ]



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Яндекс.Метрика

Copyright © 2010-2023 MathHelpPlanet.com. All rights reserved