Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Разработка алгоритмов





 

 

1. Есть массив целых чисел, напишите алгоритм нахождения суммы его четных чисел.

 

 

Решение.

 

1. Инициализация: A[], n, i = 0, sum = 0.

2. Если (A[i] % 2 = 0), то sum = sum +A[i]

3. i = i + 1

4. Если (i < n)переход к п. 2.

5. if (sum = 0) печать: таких чисел нет, переход к п.7.

6. Печать sum.

7. Конец алгоритма.

 

2. Есть массив целых чисел, составить алгоритм нахождения суммы трех его

чисел кратных 5.

 

Решение.

 

1. Инициализация: A[], n, i = 0, sum = 0, к = 0.

2. Если (A[i] % 5 = 0) {sum = sum +A[i], k++, if (k = 3) переход к п. 6}

3. i = i + 1

4. Если (i < n)переход к п. 2.

5. if (k! = 3) печать: таких трех чисел нет, переход к п.7.

6. Печать sum.

7. Конец алгоритма.

 

3. Есть массив целых чисел, составить алгоритм нахождения суммы его

нечетных и отрицательных чисел.

 

Решение.

 

1. Инициализация: A[], n, i=0, sum=0.

2. Если ((A[i] % 2! = 0) & (A[i] < 0)) sum = Sum+ A[i].

3.. i = i + 1.

4. Если (i< n) переход к п. 2

5. Если ((sum= 0) печать - таких чисел нет, переход к п.7

6. Печать sum.

7. Конец алгоритма.

 

4. Есть массив целых чисел, составить алгоритм нахождения суммы его чисел,

удовлетворяющих условию | ai| < i^2.

 

Решение.

 

1. Инициализация: A[], n, i=0, sum=0.

2. Если (A[i] < 0) A[i] = -A[i].

3. Если (A[i] < = i*i) sum = sum + A[i].

4. i = i + 1.

5. Если (i < n) переход к п. 2

6. Если (sum = 0) печать: таких чисел нет, переход к п.8.

7. Печать sum.

8. Конец алгоритма.

 

5. Есть массив целых чисел, напишите алгоритм нахождения суммы его четных

чисел и нечетных членов.

 

Решение.

 

1. Инициализация: A[], n, i=0, sum1=0, sum1=0.

2. Если (A[i] % 2=0) sum1=sum1+A[i]. // сумма четных чисел

3. Если (i %2! =0) sum2=sum2 + A[i]. //сумма нечетных членов

4. i = i + 1.

5. Если (i< n) переход к п. 2

6. Печать sum1 и sum2.

8. Конец алгоритма

 

 

6. Есть массив целых чисел, напишите алгоритм нахождения числа и суммы тех

его членов, которые делятся на 5 и не делятся на 7.

 

Решение.

 

1. Инициализация: A[], n, i=0, sum=0.

2. Если ((A[i] % 5 = 0) & (A[i] % 7! =0)) {sum=sum +A[i], k++}

3. i = i + 1.

4. Если (i< n) переход к п. 2

5. Если (sum = 0) печать: таких чисел нет, переход к п.7.

6. Печать sum, k. // k – число таких чисел

7. Конец алгоритма

 

 

7. Есть массив целых чисел, напишите алгоритм нахождения произведения

членов массива кратных числу р.

 

Решение.

 

1. Инициализация: A[], n, i = 0, multy = 1.

2. Если (A[i] % P = 0) multy = multy*A[i].

3. i = i+1

4. Если (i< n) переход к п. 2

5. Если (multy = 1) печать: таких чисел нет, переход к п.7.

6. Печать multy.

7. Конец алгоритма.

 

 

8. Есть массив целых чисел. Напишите алгоритм замены в нем нулями членов, модуль которых при делении на р дает в остатке q.

 

Решение.

 

1. Инициализация: A[], n, i = 0, sum = 0, p, q.

2. Если (A[i] < 0) B[i] = -A[i].

3. B[i] = A[i].

4. Если (B[i] % p = q) A[i] = 0.

5. i = i + 1

6. Если (i < n)переход к п. 2.

7. Печать A[].

8. Конец алгоритма.

 

7. Разработка простых кодов на языке С++

Задачи

1. Задан массив А[10] найти сумму его четных членов. Составить код

программы.

 

Код программы

 

#include " stdafx.h"

#include < iostream>

using namespace std;

 

main()

{

int i, n;

float s=0.0, A[9];

 

cout< < " Input n= \n";

cin> > n;

 

cout< < " Enter items of array A: \n";

for(i=0; i< =n-1; i++) cin> > A[i];

 

for(i=0; i< =n-1; i=i+2) s=s+A[i];

 

cout< < " Sum of even members= " < < s;

 

return 0;

}

 

2. Даны натуральные числа m, n. Получить все их общие делители.

Составить код программы.

 

Код программы

 

 

#include " stdafx.h"

#include < math.h>

#include < iostream>

using namespace std;

 

main()

{

int i, n, m, max;

 

cout < < " Input n= ";

cin> > n;

 

cout< < " Input m = ";

cin> > m;

 

max=n> m? n: m;

cout< < " common multiple: \n";

 

for(i=1; i< =max; i++)

{

if(((m%i==0)& & (n%i==0))

cin> > i;

}

return 0;

}

 

3. Даны целые положительные числа а1, а2,...аn. Получить новую

последовательность, выбросив из исходной все члены со значением

max(a1, a2,..., an).

Код программы

 

#include " stdafx.h"

#include < iostream>

using namespace std;

 

main()

{

int i, n, A[10], B[10], max=0, k=0;

 

 

cout< < " Input n= \n";

cin> > n;

 

cout< < Input array A: \n";

for(i=0; i< =n-1; i++)

{

cin> > A[i];

if (A[i]> max)max=A[i];

}

 

for(i=0; i< =n-1; i++)

{

if (A[i]! =max)

{

B[k]=A[i];

k++;

}

}

cout< < New array: \n";

for(i=0; i< =k-1; i++) cout< < B[i];

 

return 0;

}

 

4. Составить код программы ввода элементов массива и его распечатка в

обратном порядке.

 

5. Составить код программы определения максимального и минимального

элементов массива и их номеров в нем.

 

6. Составить код программы вычисления факториала n!

 

 

7. Даны целые числа а1, а2,...аn (в этой последовательности могут быть

повторяющиеся члены). Составить код программы вычисления, сколько

чисел входит в последовательность более чем по одному разу Выяснить,

имеется ли в последовательности хотя бы одна пара совпадающих

чисел.

 

8. Составить код программы разложения целого числа N> =11 на сумму

трех биноминальных коэффициентов.

 







Дата добавления: 2014-11-10; просмотров: 677. Нарушение авторских прав; Мы поможем в написании вашей работы!




Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

Кишечный шов (Ламбера, Альберта, Шмидена, Матешука) Кишечный шов– это способ соединения кишечной стенки. В основе кишечного шва лежит принцип футлярного строения кишечной стенки...

Принципы резекции желудка по типу Бильрот 1, Бильрот 2; операция Гофмейстера-Финстерера. Гастрэктомия Резекция желудка – удаление части желудка: а) дистальная – удаляют 2/3 желудка б) проксимальная – удаляют 95% желудка. Показания...

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

Типовые ситуационные задачи. Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт. ст. Влияние психоэмоциональных факторов отсутствует. Колебаний АД практически нет. Головной боли нет. Нормализовать...

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

Признаки классификации безопасности Можно выделить следующие признаки классификации безопасности. 1. По признаку масштабности принято различать следующие относительно самостоятельные геополитические уровни и виды безопасности. 1.1. Международная безопасность (глобальная и...

Studopedia.info - Студопедия - 2014-2026 год . (0.01 сек.) русская версия | украинская версия