Репетиторские услуги и помощь студентам!
Помощь в написании студенческих учебных работ любого уровня сложности

Тема: Задачи по программированию

  • Вид работы:
    Практическое задание по теме: Задачи по программированию
  • Предмет:
    Информационное обеспечение, программирование
  • Когда добавили:
    07.07.2014 16:54:58
  • Тип файлов:
    MS WORD
  • Проверка на вирусы:
    Проверено - Антивирус Касперского

Другие экслюзивные материалы по теме

  • Полный текст:
    ВТОРОЕ КОНТРОЛЬНОЕ ЗАДАНИЕ
     
     
    Вариант 2  
     
    Задача 1 Даны целые числа  a1, a2, ..., an. Наименьший член последовательности a1, a2, ..., an заменить целой  частью среднего арифметического всех членов, остальные члены оставить без изменения. Если в  последовательности несколько членов  со значением min(a1, a2, ..., an), то заменить последний по порядку.
     
    Описание алгоритма Объявление переменных
    n – количество элементов в массивеs – среднее арифметическое всех элементовi – переменная для итерации циклаmin – индекс минимального элемента в массивеa – исходный массив чисел  
    Описание основного решения
    Read(n) – ввод размера массиваs := 0 – ничего не суммировали, среднее арифметическое равно 0Для iот 1 до n, выполнятьВвод iэлемента массиваСуммирование этого элементаmin := 1 – пока минимальный элемент находится на 1 местеДля iот 1 до n, выполнятьЕсли текущий элемент меньше либо равен минимальному найденному Обновляем индекс минимального элементаСчитаем целую часть среднего арифметическогоНа позицию с минимальным элементом записываем найденное среднее арифметическое значениеДля iот 1 до n, выполнятьВыводим iэлемент массиваОжидаем нажатия клавиши  
    Текстпрограммы Uses Crt;   Varn , s , i , min : integer;   a : array[1..100] of integer;   Begin   Write('Введите N: '); Read(n); s := 0;   fori := 1 to n do begin   Write('Введите A[' , i , ']: ');   Read(a[i]);   s := s + a[i];   end;   min := 1;   fori := 2 to n do   if a[i] <= a[min] then min := i;   s := s div n;   a[min] := s;   WriteLn('Результирующий массив');   fori := 1 to n do   Write(a[i] , ' ');   ReadKey;   End.    
     
    Результат выполнения программы  
     
     
     
     
     
     
     
     
     
     
     
     
     
     

     
     
     
     
     
     
    Задача 2 var   k : integer;
    c : array[1..n, 1..m] of char;
    Определить k – количество  различных  элементов  массива  c (т.е. повторяющиеся элементы считать один раз).
    Указание: для хранения счетчиков для всех символов использовать массив типа array[char] ofinteger.
     
    Описание алгоритма Объявление переменных
    n – количество строк в матрицеm – количество столбцов в матрицеk – счетчик количества различных элементовi , j – переменные для итерации циклаc – считываемый элементcount – массив-счетчик  
    Описание основного решения
    ReadLn(n) – ввод количества строк матрицыReadLn(m) – ввод количества столбцов матрицыДля cот ‘a’ до ‘z’, выполнятьИнициализируем количество раз, итерационная переменная встречалась в матрицеДля iот 1 до n, выполнятьДля jот 1 до n, выполнять Ввод текущего элемента Увеличение счетчика, сколько раз такой элемент повторялсяИнициализируем количество различных элементовДля cот ‘a’ до ‘z’, выполнятьЕсли такой символ хоть раз встречался Увеличиваем количество различных символовВыводим это количествоОжидаем нажатия клавиши  
    Текстпрограммы Uses Crt;   Varn , m , i , j , k : integer;   c : char;   count : array[char] of integer;   Begin   Write('Введите N: '); ReadLn(n);   Write('Введите M: '); ReadLn(m);   for c := 'a' to 'z' do     count[c] := 0;   fori := 1 to n do begin   for j := 1 to m do begin Write('Введите c[' , i , '][' , j , ']: '); ReadLn(c); count[c] := count[c] + 1;   end;   end;   k := 0;   for c := 'a' to 'z' do   if count[c] > 0 then k := k + 1;   WriteLn('Количество различных элементов: ' , k);   ReadKey; End.    
     
    Результат выполнения программы  
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    Задача 3 Для заданных трех строк S1, S2 и S3 определить, какая из них является десятичной записью числа, кратного 3.
    Указание: строка может быть любой длины, поэтому переводить строку целиком в число не рекомендуется. Вспомните и используйте другой метод определения кратности числа 3.
     
    Описание алгоритма Объявление переменных
    S1 , S2 , S3 – исходные строкиAm – количество строк, которые делятся на 3  
    ОписаниефункцииisDivisible(s : string) : Boolean;
    Инициализируем сумму цифр числаДляiот 1 доlength(s), выполнятьСуммируем очередную цифруЕсли сумма цифр делится на 3, то и число делится на 3. Возвращаем значение функции  
    Описание основного решения
    am := 0 – инициализируем количество чисел которые делятся на 3Ввод трех строкИспользуя функцию isDivisible, проверяем, делится ли первое число на 3Увеличиваем количество таких чиселВыводим это числоИспользуя функцию isDivisible, проверяем, делится ли второе число на 3Увеличиваем количество таких чиселВыводим это числоИспользуя функцию isDivisible, проверяем, делится ли третье число на 3Увеличиваем количество таких чиселВыводим это числоЕсли ни одно из чисел не делитсяВыводим об этом сообщениеОжидаем нажатия клавиши  
    Текстпрограммы Uses Crt;   VarS1 , S2 , S3 : String;   am : integer;   Function isDivisible(S : String) : boolean; Varsum ,i : integer; Begin   sum := 0;   fori := 1 to length(s) do   sum := sum + ord(s[i]) - ord('0');   isDivisible := (sum mod 3 = 0);   End;   Begin   am := 0;   Write('Введите S1: '); ReadLn(S1);   Write('Введите S2: '); ReadLn(S2);   Write('Введите S3: '); ReadLn(S3);   ifisDivisible(S1) then begin   am := am + 1;   WriteLn(S1 + ' делится на 3');   end;   ifisDivisible(S2) then begin   am := am + 1;   WriteLn(S2 + ' делитсяна 3');   end;   ifisDivisible(S3) then begin   am := am + 1;   WriteLn(S3 + ' делитсяна 3');   end;   ifam = 0 then   WriteLn('Ни одно из чисел не делится на 3');   ReadKey;   End.    
     
    Результат выполнения программы  
     
     
     
     
     
     
     
     
     
     
     
     
    Задача 4 В возрастающем порядке напечатать все целые числа из диапазона 1..255, представимые в виде n2 + m2, где m, n>=0.
    Указание. Для решения задачи используйте множества.
     
    Описание алгоритма Объявление переменных
    i , j – переменные дя итерации циклаr – результат i * i + j * js – множество чисел от 1 до 255  
    Описание основного решения
    Инициализируем множествоДля iот 1 до 15, выполнятьДля j от 1 до 15, выполнять Считаем значение rкак i * i + j * jЕсли rвходит в интервал [1..255]Добавляем это число во множествоДля iот 1 до 255, выполнятьЕсли iнаходится во множествеВыводим iОжидаем нажатия клавиши  
    Текстпрограммы Uses Crt;   Vars : set of 1..255;   r ,i , j : integer;   Begin   s := [];   fori := 0 to 15 do   for j := 0 to 15 do begin r := i * i + j * j; if (r >= 1) and (r <= 255) then s := s + [r];   end;   fori := 1 to 255 do   ifi in s then WriteLn(i , ' ');   ReadKey; End.    
     
    Результат выполнения программы
Если Вас интересует помощь в НАПИСАНИИ ИМЕННО ВАШЕЙ РАБОТЫ, по индивидуальным требованиям - возможно заказать помощь в разработке по представленной теме - Задачи по программированию ... либо схожей. На наши услуги уже будут распространяться бесплатные доработки и сопровождение до защиты в ВУЗе. И само собой разумеется, ваша работа в обязательном порядке будет проверятся на плагиат и гарантированно раннее не публиковаться. Для заказа или оценки стоимости индивидуальной работы пройдите по ссылке и оформите бланк заказа.