М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
LollyMelor
LollyMelor
25.05.2022 10:56 •  Информатика

Напишите программу вычисляющую и выводящую n первых членов последовательности фибоначчи. нужна в паскале. , , нужно .

👇
Ответ:
yazeva006
yazeva006
25.05.2022

алг

нач

цел а,б,в,н,с

вывод "Печать n первых членов последовательности Фибоначчи"

вывод нс, "Введите n: "

ввод н

а := 1

б := 1

нц для с от 1 до н

вывод а, нс

в := а + б

а := б

б := в

кц

кон



Напишите программу вычисляющую и выводящую n первых членов последовательности фибоначчи. нужна в пас
4,6(26 оценок)
Открыть все ответы
Ответ:
nastenamolova0
nastenamolova0
25.05.2022

обозначим счетчики переменными kp(+) и km(-), так же возьмем переменную j:integer для осуществления цикла, так же необходим сам массив пусть будет a:array[1..20] of integer, содержит 20 элементов целого типа, приступим к набору программы.  

 

var  

j,km,kp:integer;  

a:array[1..20] of integer;  

 

begin  

km:=0;kp:=0; {обнулим счетчики}  

randomize; {запустим службу генерирования случайных чисел}  

for j:=1 to 20 do  

begin  

a[j]:=random(100)-50; {заполним массив случайными числами}  

writeln(' a[',j,']= ',a[j]); {напечатаем его}  

end;  

{далее перейдем к поиску элементов}  

for j := 1 to 20 do  

begin  

if a[j]<0 then km:=km+1;  

if a[j]>0 then kp:=kp+1;  

end;  

write('pologitel''nix: ',kp,'otricatel''nix: ',km);  

readln;  

end.

4,6(56 оценок)
Ответ:
StanleyPines618
StanleyPines618
25.05.2022

Вот собственно программа.

Начнем с инклюдов, у нас в наличии chrono по тому, что мы будем использовать тип данных для милисекунд, вместо обычной функции sleep. Это делаем по тому, что нам нужна точность синхронизации потоков, к томуже по факту механизм схож, но уже из стандарта C++0x, как и потоки. Если сильно хочется использовать тогда инклюдим так:

#ifdef _WIN32

#include <windows.h>

#else

#include <unistd.h>

#endif

Инклюд через иф дефайны для того, что реализацию функции sleep на разных платформах предоставляют разные хедеры.

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

Так же, хорошо заметить, что весь вывод из основного потока программы (вывод через поток cout в функции main), осуществляется до старта вс потока и после его join-а, это сделано по тому, что при выводе на один экран терминала, может случится колизия, когда в середину одной строчки выведется другая (добро в асинхронный мир).

Если есть вопросы - пиши в коменты.

Буду благодарен за отметку решения как "лучшее" и нажатую кнопочку " " тут и в моем профиле.

4,6(4 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ